/* The Vildstejn interior suite. Welcome, language and Home remain unchanged. */
#v3k-root .vk-suite { --suite-bg:#211711; --suite-panel:#30221b; --suite-raised:#3a2a20; --suite-ink:#faf0df; --suite-muted:#cebaa0; --suite-gold:#dfbd88; --suite-rule:#796047; --suite-ease:cubic-bezier(.16,1,.3,1); color:var(--suite-ink); background:var(--suite-bg); isolation:isolate; }
#v3k-root .v3k-canvas:has(.vk-suite) .v3k-main { background:#211711; scrollbar-color:#ad8557 #211711; }
#v3k-root .v3k-canvas:has(.vk-suite)::after { background:linear-gradient(100deg,#251a14,#332219); border-top:1px solid #795938; }
#v3k-root .v3k-canvas:has(.vk-suite) .vk-chat-caption { background:#38271d; color:#f0d8b5; border-color:#9c7751; }
#v3k-root .v3k-canvas:has(.vk-suite) .v3k-header.solid { color:#f8ead4; background:#241910f5; border-color:#745739; }
#v3k-root .v3k-canvas:has(.vk-suite) .v3k-header.solid:not(.vk-hud-scrolled) button { background:#3e2d21; color:#f8ead4; border-color:#ad895c; }
#v3k-root .vk-suite :is(h1,h2,h3,strong,small,p) { overflow-wrap:anywhere; }
#v3k-root .vk-suite :is(h1,h2,h3) { text-wrap:balance; }
#v3k-root .vk-suite :is(p,small) { color:var(--suite-muted); }
#v3k-root .vk-suite :is(button,summary):focus-visible { outline:3px solid #ffe0a8; outline-offset:4px; }
#v3k-root .vk-suite button { transition:transform 180ms var(--suite-ease),border-color 220ms ease,box-shadow 220ms ease; }
#v3k-root .vk-suite [hidden] { display:none !important; }

/* Photography, headline and chapter strip have independent entrance timing. */
#v3k-root .vk-suite :is(.v3k-page-hero,.v3k-page-hero.compact,.v3k-form-hero) { position:relative; isolation:isolate; overflow:hidden; min-height:36cqh; padding:15cqw 5cqw 6.5cqw; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; background-image:none; border:0; border-radius:0; text-align:left; }
#v3k-root .vk-suite .vk-suite-scene { position:absolute; z-index:-2; inset:-7% 0; background-image:var(--photo); background-size:cover; background-position:center; transform:translate3d(0,var(--scene-shift,0px),0) scale(1.025); pointer-events:none; }
#v3k-root .vk-suite :is(.v3k-page-hero,.v3k-form-hero)::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,#160d0766 0%,#21171105 20%,#21171138 45%,#211711d6 78%,#211711 100%); pointer-events:none; }
#v3k-root .vk-suite :is(.v3k-page-hero,.v3k-form-hero)::after { content:''; position:absolute; left:5cqw; right:auto; top:auto; bottom:3cqw; width:7cqw; height:1px; background:#e7c99b; opacity:1; border:0; }
#v3k-root .vk-suite :is(.v3k-page-hero,.v3k-form-hero) .v3k-display { font:400 clamp(43px,8.6cqw,104px)/.99 var(--vk-display); letter-spacing:-.035em; color:var(--suite-ink); max-width:96%; padding:0; margin:.8cqw 0 1.3cqw; background:none; text-align:left; box-shadow:none; }
#v3k-root .vk-suite :is(.v3k-page-hero,.v3k-form-hero) .v3k-eyebrow { font:600 clamp(11px,1.4cqw,17px)/1.5 var(--vk-sans); letter-spacing:.2em; color:#e1c49b; background:none; }
#v3k-root .vk-suite .v3k-hero-copy { color:#eedfca; max-width:82%; font-size:clamp(15px,1.95cqw,24px); line-height:1.65; }
#v3k-root .vk-suite :is(.v3k-page-body,.v3k-form-body) { position:relative; margin:0; padding:2.8cqw 4.6cqw 5cqw; border:0; border-radius:0; box-shadow:none; background:radial-gradient(ellipse at 100% 0,#69463014,transparent 65%),var(--suite-bg); min-height:51cqh; }
#v3k-root .vk-suite .v3k-page-body::before { display:none; }
#v3k-root .vk-suite .v3k-section-title { display:flex; align-items:center; gap:2cqw; color:#d8b98b; font-size:clamp(12px,1.45cqw,18px); letter-spacing:.18em; margin:2cqw 0 3cqw; }
#v3k-root .vk-suite .v3k-section-title::after { content:''; height:1px; flex:1; background:linear-gradient(90deg,#9d7955,#9d795500); }
#v3k-root .vk-suite:has(.vk-suite-chapters) > .v3k-page-body > .v3k-section-title { display:none; }
#v3k-root .vk-suite-chapters { position:sticky; top:clamp(68px,10cqw,112px); z-index:8; display:flex; margin:0 4.6cqw 1.2cqw; padding:5px; border:1px solid #97714b; border-radius:8px; background:#2b1d16f7; box-shadow:0 8px 24px #10090524; }
#v3k-root .vk-suite-chapters button { display:flex; align-items:center; justify-content:center; gap:1cqw; flex:1; min-width:0; min-height:52px; padding:1.5cqw; border:0; border-radius:4px; background:transparent; color:#dcc5a6; font-size:clamp(12px,1.7cqw,21px); }
#v3k-root .vk-suite-chapters button > span { color:#cfaa70; font-size:.7em; letter-spacing:.08em; }
#v3k-root .vk-suite-chapters button[aria-current='location'] { background:linear-gradient(125deg,#8b6540,#59402b); color:#fff5e5; box-shadow:inset 0 1px #d1a97580; }
#v3k-root [data-suite-section] { scroll-margin-top:22cqw; }
#v3k-root .vk-info-ribbon { display:flex; align-items:center; justify-content:space-between; gap:2cqw; border-bottom:1px solid #806345; margin:0 0 2.5cqw; padding:1cqw 0 2.7cqw; }
#v3k-root .vk-info-ribbon > span { color:#cfb187; font-size:clamp(12px,1.5cqw,18px); }
#v3k-root .vk-info-ribbon > strong { color:#f1dfc2; font-weight:500; font-size:clamp(13px,1.7cqw,21px); text-align:right; }

