/* =========================================================
   AR PRIVÉ — VENUES & RESERVATIONS
   Page-specific stylesheet
   ========================================================= */


/* ---------------------------------------------------------
   BASE
   --------------------------------------------------------- */

.ar-venues {
    width: 100%;
    background: #ffffff;
    color: #1f1f1d;
}

.ar-venues *,
.ar-venues *::before,
.ar-venues *::after {
    box-sizing: border-box;
}

.ar-venues-container {
    width: min(calc(100% - 64px), 1440px);
    margin-inline: auto;
}


/* ---------------------------------------------------------
   TYPOGRAPHY
   --------------------------------------------------------- */

.ar-venues-eyebrow {
    margin: 0 0 20px;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #77726b;
}

.ar-venues-title,
.ar-venues-section-heading h2,
.ar-venues-reserve h2,
.ar-destination-card h3 {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
}


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.ar-venues-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 110px 0 82px;
    background-color: #1f1f1d;
    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, .68) 0%,
            rgba(0, 0, 0, .48) 42%,
            rgba(0, 0, 0, .16) 100%
        ),
        url("https://www.arprive.com/wp-content/uploads/2026/09/venues-hero.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.ar-venues-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 1080px;
    margin-inline: auto;
}

.ar-venues-hero .ar-venues-eyebrow {
    color: rgba(255, 255, 255, .78);
}

.ar-venues-title {
    max-width: 1100px;
    margin: 0;
    font-size: clamp(64px, 6vw, 104px);
    line-height: .92;
    letter-spacing: -.035em;
    color: #ffffff;
}

.ar-venues-intro {
    max-width: 720px;
    margin: 34px 0 0;
    font-size: 18px;
    line-height: 1.7;
    font-weight: 400;
    color: rgba(255, 255, 255, .88);
}


/* ---------------------------------------------------------
   DESTINATION COLLECTIONS
   --------------------------------------------------------- */

.ar-venues-destinations {
    padding: 82px 0 96px;
    background: #ffffff;
}

.ar-venues-section-heading {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto 38px;
}

.ar-venues-section-heading .ar-venues-eyebrow {
    margin-bottom: 18px;
}

.ar-venues-section-heading h2,
.ar-venues-reserve h2 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(46px, 4.4vw, 68px);
    line-height: .98;
    letter-spacing: -.03em;
    color: #1f1f1d;
}

.ar-venues-section-intro {
    max-width: 1080px;
    margin: 22px 0 0;
    font-size: 17px;
    line-height: 1.7;
    color: #625d56;
}

.ar-venues-destination-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
}


/* ---------------------------------------------------------
   DESTINATION CARDS
   --------------------------------------------------------- */

.ar-destination-card {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1.68 / 1;
    overflow: hidden;
    isolation: isolate;
    background: #e9e5dd;
    color: #ffffff;
    text-decoration: none;
}

.ar-destination-card:focus-visible {
    outline: 2px solid #1f1f1d;
    outline-offset: 4px;
}

.ar-destination-card__media {
    position: absolute;
    inset: 0;
}

.ar-destination-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .65s cubic-bezier(.2, .65, .3, 1),
        filter .35s ease;
}

.ar-destination-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, .06) 0%,
            rgba(0, 0, 0, .16) 44%,
            rgba(0, 0, 0, .58) 100%
        );
}

.ar-destination-card__content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 28px;
    text-align: center;
}

.ar-destination-card__label {
    display: block;
    margin-bottom: 12px;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .84);
}

.ar-destination-card h3 {
    margin: 0;
    font-size: clamp(40px, 3.5vw, 58px);
    line-height: .96;
    letter-spacing: -.03em;
    color: #ffffff;
    text-shadow: 0 1px 12px rgba(0, 0, 0, .16);
}

.ar-destination-card__link {
    display: inline-block;
    margin-top: 18px;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(255, 255, 255, .72);
    font-size: 10px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #ffffff;
    transition:
        border-color .25s ease,
        opacity .25s ease;
}

@media (hover: hover) {
    .ar-destination-card:hover .ar-destination-card__media img {
        transform: scale(1.025);
        filter: brightness(.94);
    }

    .ar-destination-card:hover .ar-destination-card__link {
        border-color: #ffffff;
    }
}


/* ---------------------------------------------------------
   RESERVATION CTA
   --------------------------------------------------------- */

.ar-venues-reserve {
    padding: 100px 0 108px;
    background: #f5f2ec;
}

.ar-venues-reserve__inner {
    max-width: 1080px;
    margin-inline: auto;
}

.ar-venues-reserve__inner .ar-venues-eyebrow {
    margin-bottom: 18px;
}

.ar-venues-reserve__inner > p:not(.ar-venues-eyebrow) {
    max-width: 700px;
    margin: 26px 0 0;
    font-size: 18px;
    line-height: 1.75;
    color: #514d47;
}


