.progress{grid-template-columns:repeat(6,1fr)}
.past-event{background:#f7fafb;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:8px;padding:18px 20px;margin-bottom:20px}
.past-event strong,.past-event span{display:block}.past-event span{color:var(--blue);font-size:.86rem;margin-top:4px}.past-event p{color:var(--muted);font-size:.84rem;margin:8px 0}.past-event a{color:var(--blue);font-size:.84rem}
.proforma-box{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#edf6f7;border:1px solid #c9e0e4;padding:17px 20px;border-radius:9px;margin:20px 0}
.proforma-box strong,.proforma-box span{display:block}
.proforma-box span{color:var(--muted);font-size:.8rem;margin-top:3px}
label small{color:var(--muted);font-weight:400;line-height:1.4}
/* Keep required markers on the same line as their label text. The base label
   uses a column flex layout, which otherwise treats the marker as a new row. */
label:not(.check){display:block}
label:not(.check)>input,label:not(.check)>select,label:not(.check)>textarea{display:block;margin-top:7px}
.grid{align-items:end}
.form-section>label:not(.check){margin-bottom:18px}
@media(max-width:800px){.proforma-box{align-items:stretch;flex-direction:column}.proforma-box .btn{width:100%}}
.future-events{background:#f7fafb;border:1px solid var(--line);border-radius:8px;padding:16px 20px;margin:0 0 20px}.future-events h4{margin:0 0 10px;color:var(--navy)}.event-choice{padding:10px 0;border-top:1px solid var(--line)}.event-choice small{display:block;margin-top:3px}
.workshop-admin{background:white;border-radius:12px;padding:26px;margin:25px 0;box-shadow:var(--shadow)}.admin-workshop-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.admin-workshop-row span{display:block;color:var(--muted);font-size:.8rem}.admin-actions{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:800px){.admin-workshop-row,.admin-actions{align-items:stretch;flex-direction:column}.workshop-admin{padding:20px 15px}.future-events{padding:14px}}
.nav-link{text-decoration:none}.excursion-price{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:-8px 0 22px;padding:16px 18px;border:1px solid #efd8a5;border-left:4px solid var(--gold);border-radius:9px;background:#fff7e7}.excursion-price strong{color:var(--navy)}.excursion-price span{color:#664b16;font-size:.84rem;text-align:right}@media(max-width:600px){.excursion-price{align-items:flex-start;flex-direction:column}.excursion-price span{text-align:left}}
.official-payment{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:16px 18px;border:1px solid #c9e0e4;border-left:4px solid var(--blue);border-radius:9px;background:#edf6f7}.official-payment strong,.official-payment span{display:block}.official-payment span{margin-top:3px;color:var(--muted);font-size:.82rem}.separate-charge{margin:20px 0;padding:20px;border:1px solid #efd8a5;border-radius:10px;background:#fffaf0}.section-heading.compact{margin-bottom:14px}.section-heading.compact>span{width:32px;height:32px;font-size:.8rem}.events-view{padding-top:38px;padding-bottom:55px}.events-view .dashboard-head{align-items:flex-start}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.event-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:var(--shadow)}.event-card>span{color:var(--blue);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.event-card h3{margin:7px 0 10px;color:var(--navy)}.event-card p{color:var(--muted)}.event-card.featured{border-top:4px solid var(--gold)}.event-card.pending{background:#f7fafb;box-shadow:none}.event-price{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.event-price strong{color:var(--navy)}.event-price span{color:var(--muted);font-size:.84rem}.topbar>div{display:flex;flex-wrap:wrap;justify-content:flex-end}.btn[hidden]{display:none}
@media(max-width:800px){.official-payment{align-items:stretch;flex-direction:column}.official-payment .btn{width:100%;text-align:center}.event-grid{grid-template-columns:1fr}.event-price{grid-template-columns:1fr}.topbar{height:auto;min-height:60px;align-items:center;gap:4px;flex-wrap:wrap;padding-block:7px}.topbar>div{width:100%;gap:2px;justify-content:flex-start}.nav-link{padding:8px 9px}}
.whatsapp-support{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.whatsapp-fab{display:flex;align-items:center;gap:9px;border:0;border-radius:999px;padding:12px 18px;background:#138a4b;color:#fff;font:700 .88rem 'DM Sans',sans-serif;box-shadow:0 10px 30px rgba(8,76,40,.28);cursor:pointer;transition:transform .2s,box-shadow .2s}.whatsapp-fab:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(8,76,40,.34)}.whatsapp-fab:focus-visible,.whatsapp-close:focus-visible,.whatsapp-send:focus-visible{outline:3px solid #f4bd54;outline-offset:3px}.whatsapp-fab svg{width:24px;height:24px;fill:currentColor}.whatsapp-panel{position:absolute;right:0;bottom:64px;width:min(430px,calc(100vw - 36px));max-height:min(720px,calc(100vh - 105px));overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #cbdade;border-radius:18px;box-shadow:0 24px 70px rgba(9,35,60,.25)}.whatsapp-panel[hidden]{display:none}.whatsapp-panel-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:20px 20px 16px;background:#0c5030;color:#fff;border-radius:17px 17px 0 0}.whatsapp-panel-head h2{margin:2px 0 3px;font-family:'Libre Caslon Display',serif;font-size:1.55rem;font-weight:400}.whatsapp-panel-head p{margin:0;color:#d6eadf;font-size:.78rem}.whatsapp-kicker{font-size:.67rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#aee8c6}.whatsapp-close{flex:none;width:34px;height:34px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}.whatsapp-panel form{padding:18px 20px 20px}.whatsapp-panel label{margin-bottom:13px}.whatsapp-fields{display:grid;gap:12px}.whatsapp-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.whatsapp-recipient{margin:4px 0 13px;padding:11px 13px;border:1px solid #b9dfc8;border-left:4px solid #138a4b;border-radius:8px;background:#eff9f3;color:#244b34;font-size:.78rem}.whatsapp-recipient strong{display:block;color:#0c5030;font-size:.86rem}.whatsapp-preview{margin:0 0 13px;padding:12px;border-radius:9px;background:#f1f6f7;border:1px solid #d8e4e6}.whatsapp-preview>strong{display:block;margin-bottom:7px;color:var(--navy);font-size:.78rem}.whatsapp-preview pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:400 .75rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:#29404d}.whatsapp-programme-note,.whatsapp-privacy{margin:10px 0;color:var(--muted);font-size:.72rem;line-height:1.45}.whatsapp-programme-note{padding:9px 10px;border-radius:7px;background:#fff7e7;color:#664b16}.whatsapp-programme-note a{color:var(--blue)}.whatsapp-status{min-height:19px;margin:8px 0;font-size:.76rem;color:var(--danger)}.whatsapp-send{width:100%;border:0;border-radius:9px;padding:12px 16px;background:#138a4b;color:#fff;font:700 .9rem 'DM Sans',sans-serif;cursor:pointer}.whatsapp-send:hover{background:#0c7440}
@media(max-width:600px){.whatsapp-support{right:10px;bottom:max(10px,env(safe-area-inset-bottom))}.whatsapp-panel{position:fixed;left:10px;right:10px;bottom:76px;width:auto;max-height:calc(100vh - 92px);border-radius:15px}.whatsapp-panel-head{border-radius:14px 14px 0 0}.whatsapp-fields.two{grid-template-columns:1fr}.whatsapp-fab span{font-size:.8rem}}
.travel-page{background:#edf3f2}.travel-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#071e33 0%,#0d5d7b 58%,#1688a1 100%);color:#fff}.travel-hero:after{content:"";position:absolute;right:-90px;bottom:-170px;width:440px;height:440px;border:80px solid rgba(255,255,255,.06);border-radius:50%}.travel-hero-inner{min-height:285px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-block:55px;position:relative;z-index:1}.travel-hero h1{font:400 clamp(2.6rem,6vw,5.5rem)/.95 'Libre Caslon Display',serif;margin:.25rem 0 .8rem;max-width:760px}.travel-hero p:last-child{margin:0;color:#d6e7eb;max-width:620px}.travel-step{min-width:190px;padding:18px 20px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.travel-step span,.travel-step strong{display:block}.travel-step span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#cbe0e5}.travel-step strong{font-size:1.25rem;margin-top:4px;color:#ffd886}.travel-main{padding-block:50px 80px}.travel-intro{display:grid;grid-template-columns:1.6fr .75fr;gap:55px;align-items:start}.travel-intro h2{font:400 clamp(2rem,4vw,3.3rem)/1.05 'Libre Caslon Display',serif;color:var(--navy);margin:.3rem 0 1rem}.travel-intro>div>p:last-child{color:var(--muted);font-size:1.05rem}.travel-intro aside{display:grid;gap:8px;background:#fff;padding:22px 24px;border-radius:12px;border-top:4px solid var(--gold);box-shadow:var(--shadow)}.travel-intro aside strong{color:var(--navy);font-size:1.05rem}.travel-intro aside span{padding-left:18px;color:var(--muted);font-size:.84rem;position:relative}.travel-intro aside span:before{content:"";position:absolute;left:1px;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--sea)}.privacy-callout{margin:28px 0 20px;padding:18px 22px;border-left:4px solid var(--blue);border-radius:9px;background:#e5f1f3}.privacy-callout strong{color:var(--navy)}.privacy-callout p{margin:.3rem 0 0;color:#455d68;font-size:.88rem}.travel-lookup{grid-template-columns:1fr 200px 230px auto;margin-top:0}.span-all{grid-column:1/-1;margin:0}.travel-form{margin-top:28px}.travel-progress{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);color:#ffffff8c}.travel-progress span{padding:14px;text-align:center;font-size:.8rem;border-right:1px solid #ffffff1c}.travel-progress .active{color:#fff;border-bottom:3px solid var(--gold)}.record-banner{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;padding:17px 20px;border:1px solid #c9e0e4;border-radius:9px;background:#edf6f7}.record-banner small,.record-banner strong{display:block}.record-banner small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.record-banner strong{color:var(--navy);margin-top:3px}.choice-field{margin:0;padding:0;border:0}.choice-field legend{margin-bottom:14px;color:#344651;font-size:.9rem;font-weight:600}.choice-field legend b{color:var(--danger)}.choice{display:flex;flex-direction:row;align-items:flex-start;gap:12px;margin:10px 0;padding:15px 17px;border:1px solid var(--line);border-radius:9px;background:#fbfcfc;cursor:pointer}.choice:has(input:checked){border-color:var(--sea);background:#edf6f7;box-shadow:0 0 0 2px rgba(22,136,161,.1)}.choice input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--blue);flex:none}.choice span,.choice strong{display:block}.choice span{font-weight:400;color:var(--muted)}.choice strong{color:var(--navy)}.travel-form input[readonly]{background:#edf1f2;color:#53656d;cursor:not-allowed}.travel-form [hidden]{display:none!important}
@media(max-width:800px){.travel-hero-inner{min-height:250px;align-items:flex-start;flex-direction:column;justify-content:center}.travel-step{min-width:0;width:100%}.travel-intro{grid-template-columns:1fr;gap:22px}.travel-lookup{grid-template-columns:1fr}.record-banner{grid-template-columns:1fr}.travel-progress span{font-size:.7rem;padding:11px 5px}}
.travel-page{font-family:'DM Sans',sans-serif;color:var(--ink)}.travel-page .topbar{height:68px;background:rgba(255,255,255,.96);display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100% - 1100px)/2));position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.travel-page .brand{color:var(--navy);font-weight:700;text-decoration:none;letter-spacing:.08em}.travel-page .brand span{color:var(--gold);font-size:1.3em}.travel-page .nav-link{display:inline-block;text-decoration:none;padding:23px 14px;color:var(--muted);font:600 .88rem 'DM Sans',sans-serif;border-bottom:3px solid transparent}.travel-page .nav-link.active{color:var(--blue);border-color:var(--gold)}.travel-progress{grid-template-columns:repeat(3,1fr)}.record-banner{grid-template-columns:repeat(4,1fr);margin-bottom:0}.identity-source{display:flex;justify-content:space-between;gap:18px;margin:-6px 0 24px;padding:13px 16px;border-radius:8px;background:#f1f6f7;color:var(--muted);font-size:.82rem}.identity-source strong{color:var(--navy)}
@media(max-width:800px){.travel-page .topbar{height:auto;min-height:60px;align-items:center;gap:4px;flex-wrap:wrap;padding:7px 18px}.travel-page .topbar>div{width:100%;display:flex;gap:2px;justify-content:flex-start}.travel-page .nav-link{padding:8px 9px}.record-banner{grid-template-columns:repeat(2,1fr)}.identity-source{align-items:flex-start;flex-direction:column}}