/* Bronze controls and editorial chapter cards. */
#v3k-root .vk-suite .v3k-row { position:relative; min-height:11cqw; padding:2.8cqw; gap:2.2cqw; background:linear-gradient(130deg,#3b2b20,#2a1d16); border:1px solid #846447; border-radius:8px; box-shadow:inset 0 1px #b78e5920,0 8px 22px #120a0514; color:#efdbbb; }
#v3k-root .vk-suite .v3k-row strong { color:var(--suite-ink); font:500 clamp(24px,3.1cqw,38px)/1.12 var(--vk-display); }
#v3k-root .vk-suite .v3k-row small { display:block; margin-top:.8cqw; color:var(--suite-muted); font-size:clamp(13px,1.65cqw,20px); line-height:1.5; }
#v3k-root .vk-suite .v3k-row-icon { width:6cqw; height:6cqw; min-width:40px; min-height:40px; border-color:#98734a; border-radius:50%; color:#e3bd84; background:#b38a4620; }
#v3k-root .vk-suite .v3k-row > svg { color:#e1be85; flex-shrink:0; }
#v3k-root .vk-suite :is(.v3k-primary,.v3k-secondary,[data-official-service],[data-shop-open]) { min-height:60px; font-size:clamp(15px,2cqw,24px); }
#v3k-root .vk-suite :is(.v3k-primary,[data-official-service],.v3k-ticket-catalogue > footer button) { color:#fff6e6; background:linear-gradient(135deg,#865b37,#624326); border:1px solid #d4ad77; border-radius:8px; box-shadow:inset 0 1px #ffdfad70,0 8px 24px #10080530; }
#v3k-root .vk-suite .v3k-secondary { color:#eed5b1; background:#332319; border:1px solid #a17b51; border-radius:8px; }
#v3k-root .vk-suite .v3k-actions { margin-top:3cqw; gap:1.5cqw; }
#v3k-root .vk-suite .vk-card-number { position:absolute; top:2cqw; left:2.5cqw; z-index:3; color:#d4b182; font:400 clamp(25px,4.5cqw,54px)/1 var(--vk-display); pointer-events:none; }
#v3k-root .vk-suite .vk-editorial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.8cqw; margin:0 0 3.5cqw; }
#v3k-root .vk-suite .vk-editorial-grid > .v3k-row { isolation:isolate; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; min-height:25cqw; padding:6cqw 2.6cqw 2.6cqw; }
#v3k-root .vk-suite .vk-editorial-grid .v3k-row > span:not(.v3k-row-icon):not(.vk-card-number) { position:relative; z-index:2; }
#v3k-root .vk-suite .vk-editorial-grid .v3k-row > svg { position:absolute; top:2cqw; right:2cqw; width:26px; height:26px; }
#v3k-root .vk-suite .vk-editorial-photo { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 800ms var(--suite-ease); }
#v3k-root .vk-suite .vk-photo-link::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,#1a110a19,#21171145 30%,#211711cf 62%,#211711f2); pointer-events:none; }
#v3k-root .vk-suite .vk-photo-link .v3k-row-icon { display:none; }
#v3k-root .vk-suite .vk-photo-link :is(strong,small) { color:#fff1da; text-shadow:0 2px 12px #0009; }
#v3k-root .vk-suite[data-interior='heritage'] .vk-editorial-grid { grid-template-columns:1fr; }
#v3k-root .vk-suite[data-interior='heritage'] .vk-editorial-grid > .v3k-row { display:grid; grid-template-columns:32% minmax(0,1fr) 28px; align-items:center; gap:2.5cqw; padding:0 2.5cqw 0 0; min-height:20cqw; background:linear-gradient(115deg,#4c3525,#2d1f17); }
#v3k-root .vk-suite[data-interior='heritage'] .vk-editorial-photo { position:relative; grid-column:1; grid-row:1; z-index:0; inset:auto; width:100%; height:100%; min-height:20cqw; align-self:stretch; mask-image:linear-gradient(90deg,#000 60%,#0004); }
#v3k-root .vk-suite[data-interior='heritage'] .vk-photo-link::after { display:none; }
#v3k-root .vk-suite[data-interior='heritage'] .vk-card-number { left:35%; top:1.4cqw; font-size:clamp(34px,5.7cqw,68px); color:#c49b6590; }
#v3k-root .vk-suite[data-interior='heritage'] .vk-editorial-grid .v3k-row > span:not(.vk-card-number):not(.v3k-row-icon) { grid-column:2; grid-row:1; padding:7.2cqw 0 2.5cqw; }
#v3k-root .vk-suite[data-interior='heritage'] .vk-editorial-grid .v3k-row > svg { position:static; grid-column:3; grid-row:1; border:1px solid #bf965e; border-radius:50%; padding:5px; width:34px; height:34px; }
#v3k-root .vk-suite[data-interior='heritage'] .vk-editorial-grid .v3k-row strong { font-size:clamp(29px,4.1cqw,50px); }
#v3k-root .vk-suite:is([data-interior='stay'],[data-interior='dining']) .vk-editorial-grid > :first-child { grid-column:1/-1; min-height:34cqw; padding:5cqw 3.5cqw 3.5cqw; }
#v3k-root .vk-suite:is([data-interior='stay'],[data-interior='dining']) .vk-editorial-grid > :first-child strong { font-size:clamp(36px,5.7cqw,68px); }
#v3k-root .vk-suite[data-interior='stay'] [data-go='packages'] { grid-column:1/-1; }

/* Chronicle and illustrated tour. Source details remain available without dominating the page. */
#v3k-root .vk-suite .v3k-verified-module { margin:3cqw 0; padding:3cqw 0; border:0; border-top:1px solid #8e6b48; border-radius:0; background:none; box-shadow:none; }
#v3k-root .vk-suite .v3k-verified-module h2 { font:400 clamp(31px,4.7cqw,56px)/1.08 var(--vk-display); color:#f4e4cd; margin:0 0 1.5cqw; }
#v3k-root .vk-suite .v3k-verified-module > p { color:#d1bda2; font-size:clamp(14px,1.8cqw,22px); line-height:1.7; }
#v3k-root .vk-suite .v3k-verified-list { display:grid; gap:0; padding:0; margin:2cqw 0; list-style:none; }
#v3k-root .vk-suite .v3k-verified-list li { position:relative; display:flex; flex-direction:column; gap:1cqw; padding:2.6cqw 0; border:0; border-top:1px solid #795e43; border-radius:0; background:none; }
#v3k-root .vk-suite .v3k-verified-list li > strong { color:#f7e9d3; font:500 clamp(27px,3.5cqw,42px)/1.16 var(--vk-display); }
#v3k-root .vk-suite .v3k-verified-list li > span:not(.vk-card-number) { color:#cebaa0; font-size:clamp(15px,1.85cqw,23px); line-height:1.7; }
#v3k-root .vk-suite .v3k-verified-list li > small { display:none; }
#v3k-root .vk-suite .vk-suite-sources { border-top:1px solid #795e43; margin-top:2cqw; color:#cdb99c; }
#v3k-root .vk-suite .vk-suite-sources summary { min-height:44px; padding:1.6cqw 0; cursor:pointer; font-size:clamp(12px,1.5cqw,18px); }
#v3k-root .vk-suite .vk-suite-sources p { font-size:clamp(12px,1.45cqw,18px); line-height:1.6; }
#v3k-root .vk-suite.vk-has-story .v3k-context { display:none; }
#v3k-root .vk-suite[data-interior='timeline'] .v3k-verified-list { margin-left:1cqw; }
#v3k-root .vk-suite[data-interior='timeline'] .v3k-verified-list li { border:0; border-left:1px solid #b18b5b; padding:2cqw 0 5cqw 9cqw; }
#v3k-root .vk-suite[data-interior='timeline'] .v3k-verified-list li::before { content:''; position:absolute; top:3cqw; left:-5px; width:9px; height:9px; border-radius:50%; background:#e6bd80; box-shadow:0 0 0 6px #4c3422; }
#v3k-root .vk-suite[data-interior='timeline'] .vk-card-number { left:2cqw; top:2cqw; color:#ab815388; }
#v3k-root .vk-suite[data-interior='timeline'] .v3k-verified-list li > strong { font-size:clamp(33px,5.3cqw,64px); }
#v3k-root .vk-suite[data-interior='tour'] .v3k-verified-list { gap:3cqw; }
#v3k-root .vk-suite[data-interior='tour'] .v3k-verified-list li { padding:0 0 3cqw; border:1px solid #98734e; border-radius:8px; background:#30221a; overflow:hidden; }
#v3k-root .vk-suite .vk-story-photo { width:100%; height:33cqw; object-fit:cover; margin-bottom:1.5cqw; }
#v3k-root .vk-suite[data-interior='tour'] .v3k-verified-list li > :not(img):not(.vk-card-number) { margin-inline:3cqw; }
#v3k-root .vk-suite[data-interior='tour'] .vk-card-number { background:#23180fde; color:#f5d5a0; padding:1cqw; border:1px solid #e0b578; }

