/* Cross-site responsive safety layer. Keeps each template's visual identity while preventing cramped/overflowing layouts. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}img,video,svg,canvas{max-width:100%}iframe{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}pre,code,.published-url,.url-preview{overflow-wrap:anywhere;word-break:break-word}

/* Main marketing site */
.mobile-nav-toggle{display:none;border:1px solid #c9b5a8;background:#fffaf4;color:#382828;border-radius:999px;min-width:46px;min-height:44px;padding:9px 12px;align-items:center;justify-content:center;gap:4px;cursor:pointer;font:600 .72rem Manrope,sans-serif}.mobile-nav-toggle span{display:block;width:16px;height:1.5px;background:currentColor;border-radius:2px;transition:.2s ease}.mobile-nav-toggle b{margin-left:4px;font:inherit}.site-header.nav-open .mobile-nav-toggle span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.site-header.nav-open .mobile-nav-toggle span:nth-child(2){opacity:0}.site-header.nav-open .mobile-nav-toggle span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
@media(max-width:900px){
  .site-header{gap:12px;position:sticky}.mobile-nav-toggle{display:inline-flex;margin-left:auto;flex:0 0 auto}.site-header>nav{position:absolute;top:calc(100% + 8px);left:14px;right:14px;display:none!important;grid-template-columns:1fr;gap:4px!important;padding:12px;border:1px solid rgba(92,65,52,.16);border-radius:18px;background:#fffaf4!important;color:#382828!important;box-shadow:0 18px 48px rgba(57,38,31,.16);backdrop-filter:blur(18px);z-index:50}.site-header.nav-open>nav{display:grid!important}.site-header>nav a,.site-header>nav a:not(.nav-cta){display:flex!important;align-items:center;min-height:44px;padding:10px 12px;border-radius:12px;font-size:.9rem;color:#382828!important;background:transparent!important}.site-header>nav a:hover,.site-header>nav a:focus-visible{background:#f4e8dc!important;color:#2f211e!important}.site-header>nav .nav-cta{justify-content:center;margin-top:4px;background:#3b2823!important;color:#fff!important;border-color:#3b2823!important}.hero{min-height:auto}.hero-preview{width:100%}
  .feature-flex-grid,.pricing-card,.seo-link-grid{min-width:0}.pricing-main,.pricing-includes,.pricing-extras{min-width:0}
}
@media(max-width:600px){
  .site-header{padding-left:16px;padding-right:16px}.site-header .brand img{max-width:145px}.mobile-nav-toggle{min-width:44px;padding:9px 10px}.mobile-nav-toggle b{display:none}.site-header>nav{left:10px;right:10px}.nav-cta{min-height:42px;white-space:nowrap}
  .hero,.section{padding-left:18px!important;padding-right:18px!important}.hero{padding-top:50px!important;padding-bottom:44px!important;gap:30px!important}.hero h1{font-size:clamp(2.75rem,15vw,3.55rem)!important;overflow-wrap:anywhere}.hero-text{font-size:1rem}.hero-actions .button{width:100%;min-height:46px}.trust-row{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.trust-row span:last-child{grid-column:1/-1}
  .hero-preview{min-height:390px!important}.phone-shell{width:min(270px,82vw)!important;border-width:8px!important}.phone-shell>img{height:300px!important}.phone-copy{padding:22px 16px!important}.float-chip{max-width:42vw;white-space:normal;text-align:center;line-height:1.25}.chip-one{top:12%!important}.chip-two{top:48%!important}.chip-three{bottom:10%!important}
  .section{padding-top:58px!important;padding-bottom:58px!important}.section-heading{margin-bottom:28px}.section-heading h2,.feature-copy h2,.cta h2{font-size:clamp(2.2rem,12vw,3.25rem)!important;overflow-wrap:anywhere}.template-grid,.steps,.features,.feature-flex-grid{gap:16px!important}.template-body{min-height:0!important;padding:20px!important}.template-body h3{font-size:1.8rem!important}.steps article{padding:22px 4px!important}.feature-list>div{padding:18px 0!important}.feature-list b{flex:0 0 auto}
  .pricing-main,.pricing-includes,.pricing-extras{padding:24px 20px!important}.pricing-price strong{font-size:4rem!important}.pricing-extra-row{align-items:flex-start;flex-direction:column;gap:5px!important}.pricing-extra-row span{text-align:left!important}.faq-list details{padding:0 14px!important}.faq-list summary{line-height:1.4}.cta{margin:20px 18px 56px!important;padding:44px 20px!important;border-radius:22px!important}.contact-actions{width:100%}.contact-actions .button{min-height:46px}.footer-contact{flex-wrap:wrap}footer{align-items:flex-start!important;flex-direction:column!important}
}
@media(max-width:380px){.site-header .brand img{max-width:132px}.hero h1{font-size:2.7rem!important}.trust-row{grid-template-columns:1fr}.trust-row span:last-child{grid-column:auto}.phone-shell{width:250px!important}.float-chip{font-size:.62rem!important}}

/* Client intake */
@media(max-width:700px){
  .shell{width:min(100% - 20px,920px)!important;margin:18px auto 42px!important}.shell>.brand{margin-bottom:18px!important}.shell>.brand img{width:min(220px,70vw)!important;padding:11px!important;border-radius:16px!important}.shell .card{padding:22px 16px!important;border-radius:20px!important}.shell .hero{margin-bottom:20px!important;padding:0!important;min-height:0!important;display:block!important}.shell .hero h1{font-size:clamp(2.35rem,13vw,3.3rem)!important}.shell .section{padding:22px 0!important}.shell .section h2{font-size:1.75rem!important}.shell .grid,.shell .choice-grid{grid-template-columns:1fr!important;gap:12px!important}.shell #traditionalFields.grid{display:grid!important}.shell .span2{grid-column:auto!important}.shell input,.shell textarea,.shell select{font-size:16px!important;min-height:46px!important}.shell textarea{min-height:88px!important}.shell .choice span{min-height:54px!important;padding:12px 14px!important}.shell .langs{gap:7px!important}.shell .langs label{min-height:42px!important;padding:9px 12px!important}.shell .event{padding:13px!important}.shell .event-head{align-items:flex-start!important;flex-wrap:wrap!important}.shell .event-head .btn{min-height:40px!important}.shell .actions{position:relative!important;align-items:stretch!important;flex-direction:column!important}.shell .actions .primary{width:100%!important;min-height:48px!important}.shell .btn{min-height:42px}.shell #addEvent{width:100%;margin-top:8px}.client-offer-card,.client-feature-grid{min-width:0!important}
}

/* Admin studio */
@media(max-width:900px){
  .admin-shell{width:min(100% - 24px,1160px)!important;margin-top:14px!important}.admin-header{min-height:68px!important;padding:8px 14px!important}.admin-brand-logo{width:min(170px,46vw)!important}.account-label{display:none!important}.admin-header .ghost-btn{min-height:40px}.auth-stage{grid-template-columns:1fr!important;height:auto!important}.auth-brand-panel{min-height:260px!important}.dashboard-hero,.editor-heading{align-items:flex-start!important;flex-direction:column!important}.dashboard-hero .primary-btn{width:100%}.editor-toolbar{top:68px!important;align-items:stretch!important;flex-direction:column!important}.editor-toolbar-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.editor-toolbar-actions>*{min-width:0!important;padding-left:8px!important;padding-right:8px!important}.stepper{display:flex!important;overflow-x:auto!important;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;gap:8px!important;padding:0 0 8px!important;-webkit-overflow-scrolling:touch}.stepper button{flex:0 0 auto!important;min-width:112px!important;min-height:44px!important;scroll-snap-align:start}.field-grid.cols-2,.field-grid.cols-3,.field-grid.cols-4,.family-columns,.toggle-grid,.media-upload-grid{grid-template-columns:1fr!important}.panel{padding:22px 16px!important}.panel-heading{align-items:flex-start!important;flex-direction:column!important}.panel-heading>.ghost-btn{width:100%}.wizard-footer{align-items:stretch!important;flex-direction:column-reverse!important}.wizard-footer>div{display:grid!important;grid-template-columns:1fr auto!important}.wizard-footer .primary-btn,.wizard-footer .ghost-btn{min-height:44px}.modal-shell{padding:10px!important}.modal-card{width:100%!important;max-height:94dvh!important;padding:28px 18px!important;border-radius:18px!important}.wedding-list{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .editor-toolbar-actions{grid-template-columns:1fr 1fr!important}.editor-toolbar-actions #reviewBtn{grid-column:1/-1}.admin-shell input,.admin-shell select,.admin-shell textarea,.modal-card input,.modal-card select,.modal-card textarea{font-size:16px!important;min-height:44px}.primary-btn,.ghost-btn{min-height:42px}.auth-card{padding:28px 20px!important}.auth-brand-panel{padding:28px 22px!important}.dashboard-hero{padding:26px 20px!important}.editor-heading h1,.dashboard-hero h1{font-size:2.25rem!important}.review-actions,.success-actions,.success-secondary{display:grid!important;grid-template-columns:1fr!important}.review-actions>*,.success-actions>*,.success-secondary>*{width:100%!important}.media-visual,.music-default{height:155px!important}
}

/* Invitation templates: shared safety rules */
@media(max-width:700px){
  body.locked{width:100%;overflow:hidden!important}.top-controls{top:max(10px,env(safe-area-inset-top))!important;left:max(10px,env(safe-area-inset-left))!important;right:max(10px,env(safe-area-inset-right))!important;gap:7px!important;max-width:calc(100vw - 20px)!important}.top-controls .control,.control{min-width:44px!important;min-height:44px!important}.opening{padding-left:16px!important;padding-right:16px!important}.envelope{max-width:calc(100vw - 32px)!important}.hero-content{width:min(100% - 32px,760px)!important;margin-left:auto!important;margin-right:auto!important}.hero-content h1{font-size:clamp(2.6rem,15vw,4.5rem)!important;overflow-wrap:anywhere}.hero-content .invite-line{max-width:100%!important}.section-title{padding-left:16px;padding-right:16px}.section-title h2{font-size:clamp(2.1rem,11vw,3.5rem)!important;overflow-wrap:anywhere}.invite-card,.venue-card,.event-card{min-width:0!important}.parents-grid,.wedding-facts,.venue-layout{grid-template-columns:1fr!important}.parents-grid .mini-divider{transform:none!important}.event-card{overflow-wrap:anywhere}.venue-card .button,.venue-card button.button{width:100%!important;min-height:46px!important}.map-wrap iframe{width:100%!important;min-height:300px!important}.welcome-strip{overflow:hidden!important}.invite-footer-brand{max-width:100%!important}.footer-brand-email{overflow-wrap:anywhere}.invite-share-button{right:max(14px,env(safe-area-inset-right))!important;bottom:max(14px,env(safe-area-inset-bottom))!important;min-width:48px!important;min-height:48px!important}.ribbon{max-width:calc(100vw - 32px)!important}
}
@media(max-width:390px){.top-controls .music-label{display:none!important}.top-controls .control{padding-left:10px!important;padding-right:10px!important}.hero-content h1{font-size:2.65rem!important}.section-title h2{font-size:2.25rem!important}}

/* SEO landing pages */
@media(max-width:760px){.wrap{width:min(100% - 24px,980px)!important}.topbar{gap:12px!important}.toplinks{gap:9px!important}.toplinks a{padding:7px 0}.hero-actions .btn{width:100%;justify-content:center;min-height:46px}.card{padding:18px!important}.offer-price,.offer-copy{padding:22px!important}.related{gap:8px!important}.related a{line-height:1.35}.cta{padding:25px 20px!important}}

/* Landscape phones and short screens */
@media(max-height:520px) and (orientation:landscape){.opening{overflow:auto!important}.hero{min-height:100svh!important}.top-controls{position:fixed!important}.auth-brand-panel{display:none!important}.auth-stage{grid-template-columns:1fr!important}.auth-card{min-height:calc(100svh - 90px)!important}}
