/* Sub-pages (documents, privacy, thank-you): the same cork board, but a normal scrolling page */
body.sub-page{background:var(--cork) url(assets/cork-tile.jpg) 0 0/688px auto;min-height:100vh;display:flex;flex-direction:column}
.sub{flex:1;display:flex;flex-direction:column;align-items:center;gap:44px;padding:calc(var(--nav-h) + 56px) 16px 70px}
.sub .notice{width:min(100%,860px)}
.sub .notice.plaque{width:max-content;max-width:100%}
.sub .notice.sticky{width:min(100%,560px)}
.sub .notice.sticky a,.sub .notice.paper a{color:var(--purple);font-weight:700}
.sub-title{text-align:center}
.doc .pad{gap:14px}
.doc .pad h2:not(:first-child){margin-top:12px}
.doc-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.doc-actions .btn-small{align-self:auto}
.doc-actions .btn-small .ico{width:18px;height:18px}
.doc-logo{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.doc-logo img{width:min(220px,40%);height:auto;filter:drop-shadow(3px 6px 6px rgba(0,0,0,.35))}
.doc-logo>div{flex:1 1 260px;display:flex;flex-direction:column;gap:12px}
.viewer summary{cursor:pointer;font:700 15px var(--font-body);color:var(--purple);padding:6px 0}
.viewer iframe,.pdf-embed{width:100%;height:600px;border:3px solid var(--ink);border-radius:6px;background:#fff;margin-top:8px}
.thanks{overflow:visible}
.thanks .pad{padding:34px 40px 40px}
.steps-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin:6px 0}
.steps-list li{display:flex;align-items:center;gap:14px;font-size:17px;line-height:1.4;color:#3A2D4C}
.steps-list b{width:40px;height:40px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font:900 20px var(--font-display);color:var(--ink);flex:none}
.sub-foot{background:var(--wood);border-top:8px solid var(--wood-dark);padding:20px 16px;color:var(--paper);font:14px var(--font-type);text-align:center}
.sub-foot p{margin:0}
.sub-foot a{color:var(--gold)}
.sub .peeker{z-index:3}
.has-peek-top{margin-top:90px}
@media (max-width:899px){
  .sub{padding-top:calc(60px + 40px);gap:38px}
  .thanks .pad{padding:26px 22px 30px}
  .viewer iframe,.pdf-embed{height:460px}
  body.sub-page{padding-bottom:0}
}
.sub .notice a.btn{color:#fff}
.sub .notice a.btn-ghost{color:var(--ink)}
.sub .notice a.btn-ghost:hover{color:var(--paper)}
html body.sub-page{padding-bottom:0}
.sub:has(.thanks){padding-top:calc(var(--nav-h) + 130px)}

/* ---------- Availability checker ---------- */
.av-card .pad{gap:20px}
.av-field{display:flex;flex-direction:column;gap:8px;border:0;padding:0;margin:0}
.av-field legend{padding:0;margin-bottom:6px}
.av-field label small{display:block;color:#6a5c7c;font-weight:400}
.av-field input[type=text],.av-field input[type=url],.av-field input[type=date]{width:100%;font:17px var(--font-body);color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:6px;padding:14px 16px}
.av-field input:focus{outline:3px solid var(--gold);outline-offset:2px}
.av-maps summary{cursor:pointer;color:var(--purple);font:700 15px var(--font-body);padding:4px 0}
.av-maps-row{display:flex;gap:10px;margin-top:8px}
.av-maps-row .btn-small{align-self:auto;white-space:nowrap}
.av-pkgs{display:grid;gap:10px}
.av-pkg{display:flex;gap:12px;align-items:flex-start;background:#fff;border:2px solid var(--ink);border-radius:8px;padding:12px 14px;cursor:pointer}
.av-pkg:has(input:checked){background:#FFF3C4;border-color:var(--red);box-shadow:0 0 0 2px var(--red) inset}
.av-pkg input{margin-top:5px;width:18px;height:18px;accent-color:var(--red);flex:none}
.av-pkg b{display:block;font-size:17px}
.av-pkg small{display:block;color:#5b4b6e;font-size:14px;line-height:1.35}
.av-custom{display:flex;gap:14px;align-items:center;padding-top:6px}
.av-custom input{flex:1;accent-color:var(--red)}
.av-custom output{font:700 17px var(--font-body);min-width:90px}
.av-error{background:#FFF1B8;border-radius:6px;padding:12px 16px;font-size:15px;margin:0}
.av-results{display:flex;flex-direction:column;align-items:center;gap:40px;width:100%}
.av-results .notice.av-card{width:min(100%,860px)}
.av-loading{font:700 22px var(--font-hand);margin:0}
.av-travel{background:#E8F6D8;border-radius:6px;padding:12px 16px}
.av-travel:empty{display:none}
.av-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-top:6px}
.av-day{background:#fff;border:2px solid var(--ink);border-radius:8px;padding:12px;rotate:calc(var(--r,0)*1deg)}
.av-day header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:10px}
.av-day header b{font:900 18px var(--font-display);color:var(--purple-deep)}
.av-day header small{color:#6a5c7c;font-size:12px}
.av-price{margin-left:auto;font:900 16px var(--font-display);color:var(--red)}
.av-day.none{background:#f2ede1;border-style:dashed;opacity:.75}
.av-none{font-size:14px;color:#6a5c7c}
.av-slots{display:flex;flex-wrap:wrap;gap:6px;max-height:220px;overflow:auto}
.av-slot{font:700 14px var(--font-body);padding:7px 10px;border-radius:6px;border:2px solid var(--ink);background:var(--sticky-yellow);color:var(--ink);cursor:pointer}
.av-slot:hover{background:#FFD84A}
.av-slot.on{background:var(--red);color:#fff;border-color:var(--red)}
.av-confirm{width:min(100%,560px);gap:12px}
.av-confirm .body{margin:0}
.av-note{font-size:13px;color:#5b4b6e;margin:0}
@media (max-width:899px){.av-maps-row{flex-direction:column}.av-days{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.av-days{grid-template-columns:1fr}}

/* ---------- Location pages / areas hub / young adults ---------- */
.small-print{font-size:13px;line-height:1.4;color:#6a5c7c}
.cta-line{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.cta-line .btn-small{align-self:auto}
.fact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font:500 15px/1.4 var(--font-body);color:var(--ink)}
.fact-list li{padding-left:16px;position:relative}
.fact-list li::before{content:"✦";position:absolute;left:0;top:0;color:#B8860B}
.loc-quote{margin:0;display:flex;flex-direction:column;gap:6px}
.venues summary{cursor:pointer;font:700 15px var(--font-body);color:var(--purple);padding:6px 0}
.venue-list{list-style:none;margin:8px 0 0;padding:0;columns:2 220px;column-gap:28px;font-size:15px;line-height:1.55;color:#3A2D4C}
.venue-list li{break-inside:avoid}
.loc-grid{list-style:none;margin:6px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.loc-card{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px 18px;background:#fff;border:2px solid var(--ink);border-radius:8px;text-decoration:none;color:var(--ink);box-shadow:3px 4px 0 rgba(0,0,0,.18);transition:transform .15s}
.loc-card:hover{transform:translateY(-2px) rotate(-.5deg)}
.loc-card span{font-size:14px;color:#6a5c7c}
.sub .notice a.loc-card{color:var(--ink);font-weight:400}