/* Admission passes and a photographic shop catalogue; no fake cart or payment controls. */
#v3k-root .vk-suite[data-interior='tickets'] .v3k-page-hero { min-height:29cqh; }
#v3k-root .vk-suite :is(.v3k-ticket-catalogue,.v3k-accommodation-catalogue) > header,#v3k-root .vk-suite .v3k-shop-intro { color:#f7e8d0; background:none; padding:0 0 2.8cqw; border:0; box-shadow:none; }
#v3k-root .vk-suite :is(.v3k-ticket-catalogue,.v3k-accommodation-catalogue) > header h2,#v3k-root .vk-suite .v3k-shop-intro h2 { font-size:clamp(33px,5.1cqw,61px); font-weight:400; }
#v3k-root .vk-suite :is(.v3k-ticket-catalogue,.v3k-accommodation-catalogue) > header > span,#v3k-root .vk-suite .v3k-shop-intro > span { color:#d6b887; }
#v3k-root .vk-suite :is(.v3k-ticket-catalogue,.v3k-accommodation-catalogue) > header p,#v3k-root .vk-suite .v3k-shop-intro :is(p,small) { color:#ccb69b; }
#v3k-root .vk-suite .v3k-ticket-prices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2cqw; }
#v3k-root .vk-suite .v3k-ticket-prices article { position:relative; display:flex; flex-direction:column; align-items:stretch; justify-content:space-between; min-height:24cqw; padding:6cqw 3cqw 3cqw; gap:2cqw; border:1px solid #a47d50; border-radius:12px; background:radial-gradient(ellipse at 0 0,#a67a3e24,transparent 85%),#30221a; box-shadow:inset 0 1px #efd6a933,0 12px 32px #12090530; }
#v3k-root .vk-suite .v3k-ticket-prices article::after { content:''; position:absolute; top:15px; right:15px; width:22px; height:22px; border-top:1px solid #b48f59; border-right:1px solid #b48f59; pointer-events:none; }
#v3k-root .vk-suite .v3k-ticket-prices article h3 { font:500 clamp(26px,3.4cqw,42px)/1.1 var(--vk-display); color:#f9ead2; }
#v3k-root .vk-suite .v3k-ticket-prices article p { color:#ccb69c; }
#v3k-root .vk-suite .v3k-ticket-prices article > strong { display:block; border-top:1px dashed #aa825352; padding-top:2cqw; color:#efd0a0; font:400 clamp(37px,5.5cqw,65px)/1 var(--vk-display); text-align:right; }
#v3k-root .vk-suite .v3k-ticket-prices article:last-child { grid-column:1/-1; min-height:17cqw; }
#v3k-root .vk-suite :is(.v3k-ticket-catalogue,.v3k-accommodation-catalogue) > footer { background:#37271c; border:1px solid #9b7449; border-radius:10px; padding:3cqw; }
#v3k-root .vk-suite :is(.v3k-ticket-catalogue,.v3k-accommodation-catalogue) > footer :is(p,small) { color:#d5c0a4; }
#v3k-root .vk-suite .v3k-shop-categories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2cqw; }
#v3k-root .vk-suite .v3k-shop-categories button { display:flex; position:relative; isolation:isolate; overflow:hidden; align-items:flex-end; min-height:30cqw; padding:6cqw 3cqw 3cqw; background:#35241b; border:1px solid #a47d50; border-radius:8px; }
#v3k-root .vk-suite .v3k-shop-categories button::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,#23150f19,#23150fb3 45%,#23150ff5); }
#v3k-root .vk-suite .v3k-shop-categories img:not(.vk-editorial-photo) { display:none; }
#v3k-root .vk-suite .v3k-shop-categories :is(strong,small) { color:#fff0d9; }
#v3k-root .vk-suite .v3k-shop-categories strong { font:500 clamp(29px,3.9cqw,46px)/1.1 var(--vk-display); }
#v3k-root .vk-suite .v3k-shop-categories i { color:#eccb94; }
#v3k-root .vk-suite .v3k-shop-categories button,#v3k-root .vk-suite .v3k-shop-categories button > span { color:#fff0d9; }
#v3k-root .vk-suite :is(.v3k-shop-kiosk,.v3k-shop-phone,.v3k-shop-trust) { color:#f4ddbb; background:#3b2a1e; border:1px solid #9f7b4d; border-radius:8px; }
#v3k-root .vk-suite :is(.v3k-shop-kiosk,.v3k-shop-phone) :is(strong,small),#v3k-root .vk-suite .v3k-shop-trust p { color:#e8d4b5; }
#v3k-root .vk-suite .v3k-shop-legal :is(button,small) { color:#d9bd94; }
#v3k-root .vk-suite :is(.v3k-shop-qr,.v3k-booking-qr,.v3k-qr-code) { background:white; padding:12px; border:1px solid #dfc49c; border-radius:6px; }

