/* Shinezo homepage repair: styles match the actual index.php class names */
.hero-shell{position:relative;isolation:isolate;overflow:hidden;padding:34px 22px 42px;background:linear-gradient(118deg,#fff8fa 0%,#f8edf1 48%,#f2e7ed 100%);min-height:560px}
.hero-bg{position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 13% 15%,rgba(156,136,50,.15),transparent 34%),radial-gradient(ellipse at 82% 72%,rgba(120,22,56,.14),transparent 38%),linear-gradient(135deg,transparent 58%,rgba(255,255,255,.72));}
.hero-inner{width:min(100%,1320px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,510px);gap:clamp(24px,4vw,58px);align-items:center;position:relative}
.hero-copy{padding:42px 0 48px;max-width:660px}.hero-copy .eyebrow,.booking-card .eyebrow{color:#9c8832}.hero-copy h1{color:#351b29;font:800 clamp(38px,4.5vw,62px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-1.3px;margin:14px 0 18px}.hero-copy h1 em{color:#8e173d;font-style:normal}.hero-copy p{color:#6b5961;font-size:16px;line-height:1.8;max-width:590px}.hero-points,.hero-points span{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero-points{margin-top:25px}.hero-points span{background:#fff;border:1px solid #eadde2;color:#573443;border-radius:30px;padding:9px 13px;font-size:12px;font-weight:700;box-shadow:0 5px 16px rgba(68,18,39,.06)}
/* Decorative local hero artwork: no remote image dependency */
.hero-copy:after{content:'🚘';display:flex;align-items:center;justify-content:center;position:absolute;right:530px;bottom:18px;width:116px;height:76px;border-radius:50%;font-size:56px;opacity:.95;filter:drop-shadow(0 12px 10px rgba(45,18,30,.16));pointer-events:none}
.booking-card{width:100%;max-width:510px;background:#fff;border:1px solid #eadde2;border-radius:22px;padding:24px;box-shadow:0 22px 60px rgba(58,20,37,.16);color:#2d1d25;position:relative;z-index:2}
.booking-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.booking-head h2{font:800 24px/1.2 Poppins,Arial,sans-serif;color:#781638;margin:4px 0 0}.booking-head .easy{font-size:11px;color:#277b4c;background:#edf8f1;padding:7px 10px;border-radius:30px;white-space:nowrap}
.steps{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr;align-items:center;gap:3px;margin:0 0 21px;padding:12px 10px;background:#fbf4f7;border-radius:13px}.steps>b{height:2px;background:#dfcbd3}.steps .step{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;color:#8b7880;font-size:11px;font-weight:700;white-space:nowrap}.steps .step i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e9dce2;color:#70515e;font-style:normal;font-size:11px;flex:0 0 25px}.steps .step.active{color:#781638}.steps .step.active i,.steps .step.done i{background:#781638;color:#fff}
.booking-card form{margin:0}.wizard-panel{display:none!important}.wizard-panel.active{display:block!important}.wizard-panel h3{font-size:17px;color:#351b29;margin:0 0 13px}.trip-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0 15px}.trip-switch label{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid #eadde2;border-radius:10px;background:#fff;color:#553b47;font-size:11px;font-weight:700;cursor:pointer}.trip-switch label:has(input:checked){border-color:#9b3157;background:#fbf1f5;color:#781638}.trip-switch input{accent-color:#781638;margin:0}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid>label{display:block;min-width:0;color:#684653;font-size:11px;font-weight:700}.field-grid input,.field-grid select,.field-grid textarea{display:block;width:100%;min-width:0;margin-top:5px;padding:11px 12px;border:1px solid #dfd0d7;border-radius:9px;background:#fff;color:#30232a;font:400 12px Poppins,Arial,sans-serif;outline:none;min-height:42px}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus{border-color:#9b3157;box-shadow:0 0 0 3px rgba(155,49,87,.1)}.field-grid textarea{resize:vertical}.field-grid .full{grid-column:1/-1}.return-field.hidden{display:none!important}
.step-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}.form-hint,.subtext{font-size:11px;color:#83727a;line-height:1.5}.btn-primary,.btn-light,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;padding:11px 16px;font:700 12px Poppins,Arial,sans-serif;cursor:pointer;text-decoration:none}.btn-primary{background:linear-gradient(110deg,#781638,#a8325d);color:#fff;box-shadow:0 7px 16px rgba(120,22,56,.18)}.btn-primary:hover{filter:brightness(.95);transform:translateY(-1px)}.btn-light{background:#f7edf1;color:#781638}.text-button{background:transparent;color:#781638;padding:7px 8px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-title h3{margin-bottom:0}.vehicle-list{display:grid;gap:9px;margin:15px 0}.vehicle-card{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #eadde2;border-radius:12px;cursor:pointer}.vehicle-card:has(input:checked){border-color:#9b3157;background:#fff7fa;box-shadow:0 0 0 2px rgba(155,49,87,.08)}.vehicle-card input{accent-color:#781638}.vehicle-icon{font-size:25px}.vehicle-info{display:grid;gap:3px;flex:1}.vehicle-info strong{font-size:13px;color:#351b29}.vehicle-info small{font-size:10px;color:#83727a}.vehicle-fare{font-size:11px;color:#781638;font-weight:700}.fare-note{margin-top:12px;padding:11px 12px;border-radius:10px;background:#fbf4e8;color:#66552a;font-size:11px;line-height:1.55}.review-card{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.review-card>div{padding:10px;border:1px solid #eadde2;border-radius:9px;background:#fff9fb}.review-card small{display:block;color:#8a747e;font-size:10px}.review-card strong{font-size:12px;color:#351b29}.consent{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:11px;color:#66545c}.consent input{accent-color:#781638;margin-top:3px}
.service-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;width:min(100% - 36px,1280px);margin:-12px auto 35px;position:relative;z-index:3}.service-strip>div{display:flex;align-items:center;justify-content:center;gap:9px;padding:15px 10px;border:1px solid #eadde2;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(68,18,39,.07);font-size:12px;color:#781638}.service-strip b{color:#49343d}
@media(max-width:1050px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(390px,470px);gap:22px}.hero-copy:after{display:none}.hero-shell{padding:25px 16px 35px}}
@media(max-width:820px){.hero-shell{padding:22px 14px 28px}.hero-inner{grid-template-columns:1fr;gap:18px}.hero-copy{padding:22px 4px 5px}.hero-copy h1{font-size:clamp(34px,8vw,48px)}.booking-card{max-width:none}.service-strip{grid-template-columns:repeat(2,1fr);margin:15px auto 28px}.service-strip>div:last-child{grid-column:1/-1}}
@media(max-width:520px){.booking-card{padding:16px;border-radius:16px}.booking-head h2{font-size:21px}.booking-head .easy{font-size:9px;padding:6px 8px}.steps{grid-template-columns:1fr 10px 1fr 10px 1fr 10px 1fr;padding:9px 5px;gap:1px}.steps .step{gap:4px;font-size:9px}.steps .step i{width:22px;height:22px;flex-basis:22px}.steps>b{height:1px}.trip-switch{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.field-grid .full{grid-column:auto}.step-actions{align-items:stretch;flex-wrap:wrap}.step-actions .btn-primary,.step-actions .btn-light{flex:1}.form-hint{flex-basis:100%}.review-card{grid-template-columns:1fr}.hero-copy p{font-size:14px}}


/* Approved Shinezo master booking hero — homepage only */
.hero-shell{
  padding:42px 24px 54px;
  min-height:610px;
  background:
    radial-gradient(ellipse at 72% 24%,rgba(255,210,160,.42),transparent 34%),
    radial-gradient(ellipse at 52% 70%,rgba(120,22,56,.16),transparent 38%),
    linear-gradient(112deg,#4e102b 0%,#781638 42%,#a74668 72%,#f6e8e8 100%);
  color:#fff;
}
.hero-bg{
  background:
    linear-gradient(90deg,rgba(61,8,30,.58),rgba(89,14,43,.18) 52%,rgba(255,255,255,.08)),
    radial-gradient(ellipse at 58% 18%,rgba(255,224,183,.32),transparent 35%);
}
.hero-inner{grid-template-columns:minmax(0,1fr) minmax(440px,530px);gap:clamp(26px,4vw,62px)}
.hero-copy{max-width:690px;padding:38px 0 52px}
.hero-copy .eyebrow{display:inline-flex;padding:8px 16px;border-radius:99px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#ffe7a3;letter-spacing:1.2px}
.hero-copy h1{color:#fff;font-size:clamp(42px,5vw,72px);line-height:1.02;text-shadow:0 8px 26px rgba(30,0,14,.18)}
.hero-copy h1 em{color:#ffd76e}
.hero-copy p{color:#fff;font-size:17px;max-width:560px}
.hero-points span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:#fff;backdrop-filter:blur(8px)}
.booking-card{max-width:530px;padding:25px 26px;border:2px solid #e5c36b;border-radius:24px;box-shadow:0 24px 65px rgba(28,0,13,.30)}
.booking-head h2{font-family:Georgia,serif;font-size:30px;color:#4e102b}
.booking-card .steps{background:#fbf1f4}
.booking-card .btn-primary{background:linear-gradient(100deg,#791537,#a51d48);box-shadow:0 9px 20px rgba(120,22,56,.22)}
.booking-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}
.booking-contact-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:13px;text-decoration:none;font-weight:800;font-size:14px;box-shadow:0 8px 18px rgba(45,12,26,.12)}
.booking-wa{background:#159b52;color:#fff}
.booking-call{background:#781638;color:#fff;border:1px solid #a74668}
.service-strip{margin-top:-1px;position:relative;z-index:3}
.routes-section{padding:76px 22px;background:linear-gradient(180deg,#fff 0%,#fff9fb 100%)}
.destination-region-grid{width:min(100%,1320px);margin:28px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.destination-region-card{background:#fff;border:1px solid #eadde2;border-radius:18px;padding:20px;box-shadow:0 12px 34px rgba(68,18,39,.08)}
.destination-region-head{display:flex;align-items:center;gap:10px;padding-bottom:13px;border-bottom:2px solid #9c8832;margin-bottom:10px}
.destination-region-head h3{margin:0;color:#781638;font-size:18px}
.region-mark{color:#9c8832;font-size:22px}
.region-count{margin-left:auto;color:#8a7880;font-size:11px;font-weight:700}
.destination-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}
.destination-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 6px;border-radius:8px;color:#4c3540;text-decoration:none;font-size:12px;line-height:1.4;border-bottom:1px solid #f4e9ed}
.destination-links a b{color:#9c8832}
.destination-links a:hover{background:#fbf1f4;color:#781638}
@media(max-width:900px){
 .hero-inner{grid-template-columns:1fr;max-width:720px}
 .hero-copy{padding:18px 0 4px}
 .booking-card{max-width:100%}
 .destination-region-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
 .hero-shell{padding:28px 14px 36px}
 .hero-copy h1{font-size:42px}
 .booking-card{padding:18px 15px}
 .booking-contact-actions{grid-template-columns:1fr 1fr}
 .destination-links{grid-template-columns:1fr}
 .destination-region-card{padding:16px}
}

/* Compact homepage booking form refresh */
.sc-home-booking{width:min(650px,100%);padding:22px!important;border-radius:20px!important;background:#fff!important;box-shadow:0 18px 48px rgba(5,35,70,.18)!important;border:1px solid #d8e6f5!important;color:#102b50!important}
.sc-home-booking .booking-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.sc-home-booking .booking-head h2{font-size:26px;margin:3px 0;color:#102b50}
.sc-home-subtitle{margin:4px 0 0;color:#64748b;font-size:13px}
.sc-home-trip{display:flex;gap:8px;margin:12px 0 15px}
.sc-home-trip label{flex:1;cursor:pointer}.sc-home-trip input{position:absolute;opacity:0}
.sc-home-trip span{display:block;text-align:center;padding:11px 14px;border:1px solid #b9d5f2;border-radius:10px;color:#17436e;font-weight:800;background:#f4f9ff}
.sc-home-trip input:checked+span{background:linear-gradient(120deg,#0877e8,#1556a5);color:#fff;border-color:#0877e8;box-shadow:0 5px 14px #0877e833}
.sc-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.sc-home-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;color:#243d5b;min-width:0}
.sc-home-grid input,.sc-home-grid select{width:100%;height:43px;border:1px solid #cbd8e7;border-radius:9px;padding:8px 10px;background:#fff;color:#122b49;font:600 13px inherit;min-width:0;box-sizing:border-box}
.sc-home-grid input:focus,.sc-home-grid select:focus{outline:2px solid #93c5fd;border-color:#0877e8}
.sc-home-return[hidden]{display:none!important}
.sc-home-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#52647b;margin:14px 0}.sc-home-consent input{margin-top:2px;accent-color:#0877e8}
.sc-home-submit{width:100%;min-height:48px;background:linear-gradient(120deg,#0877e8,#1556a5)!important;border-radius:10px!important;font-weight:900!important;box-shadow:0 7px 16px #0877e82e}
.sc-home-booking .booking-contact-actions{display:flex;gap:10px;margin-top:12px}.sc-home-booking .booking-contact-actions a{flex:1;text-align:center;border-radius:9px;padding:10px;font-weight:800}
@media(max-width:720px){.sc-home-booking{padding:16px!important}.sc-home-grid{grid-template-columns:1fr}.sc-home-booking .booking-head h2{font-size:22px}}

/* Homepage hero contrast fix: keep heading and copy readable on light hero backgrounds */
.hero-shell .hero-copy .eyebrow{color:#8e173d!important;text-shadow:none!important;background:rgba(255,255,255,.88)!important;border:1px solid rgba(142,23,61,.16)!important}
.hero-shell .hero-copy h1{color:#4e102b!important;text-shadow:none!important}
.hero-shell .hero-copy h1 em{color:#8e173d!important}
.hero-shell .hero-copy p{color:#334155!important;text-shadow:none!important}
.hero-shell .hero-copy .hero-points span{color:#334155!important;background:rgba(255,255,255,.94)!important;border:1px solid #dbe4ee!important}
