
:root{--vt-accent:#c9ae6a}
.vt-btn{border:1px solid var(--vt-accent);border-radius:999px;padding:.5rem 1rem;font-weight:600;cursor:pointer}
.vt-btn--primary{background:var(--vt-accent);color:#111;border-color:var(--vt-accent)}
.vt-note{opacity:.8;font-size:.85rem}

/* Floating action buttons */
.vt-fab{position:fixed;right:1rem;bottom:1rem;border-radius:50%;height:56px;width:56px;border:none;box-shadow:0 12px 32px rgba(0,0,0,.18);font-weight:800;z-index:9999}
.vt-fab--ai{background:var(--vt-accent)}
.vt-fab--a11y{right:4.5rem;background:#111;color:#fff}
.vt-fab--teaser{right:8rem;background:var(--vt-accent)}

/* AI panel */
.vt-ai{position:fixed;right:1rem;bottom:5rem;width:min(420px,92vw);background:#fff;border-radius:1rem;box-shadow:0 24px 64px rgba(0,0,0,.2);display:none;z-index:9999}
.vt-ai.is-open{display:block}
.vt-ai__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.06)}
.vt-ai__body{padding:1rem}
.vt-ai__contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.5rem 0}
.vt-ai__contact{display:flex;align-items:center;gap:.5rem;border:1px solid rgba(0,0,0,.08);padding:.6rem .75rem;border-radius:.75rem}
.vt-ai__input{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:start}
.vt-ai__log{margin-top:.5rem;max-height:240px;overflow:auto;border:1px solid rgba(0,0,0,.08);padding:.5rem;border-radius:.5rem}

/* Cookie banner (Dorchester inspired) */
.vt-cookie-banner{position:fixed;inset-inline:0;bottom:0;background:rgba(0,0,0,.85);color:#fff;padding:1rem;z-index:10000}
.vt-cookie-banner__inner{width:min(980px,94vw);margin:0 auto;display:flex;align-items:center;gap:1rem}
.vt-cookie-actions{margin-left:auto;display:flex;gap:.5rem}
.vt-cookie-actions .vt-btn{border:1px solid #fff;background:#fff;border-radius:999px;padding:.45rem .9rem;cursor:pointer}
.vt-cookie-actions .vt-btn--alt{background:transparent;color:#fff}
.vt-cookie-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;place-items:center;z-index:10001}
.vt-cookie-modal.is-open{display:grid}
.vt-cookie-modal__panel{background:#fff;border-radius:1rem;width:min(820px,95vw);max-height:90vh;overflow:auto;padding:1rem 1.25rem}
.vt-cookie-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee;padding:.6rem 0}

/* Accessibility helpers */
html.vt-a11y-high{filter:contrast(1.25)}
html.vt-a11y-highlight a{outline:2px dotted var(--vt-accent);text-decoration:underline}
html.vt-a11y-big{font-size:112%}
html.vt-a11y-hideimg img{opacity:.15}
html.vt-a11y-reading *:not(p,h1,h2,h3,h4,h5,h6){opacity:.8}
html.vt-a11y-stop *{-webkit-animation:none!important;animation:none!important;transition:none!important}

/* Booking TEASER (right side panel) */
.vt-teaser{position:fixed;inset:0;display:none;z-index:9998}
.vt-teaser.is-open{display:block}
.vt-teaser::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.55)}
.vt-teaser__panel{position:absolute;right:0;top:0;height:100%;width:min(440px,92vw);background:#fff;border-left:4px solid var(--vt-accent);padding:1rem 1.25rem;overflow:auto}
.vt-teaser__head{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0 1rem 0;border-bottom:1px solid rgba(0,0,0,.06)}
.vt-field{display:flex;flex-direction:column;margin:.5rem 0}
.vt-inline{display:flex;gap:.75rem}
.vt-adv summary{cursor:pointer;margin:.5rem 0}