/* Room collection and booking panel. */
#v3k-root .vk-suite .v3k-room-grid { gap:2.6cqw; }
#v3k-root .vk-suite .v3k-room-grid article { position:relative; overflow:hidden; background:#33241b; border:1px solid #896747; border-radius:8px; box-shadow:0 12px 30px #130b061c; }
#v3k-root .vk-suite .v3k-room-grid article:first-child { grid-column:1/-1; }
#v3k-root .vk-suite .v3k-room-grid img { width:100%; height:24cqw; object-fit:cover; }
#v3k-root .vk-suite .v3k-room-grid article:first-child img { height:37cqw; }
#v3k-root .vk-suite .v3k-room-grid article > div { padding:3cqw; }
#v3k-root .vk-suite .v3k-room-grid article h3 { font:500 clamp(29px,3.8cqw,46px)/1.13 var(--vk-display); color:#fae7c9; }
#v3k-root .vk-suite .v3k-room-grid article:first-child h3 { font-size:clamp(36px,5.4cqw,65px); }
#v3k-root .vk-suite .v3k-room-grid article p { color:#d6c1a7; font-size:clamp(14px,1.75cqw,21px); line-height:1.65; }
#v3k-root .vk-suite .v3k-room-grid article > div > span { color:#d8b682; font-size:clamp(12px,1.4cqw,18px); letter-spacing:.06em; }
#v3k-root .vk-suite .v3k-room-grid article > div > strong { color:#efd0a0; }
#v3k-root .vk-suite .v3k-room-grid .vk-card-number { color:#f3d4a4; padding:1cqw; background:#271c13da; border:1px solid #bc986859; }
#v3k-root .vk-suite .vk-room-photo-note { margin:0 0 3cqw; font-size:clamp(12px,1.35cqw,17px); line-height:1.6; color:#cfb99b; }
#v3k-root .vk-suite .v3k-booking-handoff { padding:3.5cqw; margin-top:3cqw; border-radius:10px; border:1px solid #bd9560; background:radial-gradient(ellipse at 100% 0,#ab824533,transparent 90%),#39281c; box-shadow:inset 0 1px #ebc99533; }
#v3k-root .vk-suite .v3k-booking-handoff h2 { font:400 clamp(34px,4.5cqw,54px)/1.1 var(--vk-display); color:#fff0d9; }
#v3k-root .vk-suite .v3k-booking-handoff :is(p,small) { color:#d7c2a5; }

/* Dining folio, tasting courses, stable filters and readable long dish names. */
#v3k-root .vk-suite .v3k-food-menu-head { color:#f6e5c9; padding:0 0 3cqw; border:0; background:none; box-shadow:none; }
#v3k-root .vk-suite .v3k-food-menu-head :is(span,p,small) { color:#ceb89a; }
#v3k-root .vk-suite .v3k-food-menu-head h2 { font:400 clamp(34px,5.1cqw,61px)/1.1 var(--vk-display); }
#v3k-root .vk-suite .v3k-food-menu-head > div { background:#44301f; border-color:#9d784d; color:#eed7b4; }
#v3k-root .vk-suite .v3k-menu-feature { border-radius:8px; border:1px solid #a17c4e; box-shadow:0 15px 35px #0e07042b; }
#v3k-root .vk-suite .v3k-menu-feature :is(p,span) { color:#f6e6ca; }
#v3k-root .vk-suite .v3k-menu-feature strong { color:#382211; background:#e4c18d; }
#v3k-root .vk-suite .v3k-menu-tabs { position:sticky; top:clamp(68px,10cqw,112px); z-index:8; gap:.7cqw; padding:1.3cqw 0; background:#211711f5; border-bottom:1px solid #94704c; }
#v3k-root .vk-suite .v3k-menu-tabs button { min-height:50px; border:1px solid #957451; border-radius:5px; background:#37261c; color:#e9d5b9; font-size:clamp(12px,1.55cqw,19px); }
#v3k-root .vk-suite .v3k-menu-tabs button[aria-selected='true'] { background:#86603c; color:#fff8ed; border-color:#d7b27f; }
#v3k-root .vk-suite .v3k-menu-items { display:block; border-top:1px solid #866647; }
#v3k-root .vk-suite .v3k-menu-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2cqw; padding:3cqw 0; border:0; border-bottom:1px solid #765a40; border-radius:0; background:none; box-shadow:none; }
#v3k-root .vk-suite .v3k-menu-item h3 { color:#f9ebd4; font:500 clamp(25px,3.4cqw,41px)/1.12 var(--vk-display); }
#v3k-root .vk-suite .v3k-menu-item p { color:#c8b69e; font-size:clamp(14px,1.7cqw,21px); line-height:1.6; }
#v3k-root .vk-suite .v3k-menu-item > strong { color:#ebc78e; background:none; padding:0; max-width:25cqw; font-size:clamp(15px,1.85cqw,23px); text-align:right; white-space:normal; }
#v3k-root .vk-suite .v3k-menu-item.has-price-variants > strong { display:flex; flex-direction:column; gap:.8cqw; }
#v3k-root .vk-suite .v3k-food-menu-foot { border-color:#9a794f; color:#d7c4a5; background:#33251b; }
#v3k-root .vk-suite :is(.v3k-tasting-intro,.v3k-tasting-card,.v3k-tasting-contact) { background:#34251b; color:#f2dfc2; border:1px solid #a58153; border-radius:8px; box-shadow:none; }
#v3k-root .vk-suite .v3k-tasting-intro { background:linear-gradient(120deg,#503923,#302119); }
#v3k-root .vk-suite .v3k-tasting-intro :is(h2,p,span) { color:#f1debd; }
#v3k-root .vk-suite .v3k-tasting-price { background:#22160d; border-color:#b48d55; color:#f8d9a9; }
#v3k-root .vk-suite .v3k-tasting-nav button { min-height:56px; color:#ead1ab; background:#3c2a1e; border:1px solid #997548; border-radius:6px; }
#v3k-root .vk-suite .v3k-tasting-card-hero { min-height:34cqw; }
#v3k-root .vk-suite .v3k-tasting-card-hero h2 { color:#fff0d9; font-size:clamp(36px,5.6cqw,68px); }
#v3k-root .vk-suite .v3k-tasting-course { padding:3cqw 0; border-color:#8a6845; }
#v3k-root .vk-suite .v3k-tasting-course h3 { color:#f9e8ca; font-size:clamp(28px,3.7cqw,44px); }
#v3k-root .vk-suite .v3k-tasting-number { color:#e0b77e; background:#4d3421; border-color:#a77f4e; }
#v3k-root .vk-suite :is(.v3k-tasting-course-label,.v3k-tasting-drink) { color:#e4be85; }
#v3k-root .vk-suite .v3k-tasting-drink { background:#49311f; border:1px solid #a27b4e; }
#v3k-root .vk-suite .v3k-tasting-drink span { color:#e4be85; }
#v3k-root .vk-suite .v3k-tasting-card blockquote { color:#e3c39a; background:#432e1e; border-color:#a88150; }

