/* Shared Cavalier rhythm: space, type, actions and restrained editorial motion. */
body.cv-polish{--cv-space:80px;--cv-pad:40px;--cv-copy-gap:18px;--cv-heading-gap:24px;--cv-gold:#b89769;--cv-ink:#075668;--cv-line:#d6dfdc}
.cv-polish :where(h1,h2,h3){text-wrap:pretty}
.cv-polish :where(p){text-wrap:pretty}
.cv-polish :where(main,#product-body,.blog-content,.kontakt-container) :where(p+p){margin-top:var(--cv-copy-gap)}
.cv-polish :where(.blog-content,.indented-text,.page-section__content) p{line-height:1.8}
.cv-polish :where(.blog-content,.indented-text,.page-section__content) p:not(:last-child){margin-bottom:var(--cv-copy-gap)}
/* Keep card actions on a common baseline even when the copy wraps. */
.cv-polish .sc-needs-grid{align-items:stretch;gap:32px}
.cv-polish .sc-need{display:flex;flex-direction:column;align-items:flex-start}
.cv-polish .sc-need .sc-need-cta{margin-top:auto}
.cv-polish .sc-need p{margin-bottom:24px}
.cv-polish .hs-brands article{display:flex;flex-direction:column;align-items:flex-start}
.cv-polish .hs-brands .hs-link{margin-top:auto}
.cv-polish :is(.ad-button,.seo-cta,.hs-button,.button--primary,.submitConsultationNew,.sendToConsultant){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;max-width:100%;padding:14px 24px;line-height:1.5;text-align:center;vertical-align:middle;border-radius:0;text-decoration:none;letter-spacing:0;white-space:normal;transition:background-color .2s,color .2s,border-color .2s}
.cv-polish :is(.ad-button,.seo-cta,.hs-button):hover{transform:none;box-shadow:none}
.cv-polish :is(.ad-button,.seo-cta,.hs-button,.button--primary,.submitConsultationNew,.sendToConsultant):focus-visible{outline:2px solid var(--cv-gold);outline-offset:5px}
.cv-polish :is(.ad-form-grid,.ad-booking-form){min-width:0}
.cv-polish :is(.ad-form-grid input,.ad-form-grid textarea){box-sizing:border-box;max-width:100%}
/* Links use one fine underline. No bouncing arrows or moving text. */
.cv-polish :is(.ad-link,.hs-link,.ep-text-action,.og-text-link,.sc-need-cta,.rtwc-hero-consult,.text-link,.hs-location-detail,.wa-occasion-detail){border-bottom:0;text-decoration-line:underline;text-decoration-color:#b2c2bf;text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-skip-ink:auto;transition:color .2s,text-decoration-color .2s;line-height:1.65}
.cv-polish :is(.ad-link,.hs-link,.ep-text-action,.og-text-link,.sc-need-cta,.rtwc-hero-consult,.text-link,.hs-location-detail,.wa-occasion-detail):hover{color:var(--cv-ink);text-decoration-color:var(--cv-gold);transform:none}
.cv-polish .blog-content :is(p,li)>a:not([class]){text-decoration:underline;text-decoration-color:var(--cv-gold);text-underline-offset:4px;text-decoration-thickness:1px}
.cv-polish :is(.ad-actions,.og-actions,.rtwc-editorial-actions){align-items:center;gap:16px 28px}
.cv-polish :is(.rtwc-hero-tabs,.ad-city-tabs,.ad-season-tabs){position:relative}
.cv-polish .cv-gold-indicator{position:absolute;bottom:0;left:0;height:2px;background:var(--cv-gold);pointer-events:none;transform-origin:left;z-index:2}
.cv-polish .cv-indicator-ready>button{border-bottom-color:transparent!important}
.cv-polish .cv-indicator-ready>button:after{display:none}
.cv-polish .cv-reveal-word,.cv-polish .cv-reveal-piece{display:inline-block;vertical-align:baseline}
.cv-polish .atelier :is(h1,h2) :is(.cv-reveal-word,.cv-reveal-piece){color:inherit}
/* Replace the older curtain / floating-card effects; retain the photo switch itself. */
.cv-polish :is(.mtm-card,.seo-product-tile,.feature-card,.cvf-offer article,.cvf-step,.cv-price-category):hover{transform:none!important;box-shadow:none!important}
.cv-polish :is(.cv-photo-reveal,.cv-gallery-reveal)::after{display:none!important}
.cv-polish :is(.cv-image-reveal,.ad-config-model){animation:none!important}
.cv-polish :is(.mtm-photo,.rtwc-packshot,.ep-category figure,.ad-catalog-card figure) img{transition:opacity .3s ease,filter .3s ease}
/* Shared section rhythm, including the older product templates. Hero scenes retain their framing. */
.cv-polish .svc-page> :is(.ad-section,.sc-process,.sc-film,.svc-outcome,.svc-brands,.svc-faq){padding-block:var(--cv-pad);margin-block:0}
.cv-polish .svc-page>.svc-hero{padding-bottom:var(--cv-pad)}
.cv-polish .svc-page> :is(.ad-booking,.svc-booking){padding-top:var(--cv-space);padding-bottom:var(--cv-space)}
.cv-polish .rtwc> :is(.rtwc-collection,.rtwc-inspiration,.rtw-related,.rtwc-consultation){padding-block:var(--cv-pad);margin-block:0}
.cv-polish .rtwc-collection>.rtwc-section-heading{margin-bottom:32px}
.cv-polish #product-body> :is(.page-section,.seo-half-canvas,.seo-process-section,.seo-delivery-section,.seo-faq-section){padding-block:var(--cv-pad)}
.cv-polish .og-section{padding-block:var(--cv-pad)}
.cv-polish :is(.made-to-measure-overview .mtm-section,.ad-catalog-section,.ad-rtw-section,.cv-company .cvf-section){padding-block:var(--cv-pad)}
.cv-polish :is(.rtwc-section-heading,.sc-process header,.svc-outcome-intro) h2{margin-bottom:var(--cv-heading-gap)}
.cv-polish :is(.sc-process-grid,.svc-outcome-list) h3{margin-bottom:12px}
.cv-polish .site-footer .footer-col a{line-height:1.65;text-underline-offset:5px}
@media(max-width:900px){body.cv-polish{--cv-space:48px;--cv-pad:24px;--cv-copy-gap:16px;--cv-heading-gap:22px}}
@media(max-width:700px){
 .cv-polish :is(.ad-button,.seo-cta,.hs-button,.button--primary,.submitConsultationNew,.sendToConsultant){min-height:48px;padding:13px 22px}
 .cv-polish .sc-needs-grid{gap:28px}
 .cv-polish :is(.og-actions,.ad-actions){gap:14px 22px}
 .cv-polish .rtwc-model-heading{flex-wrap:wrap;gap:10px 18px}
 .cv-polish .rtwc-model-heading .rtwc-price{margin-left:auto}
 .cv-polish .rtwc-consultation .seo-cta{max-width:90%;margin-inline:auto}
 /* Existing care link intentionally stays a quiet text action on mobile. */
 .cv-polish.homepage-editorial .atelier .hs-care a.ad-button{min-height:44px;padding:8px 0}
}
@media(prefers-reduced-motion:reduce){html.cv-smooth{scroll-behavior:auto!important}.cv-polish :is(.cv-reveal-piece,.cv-gold-indicator){transition:none!important;transform:none!important}.cv-polish .cv-reveal-piece{opacity:1!important}}

/* Footer headings and first links share the same baseline in every column. */
body.cv-polish .site-footer .footer-grid{align-items:start}
body.cv-polish .site-footer .footer-grid>div>h3{font-size:15px;font-weight:500;line-height:1.5;min-height:3em;margin:0 0 18px;padding:0}
body.cv-polish .site-footer .footer-grid>div>h3>a{display:block;padding:0;margin:0;font:inherit;line-height:inherit}
body.cv-polish .site-footer .footer-grid>.footer-col>a{display:block;margin:0;padding:4px 0;line-height:1.65}
/* Decorative arrows are not part of Cavalier's actions. Keep gallery navigation readable. */
.cv-polish :is(a,button) :is(.ad-arrow,.arrow,.icon-arrow,.icon-arrow-right,img[src*="arrow_"]){display:none!important}
.cv-polish :is(.slick-prev,.slick-next)::before{content:none!important}
body.cv-polish :is(.slick-prev,.slick-next){font:500 10px/1.4 Poppins,Arial,sans-serif!important;color:#075668!important;background:#fff!important;border:1px solid #b89769!important;border-radius:0;width:auto!important;min-width:56px;height:34px!important;padding:7px!important;top:auto!important;bottom:12px;transform:none!important;opacity:1}
body.cv-polish .slick-prev{left:8px!important}body.cv-polish .slick-next{right:8px!important}
@media(max-width:600px){body.cv-polish .site-footer .footer-grid>div>h3{min-height:0}}

.cv-polish .og-wedding-comparison figcaption{font-size:13px;font-weight:500;color:#075668;letter-spacing:.04em}
@media(max-width:700px){.cv-polish .og-wedding-comparison figcaption{font-size:12px}}

body.cv-polish .lb-nav a:is(.lb-prev,.lb-next){background:#fff!important;color:#075668!important;border:1px solid #b89769;font:500 11px/1.4 Poppins,Arial,sans-serif;width:auto!important;height:34px!important;padding:8px 10px;position:absolute;top:auto;bottom:12px;opacity:1!important;text-decoration:none;transition:none}
body.cv-polish .lb-nav a.lb-prev{left:12px}body.cv-polish .lb-nav a.lb-next{right:12px}
