/* Keep the original desktop design; constrain long links and legacy flex items on phones. */
@media(max-width:768px){
 #upper-row-content{box-sizing:border-box;padding:12px 20px;gap:8px}
 #upper-row-logo{padding:0!important;height:60px}
 #upper-row-phone{font-size:20px}
 #hero-content,#hero-content-2,.content-inner,#footer-content{box-sizing:border-box;max-width:100%}
 #hero-content h1{font-size:clamp(30px,8vw,44px);overflow-wrap:anywhere}
 .content-textbox{min-width:0;width:100%;overflow-wrap:anywhere}
 .content-textbox a,#hero-content-2 a{overflow-wrap:anywhere;word-break:normal}
 .content-image{max-width:100%;min-width:0}
}

/* Posters, portraits and activity photos should be visible in full, rather than cropped. */
.imported-virrat .content-image{background-size:contain;background-repeat:no-repeat;background-color:transparent;min-height:0;aspect-ratio:var(--import-image-ratio,3/4);flex:0 1 46%;width:46%;}
@media(max-width:768px){.imported-virrat .content-image{flex:none;width:100%;min-height:0;max-height:none;}}
#import-booking{scroll-margin-top:120px}
@media(max-width:768px){#import-booking{scroll-margin-top:180px}}

/* New editor sections follow the imported business palette without changing the original layout. */
.imported-addon{box-sizing:border-box;width:100%;position:relative;z-index:1;scroll-margin-top:120px}
.imported-addon.preview-locations{background:var(--theme-bg);color:var(--theme-ink);font-family:inherit}
.imported-addon .preview-location-card{background:color-mix(in srgb,var(--theme-bg) 90%,white);color:var(--theme-ink)}
.imported-addon .location-directions,.imported-addon .location-map{background:transparent;color:inherit}
.imported-addon .location-route-link{font-family:inherit}
.imported-addon .preview-location-grid{max-width:1200px;margin:auto}
.imported-addon .preview-section-heading{max-width:1200px;margin-left:auto;margin-right:auto}
.imported-addon .location-cover img{width:100%;height:100%;object-fit:cover}
@media(max-width:768px){.imported-addon{scroll-margin-top:90px}.imported-addon.preview-locations{padding:40px 20px}}
/* Imported pages do not include the template's global box-sizing reset. */
#import-booking,#import-booking *, .imported-addon,.imported-addon *{box-sizing:border-box}
#import-booking article,#import-booking form,#import-booking .booking-day-strip,#import-booking .booking-time-grid{min-width:0;max-width:100%}

#import-booking .staff-trap,.imported-addon .staff-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.imported-addon.staff-section{padding:64px 40px;background:var(--theme-bg);color:var(--theme-ink)}
.imported-addon .staff-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}
.imported-addon .staff-card{border-radius:20px;overflow:hidden;background:color-mix(in srgb,var(--theme-bg) 88%,var(--theme-secondary));border:1px solid color-mix(in srgb,var(--theme-ink) 15%,transparent)}
.imported-addon .staff-card img{width:100%;height:280px;object-fit:cover}.imported-addon .staff-card>div{padding:24px}.imported-addon .staff-card p{line-height:1.6}
.imported-addon .staff-card button{margin-top:20px;padding:14px 20px;border:0;border-radius:24px;background:var(--theme-accent);color:var(--theme-on-accent);font:inherit;cursor:pointer}
.imported-addon .staff-dialog{border:0;border-radius:24px;padding:32px;width:min(560px,90vw);color:var(--theme-ink);background:var(--theme-bg)}
.imported-addon .staff-dialog form,.imported-addon .staff-dialog label{display:grid;gap:12px}.imported-addon .staff-dialog input,.imported-addon .staff-dialog textarea{width:100%;padding:12px;font:inherit;border:1px solid #aaa;border-radius:12px}
