/*
Theme Name: Domaine de Saint-Andrieux
Template: astra
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: domaine-saint-andrieux
*/
:root {
    --dsa-ochre: #BB8752;
    --dsa-ivory: #F6F2EA;
    --dsa-ink: #211910;
    --dsa-white: #FFFFFF;
    --dsa-sand: #EEE4D5;
    --dsa-line: #DED3C1;
    --dsa-display: "Cinzel", Georgia, serif;
    --dsa-text: "DM Sans", Arial, sans-serif;
}
body.dsa-page, .editor-styles-wrapper { font-family: var(--dsa-text); color: var(--dsa-ink); background: var(--dsa-ivory); }
.dsa-page #content > .ast-container { max-width: none; padding: 0; }
.dsa-page #primary { width: 100%; margin: 0; }
.dsa-page .site-main article.ast-article-single { padding: 0; background: var(--dsa-ivory); }
.dsa-page .entry-content > * { margin-block: 0; }
.dsa-page .entry-content :is(h1,h2,h3), .editor-styles-wrapper :is(h1,h2,h3) {
    font-family: var(--dsa-display);
    font-weight: 400;
    line-height: 1.14;
    color: inherit;
    text-wrap: balance;
}
.dsa-page .entry-content h2 { font-size: clamp(2rem, 3.75vw, 3.55rem); margin: 0 0 1.15rem; }
.dsa-page .entry-content h3 { font-size: clamp(1.25rem, 2vw, 1.7rem); margin: 0 0 .6rem; }
.dsa-page .entry-content p { margin: 0 0 1.1rem; }
.dsa-page .entry-content a { color: inherit; }
.dsa-page .main-header-bar, .dsa-page .ast-primary-header-bar,
.dsa-page .ast-mobile-header-content, .dsa-page .ast-mobile-popup-inner,
.dsa-page #ast-mobile-site-navigation .main-header-menu, .dsa-page .site-footer,
.dsa-page .site-primary-footer-wrap {
    background: var(--dsa-ochre);
    color: var(--dsa-white);
}
.dsa-page :is(#masthead,.site-footer) :is(a,.site-title,.site-title a,.ast-footer-copyright,.menu-toggle) {
    color: var(--dsa-white);
}
.dsa-page #masthead .main-header-menu { background: var(--dsa-ochre); }
.dsa-page #masthead .site-title { font: 400 clamp(.76rem, 1.36vw, 1.16rem)/1.25 var(--dsa-display); text-transform: uppercase; letter-spacing: .12em; max-width: 12.7em; }
.dsa-page #masthead .ast-site-identity { padding-block: 0; }
.dsa-page #masthead .site-logo-img img { width: 43px; max-width: 43px; }
.dsa-page #masthead .site-branding { min-width: 0; }
.dsa-page #masthead .site-header-primary-section-right { gap: .45rem; }
.dsa-page #masthead .ast-builder-menu-1 a,
.dsa-page #masthead .ast-builder-menu-mobile a { text-transform: uppercase; letter-spacing: .06em; font-size: .76rem; font-weight: 700; }
.dsa-page #masthead .main-header-menu a:hover,
.dsa-page #masthead .main-header-menu .current-menu-item > a { text-decoration: underline; text-underline-offset: .3em; }
.dsa-page #masthead .ast-custom-button {
    min-height: 44px; display: inline-flex; align-items: center; background: var(--dsa-ivory);
    color: var(--dsa-ink); padding: .55rem .9rem; font-weight: 700; border-radius: 3px;
    font-size: .74rem; text-transform: uppercase; letter-spacing: .05em;
}
.dsa-page #masthead .menu-toggle { background: transparent; min-width: 44px; min-height: 44px; padding: 0; justify-content: center; }
.dsa-page .site-footer .dsa-footer-reserve { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1rem; border: 1px solid white; border-radius: 3px; color: white; }
.dsa-page .site-footer .site-primary-footer-inner-wrap { min-height: 150px; }
.dsa-page .site-footer .ast-footer-copyright { font-family: var(--dsa-display); }
.dsa-page .wrap, .editor-styles-wrapper .wrap { width: min(1230px, calc(100% - 8vw)); margin-inline: auto; }
.dsa-page .wp-block-cover.hero {
    min-height: 405px; padding: 55px 0; color: var(--dsa-white);
    background: #39271e; isolation: isolate;
}
.dsa-page .wp-block-cover.hero.home { min-height: 620px; }
.dsa-page .hero .wp-block-cover__background {
    opacity: 1; background: linear-gradient(90deg, #241914ee, #39271eb0 38%, #31201820 95%);
}
.dsa-page .hero .wp-block-cover__image-background { object-position: center 52%; }
.dsa-page .hero .wp-block-cover__inner-container { color: inherit; z-index: 1; }
.dsa-page .hero .hero-layout, .editor-styles-wrapper .hero .hero-layout { display: grid; align-items: center; }
.dsa-page .hero.home .hero-layout, .editor-styles-wrapper .hero.home .hero-layout { grid-template-columns: minmax(0, 1fr) minmax(275px, 330px); gap: clamp(1.5rem, 4vw, 3rem); }
.dsa-page .hero h1 { font-size: clamp(2.45rem, 5vw, 5.25rem); margin: 0; letter-spacing: .012em; }
.dsa-page .hero.home h1 { font-size: clamp(2.8rem, 5.45vw, 5.85rem); text-wrap: initial; }
.dsa-page .entry-content .eyebrow {
    font-size: .73rem; text-transform: uppercase; letter-spacing: .20em;
    font-weight: 700; color: #79562e; margin: 0 0 .85rem;
}
.dsa-page .hero .eyebrow { color: #f3ce94; }
.dsa-page .entry-content .lead { font-size: clamp(1rem, 1.65vw, 1.25rem); max-width: 49ch; margin: 1.2rem 0 1.5rem; }
.dsa-page .section { padding-block: clamp(3rem, 6vw, 6rem); }
.dsa-page .section p { max-width: 65ch; }
.dsa-page .ivory, .dsa-page .benefits { background: var(--dsa-sand); }
.dsa-page .home ~ .section:has(.split) { background: var(--dsa-ochre); color: white; }
.dsa-page .benefits .wrap { display: grid; grid-template-columns: repeat(4, 1fr); padding-block: 1.35rem; text-align: center; }
.dsa-page .benefits .wrap p { margin: 0; padding-inline: .4rem; border-right: 1px solid #d6c7b3; font-weight: 600; font-size: .86rem; }
.dsa-page .benefits .wrap p:last-child { border: 0; }
.dsa-page .intro { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.4rem; margin-bottom: 1.45rem; }
.dsa-page .cards, .editor-styles-wrapper .cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.dsa-page .cards.duo { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 850px; }
.dsa-page .card { overflow: hidden; border: 1px solid var(--dsa-line); border-radius: 5px; background: var(--dsa-ivory); }
.dsa-page .card > div { padding: 1.15rem 1.2rem; }
.dsa-page .card :is(figure,p:last-child), .dsa-page .split figure { margin: 0; }
.dsa-page .card img, .dsa-page .split > div > .wp-block-image img { display: block; width: 100%; aspect-ratio: 1.65; object-fit: cover; }
.dsa-page .card img { transition: transform .3s ease; }
.dsa-page .card figure { overflow: hidden; }
.dsa-page .card:hover img { transform: scale(1.04); }
.dsa-page .card p { font-size: .94rem; }
.dsa-page .card .card-detail { font-size: .82rem; }
.dsa-page .card .more { font-size: .75rem; font-weight: 700; text-transform: uppercase; text-decoration: underline; text-underline-offset: .32em; text-decoration-color: var(--dsa-ochre); }
.dsa-page .split, .editor-styles-wrapper .split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(1.5rem, 6vw, 6rem); align-items: center; }
.dsa-page .split img { border-radius: 4px; }
.dsa-page .faqs { max-width: 790px; margin-block: 1.5rem; }
.dsa-page .faqs details { padding: 1rem 0; border-top: 1px solid var(--dsa-line); }
.dsa-page .faqs details:last-child { border-bottom: 1px solid var(--dsa-line); }
.dsa-page .faqs summary { cursor: pointer; font-weight: 600; }
.dsa-page .faqs details p { margin: .75rem 0 0; }
.dsa-page .entry-content :is(.wp-block-button__link,.btn) {
    display: inline-flex; align-items: center; justify-content: center; min-height: 47px;
    padding: .75rem 1.1rem; background: var(--dsa-ochre); color: white; border: 1px solid transparent;
    border-radius: 3px; text-decoration: none; font-family: var(--dsa-text); font-size: .86rem; font-weight: 700;
}
.dsa-page .entry-content :is(.wp-block-button__link,.btn):hover { background: #E1B98D; color: var(--dsa-ink); }
.dsa-page .entry-content .is-style-outline .wp-block-button__link { background: transparent; color: inherit; border-color: var(--dsa-ochre); }
.dsa-page .entry-content .is-style-outline .wp-block-button__link:hover { background: var(--dsa-sand); color: var(--dsa-ink); }
.dsa-page .entry-content :is(.hero,.home ~ .section:has(.split)) .is-style-outline .wp-block-button__link { border-color: white; }
.dsa-page .booking, .dsa-page .form {
    background: var(--dsa-ivory); color: var(--dsa-ink); padding: clamp(1rem, 2.2vw, 1.5rem);
    border-radius: 5px;
}
.dsa-page .booking { box-shadow: 0 16px 55px #24171140; }
.dsa-page .booking .btn { width: 100%; }
.dsa-page .entry-content .booking h2 { font-size: 1.5rem; }
.dsa-page .form { max-width: 740px; border: 1px solid var(--dsa-line); }
.dsa-page .fields, .dsa-page .choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.dsa-page .booking .dates { grid-template-columns: 1fr; gap: 0; }
.dsa-page :is(.form,.booking) label { display: grid; gap: .3rem; font-size: .88rem; font-weight: 600; margin-bottom: .7rem; }
.dsa-page :is(.form,.booking) :is(input:not([type=checkbox]),select,textarea) {
    width: 100%; min-width: 0; min-height: 44px; border: 1px solid #c6b7a4;
    background: #fffdf8; color: var(--dsa-ink); padding: .52rem .68rem; border-radius: 3px; font: inherit;
}
.dsa-page .form fieldset { padding: 0; margin: 0 0 1rem; border: 0; }
.dsa-page .form legend { margin-bottom: .6rem; font-weight: 700; }
.dsa-page .form .choice { display: flex; align-items: center; gap: .5rem; padding: .6rem; margin: 0; border: 1px solid var(--dsa-line); border-radius: 3px; cursor: pointer; }
.dsa-page .choice input { accent-color: var(--dsa-ink); }
.dsa-page .form button:disabled { opacity: .6; cursor: not-allowed; }
.dsa-page .feedback { margin-top: 1rem; padding: 1rem; background: var(--dsa-sand); }
.dsa-page :is(button,a,input,textarea,select,summary):focus-visible { outline: 2px solid #79562e; outline-offset: 3px; }
@media (max-width: 980px) {
    .dsa-page #masthead .site-logo-img img { max-width: 34px; }
    .dsa-page #masthead .ast-builder-layout-element { padding-inline: .3rem; }
    .dsa-page #masthead .ast-site-identity { padding-inline: 0; }
    .dsa-page #masthead .ast-mobile-header-wrap .ast-builder-grid-row-container { min-height: 69px; }
}
@media (max-width: 700px) {
    .dsa-page .wp-block-cover.hero { min-height: 325px; padding-block: 34px; }
    .dsa-page .hero.home .hero-layout, .dsa-page .split { grid-template-columns: 1fr; }
    .dsa-page .hero.home h1, .dsa-page .hero h1 { font-size: clamp(1.85rem, 6.8vw, 3.6rem); }
    .dsa-page .hero .wp-block-cover__image-background { object-position: 64% center; }
    .dsa-page .booking .dates { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; }
    .dsa-page .benefits .wrap { grid-template-columns: repeat(2,1fr); gap: .55rem; }
    .dsa-page .benefits .wrap p:nth-child(2) { border: 0; }
    .dsa-page .intro { display: block; }
    .dsa-page .cards, .dsa-page .cards.duo, .dsa-page .choices { grid-template-columns: 1fr; }
}
@media (max-width: 380px) {
    .dsa-page #masthead .site-logo-img { padding-right: .35rem; }
    .dsa-page #masthead .ast-custom-button { padding-inline: .55rem; }
    .dsa-page .form .fields { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .dsa-page *, .dsa-page *::before, .dsa-page *::after { transition: none !important; scroll-behavior: auto !important; }
}
.dsa-page .ast-mobile-popup-inner :is(a,button),
.dsa-page .ast-mobile-popup-inner .main-header-menu {
    background-color: var(--dsa-ochre);
    color: var(--dsa-white);
}