/* Concierge and excursions. */
#v3k-root .vk-suite:is([data-interior='concierge'],[data-interior='contacts']) .v3k-page-body > .v3k-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2cqw; }
#v3k-root .vk-suite:is([data-interior='concierge'],[data-interior='contacts']) .v3k-page-body > .v3k-list .v3k-row { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; min-height:25cqw; padding:6cqw 3cqw 3cqw; }
#v3k-root .vk-suite:is([data-interior='concierge'],[data-interior='contacts']) .v3k-row > svg { position:absolute; top:2.5cqw; right:2.5cqw; }
#v3k-root .vk-suite[data-interior='contacts'] .v3k-page-body > .v3k-list { grid-template-columns:1fr; }
#v3k-root .vk-suite[data-interior='contacts'] .v3k-page-body > .v3k-list .v3k-row { min-height:19cqw; padding-left:13cqw; }
#v3k-root .vk-suite[data-interior='contacts'] .v3k-row .v3k-row-icon { position:absolute; left:3cqw; top:7cqw; }
#v3k-root .vk-suite[data-interior='contacts'] .v3k-row small { font-size:clamp(20px,3cqw,36px); color:#e6c08a; letter-spacing:.04em; }
#v3k-root .vk-suite[data-interior='destinations'] .v3k-verified-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2cqw; counter-reset:place; }
#v3k-root .vk-suite[data-interior='destinations'] .v3k-verified-list li { padding:6cqw 3cqw 3cqw; min-height:24cqw; border:1px solid #8e6e49; border-radius:8px; background:linear-gradient(130deg,#463122,#2c1e17); }
#v3k-root .vk-suite[data-interior='destinations'] .v3k-verified-list li::before { counter-increment:place; content:counter(place,decimal-leading-zero); position:absolute; top:1.8cqw; font:400 clamp(25px,4cqw,48px)/1 var(--vk-display); color:#c69b6680; }
#v3k-root .vk-suite .v3k-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2cqw; }
#v3k-root .vk-suite .v3k-gallery button { position:relative; overflow:hidden; min-height:34cqw; border:1px solid #b08a59; border-radius:8px; }
#v3k-root .vk-suite .v3k-gallery button:first-child { grid-column:1/-1; min-height:40cqw; }
#v3k-root .vk-suite .v3k-gallery strong { color:#fff2dc; font:500 clamp(28px,4cqw,48px)/1.1 var(--vk-display); }

/* Map surfaces; provider attribution and map controls keep their native contrast. */
#v3k-root .vk-suite[data-interior='map'] .v3k-page-body > .v3k-display { font:400 clamp(43px,7cqw,84px)/1 var(--vk-display); color:#f4e4ca; }
#v3k-root .vk-suite .v3k-lead { color:#d2bda0; }
#v3k-root .vk-suite .v3k-page-body > .v3k-eyebrow { color:#dec099; }
#v3k-root .vk-suite .v3k-region-shell { margin:3cqw 0; overflow:hidden; border:1px solid #ad8554; border-radius:10px; background:#34251a; box-shadow:0 20px 45px #120a0630; }
#v3k-root .vk-suite .v3k-region-map { height:43cqh; min-height:340px; }
#v3k-root .vk-suite .v3k-region-filters { background:#312219; gap:.8cqw; }
#v3k-root .vk-suite .v3k-region-filters button { min-height:50px; color:#f0d9b7; background:#493222; border-color:#b78b54; border-radius:5px; }
#v3k-root .vk-suite .v3k-region-filters button.active { color:#fff8ec; background:#875e39; }
#v3k-root .vk-suite :is(.v3k-region-summary,.v3k-region-address) { background:#39281c; color:#f3dfbd; border-color:#9f784a; }
#v3k-root .vk-suite :is(.v3k-region-summary,.v3k-region-address) :is(strong,small) { color:#e9d1ab; }
#v3k-root .vk-suite .v3k-region-actions button { min-height:50px; color:#f5e0bf; background:#533921; border:1px solid #b68a51; border-radius:5px; }
#v3k-root .vk-suite .v3k-region-places-title { color:#f2dfc4; }
#v3k-root .vk-suite .v3k-region-places button { background:#302219; color:#f2ddba; border-color:#8e6e4d; border-radius:6px; }
#v3k-root .vk-suite .v3k-region-places :is(strong,small) { color:#e4ceb0; }
#v3k-root .vk-suite .v3k-map-note { color:#cdb697; }

/* Date-led event disclosures and purposeful empty state. */
#v3k-root .vk-suite .v3k-filter-bar { padding:.8cqw; gap:.8cqw; margin-bottom:3cqw; border:1px solid #a58156; border-radius:6px; background:#34241b; }
#v3k-root .vk-suite .v3k-filter-bar button { min-height:54px; color:#e8d3b2; background:#453020; border:1px solid #8c6943; border-radius:4px; }
#v3k-root .vk-suite .v3k-filter-bar button.active { background:#916843; color:#fff6e9; }
#v3k-root .vk-suite .vk-event-card { background:#33241b; border:1px solid #957147; border-radius:8px; overflow:hidden; }
#v3k-root .vk-suite .vk-event-card summary { list-style:none; cursor:pointer; border:0; border-radius:0; box-shadow:none; }
#v3k-root .vk-suite .vk-event-card summary::-webkit-details-marker { display:none; }
#v3k-root .vk-suite .vk-event-date { display:flex; flex-direction:column; align-items:center; min-width:9cqw; padding-right:2cqw; border-right:1px solid #97754e; color:#ecc897; }
#v3k-root .vk-suite .vk-event-date b { font:400 clamp(37px,5.7cqw,68px)/1 var(--vk-display); }
#v3k-root .vk-suite .vk-event-date small { text-transform:uppercase; }
#v3k-root .vk-suite .vk-event-expand { margin-left:auto; font-size:32px; color:#dbb781; transition:transform 220ms ease; }
#v3k-root .vk-suite .vk-event-card[open] .vk-event-expand { transform:rotate(45deg); }
#v3k-root .vk-suite .vk-event-description { padding:0 3cqw 3cqw 14cqw; color:#d9c5a8; font-size:clamp(15px,1.9cqw,23px); line-height:1.7; }
#v3k-root .vk-suite .vk-empty-icon { display:grid; place-items:center; width:8cqw; height:8cqw; min-width:52px; min-height:52px; margin:0 auto 2.5cqw; color:#dbb47d; }
#v3k-root .vk-suite .vk-empty-icon svg { width:100%; height:100%; }
#v3k-root .vk-suite [data-event-results] > .v3k-operation-state { text-align:center; padding:5cqw 4cqw; background:radial-gradient(ellipse at 50% 0,#ae7f4826,transparent 90%),#312219; border:1px solid #a57d50; border-radius:10px; }
#v3k-root .vk-suite [data-event-results] h2 { font:400 clamp(33px,5cqw,60px)/1.1 var(--vk-display); color:#f8e5c4; }
#v3k-root .vk-suite [data-interior-year] { min-height:54px; margin-top:2cqw; padding:1.5cqw 3cqw; color:#ffe8c4; border:1px solid #bb945e; background:#714e2e; border-radius:6px; }