/* ---------------------------------------------------------
   BUTTONS
   --------------------------------------------------------- */

.ar-venues-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.ar-venues-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    border: 1px solid #1f1f1d;
    font-size: 10px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: .12em;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    transition:
        background-color .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.ar-venues-button--primary {
    background: #1f1f1d;
    color: #ffffff;
}

.ar-venues-button--secondary {
    background: transparent;
    color: #1f1f1d;
}

.ar-venues-button:focus-visible {
    outline: 2px solid #1f1f1d;
    outline-offset: 4px;
}

@media (hover: hover) {
    .ar-venues-button--primary:hover {
        background: transparent;
        color: #1f1f1d;
    }

    .ar-venues-button--secondary:hover {
        background: #1f1f1d;
        color: #ffffff;
    }
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1100px) {
    .ar-venues-container {
        width: min(calc(100% - 48px), 1440px);
    }

    .ar-venues-hero {
        padding: 100px 0 72px;
    }

    .ar-venues-title {
        font-size: clamp(56px, 7vw, 88px);
        line-height: .94;
    }

    .ar-venues-intro {
        max-width: 680px;
        margin-top: 30px;
        font-size: 17px;
    }

    .ar-venues-destinations {
        padding: 72px 0 84px;
    }

    .ar-venues-section-heading h2,
    .ar-venues-reserve h2 {
        font-size: clamp(42px, 5vw, 58px);
    }

    .ar-venues-section-intro {
        font-size: 16px;
    }

    .ar-venues-destination-grid {
        gap: 18px;
    }

    .ar-destination-card h3 {
        font-size: clamp(36px, 4vw, 48px);
    }

    .ar-venues-reserve {
        padding: 86px 0 92px;
    }
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {
    .ar-venues-container {
        width: min(calc(100% - 32px), 1440px);
    }

    .ar-venues-hero {
        padding: 82px 0 58px;
        background-position: 58% center;
        background-image:
            linear-gradient(
                90deg,
                rgba(0, 0, 0, .72) 0%,
                rgba(0, 0, 0, .56) 58%,
                rgba(0, 0, 0, .34) 100%
            ),
            url("https://www.arprive.com/wp-content/uploads/2026/09/venues-hero.jpg");
    }

    .ar-venues-eyebrow {
        margin-bottom: 16px;
        font-size: 10px;
        letter-spacing: .16em;
    }

    .ar-venues-title {
        max-width: 100%;
        font-size: clamp(46px, 12vw, 62px);
        line-height: .94;
        letter-spacing: -.03em;
    }

    .ar-venues-intro {
        max-width: 100%;
        margin-top: 24px;
        font-size: 16px;
        line-height: 1.65;
    }

    .ar-venues-destinations {
        padding: 62px 0 70px;
    }

    .ar-venues-section-heading {
        margin-bottom: 28px;
    }

    .ar-venues-section-heading .ar-venues-eyebrow {
        margin-bottom: 15px;
    }

    .ar-venues-section-heading h2,
    .ar-venues-reserve h2 {
        font-size: clamp(38px, 10vw, 50px);
        line-height: .98;
    }

    .ar-venues-section-intro {
        margin-top: 18px;
        font-size: 16px;
        line-height: 1.65;
    }

    .ar-venues-destination-grid {
        grid-template-columns: 1fr;
        gap: 14px;
        max-width: 100%;
    }

    .ar-destination-card {
        aspect-ratio: 1.35 / 1;
    }

    .ar-destination-card__content {
        padding: 22px;
    }

    .ar-destination-card__label {
        margin-bottom: 10px;
        font-size: 9px;
    }

    .ar-destination-card h3 {
        font-size: clamp(38px, 10vw, 48px);
    }

    .ar-destination-card__link {
        margin-top: 15px;
    }

    .ar-venues-reserve {
        padding: 72px 0 76px;
    }

    .ar-venues-reserve__inner .ar-venues-eyebrow {
        margin-bottom: 15px;
    }

    .ar-venues-reserve__inner > p:not(.ar-venues-eyebrow) {
        margin-top: 22px;
        font-size: 16px;
        line-height: 1.7;
    }

    .ar-venues-actions {
        flex-direction: column;
        gap: 10px;
        margin-top: 28px;
    }

    .ar-venues-button {
        width: 100%;
        min-height: 48px;
    }
}


/* ---------------------------------------------------------
   REDUCED MOTION
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .ar-destination-card__media img,
    .ar-destination-card__link,
    .ar-venues-button {
        transition: none;
    }
}

/* ==========================================
   AR PRIVÉ — VENUE EXPLORE
   ========================================== */

.arve {
    --arve-paper: #faf8f0;
    --arve-ink: #191919;
    --arve-muted: #62625e;
    --arve-line: #d8d6cf;

    background: var(--arve-paper);
    color: var(--arve-ink);
    padding-bottom: 90px;
}

.arve * {
    box-sizing: border-box;
}

.arve__container {
    width: min(1440px, 92%);
    margin-inline: auto;
}

/* HERO */

.arve__hero {
    width: min(1440px, 92%);
    margin-inline: auto;
    padding: 76px 0 44px;
    text-align: center;
    background: none;
}

.arve__hero h1 {
    font-family: "PP Editorial New", Georgia, serif;
    font-size: clamp(34px, 4.2vw, 66px);
    font-weight: 400;
    line-height: 1.14;
    letter-spacing: -.025em;
    margin: 0 0 28px;
    text-transform: none;
    color: var(--arve-ink);
}

.arve__hero p {
    max-width: 1120px;
    margin: 0 auto;
    color: var(--arve-muted);
    font-size: clamp(14px, 1.2vw, 17px);
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: .025em;
    text-transform: none;
}

/* FILTRI */

.arve__filters {
    display: grid;
    grid-template-columns: 1fr 1fr 1.35fr;
    gap: 18px;
    max-width: 1120px;
    margin: 0 auto 36px;
    padding: 0;
    border: 0;
    background: none;
}

.arve__field {
    min-width: 0;
}

.arve__field label {
    display: block;
    margin: 0 0 9px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--arve-muted);
}

