/* Shared shopping chapter and flexible navigation, for all guide families. */
.kcs-section{padding-block:36px;scroll-margin-top:120px;color:var(--kb-ink,#173d36);box-sizing:border-box;max-width:100%}
.kcs-section *, .kcs-section *::before,.kcs-section *::after{box-sizing:border-box}
.kcs-heading{max-width:760px;margin-bottom:24px}
.kcs-eyebrow{font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.12em;color:#936038;margin:0 0 10px}
.kcs-heading h2{font:500 clamp(1.8rem,3.5vw,2.8rem)/1.2 Georgia,serif;margin:0 0 16px;overflow-wrap:anywhere;color:inherit}
.kcs-lead{font-size:1.04rem;line-height:1.65;margin:0}
.kcs-section .kcs-illustration{width:100%;max-width:960px;margin:0 auto 26px;overflow:hidden;border:1px solid var(--kb-line,#ddd4c5);border-radius:16px;background:var(--kb-card,#fbf8f3);break-inside:avoid}
.kcs-section .kcs-illustration[hidden]{display:none!important}
.kcs-section .kcs-illustration>img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:2/1;object-fit:contain!important;margin:0}
.kcs-section .kcs-illustration>figcaption{position:static;display:block;margin:0;padding:11px 16px;color:var(--kb-muted,#5f675f);background:var(--kb-card,#fbf8f3);font-size:.8rem;line-height:1.55;text-align:left;text-shadow:none}
.kcs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:18px;align-items:stretch}
.kcs-card{min-width:0;border:1px solid var(--kb-line,#cfdbd2);border-radius:17px;padding:24px;background:var(--kb-card,#fffdf8);display:flex;flex-direction:column;overflow-wrap:anywhere;line-height:1.65}
.kcs-card h3{font:500 1.5rem/1.25 Georgia,serif;margin:0 0 12px;color:inherit}
.kcs-card p{margin:0 0 15px;font-size:.95rem}
.kcs-card .kcs-address{font-size:.86rem;font-weight:650}
.kcs-card .kcs-practical{border-left:3px solid #c49669;padding-left:13px;font-size:.9rem}
.kcs-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:5px}
.kcs-links a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:9px 13px;border:1px solid currentColor;border-radius:8px;color:inherit;text-decoration:none;font:650 .86rem/1.4 Arial,sans-serif;max-width:100%}
.kcs-links a:hover{background:#e2ede5;color:#173d36}
.kcs-links a:focus-visible,.kcs-heading h2:focus-visible{outline:3px solid #b87741;outline-offset:4px}
.kcs-checked{display:block;margin-top:15px;font-size:.76rem;color:var(--kb-muted,#54665c)}
.kcs-note{margin:22px 0 0;padding:17px 20px;border-radius:12px;background:var(--kb-soft,#e8eee8);font-size:.9rem;line-height:1.6;color:inherit}
/* One opaque palette for the existing navigation families. These scoped
   priorities also protect labels from WordPress and partner theme overrides. */
html body :is(.kcs-nav,#kc-book .kb-bottom-nav.kcs-nav,.kcg-daynav,#kc-partner .kc-bottomnav,#kc-desktop-v25 .v25-nav,#kc-desktop-v25 .v25-drawer-list),html body #kc-desktop-v25 .v25-menu{--kcs-nav-bg:#173d35;--kcs-nav-ink:#fbf8f3;--kcs-nav-hover:#24584e;--kcs-nav-focus:#f2cc83;background:#173d35!important;color:#fbf8f3!important;border-color:#668e80!important;text-shadow:none!important}
html body :is(.kcs-nav,#kc-book .kb-bottom-nav.kcs-nav,.kcg-daynav,#kc-partner .kc-bottomnav,#kc-desktop-v25 .v25-nav,#kc-desktop-v25 .v25-drawer-list) :is(a,button){background:transparent!important;color:var(--kcs-nav-ink)!important;opacity:1!important;text-shadow:none!important;transition:none!important}
html body :is(.kcs-nav,#kc-book .kb-bottom-nav.kcs-nav,.kcg-daynav,#kc-partner .kc-bottomnav,#kc-desktop-v25 .v25-nav,#kc-desktop-v25 .v25-drawer-list) :is(a,button) :is(span,svg),html body #kc-desktop-v25 .v25-menu span{color:inherit!important;opacity:1!important;text-shadow:none!important}
html body :is(.kcs-nav,#kc-book .kb-bottom-nav.kcs-nav,.kcg-daynav,#kc-partner .kc-bottomnav,#kc-desktop-v25 .v25-nav,#kc-desktop-v25 .v25-drawer-list) :is(a,button):is(:hover,:focus-visible,:active),html body #kc-partner .kc-bottomnav>a:hover:not([aria-current="page"]):not(.is-active),html body #kc-desktop-v25 .v25-menu:is(:hover,:focus-visible,:active){background:var(--kcs-nav-hover)!important;color:var(--kcs-nav-ink)!important}
html body :is(.kcs-nav,#kc-book .kb-bottom-nav.kcs-nav,.kcg-daynav,#kc-partner .kc-bottomnav,#kc-desktop-v25 .v25-nav,#kc-desktop-v25 .v25-drawer-list) :is(a,button):is([aria-current]:not([aria-current="false"]),.is-active,.active),html body #kc-desktop-v25.drawer-open .v25-menu{background:var(--kcs-nav-ink)!important;color:var(--kcs-nav-bg)!important}
html body :is(.kcs-nav,#kc-book .kb-bottom-nav.kcs-nav,.kcg-daynav,#kc-partner .kc-bottomnav,#kc-desktop-v25 .v25-nav,#kc-desktop-v25 .v25-drawer-list) :is(a,button):focus-visible,html body #kc-desktop-v25 .v25-menu:focus-visible{outline:3px solid var(--kcs-nav-focus)!important;outline-offset:-4px!important}
html body :is(.kcs-nav,#kc-book .kb-bottom-nav.kcs-nav,.kcg-daynav,#kc-partner .kc-bottomnav,#kc-desktop-v25 .v25-nav,#kc-desktop-v25 .v25-drawer-list) :is(a,button):is([aria-current]:not([aria-current="false"]),.is-active,.active):focus-visible,html body #kc-desktop-v25.drawer-open .v25-menu:focus-visible{outline-color:var(--kcs-nav-bg)!important}
/* Keep the native day picker, with the same open and keyboard-focus states. */
.kc-master .kc-nav-main.kcs-nav .kc-days-menu>summary{background:transparent!important;color:var(--kcs-nav-ink)!important;text-shadow:none!important}
.kc-master .kc-nav-main.kcs-nav .kc-days-menu>summary:is(:hover,:focus-visible,:active){background:var(--kcs-nav-hover)!important;color:var(--kcs-nav-ink)!important}
.kc-master .kc-nav-main.kcs-nav .kc-days-menu[open]>summary{background:var(--kcs-nav-ink)!important;color:var(--kcs-nav-bg)!important}
.kc-master .kc-nav-main.kcs-nav .kc-days-menu>summary:focus-visible{outline:3px solid var(--kcs-nav-focus)!important;outline-offset:-4px!important}
.kc-master .kc-nav-main.kcs-nav .kc-days-menu[open]>summary:focus-visible{outline-color:var(--kcs-nav-bg)!important}
.kc-master .kc-nav-main.kcs-nav .kc-days-panel{background:var(--kcs-nav-bg)!important;border-color:#668e80!important;color:var(--kcs-nav-ink)!important}
.kc-master .kc-nav-main.kcs-nav .kc-days-panel a{border-color:#668e80!important}
/* Only the older partner controls fall below the existing 44px minimum. */
html body #kc-partner .kc-bottomnav a{min-height:44px!important;max-height:none!important;transform:none!important}
html body #kc-desktop-v25 :is(.v25-nav button,.v25-drawer-list button,.v25-menu){min-height:44px!important}
.kr-bottom.kcs-nav{gap:3px;padding:6px 10px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;justify-content:center}
.kr-bottom.kcs-nav a{min-height:44px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:76px;padding:7px 9px;white-space:nowrap}
#kc-book .kb-bottom-nav.kcs-nav{display:flex;gap:3px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
#kc-book .kb-bottom-nav.kcs-nav a{flex:1 0 74px;min-width:74px;white-space:nowrap;overflow-wrap:normal}
.kcr-phone-screen:has(.kcs-nav){padding-bottom:133px}
.kcr-phone-nav.kcs-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:8px 6px 10px}
.kcr-phone-nav.kcs-nav a{min-width:0;min-height:49px}
.kcg-mobile-nav.kcs-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.kcg-mobile-nav.kcs-nav a{min-height:44px;min-width:0}
.kcg-daynav a{min-height:44px!important}
/* Original WordPress masters: eight desktop links, six mobile controls. */
.kc-master > .kcs-section{--kb-ink:var(--kc-ink,#22352f);--kb-card:var(--kc-surface,#fbf8f3);--kb-line:var(--kc-line,#ddd4c5);--kb-soft:var(--kc-surface-soft,#eef2eb);--kb-muted:var(--kc-muted,#5f675f);padding:32px;border:1px solid var(--kb-line);border-radius:18px;margin-bottom:24px;scroll-margin-top:30px}
.kc-master .kcs-heading h2,.kc-master .kcs-card h3{font-family:'Cormorant Garamond',Georgia,serif}
.kc-master .kc-nav-desktop.kcs-nav a{display:flex;align-items:center;justify-content:center;min-height:44px}
.kc-master .kc-nav-desktop.kcs-nav a:focus-visible,.kc-master .kc-nav-main.kcs-nav a:focus-visible,.kc-master .kc-nav-main.kcs-nav summary:focus-visible{outline:3px solid #b87741;outline-offset:-3px}
@media(max-width:700px){
  .kc-master.kc-has-souvenir{padding-bottom:calc(142px + env(safe-area-inset-bottom,0px))!important}
  .kc-master.kc-has-souvenir .kc-nav-mobile{bottom:calc(8px + env(safe-area-inset-bottom,0px))}
  .kc-master .kc-nav-main.kcs-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
  .kc-master .kc-nav-main.kcs-nav > a,.kc-master .kc-nav-main.kcs-nav > .kc-days-menu > summary{min-height:46px}
  .kc-master .kc-nav-main.kcs-nav .kc-days-panel{bottom:calc(100% + 60px)}
  .kc-master .kc-nav-main.kcs-nav .kc-days-panel a{min-height:44px}
}
@media(min-width:900px){.kr-bottom.kcs-nav{width:min(860px,calc(100% - 40px))}.kr-bottom.kcs-nav a{flex:1 0 auto}}
@media(max-width:600px){
  .kr-bottom.kcs-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));overflow:visible}
  .kr-bottom.kcs-nav a{min-width:0;padding:7px 3px;font-size:.76rem;white-space:normal;line-height:1.3;text-align:center}
  body:has(.kr-bottom.kcs-nav)>.kr-shell,body:has(.kr-bottom.kcs-nav)>main.kr-shell{padding-bottom:calc(128px + env(safe-area-inset-bottom))}
  #kc-book .kb-bottom-nav.kcs-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;overflow:visible}
  #kc-book .kb-bottom-nav.kcs-nav a{min-height:48px;min-width:0;padding:4px 3px}
  #kc-book:has(.kb-bottom-nav.kcs-nav){padding-bottom:calc(136px + env(safe-area-inset-bottom))}
  .kcs-section{padding-block:28px}.kcs-card{padding:20px}
}
:root[data-theme="dark"] .kcs-section{color:#e2ece5}
:root[data-theme="dark"] .kcs-card{background:#173027;border-color:#506958}
:root[data-theme="dark"] .kcs-checked{color:#c0d0c5}
:root[data-theme="dark"] .kcs-note{background:#213c2e}
:root[data-theme="dark"] .kcs-illustration,:root[data-theme="dark"] .kcs-illustration>figcaption{background:#173027;border-color:#506958;color:#c0d0c5}
:root[data-theme="dark"] .kcs-eyebrow{color:#e1b883}
html.kc-v25-force-dark #kc-desktop-v25 .kcs-section{--kb-ink:#edf3f0;--kb-card:#16211d;--kb-line:#4b6557;--kb-soft:#21342d;--kb-muted:#c1d1c6}
html.kc-v25-force-dark .kcs-eyebrow,#kc-book[data-kb-theme="dark"] .kcs-eyebrow{color:#e1b883}
@media print{.kcs-section{break-before:page;scroll-margin:0;padding-top:0}.kcs-grid{display:block}.kcs-card{break-inside:avoid;margin-bottom:18px}.kcs-links a{min-height:0;padding:4px 8px}.kcs-nav{display:none!important}}
