.booking-summary_module{margin:0 auto;max-width:var(--max-width-container);padding-bottom:var(--baseline-9);transition:opacity .3s ease,transform .3s ease;width:100%}.booking-summary_module.is-hidden{display:none}.clinic-address{color:#6b7280;font-size:14px;margin:4px 0}.booking-summary_module:not(.is-hidden){animation:slideInUp .5s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.booking-summary_content{display:flex;flex-wrap:wrap;gap:var(--grid-col-1);justify-content:space-between}.bookin-summary_complete,.booking-summary_info,.booking-summary_notes,.booking-summary_price,.booking-summary_regime,.booking-summary_type{max-width:var(--grid-col-5);width:100%}.booking-summary_actions{align-items:flex-end;display:flex;flex-direction:column;gap:var(--baseline-2);justify-content:space-between;order:6;width:100%}@media screen and (min-width:960px){.booking-summary_actions{flex-direction:row-reverse;gap:var(--grid-col-2)}}.booking-summary_actions .bookin-summary_complete{width:100%}.booking-summary_info ul.info-list li .address a,.booking-summary_notes,.booking-summary_profile .card a{display:none}.booking-summary_profile{margin-top:var(--baseline);max-width:var(--grid-col-5)}.booking-summary_label{color:var(--semantic-neutral-11);font-size:var(--font-sm)}.booking-summary_type .booking-summary_type-title{font-size:var(--font-lg);text-transform:capitalize}.booking-summary_price .booking-summary_price-amount{font-size:var(--font-xl);font-weight:700}.booking-summary_price .booking-summary_price-amount-convenzionato{font-size:var(--font-lg);font-weight:400}.booking-summary_notes ul.info-list li{align-items:flex-start;display:flex;gap:var(--font-sm);padding:var(--baseline) 0}.booking-summary_notes ul.info-list li .odyicon{display:flex;font-size:1.36rem}.booking-summary_notes ul.info-list li p{font-size:var(--font-sm);margin:0 0 calc(var(--baseline)/2) 0}.booking-summary_regime ul.regime-list li{border-bottom:1px solid var(--semantic-border);padding:var(--baseline) 0}.booking-summary_regime ul.regime-list li p{font-size:var(--font-sm);margin:0}.bookin-summary_complete .btn{width:100%}.booking-summary_info ul.info-list li{align-items:center;border-bottom:1px solid var(--semantic-border);display:flex;justify-content:space-between;padding:var(--baseline) 0}.booking-summary_info ul.info-list li .address p{margin:0}.booking-summary_info ul.info-list li .address{align-items:flex-end;display:flex;flex-direction:column;gap:calc(var(--baseline)/3);justify-content:flex-end}.booking-summary_info ul.info-list li .address a{font-size:var(--font-sm)}.booking-summary_profile p.booking-summary_label{margin:0}.booking-summary_profile .card{background:var(--semantic-surface);display:flex;gap:var(--baseline-2);padding:var(--baseline) var(--baseline-2);width:100%}.booking-summary_profile .card .card_image{aspect-ratio:1/1;border-radius:var(--radius-border-rounded---xxl);max-width:80px;overflow:hidden;width:100%}.booking-summary_profile .card .card_image img{height:100%;object-fit:cover;width:auto}.booking-summary_profile .card p{margin:0}.booking-summary_profile .card p.small{font-size:var(--font-xs)}.booking-summary_profile .card a{font-size:var(--font-sm)}.bookin-summary_assistance{display:flex;flex-direction:column;gap:calc(var(--baseline)/3);max-width:var(--grid-col-12);width:100%}.bookin-summary_assistance p{font-size:var(--font-sm);font-weight:700;margin:0}.bookin-summary_assistance a{--secondary-500:var(--ellipse-12);max-width:var(--grid-col-12)}.bookin-summary_assistance a.btn-secondary.btn-outline:focus,.bookin-summary_assistance a.btn-secondary.btn-outline:hover{--btn-secondary-full-fill-hover:var(--ellipse-12);--btn-secondary-outline-fill-hover:var(--ellipse-12);color:var(--semantic-white)}.booking-summary_disclaimers{margin-bottom:var(--baseline-3);margin-top:var(--baseline-3);width:100%}@media screen and (min-width:960px){.booking-summary_disclaimers{max-width:var(--grid-col-5)}}.booking-summary_disclaimers.is-hidden{display:none}.booking-summary_disclaimer-item{margin-bottom:var(--baseline-2)}.booking-summary_disclaimer-item:last-child{margin-bottom:0}.booking-summary_disclaimer-label{align-items:flex-start;cursor:pointer;display:flex;gap:12px}.booking-summary_disclaimer-label input[type=checkbox]{display:none}.booking-summary_disclaimer-checkbox{background:var(--semantic-white);border:2px solid var(--form-checkbox-checkbox-fill);border-radius:var(--radius-border-rounded---xs);display:block;flex-shrink:0;height:24px;margin-top:2px;position:relative;transition:background .2s,border-color .2s;width:24px}.booking-summary_disclaimer-label input[type=checkbox]:checked+.booking-summary_disclaimer-checkbox{background:var(--form-checkbox-checkbox-fill);border-color:var(--form-checkbox-checkbox-fill)}.booking-summary_disclaimer-label input[type=checkbox]:checked+.booking-summary_disclaimer-checkbox:after{border:solid var(--semantic-white);border-width:0 2px 2px 0;content:"";height:12px;left:7px;pointer-events:none;position:absolute;top:3px;transform:rotate(45deg);width:6px}.booking-summary_disclaimer-text{color:var(--form-input-clr);flex:1;font-size:var(--font-xs);line-height:1.4}.booking-message{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin:20px 0;padding:20px}.booking-message.is-hidden{display:none}.booking-message_content{align-items:center;display:flex;gap:15px}.booking-message_icon{flex-shrink:0}.message-icon{font-size:24px}.booking-message_text{flex:1}.booking-message_text h3{color:#333;margin:0 0 5px}.booking-message_text p{color:#666;margin:0}.booking-message_actions{display:flex;flex-shrink:0;gap:10px}.booking-message.success{background:#f0f9ff;border-color:#0ea5e9}.booking-message.error{background:#fef2f2;border-color:#ef4444}.booking-message.warning{background:#fffbeb;border-color:#f59e0b}.booking-message.info{background:#f0f9ff;border-color:#3b82f6}.booking-message-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:99999}.booking-message-modal.is-hidden{display:none}.booking-message-overlay{backdrop-filter:blur(2px);background-color:var(--overlay-50);height:100%;left:0;position:absolute;top:0;width:100%}.booking-message-container{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);margin:20px;max-width:500px;position:relative;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.booking-message-modal .booking-message_content{align-items:center;display:flex;flex-direction:column;gap:20px;padding:30px;text-align:center}.booking-message-modal .booking-message_icon{margin-bottom:10px}.booking-message-modal .message-icon{display:block;font-size:48px}.booking-message-modal .booking-message_text h3{color:#333;font-size:24px;font-weight:600;margin:0 0 10px}.booking-message-modal .booking-message_text p{color:#666;font-size:16px;line-height:1.5;margin:0}.booking-message-modal .booking-message_actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:10px}.booking-message-modal .booking-message_actions .btn{font-size:14px;font-weight:500;min-width:120px;padding:12px 24px}.booking-message-modal.success .booking-message_icon{color:#10b981}.booking-message-modal.error .booking-message_icon{color:#ef4444}.booking-message-modal.warning .booking-message_icon{color:#f59e0b}.booking-message-modal.info .booking-message_icon{color:#3b82f6}.booking-loading-overlay{align-items:center;backdrop-filter:blur(2px);background-color:var(--overlay-50);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.booking-loading-overlay.is-hidden{display:none}.booking-loading-container{background:var(--semantic-white);border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-width:500px;padding:40px;text-align:center;width:90%}.booking-loading-spinner{animation:booking-spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top:4px solid var(--primary-500);height:50px;margin:0 auto 20px;width:50px}@keyframes booking-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.booking-loading-content h3{color:var(--typography-body);font-size:24px;font-weight:600;margin:0 0 10px}.booking-loading-content p{color:#666;font-size:var(--font-sm);line-height:1.4;margin:0 0 20px}.booking-loading-progress{background-color:#f0f0f0;border-radius:4px;height:8px;overflow:hidden;width:100%}.booking-loading-progress-bar{animation:booking-progress 2s ease-in-out infinite;background-color:var(--primary-500);border-radius:8px;height:100%}.filter-modal{z-index:9999}.filter-modal.is-hidden-during-loading{display:none;opacity:0;pointer-events:none;visibility:hidden}@keyframes booking-progress{0%{width:0}50%{width:70%}to{width:100%}}@media (max-width:1460px){.booking-summary_module{padding:0 var(--baseline) var(--baseline-8) var(--baseline)}}@media screen and (max-width:768px){.booking-message-container{margin:10px;width:95%}.booking-message-modal .booking-message_content{padding:20px}.booking-message-modal .booking-message_text h3{font-size:20px}.booking-message-modal .booking-message_text p{font-size:14px}.booking-message-modal .booking-message_actions{flex-direction:column;width:100%}.booking-message-modal .booking-message_actions .btn{width:100%}}@media screen and (max-width:960px){.booking-summary_module{margin-top:var(--baseline-2);padding:0 1rem var(--baseline-8) 1rem}.bookin-summary_complete,.booking-summary_info,.booking-summary_notes,.booking-summary_price,.booking-summary_regime,.booking-summary_type{max-width:unset;width:100%}.booking-summary_type{order:-1}.booking-summary_info{margin-top:var(--baseline);order:0}.booking-summary_price{align-items:center;display:flex;justify-content:space-between;margin:var(--baseline-2) 0;order:2}.booking-summary_notes{order:3}.booking-summary_notes,.booking-summary_profile{order:1}.booking-summary_regime{order:4}.bookin-summary_complete{order:5}.bookin-summary_assistance{order:6}.bookin-summary_assistance a{max-width:unset}.booking-summary_notes .info-list,.booking-summary_regime .regime-list{display:none}.booking-summary_profile{max-width:var(--grid-col-12)}}@media screen and (max-width:768px){.booking-summary_info ul.info-list li:not(:first-child){align-items:flex-start;flex-direction:column;justify-content:flex-start}.booking-summary_info ul.info-list li .address{align-items:flex-start}.booking-summary_profile{width:100%}}@media screen and (max-width:420px){.booking-summary_profile .card{gap:var(--baseline);justify-content:space-between;padding:var(--baseline)}}