/* Deep detail, forms, help, chat, QR and error views share the same materials. */
#v3k-root .vk-suite .v3k-context { padding:0; overflow:hidden; border-radius:8px; background:#32231a; border:1px solid #98754c; }
#v3k-root .vk-suite .v3k-context-head { padding:2.5cqw 3cqw; background:#473020; color:#ebcfaa; border-bottom:1px solid #98754c; }
#v3k-root .vk-suite .v3k-context-head strong { color:#fff0d8; font:500 clamp(26px,3.6cqw,44px)/1.1 var(--vk-display); }
#v3k-root .vk-suite .v3k-context-grid { display:grid; grid-template-columns:1fr; gap:0; padding:0; }
#v3k-root .vk-suite .v3k-context-item { display:flex; align-items:center; justify-content:space-between; gap:2cqw; padding:2.5cqw 3cqw; margin:0; min-height:8cqw; border:0; border-bottom:1px solid #72543a; background:none; border-radius:0; }
#v3k-root .vk-suite .v3k-context-item > span { color:#d6bd99; font-size:clamp(13px,1.6cqw,19px); }
#v3k-root .vk-suite .v3k-context-item strong { color:#f7e6ca; text-align:right; font:500 clamp(23px,3.2cqw,38px)/1.12 var(--vk-display); }
#v3k-root .vk-suite .v3k-context-item::before { display:none; }
#v3k-root .vk-suite .v3k-fields label { color:#e7cfac; font-size:clamp(15px,1.9cqw,23px); }
#v3k-root .vk-suite .v3k-fields :is(input,select,textarea) { color:#faead0; background:#3a291e; border:1px solid #b08959; border-radius:6px; min-height:58px; }
#v3k-root .vk-suite .v3k-fields :is(input,textarea)::placeholder { color:#ceb99b; }
#v3k-root .vk-suite :is(.v3k-notice,.v3k-operation-state,.v3k-integration-state) { color:#ead4b2; background:#473221; border:1px solid #a17c4d; border-radius:8px; padding:2.5cqw; font-size:clamp(13px,1.65cqw,21px); line-height:1.65; }
#v3k-root .vk-suite .v3k-step span { color:#e4c7a0; }
#v3k-root .vk-suite .v3k-step i { background:#5c4230; }
#v3k-root .vk-suite .v3k-step i.on { background:#d6b27b; }
#v3k-root .vk-suite .v3k-help-grid { gap:2cqw; }
#v3k-root .vk-suite .v3k-help-channel { background:#35241b; color:#edd7b4; border:1px solid #9c784e; border-radius:8px; padding:3cqw; }
#v3k-root .vk-suite .v3k-help-channel strong { color:#f6e7d0; font:500 clamp(27px,3.5cqw,42px)/1.1 var(--vk-display); }
#v3k-root .vk-suite .v3k-help-channel em { color:#e3c398; border-color:#ac8152; background:#553b26; }
#v3k-root .vk-suite.v3k-ai-page { min-height:100%; padding:15cqw 5cqw max(130px,15cqw); background:radial-gradient(ellipse at 100% 5%,#724b2d4a,transparent 65%),linear-gradient(#211711e8,#211711f7),url('/kiosk/media/castle-passage.webp') center/cover; }
#v3k-root .vk-suite.v3k-ai-page .v3k-display { font:400 clamp(43px,7.5cqw,90px)/1.03 var(--vk-display); color:#f8e8cd; }
#v3k-root .vk-suite .v3k-ai-intro { color:#dcc4a3; }
#v3k-root .vk-suite .v3k-ai-trust { background:#473121; border:1px solid #a7814f; color:#f1d6ad; border-radius:8px; }
#v3k-root .vk-suite .v3k-ai-trust strong { color:#f3e2c8; }
#v3k-root .vk-suite .v3k-suggestions button { min-height:65px; border:1px solid #a58053; color:#f2dfbd; background:#3c291d; border-radius:8px; padding:2.4cqw; }
#v3k-root .vk-suite .v3k-bubble.ai { color:#f5e4c9; background:#3c2b1f; border:1px solid #94724d; border-radius:12px 12px 12px 0; line-height:1.65; }
#v3k-root .vk-suite .v3k-bubble.user { color:#fff0d5; background:#795739; border:1px solid #c49c64; border-radius:12px 12px 0 12px; }
#v3k-root .vk-suite .v3k-sources span { color:#e9d2ac; background:#5a4029; border-color:#b9915b; }
#v3k-root .vk-suite .v3k-chatbox { border:1px solid #c29860; border-radius:8px; background:#3b291d; }
#v3k-root .vk-suite .v3k-chatbox input { color:#fff0d5; background:transparent; }
#v3k-root .vk-suite .v3k-chatbox input::placeholder { color:#d9c1a1; }
#v3k-root .vk-suite .v3k-chatbox button { background:#94683d; color:#ffedcf; }
#v3k-root .vk-suite.v3k-status { padding:17cqw 5cqw 8cqw; background:linear-gradient(#241810c4,#211711f5),var(--photo) center/cover; }
#v3k-root .vk-suite .v3k-status-card { background:#302219f7; padding:4.5cqw; color:#f6e5c9; border:1px solid #bc965f; border-radius:12px; box-shadow:0 24px 80px #0b05073d; }
#v3k-root .vk-suite .v3k-status-card h1 { color:#fae8c6; font:400 clamp(40px,6.5cqw,78px)/1.05 var(--vk-display); }
#v3k-root .vk-suite .v3k-status-card > p { color:#d3bd9b; font-size:clamp(15px,1.9cqw,23px); line-height:1.6; }
#v3k-root .vk-suite .v3k-status-icon { color:#f2cd93; background:#614325; border-color:#bf9151; }
#v3k-root .vk-suite .v3k-qr-transfer { color:#f6e2bc; background:none; border:0; }
#v3k-root .vk-suite .v3k-qr-transfer :is(strong,small,p) { color:#ead1ab; }
#v3k-root .vk-suite .v3k-qr-disclaimer { background:#44301f; }

