/* MC_TASTING_CAROUSEL_V4 — scoped to the public tasting page. */
.page-tasting-detail .mc-tasting-experience .tasting-detail-layout { display: block; }
.page-tasting-detail .mc-tasting-experience .tasting-story { max-width: 900px; margin-inline: auto; }
.page-tasting-detail .mc-tasting-extras .tasting-extras { margin-top: 0; }
.page-tasting-detail .mc-tasting-reservation .tasting-booking-card {
    position: static;
    max-width: 1180px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    padding: 0;
    overflow: hidden;
    border: 1px solid #8c6e39;
    box-shadow: 0 22px 70px rgba(0, 0, 0, .24);
}
.page-tasting-detail #reservation {
    scroll-margin-top: calc(var(--header-height, 80px) + 24px);
}
.page-tasting-detail .mc-carousel {
    --mc-gap: 20px;
    --mc-visible: 3.15;
    position: relative;
    min-width: 0;
    scroll-margin-top: calc(var(--header-height, 80px) + 24px);
}
.page-tasting-detail .mc-carousel-viewport {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--gold, #c69a43) transparent;
}
.page-tasting-detail .mc-carousel.is-ready .mc-carousel-viewport {
    overflow: hidden;
    touch-action: pan-y pinch-zoom;
}
.page-tasting-detail .mc-carousel[data-mc-static="true"] .mc-carousel-viewport { overflow: visible; }
.page-tasting-detail .mc-carousel[data-mc-static="true"] [data-mc-track] {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    transform: none !important;
}
.page-tasting-detail [data-mc-track] {
    display: flex !important;
    align-items: stretch;
    gap: var(--mc-gap) !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    width: 100%;
    transition: none !important;
}
.page-tasting-detail [data-mc-track] > * {
    flex: 0 0 calc((100% - (var(--mc-visible) - 1) * var(--mc-gap)) / var(--mc-visible));
    min-width: 0;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column;
    gap: 0 !important;
    align-self: stretch;
    overflow: hidden;
    padding: 0 0 24px;
    border: 1px solid var(--line, #665025);
    background: var(--surface, #11100d);
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    font-size: 1rem;
    line-height: 1.6;
}
.page-tasting-detail [data-mc-track] > *::before { content: none !important; }
.page-tasting-detail [data-mc-track] > * > figure,
.page-tasting-detail [data-mc-track] > * > .tasting-dish-gallery,
.page-tasting-detail [data-mc-track] > * > div:not(.tasting-dish-copy) {
    order: -1;
    width: 100%;
    max-width: none !important;
    margin: 0 0 16px !important;
}
.page-tasting-detail [data-mc-track] .tasting-dish-copy {
    padding: 4px 22px 0;
}
.page-tasting-detail [data-mc-track] .tasting-dish-copy > span { display: none !important; }
.page-tasting-detail [data-mc-track] h3 {
    margin: 4px 0 12px;
    color: var(--gold-light, #e1bd73);
    font-size: clamp(1.4rem, 1.8vw, 1.9rem);
    line-height: 1.2;
}
.page-tasting-detail [data-mc-track] p {
    margin: 0;
    font-size: .9rem;
    line-height: 1.65;
}
.page-tasting-detail [data-mc-track] figure img,
.page-tasting-detail [data-mc-track] .tasting-dish-gallery img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover;
    border-radius: 0 !important;
}
.page-tasting-detail [data-mc-track] .tasting-dish-gallery {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}
.page-tasting-detail [data-mc-track] .tasting-dish-gallery button {
    flex: 0 0 100%;
    width: 100%;
    min-height: 0;
    border: 0;
    scroll-snap-align: start;
}
.page-tasting-detail [data-mc-track] figcaption,
.page-tasting-detail [data-mc-track] .tasting-dish-gallery + p {
    margin: 0 !important;
    padding: 7px 16px;
    color: var(--muted, #b8af9c);
    font-size: .7rem !important;
    line-height: 1.35;
}
.page-tasting-detail .tasting-extras { padding: 0; border: 0; }
.page-tasting-detail .tasting-extras > h3 {
    font-size: clamp(2rem, 3.8vw, 3.7rem);
    margin-bottom: 30px;
}
.page-tasting-detail .mc-extra-label {
    display: block;
    padding: 4px 22px 0;
    color: var(--gold-light, #e1bd73);
    font-family: var(--serif, Georgia, serif);
    font-size: 1.4rem;
    line-height: 1.3;
}
.page-tasting-detail .mc-carousel-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 22px;
}
.page-tasting-detail .mc-carousel-controls[hidden] { display: none; }
.page-tasting-detail .mc-carousel-controls button {
    min-width: 44px;
    min-height: 44px;
    border: 1px solid var(--line, #665025);
    border-radius: 999px;
    padding: 8px 14px;
    background: transparent;
    color: var(--gold-light, #e1bd73);
    cursor: pointer;
    font: inherit;
    font-size: .8rem;
}
.page-tasting-detail .mc-carousel-controls button:hover {
    border-color: var(--gold, #c69a43);
    background: rgba(198, 154, 67, .1);
}
.page-tasting-detail .mc-carousel-controls button:focus-visible,
.page-tasting-detail .mc-next-step a:focus-visible,
.page-tasting-detail .mc-journey-links a:focus-visible {
    outline: 2px solid var(--gold-light, #e1bd73);
    outline-offset: 5px;
}
.page-tasting-detail .mc-journey-links,
.page-tasting-detail .mc-next-step {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px 28px;
    margin-top: 30px;
}
.page-tasting-detail .mc-journey-links .mc-journey-action,
.page-tasting-detail .mc-next-step .mc-journey-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 66px;
    padding: 18px 30px;
    border: 1px solid #dab362;
    border-radius: 3px;
    font-family: var(--sans, sans-serif);
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .01em;
    text-decoration: none;
    text-align: center;
    transition: background-color .2s, box-shadow .2s;
}
.page-tasting-detail .mc-journey-links .mc-action-primary,
.page-tasting-detail .mc-next-step .mc-action-primary {
    background: #e7bd68;
    color: #17140e;
    box-shadow: 0 5px 24px rgba(215, 169, 78, .15);
}
.page-tasting-detail .mc-journey-links .mc-action-secondary,
.page-tasting-detail .mc-next-step .mc-action-secondary {
    background: rgba(215, 169, 78, .08);
    color: #f1d99e;
}
.page-tasting-detail .mc-journey-action:hover {
    box-shadow: 0 8px 28px rgba(215, 169, 78, .25);
    border-color: #ffe0a0;
}
.page-tasting-detail .mc-next-step .mc-journey-action { flex: 1 1 280px; }
.page-tasting-detail .mc-journey-action span[aria-hidden] { font-size: 1.5em; line-height: 1; }
.page-tasting-detail .mc-booking-summary,
.page-tasting-detail .mc-booking-panel { padding: clamp(24px, 3.6vw, 48px); min-width: 0; }
.page-tasting-detail .mc-booking-summary {
    background: radial-gradient(ellipse at 20% 0%, #3d301b 0%, #15120d 65%);
    color: #e8ddc8;
}
.page-tasting-detail .mc-booking-kicker {
    margin: 0 0 20px;
    color: #deb76d;
    font-size: .7rem;
    line-height: 1.6;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .17em;
}
.page-tasting-detail .mc-booking-summary h2 {
    margin: 0 0 22px;
    color: #f5e1b3;
    font-size: clamp(2.1rem, 3vw, 3.3rem);
    line-height: 1.08;
}
.page-tasting-detail .mc-booking-intro { color: #ddd0b5; line-height: 1.8; font-size: .97rem; }
.page-tasting-detail .mc-booking-summary > .eyebrow { margin-top: 32px; }
.page-tasting-detail .mc-booking-summary .tasting-price { color: #f2d497; margin: 12px 0 16px; font-size: 3rem; line-height: 1.25; }
.page-tasting-detail .mc-booking-summary .tasting-price small { display: block; margin-top: 4px; color: #d7c4a2; }
.page-tasting-detail .mc-booking-summary .tasting-availability { color: #e4ce9d; line-height: 1.7; }
.page-tasting-detail .mc-booking-summary dl { margin: 30px 0 0; }
.page-tasting-detail .mc-booking-summary dt { color: #cbb990; }
.page-tasting-detail .mc-booking-summary dd { color: #f1e7d4; line-height: 1.6; overflow-wrap: anywhere; }
.page-tasting-detail .mc-booking-panel { background: #f5f0e6; color: #2a261e; }
.page-tasting-detail .mc-booking-form-heading { margin: 0 0 12px; color: #2b251b; font-size: 2rem; line-height: 1.15; }
.page-tasting-detail .mc-booking-form-intro { margin: 0 0 26px; color: #665c4b; line-height: 1.6; font-size: .94rem; }
.page-tasting-detail .mc-booking-panel .tasting-reservation-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
.page-tasting-detail .mc-booking-panel .form-field { min-width: 0; margin: 0; }
.page-tasting-detail .mc-booking-panel .form-field--full,
.page-tasting-detail .mc-booking-panel .form-field:has(input[type="checkbox"]),
.page-tasting-detail .mc-booking-panel .tasting-reservation-form > button { grid-column: 1 / -1; }
.page-tasting-detail .mc-booking-panel .form-field > label { display: block; color: #4b4030; font-size: .82rem; letter-spacing: .015em; line-height: 1.5; margin-bottom: 7px; }
.page-tasting-detail .mc-booking-panel input:not([type="checkbox"]):not([type="radio"]),
.page-tasting-detail .mc-booking-panel select,
.page-tasting-detail .mc-booking-panel textarea {
    width: 100%; min-width: 0; min-height: 50px; padding: 12px;
    border: 1px solid #c7b89a; border-radius: 3px; background: #fffdf8;
    color: #29231a; font: inherit; font-size: 1rem;
}
.page-tasting-detail .mc-booking-panel input::placeholder,
.page-tasting-detail .mc-booking-panel textarea::placeholder { color: #7f7361; }
.page-tasting-detail .mc-booking-panel textarea { min-height: 88px; }
.page-tasting-detail .mc-booking-panel input[type="checkbox"] {
    /* Cancel the shared text-field minimum and padding before sizing the native control. */
    width: 18px; min-width: 18px; height: 18px; min-height: 0; padding: 0;
    flex: 0 0 18px; align-self: flex-start; margin: 2px 0 0; accent-color: #846027;
}
.page-tasting-detail .mc-booking-panel .form-field > .checkbox-field { display: flex; align-items: flex-start; gap: 10px; margin: 0; text-transform: none; }
.page-tasting-detail .mc-booking-panel .checkbox-field span { color: #534735; font-size: .81rem; line-height: 1.65; letter-spacing: 0; }
.page-tasting-detail .mc-booking-panel .tasting-reservation-form > button {
    min-height: 64px; margin-top: 4px; padding: 18px 24px; border: 1px solid #a77d33;
    background: #d7a94e; color: #19150e; font-size: 1.06rem; font-weight: 700;
    letter-spacing: .02em; line-height: 1.4; cursor: pointer;
}
.page-tasting-detail .mc-booking-panel .tasting-reservation-form > button:hover { background: #e1b860; }
.page-tasting-detail .mc-booking-panel input:focus-visible,
.page-tasting-detail .mc-booking-panel select:focus-visible,
.page-tasting-detail .mc-booking-panel textarea:focus-visible,
.page-tasting-detail .mc-booking-panel button:focus-visible { outline: 2px solid #896127; outline-offset: 3px; }
.page-tasting-detail .mc-booking-reassurance { color: #5d624c; font-size: .79rem; line-height: 1.75; margin: 18px 0 0; }
.page-tasting-detail .mc-booking-reassurance > span { color: #52733d; margin-right: 4px; }
.page-tasting-detail .mc-booking-panel .tasting-nonrefundable { color: #75674f; line-height: 1.65; font-size: .76rem; padding-top: 20px; border-top: 1px solid #d8ccba; }
.page-tasting-detail .mc-booking-panel .tasting-booking-message { color: #4b3c23; background: #eadfc9; font-size: 1rem; line-height: 1.8; overflow-wrap: anywhere; }
.page-tasting-detail .mc-booking-panel .tasting-booking-message a { color: #624409; text-decoration: underline; text-underline-offset: 3px; }
.page-tasting-detail .mc-booking-panel .field-error { color: #a72825; }
.page-tasting-detail .mc-next-step {
    padding-top: 22px;
    border-top: 1px solid var(--line, #665025);
    justify-content: space-between;
}
.page-tasting-detail .mc-next-step > span { color: var(--muted, #b8af9c); }
.page-tasting-detail #partager {
    scroll-margin-top: calc(var(--header-height, 80px) + 24px);
}
.page-tasting-detail .mc-paid-confirmation {
    margin: 0 0 24px;
    padding: 16px 20px;
    border: 1px solid rgba(164, 184, 132, .5);
    background: rgba(95, 119, 71, .12);
    color: #d8e4c4;
    font-size: 1rem;
    line-height: 1.6;
}
.mc-sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
@media (max-width: 899px) {
    .page-tasting-detail .mc-carousel { --mc-visible: 2.15; --mc-gap: 16px; }
    .page-tasting-detail .mc-carousel[data-mc-static="true"] [data-mc-track] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-tasting-detail .mc-tasting-reservation .tasting-booking-card { grid-template-columns: 1fr; max-width: 720px; }
}
@media (max-width: 599px) {
    .page-tasting-detail .mc-carousel { --mc-visible: 1.15; --mc-gap: 14px; }
    .page-tasting-detail [data-mc-track] h3 { font-size: 1.7rem; }
    .page-tasting-detail .mc-carousel[data-mc-static="true"] [data-mc-track] { grid-template-columns: 1fr; }
    .page-tasting-detail .mc-next-step { align-items: stretch; flex-direction: column; }
    .page-tasting-detail .mc-next-step .mc-journey-action { flex: 0 1 auto; }
    .page-tasting-detail .mc-journey-links .mc-journey-action { width: 100%; }
    .page-tasting-detail .mc-booking-panel .tasting-reservation-form { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .page-tasting-detail [data-mc-track] img { transition: none !important; }
}
