/* DummyTicket360 — Guides styles. Brand: pine #0B6B4F + paper #FBFAF7 + ink #16211C. */
:root{ --pine:#0B6B4F; --pine-d:#08543E; --pine-l:#12A46E; --pine-bg:#EAF5EF; --ink:#16211C; --muted:#5F6B64; --line:#E7E4DB; --paper:#FBFAF7; --gold:#B9822A; --gold-l:#D89B34; --card:#FFFFFF; --err:#B3261E }
*{ box-sizing:border-box }
body{ margin:0; font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; color:var(--ink); line-height:1.7; background:var(--paper); -webkit-font-smoothing:antialiased }
a{ color:var(--pine) }
.wrap{ max-width:760px; margin:0 auto; padding:0 20px }

/* header */
header{ border-bottom:1px solid var(--line); background:var(--paper); position:sticky; top:0; z-index:20 }
header .wrap{ display:flex; align-items:center; justify-content:space-between; height:64px; max-width:1000px }
.logo{ display:flex; align-items:center; gap:9px; text-decoration:none; font-weight:700; font-size:19px; color:var(--pine) }
.logo .icon{ width:28px; height:28px; border-radius:8px; background:var(--pine); display:grid; place-items:center }
.logo .icon svg{ width:16px; height:16px }
.logo span.b{ color:var(--ink) }
header .r a{ text-decoration:none; font-weight:700; font-size:15px }
header .btn{ background:var(--pine); color:#fff !important; padding:9px 18px; border-radius:999px }
header .btn:hover{ background:var(--pine-d) }

/* article */
article{ padding:36px 0 10px }
.eyebrow{ text-transform:uppercase; letter-spacing:1.5px; font-size:12px; font-weight:700; color:var(--pine); margin-bottom:10px }
article h1{ font-family:"Newsreader",Georgia,serif; font-size:clamp(28px,5vw,40px); line-height:1.15; letter-spacing:-.02em; margin:0 0 18px; text-wrap:balance; font-weight:500 }
article h2{ font-family:"Newsreader",Georgia,serif; font-size:clamp(22px,3.4vw,28px); line-height:1.25; margin:38px 0 12px; letter-spacing:-.01em; font-weight:500 }
article h3{ font-size:18px; margin:26px 0 8px; font-weight:700 }
article p{ font-size:17px; margin:0 0 16px; color:#2A3530 }
article ul{ padding-left:22px; margin:0 0 18px }
article li{ font-size:17px; margin:0 0 9px; color:#2A3530 }
article strong{ color:var(--ink) }
article em{ color:var(--muted) }
hr{ border:0; border-top:1px solid var(--line); margin:26px 0 }

/* callout / warning */
.callout{ background:var(--pine-bg); border:1px solid #C8E6D5; border-left:4px solid var(--pine); border-radius:12px; padding:16px 20px; margin:22px 0; font-size:16px }
.warn{ background:#FFF8E6; border:1px solid #F2E3B3; border-left:4px solid var(--gold); border-radius:12px; padding:16px 20px; margin:22px 0; font-size:16px; color:#5C4A12 }
.warn b{ color:#8A6D3B }

/* CTA buttons */
.cta{ text-align:center; margin:28px 0 }
.cta a{ display:inline-block; text-decoration:none; font-weight:700; font-size:17px; padding:16px 34px; border-radius:999px; color:#fff !important }
.cta .pine{ background:var(--pine) }
.cta .gold{ background:var(--gold) }
.cta a:hover{ filter:brightness(1.08) }

/* booking box */
.bookbox{ background:linear-gradient(180deg,var(--pine-bg),#DFF0E6); border:1.5px solid #C8E6D5; border-radius:18px; padding:22px; margin:30px 0; box-shadow:0 8px 30px rgba(11,107,79,.07); overflow:hidden }
.bookbox h3{ margin:0 0 4px; font-size:19px; color:var(--pine) }
.bookbox .sub{ margin:0 0 16px; color:var(--muted); font-size:14px }
.bb-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:end; overflow:hidden }
.bb-grid > div{ display:flex; flex-direction:column; min-width:0 }
.bb-grid .full{ grid-column:1 / -1 }
.bookbox label{ display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-bottom:5px }
.bookbox label .opt{ font-weight:400; text-transform:none; letter-spacing:0; color:var(--muted); opacity:.7 }
.bookbox input{ width:100%; max-width:100%; height:46px; padding:0 14px; border:1.5px solid var(--line); border-radius:11px; font-size:14px; font-family:inherit; background:#fff; color:var(--ink); -webkit-appearance:none; appearance:none; overflow:hidden; text-overflow:ellipsis; box-sizing:border-box }
.bookbox input[type="date"]{ line-height:46px; min-width:0 }
.bookbox input[type="number"]{ line-height:46px }
.bookbox input:focus{ outline:none; border-color:var(--pine); box-shadow:0 0 0 3px rgba(11,107,79,.12) }
.bb-btn{ grid-column:1 / -1; margin-top:4px; background:var(--pine); color:#fff; border:0; height:50px; padding:0 15px; border-radius:12px; font-size:16px; font-weight:700; cursor:pointer; font-family:inherit }
.bb-btn:hover{ background:var(--pine-d) }
.bb-note{ text-align:center; font-size:12.5px; color:var(--muted); margin:10px 0 0 }

/* comparison table */
.tblwrap{ overflow-x:auto; margin:22px 0; -webkit-overflow-scrolling:touch; border-radius:12px }
table.cmp{ border-collapse:collapse; width:100%; min-width:580px; font-size:15px }
table.cmp th, table.cmp td{ border:1px solid var(--line); padding:11px 14px; text-align:left; vertical-align:top }
table.cmp thead th{ background:var(--pine-bg); color:var(--pine); font-weight:700; font-size:14px }
table.cmp tbody th{ background:#F9F8F5; font-weight:700; white-space:nowrap }
table.cmp .yes{ color:#16a34a; font-weight:700 }
table.cmp .no{ color:#c0392b; font-weight:700 }
table.cmp .mid{ color:var(--gold); font-weight:700 }

/* numbered steps */
ol.steps{ padding-left:0; counter-reset:s; list-style:none; margin:18px 0 }
ol.steps li{ position:relative; padding:0 0 14px 46px; font-size:17px; color:#2A3530 }
ol.steps li::before{ counter-increment:s; content:counter(s); position:absolute; left:0; top:-2px; width:30px; height:30px; background:var(--pine); color:#fff; border-radius:50%; display:grid; place-items:center; font-weight:700; font-size:15px }

/* related + footer */
.related{ border-top:1px solid var(--line); margin-top:40px; padding-top:24px }
.related h3{ font-size:16px; text-transform:uppercase; letter-spacing:1px; color:var(--muted) }
.related a{ display:block; padding:9px 0; font-weight:600; text-decoration:none; border-bottom:1px solid var(--line); color:var(--pine) }
footer{ background:var(--ink); color:#A0ADA5; margin-top:50px; padding:30px 0 40px; font-size:13px; line-height:1.7 }
footer a{ color:#C8D5CD }
footer .fl{ display:flex; gap:18px; flex-wrap:wrap; margin-bottom:12px }
footer .fl a{ text-decoration:none; font-weight:600 }

/* guides index */
.ghead{ text-align:center; padding:44px 0 10px }
.ghead h1{ font-family:"Newsreader",Georgia,serif; font-size:clamp(30px,5vw,42px); margin:0 0 10px; letter-spacing:-.02em; font-weight:500 }
.ghead p{ color:var(--muted); font-size:18px; margin:0 auto; max-width:560px }
.glist{ display:grid; gap:16px; padding:24px 0 10px }
.gcard{ border:1.5px solid var(--line); border-radius:14px; padding:20px 22px; text-decoration:none; color:inherit; transition:.15s; display:block; background:var(--card) }
.gcard:hover{ border-color:var(--pine); box-shadow:0 8px 24px rgba(11,107,79,.07); transform:translateY(-2px) }
.gcard .tag{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--pine) }
.gcard h2{ font-family:"Newsreader",Georgia,serif; font-size:20px; margin:6px 0 6px; line-height:1.3; font-weight:500 }
.gcard p{ margin:0; color:var(--muted); font-size:15px }

@media(max-width:560px){ .bb-grid{ grid-template-columns:1fr } header .r a.support{ display:none } }