/* Transform/opacity motion never blocks an action. One scroll-driven photo layer per page. */
@media (prefers-reduced-motion:no-preference) {
  #v3k-root .vk-suite.v3k-enter-forward { animation:suite-page-in 650ms var(--suite-ease) backwards; }
  #v3k-root .vk-suite.v3k-enter-back { animation:suite-page-back 480ms var(--suite-ease) backwards; }
  #v3k-root .vk-suite :is(.v3k-page-hero,.v3k-form-hero) .v3k-display { animation:suite-type-in 850ms 70ms var(--suite-ease) backwards; }
  #v3k-root .vk-suite .v3k-hero-copy { animation:luxury-rise 700ms 170ms var(--suite-ease) backwards; }
  #v3k-root .vk-suite .vk-suite-chapters { animation:luxury-rise 650ms 110ms var(--suite-ease) backwards; }
  #v3k-root .vk-suite .vk-reveal-visible { animation:suite-card-in 700ms var(--reveal-delay,0ms) var(--suite-ease) backwards; }
  #v3k-root .vk-suite .vk-event-card[open] .vk-event-description { animation:luxury-rise 360ms var(--suite-ease) backwards; }
  #v3k-root .vk-suite .vk-suite-sources[open] p { animation:luxury-rise 300ms var(--suite-ease) backwards; }
}
@keyframes suite-page-in { from { opacity:0; transform:translate3d(0,18px,0); } to { opacity:1; transform:none; } }
@keyframes suite-page-back { from { opacity:.15; transform:translate3d(0,-12px,0); } to { opacity:1; transform:none; } }
@keyframes suite-type-in { from { opacity:0; transform:translate3d(0,26px,0); } to { opacity:1; transform:none; } }
@keyframes suite-card-in { from { opacity:0; transform:translate3d(0,26px,0) scale(.99); } to { opacity:1; transform:none; } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  #v3k-root .vk-suite .vk-photo-link:hover .vk-editorial-photo { transform:scale(1.045); }
  #v3k-root .vk-suite .v3k-row:hover { background-color:#493220; border-color:#d4ac73; transform:translateY(-2px); }
}
@container (max-width:620px) {
  #v3k-root .vk-suite :is(.v3k-page-hero,.v3k-page-hero.compact,.v3k-form-hero) { min-height:320px; padding:105px 24px 38px; }
  #v3k-root .vk-suite :is(.v3k-page-hero,.v3k-form-hero) .v3k-display { font-size:46px; }
  #v3k-root .vk-suite .v3k-hero-copy { max-width:100%; font-size:15px; }
  #v3k-root .vk-suite-chapters button { font-size:12px; padding:10px 6px; }
  #v3k-root .vk-suite-chapters button > span { display:none; }
  #v3k-root .vk-suite .vk-editorial-grid > .v3k-row { min-height:200px; padding:44px 18px 20px; }
  #v3k-root .vk-suite[data-interior='heritage'] .vk-editorial-grid > .v3k-row { min-height:150px; }
  #v3k-root .vk-suite[data-interior='heritage'] .vk-editorial-grid .v3k-row > span:not(.vk-card-number):not(.v3k-row-icon) { padding:48px 0 18px; }
  #v3k-root .vk-suite .vk-card-number { top:12px; left:15px; }
  #v3k-root .vk-suite:is([data-interior='stay'],[data-interior='dining']) .vk-editorial-grid > :first-child { min-height:240px; }
  #v3k-root .vk-suite .v3k-ticket-prices article { min-height:190px; padding:50px 18px 22px; }
  #v3k-root .vk-suite .v3k-ticket-prices article:last-child { min-height:160px; }
  #v3k-root .vk-suite .v3k-shop-categories button { min-height:210px; padding:50px 18px 20px; }
  #v3k-root .vk-suite .v3k-room-grid { grid-template-columns:1fr; }
  #v3k-root .vk-suite .v3k-room-grid img { height:220px; }
  #v3k-root .vk-suite .v3k-room-grid article:first-child img { height:250px; }
  #v3k-root .vk-suite .v3k-menu-item.has-price-variants { grid-template-columns:1fr; }
  #v3k-root .vk-suite .v3k-menu-item.has-price-variants > strong { text-align:left; max-width:none; }
  #v3k-root .vk-suite .vk-story-photo { height:240px; }
  #v3k-root .vk-suite .v3k-context-item { padding:18px; min-height:70px; }
  #v3k-root .vk-suite .v3k-context-item strong { max-width:65%; }
  #v3k-root .vk-suite:is([data-interior='concierge'],[data-interior='contacts']) .v3k-page-body > .v3k-list .v3k-row { min-height:190px; padding:50px 18px 20px; }
  #v3k-root .vk-suite[data-interior='contacts'] .v3k-page-body > .v3k-list .v3k-row { padding-left:80px; }
  #v3k-root .vk-suite[data-interior='contacts'] .v3k-row .v3k-row-icon { top:64px; left:20px; }
  #v3k-root .vk-suite[data-interior='destinations'] .v3k-verified-list li { padding:50px 18px 24px; }
}
@container (max-width:400px) {
  #v3k-root .vk-suite .vk-editorial-grid,#v3k-root .vk-suite .v3k-shop-categories,#v3k-root .vk-suite[data-interior='destinations'] .v3k-verified-list { grid-template-columns:1fr; }
  #v3k-root .vk-suite .vk-info-ribbon { flex-direction:column; align-items:flex-start; }
  #v3k-root .vk-suite .vk-info-ribbon strong { text-align:left; }
}
@media (prefers-reduced-motion:reduce) {
  #v3k-root .vk-suite *,#v3k-root .vk-suite *::before,#v3k-root .vk-suite *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  #v3k-root .vk-suite .vk-suite-scene { transform:none; }
}
#v3k-root.v3k-reduced-motion .vk-suite *,#v3k-root.v3k-reduced-motion .vk-suite *::before,#v3k-root.v3k-reduced-motion .vk-suite *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
#v3k-root.v3k-reduced-motion .vk-suite .vk-suite-scene { transform:none; }
#v3k-root.v3k-high-contrast .vk-suite { --suite-ink:#fff8eb; --suite-muted:#f2dfc0; --suite-rule:#dfbd88; }
#v3k-root.v3k-large-text .vk-suite :is(.v3k-row,.v3k-menu-item,.v3k-room-grid,.v3k-verified-module) :is(p,small) { font-size:clamp(17px,2.15cqw,26px); }

