/* V8 — CMS-added page blocks and editable graphics */
.cms-added-section{position:relative}
.cms-added-section .cms-block-title{font-family:var(--heading-font,"Cinzel",serif);color:var(--wine-dark);line-height:1.15;margin:.1em 0 .55em}
.cms-added-section .cms-block-body{font-size:1.02rem;line-height:1.85}
.cms-added-section .cms-block-body p{margin:.65em 0}
.cms-image-block{margin:0;text-align:center}
.cms-image-block img{display:block;width:100%;max-height:760px;object-fit:cover;border-radius:10px;box-shadow:var(--shadow);border:1px solid rgba(90,53,36,.16)}
.cms-image-block figcaption{margin-top:10px;color:#6c5545;font-size:.84rem;font-style:italic}
.cms-quote-block{margin:0;padding:34px 38px;border-left:4px solid var(--gold);background:#fffaf1;box-shadow:var(--shadow);font-size:1.25rem;line-height:1.75;font-style:italic}
.cms-quote-block cite{display:block;margin-top:12px;font-size:.8rem;font-style:normal;font-family:var(--ui-font,"Montserrat",sans-serif);text-transform:uppercase;letter-spacing:.06em;color:var(--wine)}
.cms-callout{padding:34px;background:linear-gradient(135deg,#fffaf1,#f1dfc0);border:1px solid rgba(101,61,36,.2);box-shadow:var(--shadow)}
.cms-callout.dark{background:linear-gradient(135deg,#3b261d,#6b3b28);color:#fff}.cms-callout.dark .cms-block-title{color:#f4dba6}
.cms-button-block{text-align:center}.cms-button-block.left{text-align:left}
.cms-divider{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:10px 0}
body[data-page-slug] .hero,body[data-page-slug] .page-hero,body[data-page-slug] main>section:first-child{background-repeat:no-repeat;background-size:cover}
@media(max-width:700px){.cms-quote-block,.cms-callout{padding:24px}.cms-image-block img{max-height:520px}}

/* V10.2 — Video blocks */
.cms-video-block{max-width:1000px;margin:0 auto}
.cms-video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#090909;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(90,53,36,.18)}
.cms-video-frame iframe,.cms-video-frame video{display:block;width:100%;height:100%;border:0;background:#000;object-fit:contain}
.cms-video-description{margin-top:18px;font-size:1rem;line-height:1.75}
.cms-video-description p{margin:.55em 0}
.cms-video-caption{margin:10px 0 0;text-align:center;color:#6c5545;font-size:.84rem;font-style:italic}
@media(max-width:700px){.cms-video-frame{border-radius:6px}.cms-video-description{font-size:.96rem}}