.arve__field select,
.arve__search-control {
    width: 100%;
    height: 58px;
    border: 1px solid var(--arve-line);
    border-radius: 0;
    background: transparent;
    color: var(--arve-ink);
    box-shadow: none;
}

.arve__field select {
    padding: 0 40px 0 17px;
    font: inherit;
    font-size: 15px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23545454' stroke-width='1.2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 17px center;
    cursor: pointer;
}

.arve__search-control {
    display: flex;
    align-items: center;
}

.arve__search-control input {
    min-width: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0 16px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font: inherit;
    font-size: 15px;
    color: var(--arve-ink);
}

.arve__search-control input::placeholder {
    color: var(--arve-muted);
    opacity: 1;
}

.arve__search-control button {
    display: grid;
    place-items: center;
    flex: 0 0 54px;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-left: 1px solid var(--arve-line);
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    color: var(--arve-ink);
    cursor: pointer;
}

.arve__search-control button:hover {
    background: #eeece3;
}

.arve__search-control svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.2;
    stroke-linecap: round;
}

.arve :is(a, button, input, select):focus-visible {
    outline: 2px solid #806b42;
    outline-offset: 4px;
}

/* CONTATORE RISULTATI */

.arve__results-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-top: 1px solid var(--arve-line);
    padding: 19px 0 24px;
    color: var(--arve-muted);
    font-size: 13px;
}

.arve__results-bar p {
    margin: 0;
}

.arve__results-bar a,
.arve__empty a {
    color: var(--arve-ink);
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* GRIGLIA E SCHEDE */

.arve__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 44px 28px;
}

.arve__card {
    min-width: 0;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
}

.arve__card-link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.arve__image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #ebe8df;
}

.arve__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.arve__card-link:hover .arve__image img {
    transform: scale(1.025);
}

.arve__placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    font-family: "PP Editorial New", Georgia, serif;
    font-size: 27px;
    letter-spacing: .12em;
    color: #777368;
}

.arve__card-copy {
    padding: 20px 0 0;
}

.arve__destination {
    margin: 0 0 9px;
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--arve-muted);
}

