/* Casamentos: composição editorial com foto vertical inteira e hierarquia leve. */
body.wedding-page{background:#f7f3ec;color:#28221c}
.wedding-page .hero{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr)!important;align-items:center;gap:clamp(32px,5vw,78px);width:min(1270px,calc(100% - 100px));margin:0 auto;padding:48px 0 56px;min-height:0!important;height:auto!important;overflow:visible;background:#f7f3ec;color:#28221c;border-radius:0;isolation:auto}
.wedding-page .hero-left{display:block;min-height:0!important;width:auto!important;padding:24px 0!important;background:none;clip-path:none;transform:none}
.wedding-page .hero-content{max-width:600px;margin:0;padding:0}
.wedding-page .hero .eyebrow{color:#8b6b38;font-size:11px;letter-spacing:.22em;font-weight:600}
.wedding-page .hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,4.4vw,65px)!important;line-height:1.09!important;letter-spacing:-.035em;font-weight:400;max-width:600px;margin:22px 0 26px;color:#28221c}
.wedding-page .wedding-location{display:block;font-size:clamp(24px,2.6vw,35px);line-height:1.24;font-weight:400;letter-spacing:-.02em;margin-bottom:20px;max-width:510px}
.wedding-page .hero h1 em{display:block;font-size:inherit;color:#8b6b38;font-style:italic}
.wedding-page .hero p{max-width:480px;color:#60584d;font-size:17px;line-height:1.85;margin:0 0 30px}
.wedding-page .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px}
.wedding-page .hero-actions .btn{flex:none;min-width:0;min-height:48px;padding:15px 19px;font-size:10px;letter-spacing:.09em;line-height:1.4;border-radius:3px}
.wedding-page .hero-actions .btn.gold{background:#25211c;color:#fff;border:1px solid #25211c}
.wedding-page .hero-actions .btn.line{color:#51432c;border:1px solid #c9b995;background:transparent}
.wedding-page .hero-visual{position:relative;justify-self:center;width:min(100%,355px)!important;min-height:0!important;height:auto!important;max-height:none!important;padding:0!important;aspect-ratio:auto;background:transparent;border-radius:18px;overflow:hidden;clip-path:none;box-shadow:0 20px 45px #37250c18;transform:none}
.wedding-page .hero-visual img{display:block;width:100%;height:auto!important;max-height:none;object-fit:contain;object-position:center!important;border-radius:18px;filter:none!important;opacity:1!important}
.wedding-page .hero-left::after,.wedding-page .hero-visual::after{display:none!important;content:none!important}
.wedding-page .sf-breadcrumb{margin-top:0}
.wedding-page .intro{max-width:890px;text-align:center;padding-top:70px;padding-bottom:76px}
.wedding-page h2{font-size:clamp(32px,3.4vw,48px);line-height:1.18;letter-spacing:-.025em;font-weight:400}
.wedding-page .editorial{padding-block:80px}
.wedding-page .editorial-grid{gap:clamp(32px,5vw,72px);align-items:center}
.wedding-page .editorial-copy{max-width:550px}
.wedding-page .editorial-copy p{font-size:15px;line-height:1.9}
.wedding-page .editorial-media{margin:0}
.wedding-page .editorial-media img{height:auto;max-height:none;object-fit:contain;border-radius:18px}
.wedding-page .pillars{padding-block:78px}
.wedding-page .pillar{padding:30px;border-radius:14px;border:1px solid #c9b9953d}
.wedding-page .gallery{padding-block:78px}
.wedding-page .gallery-grid{gap:28px;margin-top:35px;align-items:start}
.wedding-page .gallery-grid img{width:100%;height:auto;object-fit:contain;border-radius:16px}
.wedding-page .planning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.wedding-page .planning-card{background:#fffdf9;padding:28px;border:1px solid #d7c9b8;border-radius:16px;box-shadow:0 8px 22px #37250c05}
.wedding-page .planning-card h3{font-size:19px;line-height:1.3;font-weight:400}
.wedding-page .planning-card p{font-size:14px;line-height:1.85}
.wedding-page .faq{padding-block:80px}
.wedding-page .faq-layout{gap:60px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.wedding-page .form-section{padding-block:80px}
.wedding-page .form-grid{align-items:start;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:60px}
@media(max-width:1050px){
 .wedding-page .hero{width:calc(100% - 62px);gap:28px;padding:36px 0 44px}
 .wedding-page .hero h1{font-size:clamp(38px,5.3vw,52px)!important}
 .wedding-page .wedding-location{font-size:26px}
 .wedding-page .hero p{font-size:15px;line-height:1.8}
 .wedding-page .hero-visual{width:min(100%,310px)!important}
 .wedding-page .hero-actions .btn{padding:13px 14px}
 .wedding-page .planning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wedding-page .faq-layout,.wedding-page .form-grid{gap:32px}
}
@media(max-width:700px){
 .wedding-page .hero{display:flex!important;flex-direction:column!important;width:calc(100% - 40px);gap:28px;padding:26px 0 42px}
 .wedding-page .hero-left{padding:8px 0 0!important;width:100%!important;text-align:center}
 .wedding-page .hero-content{margin:auto}
 .wedding-page .hero h1{font-size:42px!important;line-height:1.12!important;margin:19px auto 21px}
 .wedding-page .wedding-location{font-size:25px;max-width:340px;margin:0 auto 15px}
 .wedding-page .hero p{font-size:15px;max-width:420px;margin:0 auto 24px}
 .wedding-page .hero-actions{justify-content:center;gap:10px}
 .wedding-page .hero-actions .btn{flex:1;min-width:135px;max-width:210px;padding:14px 10px}
 .wedding-page .hero-visual{width:min(100%,340px)!important;height:auto!important;min-height:0!important}
 .wedding-page .intro,.wedding-page .editorial,.wedding-page .gallery,.wedding-page .faq,.wedding-page .form-section{padding-block:50px}
 .wedding-page .planning-grid,.wedding-page .faq-layout,.wedding-page .form-grid{grid-template-columns:1fr;gap:20px}
 .wedding-page .planning-card{padding:24px}
 .wedding-page .editorial-grid{gap:28px}
 .wedding-page .gallery-grid{grid-template-columns:1fr}
 .wedding-page h2{font-size:34px}
}
@media(max-width:360px){.wedding-page .hero h1{font-size:37px!important}.wedding-page .hero-actions{flex-direction:column}.wedding-page .hero-actions .btn{width:100%;max-width:none}}
