/* DreamCode — The Legend Sections 1.1.0. Component styles scoped below .dc-legend. */
.dc-legend {
    --dc-legend-bg: #f2e5d4;
    --dc-legend-text: #2e1e0f;
    --dc-legend-accent: #8b663d;
    --dc-legend-btn-bg: #2e1e0f;
    --dc-legend-btn-text: #f2e5d4;
    --dc-legend-btn-bg-hover: #8b663d;
    --dc-legend-btn-text-hover: #f2e5d4;
    --dc-legend-btn-bg-active: #2e1e0f;
    --dc-legend-icon: #8b663d;
    --dc-legend-icon-hover: #2e1e0f;
    --dc-legend-icon-active: #2e1e0f;
    --dc-legend-gap: 24px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 96px clamp(24px, 5.5556vw, 80px);
    background: var(--dc-legend-bg);
    color: var(--dc-legend-text);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    isolation: isolate;
    box-sizing: border-box;
}
.dc-legend *, .dc-legend *::before, .dc-legend *::after { box-sizing: border-box; }
.dc-legend-inner { margin-inline: auto; width: 100%; max-width: 1280px; min-width: 0; }
.dc-legend :is(h1,h2,h3,h4,p,figure) { margin: 0; padding: 0; color: inherit; }
.dc-legend :is(a,button,img,svg) { max-width: 100%; }
.dc-legend :is(a,button) { -webkit-tap-highlight-color: transparent; }
.dc-legend-title, .dc-legend-panel-title, .dc-legend-card-title, .dc-legend-phone {
    font-family: Georgia, 'Times New Roman', serif;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -.018em;
    line-height: 1.16;
    overflow-wrap: anywhere;
}
.dc-legend-title { font-size: clamp(33px, 3.35vw, 52px); white-space: pre-line; }
.dc-legend-body { font-size: 16px; line-height: 1.58; min-width: 0; overflow-wrap: anywhere; }
.dc-legend-body > :not(:last-child) { margin-bottom: 1em; }
.dc-legend-body :is(p,ul,ol) { color: inherit; }
.dc-legend-body :is(img,video,iframe) { max-width: 100%; height: auto; }
.dc-legend-body :is(pre,code) { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; }
.dc-legend-body a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.dc-legend-eyebrow, .dc-legend-meta { font-size: 12px; line-height: 1.5; }
.dc-legend-eyebrow { font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.dc-legend-actions { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 16px 26px; min-width:0; }
html body .dc-legend .dc-legend-link,
html body .dc-legend a.dc-legend-link,
html body .dc-legend span.dc-legend-link {
    display: inline-flex; align-items:center; justify-content:flex-start;
    gap: 0; min-height: 44px; max-width:100%;
    border:0; padding: 8px 0;
    background: transparent; background-image: none;
    color: var(--dc-legend-text); fill:currentColor;
    text-decoration: underline; text-underline-offset: 3px;
    text-align:left; font: inherit; font-size: 13px; line-height:1.4;
    overflow-wrap:anywhere;
    transition: color .22s ease, text-decoration-color .22s ease;
}
html body .dc-legend a.dc-legend-link:hover,
html body .dc-legend a.dc-legend-link:focus-visible { color:var(--dc-legend-accent); }
html body .dc-legend .dc-legend-btn,
html body .dc-legend a.dc-legend-btn,
html body .dc-legend span.dc-legend-btn {
    display:inline-flex; gap:0; align-items:center; justify-content:center;
    min-height:48px; min-width:105px; max-width:100%;
    padding:12px 23px; margin:0;
    border:1px solid transparent; border-radius:0;
    background: var(--dc-legend-btn-bg); background-image:none;
    color:var(--dc-legend-btn-text); fill:currentColor;
    font:inherit; font-size:13px; font-weight:500; line-height:1.3;
    text-align:center; text-decoration:none; box-shadow:none;
    overflow-wrap:anywhere;
    transition:background-color .24s ease, color .24s ease, border-color .24s ease, transform .24s ease;
}
html body .dc-legend a.dc-legend-btn:hover,
html body .dc-legend a.dc-legend-btn:focus-visible { background:var(--dc-legend-btn-bg-hover);color:var(--dc-legend-btn-text-hover); transform:translateY(-2px); }
html body .dc-legend a.dc-legend-btn:active { background:var(--dc-legend-btn-bg-active); transform:translateY(0); }
html body .dc-legend .dc-legend-link--unconfigured { cursor:default; }
.dc-legend :is(a,button):focus-visible { outline:2px solid var(--dc-legend-accent); outline-offset:4px; }
.dc-legend-action-icon { display:inline-flex; justify-content:center; align-items:center; width:16px; height:16px; font-size:16px; margin-inline-start:8px; color:var(--dc-legend-icon);fill:currentColor;stroke:currentColor; flex:0 0 auto; transition:color .24s ease; }
.dc-legend-action-icon svg { width:1em;height:1em;color:inherit; }
.dc-legend-action-icon svg.e-font-icon-svg { fill:currentColor;stroke:currentColor; }
.dc-legend :is(a:hover,a:focus-visible,button:hover,button:focus-visible,.dc-legend-card:hover) .dc-legend-action-icon { color:var(--dc-legend-icon-hover); }
.dc-legend :is(a:active,button:active) .dc-legend-action-icon { color:var(--dc-legend-icon-active); }
.dc-legend-media { position:relative; width:100%; max-width:100%; min-width:0; margin:0; overflow:hidden; background:color-mix(in srgb,var(--dc-legend-bg) 72%,var(--dc-legend-text)); }
.dc-legend-media img.dc-legend-image { display:block; width:100%; height:100%; max-width:100%; margin:0; padding:0; aspect-ratio:inherit; object-fit:cover; object-position:center; border-radius:inherit; vertical-align:middle; transition:transform .6s cubic-bezier(.2,.65,.25,1); }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { .dc-legend-media:hover img.dc-legend-image, .dc-legend-card:hover .dc-legend-media img.dc-legend-image { transform:scale(1.025); } }
/* Hero */
.dc-legend--01 { padding-block:64px 68px; }
.dc-legend--01 .dc-legend-hero-intro { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px 45px; min-height:208px; align-items:start; }
.dc-legend--01 .dc-legend-eyebrow { margin-bottom:27px; }
.dc-legend--01 .dc-legend-title { font-size:clamp(36px,4vw,57px); max-width:720px; }
.dc-legend--01 .dc-legend-actions { align-items:flex-end; flex-direction:column; gap:10px; }
.dc-legend--01 .dc-legend-btn { min-width:145px; }
.dc-legend--01 .dc-legend-media--1 { aspect-ratio:8 / 3; }
.dc-legend--01 .dc-legend-hero-footer { display:grid; grid-template-columns:minmax(0,280px) minmax(0,1fr); gap:45px; margin-top:24px; }
.dc-legend--01 .dc-legend-hero-footer .dc-legend-body { max-width:825px; font-size:15px; }
/* Story */
.dc-legend--02 { padding-block:64px; }
.dc-legend--02 .dc-legend-split { display:grid; grid-template-columns:minmax(0, 1.28fr) minmax(0,1fr); align-items:center; gap:var(--dc-legend-gap,80px); column-gap:clamp(30px, 5.55vw, 80px); }
.dc-legend--02 .dc-legend-copy { max-width:635px; }
.dc-legend--02 .dc-legend-title { font-size:clamp(31px,3.25vw,45px); margin-bottom:28px; }
.dc-legend--02 .dc-legend-body { max-width:630px; }
.dc-legend--02 .dc-legend-actions { margin-top:24px; }
.dc-legend--02 .dc-legend-media--1 { aspect-ratio:1; }
/* Tabs/day timeline */
.dc-legend--03, .dc-legend--06 { --dc-legend-bg:#e9dccb; }
.dc-legend--03 { padding-block:96px 102px; }
.dc-legend--03 .dc-legend-tab-heading { display:flex; justify-content:space-between; align-items:baseline; gap:24px; flex-wrap:wrap; margin-bottom:32px; }
.dc-legend--03 .dc-legend-title { font-size:clamp(34px,3.35vw,49px); }
.dc-legend-tab-nav { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; }
html body .dc-legend .dc-legend-tab { appearance:none; -webkit-appearance:none; min-height:44px; padding:8px 0; margin:0; border:0; border-radius:0; background:transparent; background-image:none; color:var(--dc-legend-text); opacity:.62; font:inherit; font-size:13px; line-height:1.4; text-decoration:underline; text-underline-offset:3px; cursor:pointer; transition:opacity .2s ease, color .2s ease; }
html body .dc-legend .dc-legend-tab[aria-selected='true'] { opacity:1; text-decoration-thickness:2px; }
html body .dc-legend .dc-legend-tab:hover, html body .dc-legend .dc-legend-tab:focus-visible { opacity:1;color:var(--dc-legend-accent); }
.dc-legend-panel[hidden] { display:none; }
.dc-legend-panel { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:center; column-gap:clamp(24px,3vw,45px); min-width:0; }
.dc-legend-panel .dc-legend-media { aspect-ratio:1.4667; }
.dc-legend-panel .dc-legend-media img { object-fit:var(--dc-legend-tab-image-fit,cover);object-position:var(--dc-legend-tab-image-position,center); }
.dc-legend-panel-copy { min-width:0; padding-block:25px; }
.dc-legend-panel-title { font-size:clamp(35px,3.35vw,50px); white-space:pre-line; }
.dc-legend-panel-description { margin-top:25px!important; font-size:15px;line-height:1.58;max-width:475px; overflow-wrap:anywhere; }
.dc-legend-panel-copy .dc-legend-link { margin-top:30px; }
.dc-legend--03 > .dc-legend-inner > .dc-legend-body { margin-top:34px;font-size:13px; }
/* Coffee */
.dc-legend--04 { --dc-legend-bg:#2e1e0f;--dc-legend-text:#f2e5d4; padding-block:96px; }
.dc-legend--04 .dc-legend-feature { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--dc-legend-gap);align-items:start; }
.dc-legend--04 .dc-legend-media--1 { aspect-ratio:4 / 5; }
.dc-legend--04 .dc-legend-feature-copy { min-width:0;padding-top:clamp(22px,6.1vw,96px); }
.dc-legend--04 .dc-legend-title { font-size:clamp(34px,3.4vw,51px); margin-bottom:28px; }
.dc-legend--04 .dc-legend-body { max-width:630px; }
.dc-legend--04 .dc-legend-actions { margin-top:26px; }
.dc-legend--04 .dc-legend-media--2 { width:min(50%,302px);aspect-ratio:16 / 9;margin-top:26px; }
/* Food */
.dc-legend--05 { padding-block:96px 112px; }
.dc-legend-section-head { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:var(--dc-legend-gap);align-items:start; }
.dc-legend-section-head > * { min-width:0; }
.dc-legend--05 .dc-legend-title { font-size:clamp(35px,3.45vw,52px); }
.dc-legend-section-head .dc-legend-body { max-width:635px; }
.dc-legend-section-head .dc-legend-actions { margin-top:26px; }
.dc-legend-food-gallery { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dc-legend-gap);margin-top:78px; }
.dc-legend-food-gallery .dc-legend-media { aspect-ratio:1.5; }
/* Cake */
.dc-legend--06 .dc-legend-split { display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);align-items:center;gap:var(--dc-legend-gap); }
.dc-legend--06 .dc-legend-media--1 { aspect-ratio:4/3; }
.dc-legend--06 .dc-legend-copy { padding-left:20px;min-width:0; }
.dc-legend--06 .dc-legend-title { font-size:clamp(29px,2.5vw,37px);margin-bottom:26px; }
.dc-legend--06 .dc-legend-body { font-size:15px; }
.dc-legend--06 .dc-legend-actions { margin-top:24px; }
/* Four-photo space gallery */
.dc-legend--07 { padding-block:96px; }
.dc-legend--07 .dc-legend-title { font-size:clamp(34px,3.15vw,46px); }
.dc-legend--07 .dc-legend-space-gallery { margin-top:70px; }
.dc-legend-space-row { display:grid;gap:var(--dc-legend-gap);align-items:start; }
.dc-legend-space-row--top { grid-template-columns:minmax(0,.486fr) minmax(0,1fr); }
.dc-legend-space-row--bottom { grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);margin-top:40px; }
.dc-legend-space-row--top .dc-legend-media:first-child { aspect-ratio:.75; }
.dc-legend-space-row--top .dc-legend-media:last-child { aspect-ratio:16/9; }
.dc-legend-space-row--bottom .dc-legend-media:first-child { aspect-ratio:16/9; }
.dc-legend-space-row--bottom .dc-legend-media:last-child { aspect-ratio:4/3; }
/* Stories/cards */
.dc-legend--08, .dc-legend--09 { --dc-legend-bg:#2e1e0f;--dc-legend-text:#f2e5d4; }
.dc-legend--08 { padding-block:75px 95px; }
.dc-legend--08 .dc-legend-title { font-size:clamp(34px,3.35vw,48px);margin-bottom:30px; }
.dc-legend-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--dc-legend-gap); }
.dc-legend-card { min-width:0; }
.dc-legend-card-media { aspect-ratio:1.58; }
.dc-legend-card-media img { object-fit:var(--dc-legend-card-image-fit,cover);object-position:var(--dc-legend-card-image-position,center); }
.dc-legend-card-title { font-size:clamp(26px,2.25vw,33px);margin-top:22px!important; }
.dc-legend-card-description { font-size:14px;line-height:1.55;margin-top:15px!important;overflow-wrap:anywhere; }
.dc-legend-card .dc-legend-link { margin-top:15px; }
/* Visit/footer */
.dc-legend--09 { padding-block:96px; border-top:1px solid var(--dc-legend-accent); }
.dc-legend-visit { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5.55vw,80px);align-items:start; }
.dc-legend--09 .dc-legend-title { font-size:clamp(31px,2.9vw,42px);margin-bottom:33px; }
.dc-legend--09 .dc-legend-body { font-size:15px; }
.dc-legend--09 .dc-legend-actions { margin-top:28px;gap:16px 28px;align-items:center; }
.dc-legend--09 .dc-legend-link--secondary { text-decoration:none; }
.dc-legend-visit-details { min-width:0; }
.dc-legend-address-heading { font-family:Arial,Helvetica,sans-serif;font-weight:500!important;font-size:21px;line-height:1.4; }
.dc-legend-address-detail { margin-top:25px!important;font-size:15px;line-height:1.6;overflow-wrap:anywhere; }
html body .dc-legend a.dc-legend-phone { display:inline-block;margin-top:25px;font-family:Georgia,'Times New Roman',serif;font-size:31px;line-height:1.3;letter-spacing:-.01em;color:var(--dc-legend-text);text-decoration:none; }
html body .dc-legend a.dc-legend-phone:hover,html body .dc-legend a.dc-legend-phone:focus-visible { color:var(--dc-legend-accent); }
.dc-legend-hours { margin-top:17px!important;font-size:13px; }
.dc-legend-booking-form { min-width:0;max-width:100%;margin-top:24px; }
.dc-legend-booking-form :is(input,textarea,select) { max-width:100%; }
/* Readable structure across desktops, tablet and small phones, never squeeze desktop into mobile. */
@media (min-width:1537px) {
    .dc-legend { padding-inline:max(80px,calc((100vw - 1280px)/2)); }
}
@media (max-width:1279px) {
    .dc-legend { padding-inline:clamp(40px,5vw,64px); }
    .dc-legend--02 .dc-legend-split { column-gap:45px; }
    .dc-legend--04 .dc-legend-feature-copy { padding-top:40px; }
    .dc-legend--06 .dc-legend-copy { padding-left:0; }
    .dc-legend-title { font-size:clamp(32px,3.6vw,48px); }
}
@media (max-width:1024px) {
    .dc-legend { font-size:15px;padding-block:72px; }
    .dc-legend--01 { padding-block:52px 64px; }
    .dc-legend--01 .dc-legend-hero-intro { min-height:185px; }
    .dc-legend--02 { padding-block:64px; }
    .dc-legend--02 .dc-legend-split { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:30px; }
    .dc-legend--04 .dc-legend-feature-copy { padding-top:8px; }
    .dc-legend--04 .dc-legend-body { font-size:14px; }
    .dc-legend--06 .dc-legend-split { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
    .dc-legend-food-gallery { margin-top:55px; }
    .dc-legend--07 .dc-legend-space-gallery { margin-top:50px; }
}
@media (max-width:767px) {
    .dc-legend { padding:60px 28px; font-size:15px; }
    .dc-legend-title { font-size:clamp(31px,6.2vw,42px); }
    .dc-legend-body { font-size:15px; }
    .dc-legend--01 .dc-legend-hero-intro { min-height:0;grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:35px; }
    .dc-legend--01 .dc-legend-eyebrow { margin-bottom:18px; }
    .dc-legend--01 .dc-legend-title { font-size:clamp(35px,7.7vw,50px); }
    .dc-legend--01 .dc-legend-actions { align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:8px 18px; }
    .dc-legend--01 .dc-legend-media--1 { aspect-ratio:1.48; }
    .dc-legend--01 .dc-legend-hero-footer { grid-template-columns:1fr;gap:15px; }
    .dc-legend--01 .dc-legend-hero-footer .dc-legend-body { font-size:14px; }
    .dc-legend--02 .dc-legend-split,.dc-legend--06 .dc-legend-split { grid-template-columns:1fr;gap:35px; }
    .dc-legend--02 .dc-legend-title { font-size:clamp(32px,6.7vw,44px); }
    .dc-legend--02 .dc-legend-media--1 { aspect-ratio:1.18; }
    .dc-legend--03 .dc-legend-tab-heading { display:block; }
    .dc-legend-tab-nav { margin-top:15px;gap:10px 18px; }
    .dc-legend-panel { grid-template-columns:1fr;gap:22px; }
    .dc-legend-panel .dc-legend-media { aspect-ratio:1.45; }
    .dc-legend-panel-copy { padding:0; }
    .dc-legend-panel-title { font-size:clamp(32px,6.6vw,44px); }
    .dc-legend-panel-description { margin-top:16px!important; }
    .dc-legend-panel-copy .dc-legend-link { margin-top:17px; }
    .dc-legend--03 > .dc-legend-inner > .dc-legend-body { margin-top:24px; }
    .dc-legend--04 .dc-legend-feature { grid-template-columns:1fr;gap:38px; }
    .dc-legend--04 .dc-legend-media--1 { aspect-ratio:4/4.8; }
    .dc-legend--04 .dc-legend-feature-copy { padding:0; }
    .dc-legend--04 .dc-legend-title { font-size:clamp(35px,7vw,48px); }
    .dc-legend--04 .dc-legend-body { font-size:15px; }
    .dc-legend--04 .dc-legend-media--2 { width:min(67%,320px); }
    .dc-legend-section-head { grid-template-columns:1fr;gap:20px; }
    .dc-legend-food-gallery { margin-top:34px;gap:16px; }
    .dc-legend-food-gallery .dc-legend-media { aspect-ratio:.93; }
    .dc-legend--06 .dc-legend-cake-media { order:0; }
    .dc-legend--06 .dc-legend-copy { order:1; }
    .dc-legend--06 .dc-legend-title { font-size:clamp(32px,6.4vw,43px); }
    .dc-legend-space-row--top { grid-template-columns:minmax(0,.75fr) minmax(0,1fr); }
    .dc-legend-space-row--bottom { grid-template-columns:1fr 1fr; }
    .dc-legend-space-row { gap:14px; }
    .dc-legend-space-row--bottom { margin-top:14px; }
    .dc-legend-space-row--top .dc-legend-media:last-child { aspect-ratio:.9; }
    .dc-legend--07 .dc-legend-space-gallery { margin-top:36px; }
    .dc-legend-cards { grid-template-columns:1fr;gap:38px; }
    .dc-legend-card-media { aspect-ratio:1.45; }
    .dc-legend-card-title { font-size:clamp(27px,5.7vw,34px); }
    .dc-legend-visit { grid-template-columns:1fr;gap:38px; }
    .dc-legend--09 .dc-legend-title { font-size:clamp(32px,6.5vw,43px); }
}
@media (max-width:430px) {
    .dc-legend { padding:52px 22px; }
    .dc-legend--01 { padding-block:40px 56px; }
    .dc-legend--01 .dc-legend-title { font-size:clamp(34px,8vw,40px); }
    .dc-legend--01 .dc-legend-media--1 { aspect-ratio:1.35; }
    .dc-legend--01 .dc-legend-btn { min-width:126px; }
    .dc-legend--03 .dc-legend-tab-nav { column-gap:14px; }
    .dc-legend--03 .dc-legend-tab { font-size:12px; }
    .dc-legend--04 .dc-legend-media--1 { aspect-ratio:3/4; }
    .dc-legend-food-gallery { grid-template-columns:1fr;gap:16px; }
    .dc-legend-food-gallery .dc-legend-media { aspect-ratio:1.45; }
    .dc-legend-space-row--top,.dc-legend-space-row--bottom { grid-template-columns:1fr 1fr; }
    .dc-legend-space-row--top .dc-legend-media:first-child { aspect-ratio:3/4; }
    .dc-legend-space-row--top .dc-legend-media:last-child { aspect-ratio:3/4; }
    .dc-legend-space-row--bottom .dc-legend-media:first-child,
    .dc-legend-space-row--bottom .dc-legend-media:last-child { aspect-ratio:1.02; }
    .dc-legend--08 .dc-legend-title { font-size:clamp(30px,7.8vw,36px); }
}
@media (max-width:360px) {
    .dc-legend { padding-inline:18px; }
    .dc-legend-actions { gap:8px 16px; }
    .dc-legend--01 .dc-legend-title { font-size:33px; }
    .dc-legend--04 .dc-legend-title { font-size:33px; }
    .dc-legend--09 .dc-legend-title { font-size:31px; }
}
@media (prefers-reduced-motion:no-preference) {
    .dc-legend .dc-legend-title { animation:dc-legend-rise .58s ease-out both; }
    .dc-legend .dc-legend-media { animation:dc-legend-rise .72s ease-out both; }
}
@keyframes dc-legend-rise { from { opacity:.55;transform:translateY(12px); } to { opacity:1;transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) {
    .dc-legend *, .dc-legend *::before, .dc-legend *::after { animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto; }
}
body.elementor-editor-active .dc-legend *,body.elementor-editor-active .dc-legend *::before,body.elementor-editor-active .dc-legend *::after { animation:none; }
/* Optional adjacent-slide preview is an actual tab control, not an image mask. */
.dc-legend-tab-panels { position:relative; }
.dc-legend-panel { position:relative; }
html body .dc-legend .dc-legend-panel-peek {
    appearance:none;position:absolute;top:0;right:0;bottom:0;
    display:block;width:44px;height:100%;margin:0;padding:0;
    overflow:hidden;border:0;border-radius:0;background:var(--dc-legend-bg);
    color:var(--dc-legend-text);cursor:pointer;
}
.dc-legend-panel-peek img { display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%; }
html body .dc-legend .dc-legend-panel-peek:hover,
html body .dc-legend .dc-legend-panel-peek:focus-visible { opacity:.86; }
.dc-legend-panel .dc-legend-media { aspect-ratio:var(--dc-legend-tab-image-ratio,1.4667); }
.dc-legend-card-media { aspect-ratio:var(--dc-legend-card-image-ratio,1.58); }
.dc-legend--09 { --dc-legend-btn-bg:#e9dccb; --dc-legend-btn-text:#2e1e0f; }
@media (max-width:767px) { html body .dc-legend .dc-legend-panel-peek { display:none; } }

/* v1.1.0 — Section 03: real horizontally draggable, native-touch carousel.
   The exposed edge is the next actual slide, not an image-only overlay. */
.dc-legend--03 {
    --dc-legend-carousel-peek: 60px;
    --dc-legend-carousel-gap: 16px;
}
.dc-legend--03 .dc-legend-carousel { width:100%; min-width:0; max-width:100%; }
.dc-legend--03 .dc-legend-carousel-track {
    position:relative;
    display:flex;
    gap:var(--dc-legend-carousel-gap);
    align-items:stretch;
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scroll-padding-inline-start:0;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y;
}
.dc-legend--03 .dc-legend-carousel-track::-webkit-scrollbar { display:none; }
.dc-legend--03 .dc-legend-carousel-track::after {
    content:"";
    display:block;
    flex:0 0 var(--dc-legend-carousel-peek);
    pointer-events:none;
}
.dc-legend--03 .dc-legend-slide {
    flex:0 0 calc(100% - var(--dc-legend-carousel-peek));
    min-width:0;
    max-width:100%;
    align-self:stretch;
    scroll-snap-align:start;
    scroll-snap-stop:always;
}
.dc-legend--03 .dc-legend-carousel[data-dc-slide-count="1"] .dc-legend-carousel-track { gap:0; }
.dc-legend--03 .dc-legend-carousel[data-dc-slide-count="1"] .dc-legend-carousel-track::after { display:none; }
.dc-legend--03 .dc-legend-carousel[data-dc-slide-count="1"] .dc-legend-slide { flex-basis:100%; }
.dc-legend--03 .dc-legend-carousel--draggable { cursor:grab; }
.dc-legend--03 .dc-legend-carousel--draggable img { -webkit-user-drag:none; user-select:none; }
.dc-legend--03 .dc-legend-carousel--dragging {
    cursor:grabbing;
    user-select:none;
    -webkit-user-select:none;
    scroll-snap-type:none;
    scroll-behavior:auto;
}
.dc-legend--03 .dc-legend-carousel--dragging * { cursor:grabbing; user-select:none; -webkit-user-select:none; }
html body .dc-legend--03 .dc-legend-tab[aria-pressed="true"] {
    opacity:1;
    text-decoration-thickness:2px;
}
.dc-legend--03 .dc-legend-carousel-status {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
@media (max-width:767px) {
    .dc-legend--03 { --dc-legend-carousel-peek:40px; --dc-legend-carousel-gap:12px; }
}
@media (max-width:430px) {
    .dc-legend--03 { --dc-legend-carousel-peek:34px; --dc-legend-carousel-gap:12px; }
}

/* Only the real next image peeks on narrow screens; slide text enters on selection.
   If JS is disabled, all text remains visible during native scroll. */
@media (max-width:767px) {
    .dc-legend--03 .dc-legend-carousel--enhanced .dc-legend-slide[data-dc-active="false"] .dc-legend-panel-copy {
        opacity:0;
        visibility:hidden;
    }
}