/* Functional catalogue, itinerary, guest-service and inbox entry screens. */
#v3k-root .vk-functional-content { color:var(--suite-ink); }
#v3k-root .vk-functional-content h2,#v3k-root [data-guest-services] h2,#v3k-root .vk-restaurant-extras h2 { font:400 clamp(32px,4.7cqw,57px)/1.08 var(--vk-display); color:#f7e6ca; margin:1cqw 0 2.5cqw; }
#v3k-root .vk-functional-content h3 { font:500 clamp(26px,3.5cqw,43px)/1.12 var(--vk-display); color:#f8e7ca; }
#v3k-root .vk-functional-content p { font-size:clamp(15px,1.85cqw,23px); line-height:1.65; color:#d6c1a4; }
#v3k-root .vk-destination-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2cqw; margin-top:3cqw; }
#v3k-root .vk-destination-card { overflow:hidden; border:1px solid #977047; border-radius:8px; background:#35251a; }
#v3k-root .vk-destination-card img { width:100%; height:22cqw; object-fit:cover; }
#v3k-root .vk-destination-card > div { padding:3cqw; }
#v3k-root .vk-destination-card h2 { font-size:clamp(28px,3.7cqw,44px); }
#v3k-root .vk-destination-card button { margin-top:2cqw; width:100%; }
#v3k-root .vk-feature-number { display:block; color:#dcb57d; letter-spacing:.08em; font-size:clamp(12px,1.55cqw,19px); margin-bottom:1.5cqw; }
#v3k-root .vk-feature-cover { width:100%; max-height:40cqw; object-fit:cover; border:1px solid #aa8051; border-radius:8px; margin-bottom:3cqw; }
#v3k-root .vk-feature-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.7cqw; margin:3cqw 0; }
#v3k-root .vk-feature-facts > div { padding:2.5cqw; border:1px solid #886642; border-radius:6px; background:#332319; }
#v3k-root .vk-feature-facts span { color:#f0cea0; font-size:clamp(17px,2.2cqw,26px); }
#v3k-root .vk-feature-facts small { display:block; margin-top:1cqw; }
#v3k-root .vk-feature-sharing { display:flex; flex-wrap:wrap; gap:3cqw; margin:4cqw 0; }
#v3k-root .vk-feature-qr { width:clamp(150px,20cqw,240px); padding:2cqw; border:1px solid #a98355; border-radius:8px; background:#3c2a1d; }
#v3k-root .vk-feature-qr > div { background:#fff; padding:10px; border-radius:4px; }
#v3k-root .vk-feature-qr svg { display:block; width:100%; height:auto; }
#v3k-root .vk-feature-qr small { display:block; color:#e2c8a3; margin-top:1.5cqw; line-height:1.5; }
#v3k-root .vk-planner-form .v3k-fields { gap:2cqw; }
#v3k-root .vk-feature-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2cqw; }
#v3k-root .vk-feature-checks label { display:flex; align-items:center; gap:1.5cqw; min-height:54px; border:1px solid #937047; padding:1.5cqw; border-radius:6px; }
#v3k-root .vk-feature-checks input[type='checkbox'] { width:24px; height:24px; min-height:24px; flex:none; accent-color:#b78b53; }
#v3k-root .vk-planner-form > button,#v3k-root .vk-message-form [type='submit'] { width:100%; }
#v3k-root .vk-feature-stats { display:flex; flex-wrap:wrap; gap:2cqw; padding:3cqw; border:1px solid #b18a54; border-radius:8px; background:#4b331f; }
#v3k-root .vk-feature-stats strong { color:#f6d8a8; font-size:clamp(22px,3.3cqw,40px); }
#v3k-root .vk-trip-stops { list-style:none; padding:0; margin:3cqw 0; border-left:1px solid #a77d4e; }
#v3k-root .vk-trip-stops li { position:relative; padding:1.5cqw 3cqw 4cqw; margin-left:2cqw; border-bottom:1px solid #775b3e; }
#v3k-root .vk-trip-stops li::before { content:''; position:absolute; left:-2.6cqw; top:2cqw; width:1cqw; height:1cqw; border-radius:50%; background:#e0b777; }
#v3k-root .vk-guest-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5cqw; margin:3cqw 0; }
#v3k-root .vk-guest-grid button { justify-content:space-between; text-align:left; padding:2cqw; }
#v3k-root .vk-stories article,#v3k-root .vk-restaurant-extras > section { padding:3cqw 0; border-top:1px solid #947048; }
#v3k-root .vk-restaurant-extras article { padding:2cqw; border-bottom:1px solid #866441; }
#v3k-root .vk-item-allergens { display:block; margin-top:1cqw; color:#cdb896; font-size:clamp(12px,1.4cqw,17px); }
#v3k-root .vk-suite .v3k-menu-item:has(.vk-menu-dish-photo) { grid-template-columns:10cqw minmax(0,1fr) auto; }
#v3k-root .vk-suite .vk-menu-dish-photo { width:10cqw; height:10cqw; object-fit:cover; border-radius:6px; grid-column:1; grid-row:1; }
#v3k-root .vk-suite .v3k-menu-item:has(.vk-menu-dish-photo) > div { grid-column:2; grid-row:1; }
#v3k-root .vk-suite .v3k-menu-item:has(.vk-menu-dish-photo) > strong { grid-column:3; grid-row:1; }
#v3k-root .vk-before-after { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2cqw; }
#v3k-root .vk-before-after figure { margin:0; }
#v3k-root .vk-before-after img { width:100%; }
#v3k-root .vk-before-after figcaption { color:#d9bc94; padding:1.5cqw; }
#v3k-root .vk-site-plan { margin-top:4cqw; padding-top:3cqw; border-top:1px solid #a77d4e; }
#v3k-root .vk-site-plan-scroll { overflow:auto; max-height:70cqh; border:1px solid #b38a54; background:#fff; }
#v3k-root .vk-site-plan-scroll img { display:block; width:100%; max-width:none; }
#v3k-root model-viewer { width:100%; height:48cqw; min-height:280px; background:#2b2018; border:1px solid #b38a54; touch-action:pan-y; }
#v3k-root .vk-panorama { height:38cqw; min-height:260px; background-size:auto 100%; background-repeat:repeat-x; border:1px solid #bd945c; cursor:grab; touch-action:pan-y; }
#v3k-root .vk-alfred-preview { position:absolute; z-index:150; inset:0; display:grid; place-items:center; padding:6cqw; background:#1c100bea; }
#v3k-root .vk-alfred-preview article { padding:4cqw; max-width:70cqw; background:#3c291d; border:1px solid #cca46b; border-radius:12px; color:#f3dfc0; }
#v3k-root .vk-alfred-preview h2 { font:400 clamp(32px,5cqw,60px)/1.1 var(--vk-display); }
#v3k-root .vk-alfred-preview p { font-size:clamp(16px,2cqw,24px); line-height:1.6; color:#e7cfa9; }
#v3k-root .vk-alfred-preview button { min-height:54px; margin-top:2cqw; }
#v3k-root .vk-event-description .vk-feature-cover { max-height:25cqw; }
@container (max-width:620px) {
  #v3k-root .vk-destination-grid { grid-template-columns:1fr; }
  #v3k-root .vk-destination-card img { height:200px; }
  #v3k-root .vk-feature-facts { grid-template-columns:1fr; }
  #v3k-root .vk-feature-checks { grid-template-columns:1fr; }
  #v3k-root .vk-guest-grid button { font-size:14px; }
  #v3k-root .vk-alfred-preview article { max-width:none; padding:24px; }
  #v3k-root .vk-event-description { padding-left:3cqw; }
}
