/* Shared mobile refinements, loaded after each edition's stylesheet. */
.admin-mobile-nav,.admin-mobile-account{display:none}
/* Grid items must shrink when the date step replaces the service step. */
.booking-layout>*,.booking-step,.slots-grid,.slot{min-width:0}
.booking-step input[type=date],.booking-step select{width:100%;max-width:100%;min-width:0}
.date-shortcuts{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible}
.date-shortcuts .date-chip{min-width:0;width:100%}
.slots-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.booking-step .step-actions>.button[data-next="3"]{flex:0 0 auto;width:auto;max-width:100%;min-width:0;gap:14px;padding:14px 20px;justify-content:center}
@media(max-width:800px){
 html{scroll-padding-top:90px}
 input:not([type=checkbox]):not([type=radio]),select,textarea,.editorial-page input,.editorial-page select,.editorial-page textarea{font-size:16px;min-width:0}
 button,.button,.circle-button,.text-link,.ed-button{touch-action:manipulation}
 .circle-button,.menu-toggle{min-width:44px;min-height:44px}
 .site-header{gap:12px;padding-left:5%;padding-right:5%}
 .site-header .header-book{margin-right:0}
 .mobile-nav{height:calc(100dvh - 80px);overflow-y:auto;padding-bottom:calc(30px + env(safe-area-inset-bottom))}
 .mobile-nav a{font-size:28px;padding:18px 0}
 .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .booking-form{scroll-margin-top:20px}
 .booking-step .field-intro{font-size:13px;line-height:1.7}
 .step-actions{gap:14px;flex-wrap:wrap}
 .step-actions>.button{min-height:50px}
 .slot span{min-height:48px;display:grid;place-items:center}
 .date-chip{min-width:60px;min-height:70px}
 .date-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}
 .booking-summary>img{display:none}
 .booking-summary{margin-top:26px}
 .booking-summary .summary-content{padding:20px}
 .option-copy small{font-size:12px;line-height:1.6}
 .booking-step label,.consent-label{line-height:1.6}
 .consent-label{font-size:12px}
 .booking-step .form-grid:has(input[type=email]){grid-template-columns:1fr}
 .footer-bottom>div,.footer-top{flex-wrap:wrap}
 .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:11px}
 .admin-page{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
 .admin-page .site-header{height:68px;position:relative;border-bottom:1px solid var(--line)}
 .admin-page .site-header .menu-toggle,.admin-page #mobile-nav,.admin-page .admin-sidebar{display:none!important}
 .admin-page .site-header .brand-logo{width:170px}
 .admin-layout{display:block;min-height:0}
 .admin-mobile-account{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 5%;border-bottom:1px solid var(--line);font-size:12px}
 .admin-mobile-account>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .admin-mobile-account .text-link{min-height:40px;padding:8px 0;font-size:12px}
 .admin-mobile-nav{position:fixed;z-index:60;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -6px 24px #171a1608;padding:8px max(6px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}
 .admin-mobile-nav>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:58px;border-radius:8px;color:#5b6054;font-size:10px;line-height:1.2;min-width:0}
 .admin-mobile-nav svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none}
 .admin-mobile-nav a[aria-current=page]{background:#e1e6d1;color:#171a16;font-weight:700}
 .admin-mobile-nav .admin-mobile-add svg{background:var(--ink);color:var(--paper);width:32px;height:32px;padding:5px;border-radius:9px}
 .admin-content{padding:28px 5% 24px}
 .admin-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:24px;gap:18px}
 .admin-heading h1{font-size:38px;letter-spacing:-1.5px}
 .admin-heading .eyebrow{font-size:9px;margin-bottom:10px}
 .admin-heading .button{min-height:48px}
 .stat-grid{gap:8px;margin-bottom:24px}
 .stat-grid>div,.stat-grid>a{padding:14px 10px;min-width:0}
 .stat-grid span{font-size:9px;letter-spacing:0;line-height:1.5;min-height:27px}
 .stat-grid strong{font-size:30px;overflow-wrap:anywhere}
 .stat-grid small{font-size:10px}
 .agenda-toolbar{flex-direction:column;align-items:stretch;gap:14px}
 .date-navigation{justify-content:space-between;width:100%;gap:6px}
 .date-navigation form{min-width:0;flex:1;justify-content:center;gap:8px}
 .date-navigation input{width:100%;max-width:175px;padding:10px 0;font-size:16px}
 .date-navigation .text-link{min-height:44px;padding:10px 2px}
 .search-form{width:100%}.search-form input{width:100%;flex:1;min-height:48px;font-size:16px}
 .admin-content .table-wrap{background:transparent;border:0;overflow:visible}
 .admin-content .agenda-table{display:block;width:100%;min-width:0}
 .admin-content .agenda-table thead{display:none}
 .admin-content .agenda-table tbody{display:grid;gap:12px}
 .admin-content .agenda-table tr{display:grid;grid-template-columns:62px minmax(0,1fr) 44px;gap:8px 12px;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:18px 14px}
 .admin-content .agenda-table td{padding:0;border:0;min-width:0;font-size:13px;overflow-wrap:anywhere}
 .admin-content .agenda-table td:nth-child(1){grid-column:1;grid-row:1/5;font-size:21px}
 .admin-content .agenda-table td:nth-child(2){grid-column:2;grid-row:1}
 .admin-content .agenda-table td:nth-child(3){grid-column:2;grid-row:2}
 .admin-content .agenda-table td:nth-child(4){grid-column:2;grid-row:3;color:var(--muted);font-size:12px}
 .admin-content .agenda-table td:nth-child(5){grid-column:2;grid-row:4}
 .admin-content .agenda-table td:nth-child(6){grid-column:3;grid-row:1/5;align-self:center}
 .admin-content .agenda-table td strong{font-size:15px}
 .admin-content .agenda-table small{font-size:11px;line-height:1.6}
 .admin-content .agenda-table .status{font-size:10px}
 .admin-content .agenda-table td[colspan]{grid-column:1/-1;grid-row:auto;font-size:13px}
 .settings-layout{grid-template-columns:1fr;gap:26px}
 .configuration-tabs{gap:4px;scrollbar-width:thin}
 .configuration-tabs>a{font-size:12px;padding:15px 12px}
 .configuration-cards{grid-template-columns:1fr}
 .configuration-form{padding:20px 16px}
 .configuration-form-actions{flex-wrap:wrap;gap:18px}
 .configuration-form-actions .button{flex:1;min-height:48px}
 .detail-card{padding:16px}
 .detail-card dl>div{flex-direction:column;align-items:flex-start;gap:5px;padding:14px 0;font-size:13px}
 .detail-card dd{max-width:100%;text-align:left}
 .detail-actions{display:grid;gap:14px}
 .detail-actions .button,.detail-actions .danger-button{min-height:48px;width:100%}
 .admin-content .booking-shell{padding:0}
 .admin-content .booking-heading h1{font-size:46px}
 .admin-page .booking-form{scroll-margin-top:15px}
 .admin-page :focus-visible{scroll-margin-bottom:100px}
}
@media(max-width:560px){
 .hero-copy{container-type:inline-size}
 .hero h1{font-size:17.6vw;font-size:20cqw;line-height:1;max-width:100%;overflow-wrap:normal}
 .hero h1 br:nth-of-type(2){display:initial}
 .hero h1 .hero-last{display:inline-block;margin-left:0;white-space:nowrap}
 .site-header .brand-logo{width:140px}
 .header-book{margin-left:auto}
 .hero-bottom{gap:20px;align-items:flex-start;flex-wrap:wrap}
 .hero-bottom p{font-size:13px}.hero-bottom .button{font-size:12px;min-height:48px}
 .hero-visual{min-height:360px;max-height:65svh}
 .services-grid{grid-template-columns:1fr}
 .service-card{min-height:0;padding:24px}
 .service-card h3{font-size:26px;min-height:0}.service-card p{font-size:13px}
 .service-top{margin-bottom:18px}.service-foot>span:first-child{font-size:10px}
 .contact-details{grid-template-columns:1fr}.contact-details>div{min-width:0}
 .contact-details h3{font-size:24px;overflow-wrap:anywhere}
 .booking-step .form-grid{grid-template-columns:1fr}
 .booking-step legend{font-size:27px}
 .step-nav{font-size:11px}.option-copy strong{font-size:16px}
 .step-actions>.button{flex:1;justify-content:space-between}
 .step-actions>.text-link{min-height:44px;display:flex;align-items:center}
 .ed-header{padding-left:4%;padding-right:4%;gap:10px}
 .ed-menu-button{min-width:36px;min-height:44px}
 .ed-header a,.ed-header button{min-height:44px}
 .ed-brand{display:flex;align-items:center}
 .ed-header .ed-search-button{font-size:0;width:24px;border:0;gap:0}
 .ed-header .ed-search-button span{display:block;font-size:24px}
 .ed-header .ed-book-link{font-size:10px}
 .ed-look-grid{grid-template-columns:1fr;gap:32px}
 .ed-look:nth-child(even){margin-top:0}
 .ed-look-caption{display:flex;font-size:12px}.ed-look-caption>span{font-size:10px}
 .ed-look-explore{font-size:11px;padding:12px;bottom:12px;right:12px}
 .ed-filter-bar button{font-size:11px;min-height:44px}
 .ed-section-heading>p:last-child,.ed-service-description,.ed-studio-copy>p:not(.ed-kicker){font-size:14px;line-height:1.7}
 .ed-service summary{font-size:15px;gap:10px}.ed-service-price{font-size:12px}
 .ed-service-note{font-size:12px}.ed-contact{grid-template-columns:1fr;gap:32px}
 .ed-contact-address>p:nth-child(2){font-size:18px}.ed-hours>div{display:flex;font-size:13px}
 .ed-footer-bottom a,.ed-footer-links a{display:inline-flex;align-items:center;min-height:44px;font-size:11px}
 .ed-drawer nav a{font-size:30px;min-height:52px}
 .editorial-page .ed-drawer{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
 .editorial-page .ed-look-dialog{max-height:90dvh}.ed-look-detail-copy{padding:24px}
}
@media(max-width:360px){
 .site-header{gap:6px}.site-header .brand-logo{width:120px}.header-book{margin-right:0;padding:10px;gap:8px}
 .ed-header .ed-brand img{width:120px}.ed-utilities{gap:6px}
 .admin-mobile-nav>a{font-size:9px}.admin-content .agenda-table tr{grid-template-columns:52px minmax(0,1fr) 40px;gap:8px}
}

.instagram-icon{display:inline-block;width:19px;height:19px;vertical-align:middle;flex-shrink:0;margin-right:5px}
.ed-hero-book-mobile{display:none}
@media(max-width:800px){
 .ed-hero-copy .ed-hero-lookbook{display:none}
 .ed-hero-copy .ed-hero-book-mobile{display:inline-flex;min-height:48px}
 .hero-copy{container-type:inline-size}
 .hero h1{font-size:20cqw}
 .site-header .brand-logo{max-height:62px;width:140px;max-width:170px}
 .admin-page .site-header .brand-logo{width:135px;max-height:60px}
 .ed-header .ed-brand img{height:auto;max-height:66px;width:145px}
}
@media(max-width:360px){.ed-header .ed-brand img{width:120px}}

/* SVG controls keep the same shape on iOS, Android and desktop. */
.ui-icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.125em;pointer-events:none}
.ui-icon[class*="ui-icon-arrow"],.ui-icon-cta-arrow{display:none!important}
[aria-hidden="true"]:has(>.ui-icon[class*="ui-icon-arrow"]),[aria-hidden="true"]:has(>.ui-icon-cta-arrow){display:none}
.circle-button:has(>.ui-icon-arrow-left),.circle-button:has(>.ui-icon-arrow-right){width:auto;min-width:54px;padding:0 12px;border-radius:3px;font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.circle-button[aria-label="Settimana precedente"]::after,.circle-button[aria-label="Video precedente"]::after{content:"Prec."}
.circle-button[aria-label="Settimana successiva"]::after,.circle-button[aria-label="Video successivo"]::after{content:"Succ."}
.circle-button:has(>.ui-icon-arrow-up-right){width:auto;min-width:52px;padding:0 12px;border-radius:3px;font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.circle-button[aria-label="Cerca"]::after{content:"Cerca"}
.circle-button[aria-label^="Dettagli appuntamento"]::after{content:"Apri"}
.button>.ui-icon,.ed-button>.ui-icon,.text-link>.ui-icon{width:18px;height:18px}
.circle-button .ui-icon{width:20px;height:20px}
.ed-search-button .ui-icon{width:20px;height:20px}
.ed-book-link .ui-icon,.ed-look-explore .ui-icon{width:16px;height:16px}
.ed-dialog-top button .ui-icon,.ed-floating-close .ui-icon{width:24px;height:24px}
.admin-sidebar>a>.ui-icon{width:18px;height:18px}
.ed-hero-play .ui-icon{width:16px;height:16px}