.arve__card h2 {
    font-family: "PP Editorial New", Georgia, serif;
    font-size: clamp(26px, 2.4vw, 35px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -.015em;
    text-transform: none;
    margin: 0 0 10px;
    color: var(--arve-ink);
}

.arve__type {
    font-size: 13px;
    line-height: 1.6;
    color: var(--arve-muted);
    margin: 0;
}

.arve__explore {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: 19px;
    padding-top: 14px;
    border-top: 1px solid var(--arve-line);
    font-size: 12px;
    letter-spacing: .045em;
}

.arve__explore span {
    font-size: 18px;
    line-height: 1;
}

/* NESSUN RISULTATO */

.arve__empty {
    text-align: center;
    padding: 60px 20px;
}

.arve__empty h2 {
    font-family: "PP Editorial New", Georgia, serif;
    font-size: 30px;
    font-weight: 400;
}

.arve__empty p {
    font-size: 15px;
    line-height: 1.7;
}

.arve__admin {
    margin: 30px auto 0;
    padding: 20px;
    max-width: 780px;
    border: 1px solid var(--arve-line);
    text-align: left;
    overflow-wrap: anywhere;
}

/* PAGINAZIONE */

.arve__pagination {
    margin-top: 54px;
}

.arve__pagination ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.arve__pagination li {
    margin: 0;
    padding: 0;
}

.arve__pagination a,
.arve__pagination span {
    display: block;
    padding: 11px 16px;
    border: 1px solid var(--arve-line);
    color: var(--arve-ink);
    text-decoration: none;
    font-size: 14px;
}

.arve__pagination .current {
    background: var(--arve-ink);
    border-color: var(--arve-ink);
    color: #fff;
}

/* TABLET */

@media (max-width: 1000px) {
    .arve__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .arve__filters {
        gap: 12px;
    }

    .arve__hero {
        padding-top: 54px;
    }
}

/* MOBILE */

@media (max-width: 600px) {
    .arve {
        padding-bottom: 55px;
    }

    .arve__hero {
        padding: 38px 0 30px;
    }

    .arve__hero h1 {
        font-size: 36px;
        margin-bottom: 19px;
    }

    .arve__hero p {
        font-size: 14px;
        line-height: 1.7;
    }

    .arve__filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 12px;
        margin-bottom: 25px;
    }

    .arve__search {
        grid-column: 1 / -1;
    }

    .arve__field select,
    .arve__search-control {
        height: 52px;
    }

    .arve__field select {
        font-size: 14px;
        padding-left: 12px;
    }

    .arve__search-control input {
        font-size: 16px;
    }

    .arve__grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .arve__card h2 {
        font-size: 30px;
    }

    .arve__results-bar {
        padding: 16px 0 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .arve__image img {
        transition: none;
    }

    .arve__card-link:hover .arve__image img {
        transform: none;
    }
}

/* Venue Explore: reserve the actual header height on mobile and tablet. */
@media (max-width: 1200px) {
    body:has(.arve) {
        padding-top: 0;
    }
    body:has(.arve) .header {
        position: relative;
        top: auto;
        left: auto;
    }
}


/* AR Privé — single venue. */
.arsv{--sv-paper:#faf8f0;--sv-ink:#191919;--sv-muted:#62625e;--sv-line:#d8d6cf;background:var(--sv-paper);color:var(--sv-ink);padding-bottom:70px}
.arsv *{box-sizing:border-box}
.arsv__container{width:min(1240px,92%);margin-inline:auto}
.arsv__hero{height:clamp(320px,57vw,650px);overflow:hidden;background:#eae7df}
.arsv__hero-image{display:block;width:100%;height:100%;object-fit:cover}
.arsv__breadcrumb{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:28px 0 34px;font-size:12px;line-height:1.6;color:var(--sv-muted)}
.arsv__breadcrumb a{color:inherit;text-decoration:none}
.arsv__breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.arsv__heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:32px}
.arsv__eyebrow{font-size:11px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;color:var(--sv-muted)}
.arsv h1{font-family:"PP Editorial New",Georgia,serif;font-size:clamp(42px,5vw,72px);font-weight:400;letter-spacing:-.025em;line-height:1.12;margin:0 0 15px;text-transform:none}
.arsv__location{margin:0;font-size:16px;color:var(--sv-muted);line-height:1.6}
.arsv__request{display:inline-flex;align-items:center;justify-content:center;gap:30px;flex-shrink:0;padding:16px 24px;background:var(--sv-ink);color:#fff;text-decoration:none;font-size:13px;line-height:1.5;border:1px solid var(--sv-ink);transition:background .2s,color .2s}
.arsv__request:hover{background:transparent;color:var(--sv-ink)}
.arsv__intro{max-width:850px;font-size:clamp(18px,1.8vw,23px);line-height:1.65;color:var(--sv-ink);margin:0 0 30px}
.arsv__intro p{margin:0 0 16px}
.arsv__content{max-width:850px;font-size:16px;line-height:1.85;color:var(--sv-muted)}
.arsv__content p,.arsv__content ul,.arsv__content ol{margin:0 0 22px}
.arsv__content ul,.arsv__content ol{padding-left:24px}
.arsv__content li{margin-bottom:8px}
.arsv__content h2,.arsv__content h3,.arsv__gallery h2{font-family:"PP Editorial New",Georgia,serif;font-weight:400;line-height:1.25;color:var(--sv-ink);text-transform:none}
.arsv__content h2{font-size:34px;margin:36px 0 18px}
.arsv__content h3{font-size:27px;margin:28px 0 14px}
.arsv__content a{color:var(--sv-ink);text-decoration:underline;text-underline-offset:4px}
.arsv__content img{max-width:100%;height:auto}
.arsv__gallery{margin-top:56px}
.arsv__gallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}
.arsv__gallery h2{font-size:36px;margin:0}
.arsv__gallery-heading>span{font-size:12px;color:var(--sv-muted)}
.arsv__gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 22px)/2);gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#969084 transparent;padding-bottom:15px}
.arsv__gallery figure{margin:0;aspect-ratio:4/3;scroll-snap-align:start;background:#eae7df;overflow:hidden}
.arsv__gallery img{display:block;width:100%;height:100%;object-fit:cover}
.arsv__back{margin-top:48px;padding-top:25px;border-top:1px solid var(--sv-line);font-size:14px}
.arsv__back a{color:var(--sv-ink);text-decoration:none}
.arsv :is(a,[tabindex]):focus-visible{outline:2px solid #806b42;outline-offset:5px}
@media(max-width:1200px){body:has(.arsv){padding-top:0}body:has(.arsv) .header{position:relative;top:auto;left:auto}}
@media(max-width:700px){.arsv{padding-bottom:45px}.arsv__hero{height:380px;height:clamp(260px,90vw,430px)}.arsv__breadcrumb{padding:22px 0 28px;font-size:11px;gap:8px}.arsv__heading{display:block;margin-bottom:26px}.arsv h1{font-size:44px;overflow-wrap:anywhere}.arsv__location{font-size:15px}.arsv__request{margin-top:25px;padding:14px 22px}.arsv__intro{font-size:19px}.arsv__content{font-size:15px;line-height:1.8}.arsv__content h2{font-size:29px}.arsv__gallery{margin-top:38px}.arsv__gallery-heading{display:block}.arsv__gallery-heading>span{display:block;margin-top:10px}.arsv__gallery h2{font-size:30px}.arsv__gallery-track{grid-auto-columns:100%;gap:15px}.arsv__back{margin-top:32px}}
@media(prefers-reduced-motion:reduce){.arsv__request{transition:none}}

/* Single venue V2 — reference layout, AR Prive typography and palette. */
body.single-venue:has(.arv2){padding-top:0}
body.single-venue:has(.arv2) .header{position:relative;top:auto;left:auto}
.arv2{--venue-overlay:.14;--paper:#f7f5ef;--ink:#191916;--muted:#706f68;--line:#cfccc3;background:var(--paper);color:var(--ink);font-family:Causten,Arial,sans-serif;font-size:16px;line-height:1.6}
.arv2,.arv2 *{box-sizing:border-box}
.arv2__hero{position:relative;width:100%;height:clamp(300px,40vw,480px);overflow:hidden}
.arv2__hero::after{content:"";position:absolute;inset:0;background:rgb(0 0 0 / var(--venue-overlay));pointer-events:none}
.arv2 .arv2__hero-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.arv2__wrap{width:89%;max-width:1320px;margin-inline:auto;padding-block:30px 36px}
.arv2__heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:26px}
.arv2__heading>div{min-width:0}
.arv2 .arv2__eyebrow{font-size:11px;font-weight:400;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);line-height:1.5;margin:0 0 12px}
.arv2 h1,.arv2 h2,.arv2 h3{font-family:"PP Editorial New",Georgia,serif;font-weight:400;color:inherit;letter-spacing:normal;text-transform:none}
.arv2 h1{font-size:clamp(40px,5.45vw,70px);line-height:1.1;margin:0;overflow-wrap:anywhere}
.arv2 h2{font-size:clamp(27px,2.8vw,36px);line-height:1.2;margin:0 0 14px}
.arv2 a{color:inherit}
.arv2 .arv2__button{display:inline-flex;align-items:center;justify-content:center;gap:16px;flex-shrink:0;background:var(--color-1,#292820);border:1px solid var(--color-1,#292820);color:#fff;padding:13px 28px;text-decoration:none;font-family:Causten,Arial,sans-serif;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;line-height:1.3;min-height:44px;border-radius:0}
.arv2 .arv2__button:hover{filter:brightness(.9)}
.arv2 :focus-visible{outline:2px solid var(--color-1,#292820);outline-offset:5px}
.arv2__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;border-block:1px solid var(--line);padding:18px 0;margin:0 0 18px}
.arv2__facts>div{text-align:center;padding:2px 20px}
.arv2__facts>div+div{border-left:1px solid var(--line)}
.arv2__facts dt{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--ink);margin:0 0 5px}
.arv2__facts dd{margin:0;font-size:16px;line-height:1.4}
.arv2__description{margin:0 0 34px;max-width:none}
.arv2 .arv2__intro{font-size:16px;line-height:1.6;margin:0 0 12px}
.arv2__prose{font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.arv2__prose p{margin:0 0 16px}
.arv2__prose h2,.arv2__prose h3{margin-top:24px}
.arv2__prose img{max-width:100%;height:auto}
.arv2__more summary{display:block;cursor:pointer;width:fit-content;padding:0 0 3px;border-bottom:1px solid currentColor;font-size:15px;line-height:1.3;list-style:none}
.arv2__more summary::-webkit-details-marker{display:none}
.arv2__more-open,.arv2__more[open] .arv2__more-closed{display:none}
.arv2__more[open] .arv2__more-open{display:inline}
.arv2__more[open] .arv2__prose{margin-top:20px}
.arv2__gallery{margin-block:34px 30px}
.arv2__gallery-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.arv2__gallery-top h2{margin:0}
.arv2__controls{display:flex;gap:8px}
.arv2__controls[hidden]{display:none}
.arv2__controls button{width:44px;height:44px;background:transparent;border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;padding:0;border-radius:0}
.arv2__controls button:disabled{opacity:.35;cursor:default}
.arv2__photos{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding-bottom:12px}
.arv2__photos figure{flex:0 0 calc((100% - 48px)/4);min-width:0;margin:0;scroll-snap-align:start}
.arv2__photos img{display:block;width:100%;aspect-ratio:8/5;height:auto;object-fit:cover}
.arv2__details{display:grid;grid-template-columns:1fr 1fr;gap:0;border-block:1px solid var(--line);padding-block:20px;margin-top:28px}
.arv2__details>section{min-width:0;padding-right:36px}
.arv2__details>section+section{border-left:1px solid var(--line);padding:0 0 0 40px}
.arv2__details p{margin:0 0 12px;font-size:15px}
.arv2__details address{font-style:normal;font-size:14px;margin-bottom:12px}
.arv2__details ul{list-style:none;padding:0;margin:0}
.arv2__details li{padding:7px 0;margin:0;font-size:14px;line-height:1.5}
.arv2__details li+li{border-top:1px solid var(--line)}
.arv2__back{display:inline-block;margin-top:24px;font-size:13px;text-underline-offset:5px}
@media(max-width:960px){.arv2__wrap{width:89%;padding-block:28px 32px}.arv2__photos figure{flex-basis:calc((100% - 16px)/2)}.arv2__heading{gap:24px}.arv2__details>section{padding-right:24px}.arv2__details>section+section{padding-left:24px}}
@media(max-width:600px){.arv2__hero{height:280px}.arv2__wrap{width:calc(100% - 40px);padding-block:24px 32px}.arv2__heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:24px}.arv2 h1{font-size:42px}.arv2 .arv2__button{width:100%}.arv2__facts{grid-template-columns:1fr;padding-block:0}.arv2__facts>div{padding:14px 0;text-align:left}.arv2__facts>div+div{border-left:0;border-top:1px solid var(--line)}.arv2__photos figure{flex-basis:100%}.arv2__details{grid-template-columns:1fr;gap:22px}.arv2__details>section{padding:0}.arv2__details>section+section{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.arv2__gallery{margin-block:28px}.arv2 .arv2__eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){.arv2 *{scroll-behavior:auto!important}}

/* Venue heading actions — reference alignment. */
.arv2__actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.arv2__actions .arv2__button{min-width:174px;min-height:46px;padding:14px 24px}
.arv2 .arv2__button--outline{background:transparent;color:var(--color-1,#252525);border:1px solid var(--color-1,#252525)}
.arv2 .arv2__button--outline:hover{background:var(--color-1,#252525);color:#fff;filter:none}
@media(min-width:601px) and (max-width:960px){.arv2__heading{flex-wrap:wrap}.arv2__actions{margin-left:auto}}
@media(max-width:600px){.arv2__actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}.arv2__actions .arv2__button{min-width:0;padding:13px 8px;font-size:10px}}

/* Good to know — editable label and description rows. */
.arv2 .arv2__good-items li{padding:12px 0}
.arv2 .arv2__good-label{display:block;font-size:14px;font-weight:700;line-height:1.5;margin-bottom:4px}
.arv2__good-description{display:block;font-size:14px;line-height:1.6;overflow-wrap:anywhere}

/* Venue location map. */
.arv2 .arv2__map{display:block;width:100%;height:260px;border:0;margin-top:18px;background:#e9e6de}
.arv2__directions{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:14px;text-underline-offset:4px}
@media(max-width:600px){.arv2 .arv2__map{height:240px}}

/* Map styling aligned with the property template. */
.arv2 .arv2__map{height:240px;min-height:240px;filter:saturate(.72) contrast(.94)}
.arv2 .arv2__directions{margin-top:18px;width:auto;min-height:44px;font-size:11px;text-decoration:none}

.arv2 h3.arv2__good-label{font-family:Causten,Arial,sans-serif;font-size:20px;font-weight:700;line-height:1.5;letter-spacing:normal;text-transform:none;color:var(--ink);margin:0 0 4px}

/* Venue readable descriptions and original image links */
.arv2 .arv2__good-description{font-size:16px;line-height:1.7}
.arv2 .arv2__photo-link{display:block;width:100%;height:100%;cursor:zoom-in}
.arv2 .arv2__photo-link:focus-visible{outline:2px solid currentColor;outline-offset:-4px}

/* Venue final concierge invitation */
.arv2 .arv2__closing{position:relative;isolation:isolate;overflow:hidden;background:#252525;color:#fff;text-align:center;margin-top:64px;padding:76px 6%}
.arv2 .arv2__closing-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.arv2 .arv2__closing:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.58);z-index:-1}
.arv2 .arv2__closing-content{max-width:1120px;margin:0 auto}
.arv2 .arv2__closing-eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px}
.arv2 .arv2__closing h2{color:#fff;font-size:clamp(32px,4vw,60px);line-height:1.12;margin:0 0 24px}
.arv2 .arv2__closing-content>p:not(.arv2__closing-eyebrow){font-size:18px;line-height:1.65;max-width:820px;margin:0 auto 30px}
.arv2 .arv2__closing-button{display:inline-flex;background:#fff;color:#252525;border:1px solid #fff;padding:18px 34px}
.arv2 .arv2__closing-button:hover{background:#eee;color:#252525}
@media(max-width:600px){.arv2 .arv2__closing{margin-top:40px;padding:52px 7%}.arv2 .arv2__closing-content>p:not(.arv2__closing-eyebrow){font-size:16px}.arv2 .arv2__closing-eyebrow{font-size:10px}}

/* Final venue contact options */
.arv2 .arv2__closing-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.arv2 .arv2__closing-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#25D366;border:1px solid #25D366;color:#fff;padding:18px 34px}
.arv2 .arv2__closing-whatsapp:hover{background:#128C7E;border-color:#128C7E;color:#fff}
@media(max-width:600px){.arv2 .arv2__closing-actions{flex-direction:column}.arv2 .arv2__closing-actions .arv2__button{width:100%;max-width:300px}}

/* Venue Explore: distinct venue cards */
.arve .arve__card{background:#fff;border:1px solid #e2dfd7;box-shadow:0 6px 22px rgba(25,25,25,.07);overflow:hidden}
.arve .arve__card-copy{padding:24px}
.arve .arve__type{font-size:14px}
.arve .arve__explore{margin-top:22px;padding-top:18px;font-size:12px;font-weight:600}
.arve .arve__card:focus-within{outline:none}
.arve .arve__card-link{transition:transform .16s ease,filter .16s ease}
.arve .arve__card-link:focus{outline:none}
.arve .arve__card-link:focus-visible h2{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.arve .arve__card-link:active{transform:scale(.985);filter:brightness(.94)}
@media(prefers-reduced-motion:reduce){.arve .arve__card-link{transition:none}.arve .arve__card-link:active{transform:none}}
@media(hover:hover){.arve .arve__card:hover{border-color:#c5c0b5;box-shadow:0 10px 28px rgba(25,25,25,.11)}}
@media(max-width:600px){.arve .arve__card-copy{padding:22px}.arve .arve__card h2{font-size:30px}}

/* Venue card short introduction */
.arve .arve__intro{margin:14px 0 0;font-size:15px;line-height:1.6;color:var(--arve-muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}

/* Venue Explore photographic cards */
.arve .arve__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.arve .arve__card{background:#252525;border:0;box-shadow:none}
.arve .arve__card-link{position:relative;display:block;isolation:isolate;overflow:hidden}
.arve .arve__image{aspect-ratio:4/5}
.arve .arve__card-link:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.52) 50%,rgba(0,0,0,.38));pointer-events:none;z-index:1}
.arve .arve__card-copy{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);z-index:2;padding:24px 20px;color:#fff;text-align:center}
.arve .arve__destination{color:#fff;font-size:11px;letter-spacing:.13em;margin:0 0 9px}
.arve .arve__card h2{color:#fff;font-size:30px;line-height:1.12;margin:0 0 10px;overflow-wrap:anywhere}
.arve .arve__type{color:#fff;font-size:14px;line-height:1.4;margin:0}
@media(hover:hover){.arve .arve__card:hover{box-shadow:none}}
@media(max-width:1000px){.arve .arve__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.arve .arve__grid{grid-template-columns:minmax(0,1fr)}.arve .arve__image{aspect-ratio:4/3}.arve .arve__card-copy{padding:24px}.arve .arve__card h2{font-size:32px}}

/* Horizontal venue cards with larger type */
.arve .arve__image{aspect-ratio:3/2}
.arve .arve__card h2{font-size:36px;line-height:1.12}
.arve .arve__destination{font-size:13px}
.arve .arve__type{font-size:16px}
.arve .arve__card-copy{padding:18px 14px}

/* Single venue editorial hero */
.arv2 .arv2__hero--editorial{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:620px;height:auto;padding:110px 0 72px;background:#252525;color:#fff}
.arv2 .arv2__hero--editorial .arv2__hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.arv2 .arv2__hero--editorial:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.18));z-index:-1;pointer-events:none}
.arv2 .arv2__hero-content{width:89%;max-width:1320px;margin:0 auto}
.arv2 .arv2__hero--editorial .arv2__eyebrow{color:#fff;font-size:13px;letter-spacing:.18em;margin:0 0 16px}
.arv2 .arv2__hero--editorial h1{font-family:"PP Editorial New",Georgia,serif;font-size:clamp(60px,8vw,120px);font-weight:400;line-height:1.02;color:#fff;margin:0 0 28px;overflow-wrap:anywhere}
.arv2 .arv2__hero-intro{max-width:760px;font-size:20px;line-height:1.55;color:#fff;margin:0 0 32px}
.arv2 .arv2__hero--editorial .arv2__actions{justify-content:flex-start;flex-wrap:wrap}
.arv2 .arv2__hero--editorial .arv2__button{background:#fff;border-color:#fff;color:#252525}
.arv2 .arv2__hero--editorial .arv2__button--outline{background:transparent;border-color:#fff;color:#fff}
.arv2 .arv2__hero--editorial .arv2__button:hover{background:#eee;color:#252525}
@media(max-width:600px){.arv2 .arv2__hero--editorial{min-height:560px;padding:80px 0 44px}.arv2 .arv2__hero--editorial h1{font-size:clamp(48px,12vw,72px)}.arv2 .arv2__hero-intro{font-size:17px}.arv2 .arv2__hero--editorial .arv2__eyebrow{font-size:11px}.arv2 .arv2__hero--editorial .arv2__actions{align-items:stretch}.arv2 .arv2__hero--editorial .arv2__button{min-height:48px}}

/* Venue location context */
.arv2 .arv2__location-context .arv2__location-label{font-family:Causten,Arial,sans-serif;font-size:13px;line-height:1.4;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin:0 0 22px}
.arv2 .arv2__location-context .arv2__map{margin:0;width:100%;height:260px;filter:saturate(.72) contrast(.94)}
.arv2 .arv2__location-context .arv2__location-title{font-family:"PP Editorial New",Georgia,serif;font-size:clamp(36px,3.5vw,52px);line-height:1.1;font-weight:400;letter-spacing:-.02em;margin:24px 0 14px}
.arv2 .arv2__location-context .arv2__location-address{font-family:Causten,Arial,sans-serif;font-size:16px;line-height:1.6;font-style:normal;color:#70706b;margin:0}
@media(max-width:600px){.arv2 .arv2__location-context .arv2__map{height:240px}}

/* Venue recommendations beside Location */
.arv2 .arv2__good-section{padding:32px 0;border-top:1px solid #d8d6cf}
.arv2 .arv2__good-section .arv2__good-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.arv2 .arv2__related-label{font-family:Causten,Arial,sans-serif;font-size:13px;font-weight:500;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;margin:0 0 22px}
.arv2 .arv2__related-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0}
.arv2 .arv2__related-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start}
.arv2 .arv2__related-image{display:block;height:260px;background:#e7e4dc}
.arv2 .arv2__related-image img{width:100%;height:100%;object-fit:cover}
.arv2 .arv2__related-heading{font-family:"PP Editorial New",Georgia,serif;font-size:clamp(32px,3vw,46px);font-weight:400;line-height:1.15;margin:24px 0}
.arv2 .arv2__related-name{font-family:"PP Editorial New",Georgia,serif;font-size:30px;font-weight:400;line-height:1.2;margin:0 0 12px}
.arv2 .arv2__related-name a{color:inherit;text-decoration:none}
.arv2 .arv2__related-link{display:inline-block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:10px 0;border-bottom:1px solid currentColor;text-decoration:none;color:inherit}
.arv2 .arv2__related-all{margin-top:20px}
.arv2 .arv2__related-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.arv2 .arv2__related-controls button{width:44px;height:44px;border:1px solid #d8d6cf;background:transparent;color:#252525;cursor:pointer}
@media(max-width:600px){.arv2 .arv2__good-section .arv2__good-items{grid-template-columns:1fr}.arv2 .arv2__related-image{height:240px}}

/* Venue full-size photo viewer */
dialog.arv2-lightbox{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:64px 60px;border:0;background:rgba(0,0,0,.94);color:#fff;box-sizing:border-box;overflow:hidden}
dialog.arv2-lightbox[open]{display:flex;align-items:center;justify-content:center}
dialog.arv2-lightbox::backdrop{background:rgba(0,0,0,.8)}
.arv2-lightbox>img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.arv2-lightbox>button{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:rgba(0,0,0,.4);color:#fff;font:36px/1 Arial,sans-serif;cursor:pointer;padding:0}
.arv2-lightbox>button[hidden]{display:none}
.arv2-lightbox__close{top:12px;right:12px}
.arv2-lightbox__prev{left:6px;top:calc(50% - 24px)}
.arv2-lightbox__next{right:6px;top:calc(50% - 24px)}
.arv2-lightbox>button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:600px){dialog.arv2-lightbox{padding:64px 12px 76px}.arv2-lightbox__prev,.arv2-lightbox__next{top:auto;bottom:12px}.arv2-lightbox__prev{left:calc(50% - 56px)}.arv2-lightbox__next{right:calc(50% - 56px)}}
