/* HH Tours Booking — scoped, mobile-first. All selectors under .hhb */
.hhb{
	--hhb-gold:#e9b520;
	--hhb-gold-dark:#d58d00;
	--hhb-green:#19331b;
	--hhb-green-dark:#112413;
	--hhb-green-soft:#769254;
	--hhb-ink:#101010;
	--hhb-paper:#faf9f0;
	--hhb-line:rgba(16,16,16,.14);
	--hhb-muted:#6b6b6b;
	--hhb-radius:14px;
	--hhb-shadow:0 18px 50px -24px rgba(16,16,16,.45);
	max-width:640px;margin:0 auto;padding:0 4px;
	font-family:"TEXT NORMAL","Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	color:var(--hhb-ink);line-height:1.5;
	-webkit-font-smoothing:antialiased;
}
.hhb *,.hhb *::before,.hhb *::after{box-sizing:border-box}

.hhb-form,.hhb-done{
	background:#fff;border:1px solid var(--hhb-line);border-radius:var(--hhb-radius);
	box-shadow:var(--hhb-shadow);padding:22px 18px 20px;
}

.hhb-head{text-align:center;margin-bottom:14px}
.hhb-title{
	font-family:"HEADING","TEXT BOLD","Manrope",sans-serif;
	font-size:clamp(24px,6vw,34px);line-height:1.12;margin:0 0 8px;letter-spacing:.4px;
	color:var(--hhb-green);
}
.hhb-sub{margin:0 auto;max-width:44ch;color:var(--hhb-muted);font-size:14.5px}
.hhb-context{
	margin:12px auto 0;display:inline-block;padding:6px 12px;border-radius:999px;
	background:rgba(233,181,32,.16);color:var(--hhb-green);font-size:13px;
}
.hhb-context strong{color:var(--hhb-ink)}

.hhb-progress{margin:16px 2px 20px}
.hhb-progress-bar{height:6px;border-radius:999px;background:rgba(16,16,16,.08);overflow:hidden}
.hhb-progress-fill{display:block;height:100%;width:16.66%;background:linear-gradient(90deg,var(--hhb-gold),var(--hhb-gold-dark));transition:width .35s ease}
.hhb-progress-label{margin-top:8px;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--hhb-muted)}

.hhb-step{display:none;animation:hhb-fade .3s ease}
.hhb-step.is-active{display:block}
@keyframes hhb-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.hhb-q{
	font-family:"HEADING","TEXT BOLD",sans-serif;font-size:18px;margin:0 0 14px;
	text-transform:uppercase;letter-spacing:1.2px;color:var(--hhb-ink);
}

.hhb-field{margin-bottom:12px}
.hhb-label{display:block;font-size:12.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--hhb-muted);margin-bottom:6px}
.hhb-select,.hhb-field input,.hhb-field textarea{
	width:100%;padding:13px 14px;border:1px solid var(--hhb-line);border-radius:10px;
	font:inherit;color:var(--hhb-ink);background:#fff;appearance:none;
}
.hhb-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23101010' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.hhb-field textarea{resize:vertical;min-height:120px}
.hhb-select:focus,.hhb-field input:focus,.hhb-field textarea:focus{outline:none;border-color:var(--hhb-gold);box-shadow:0 0 0 3px rgba(233,181,32,.25)}

.hhb-grid{display:grid;grid-template-columns:1fr;gap:12px}

.hhb-cards{display:grid;grid-template-columns:1fr;gap:10px}
.hhb-card{position:relative;display:block;cursor:pointer}
.hhb-card input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.hhb-card-body{
	display:flex;align-items:center;min-height:52px;padding:12px 16px;
	border:1.5px solid var(--hhb-line);border-radius:12px;background:var(--hhb-paper);
	font-weight:500;transition:border-color .15s,background .15s,transform .05s;
}
.hhb-card:hover .hhb-card-body{border-color:var(--hhb-green-soft)}
.hhb-card input:checked + .hhb-card-body{border-color:var(--hhb-gold);background:#fff;box-shadow:0 0 0 3px rgba(233,181,32,.22)}
.hhb-card input:focus-visible + .hhb-card-body{border-color:var(--hhb-gold)}

.hhb-steppers{display:grid;grid-template-columns:1fr;gap:14px}
.hhb-stepper{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1.5px solid var(--hhb-line);border-radius:12px;background:var(--hhb-paper)}
.hhb-count{display:flex;align-items:center;gap:10px}
.hhb-count input{width:56px;text-align:center;padding:8px 4px;border:1px solid var(--hhb-line);border-radius:8px;font:inherit;background:#fff}
.hhb-inc,.hhb-dec{
	width:38px;height:38px;border-radius:50%;border:1.5px solid var(--hhb-green);
	background:var(--hhb-green);color:#fff;font-size:20px;line-height:1;cursor:pointer;
	display:flex;align-items:center;justify-content:center;
	-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;
	transition:background .12s,border-color .12s;
}
.hhb-inc:hover,.hhb-dec:hover{background:var(--hhb-green-dark);border-color:var(--hhb-green-dark)}

.hhb-err{display:block;color:#b3261e;font-size:12.5px;margin:6px 2px 0;min-height:1em}
.hhb-form-err{color:#b3261e;font-size:13.5px;text-align:center;margin:12px 0 0;min-height:1em}

.hhb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.hhb-nav{display:flex;gap:10px;margin-top:20px}
.hhb-btn{
	appearance:none;border:0;cursor:pointer;font:inherit;font-weight:600;letter-spacing:1.2px;
	text-transform:uppercase;padding:15px 22px;border-radius:999px;transition:transform .05s,opacity .15s,background .15s;
}
.hhb-btn:active{transform:translateY(1px)}
.hhb-next,.hhb-submit{margin-left:auto;background:var(--hhb-ink);color:#fff}
.hhb-submit:hover{background:var(--hhb-green)}
.hhb-next{background:var(--hhb-green);color:#fff}
.hhb-next:hover{background:var(--hhb-green-dark)}
.hhb-back{background:transparent;color:var(--hhb-muted);border:1.5px solid var(--hhb-line)}
.hhb-back:hover{color:var(--hhb-ink);border-color:var(--hhb-ink)}
.hhb-btn[disabled]{opacity:.55;cursor:default}

/* confirmation */
.hhb-done{text-align:center}
.hhb-done-badge{font-size:44px;line-height:1;margin-bottom:6px}
.hhb-done-title{font-family:"HEADING","TEXT BOLD",sans-serif;font-size:clamp(22px,5.5vw,30px);color:var(--hhb-green);margin:0 0 6px}
.hhb-done-ref{font-size:15px;margin:0 0 18px;letter-spacing:.5px}
.hhb-done-ref strong{background:rgba(233,181,32,.18);padding:3px 10px;border-radius:8px}
.hhb-summary{list-style:none;margin:0 0 20px;padding:0;text-align:left;border:1px solid var(--hhb-line);border-radius:12px;overflow:hidden}
.hhb-summary li{display:flex;justify-content:space-between;gap:14px;padding:11px 14px;font-size:14px}
.hhb-summary li + li{border-top:1px solid var(--hhb-line)}
.hhb-summary li span{color:var(--hhb-muted);text-transform:uppercase;font-size:11.5px;letter-spacing:.6px;align-self:center}
.hhb-summary li strong{text-align:right}
.hhb-wa{display:block;background:#25d366;color:#0b3d20;text-align:center;text-decoration:none}
.hhb-wa:hover{background:#1fbe5b}
.hhb-done-note{color:var(--hhb-muted);font-size:13px;margin:12px 0 0}

@media(min-width:560px){
	.hhb-grid{grid-template-columns:1fr 1fr}
	.hhb-cards{grid-template-columns:1fr 1fr}
	.hhb-steppers{grid-template-columns:1fr 1fr}
	.hhb-form,.hhb-done{padding:30px 28px 26px}
}

/* --- Brand-green enforcement ------------------------------------------------
   The form renders inside Elementor / ElementsKit / Kadence, whose button and
   control CSS loads AFTER this file and matches bare `button` /
   `.elementor button` selectors at equal-or-higher specificity, which is why
   the Continue button and the +/- steppers were still showing a theme
   (blue-ish) colour. These rules are scoped under `.hhb`, raised in
   specificity (class,class,element,class) and marked !important on the colour
   properties ONLY, so the Heavenly Horizons forest green is pinned on just the
   booking form's Continue button and Adults/Children steppers - no other
   element on the page, and no layout/size/spacing/typography, is touched. */
.hhb .hhb-nav button.hhb-next{
	background:var(--hhb-green)!important;
	border-color:var(--hhb-green)!important;
	color:#fff!important;
}
.hhb .hhb-nav button.hhb-next:hover,
.hhb .hhb-nav button.hhb-next:focus-visible{
	background:var(--hhb-green-dark)!important;
	border-color:var(--hhb-green-dark)!important;
}
.hhb .hhb-count button.hhb-inc,
.hhb .hhb-count button.hhb-dec{
	background:var(--hhb-green)!important;
	border-color:var(--hhb-green)!important;
	color:#fff!important;
}
.hhb .hhb-count button.hhb-inc:hover,
.hhb .hhb-count button.hhb-dec:hover,
.hhb .hhb-count button.hhb-inc:focus-visible,
.hhb .hhb-count button.hhb-dec:focus-visible{
	background:var(--hhb-green-dark)!important;
	border-color:var(--hhb-green-dark)!important;
}

/* --- intl-tel-input (customer phone country selector) ---------------------- */
.hhb .iti{display:block;width:100%}
.hhb .iti__tel-input,.hhb .hhb-field-phone input[type=tel]{width:100%}
.hhb .iti--separate-dial-code .iti__selected-dial-code{color:var(--hhb-ink);font:inherit;margin-right:2px}
.hhb .iti__country-container{outline-color:var(--hhb-gold)}
/* body-attached dropdown lives OUTSIDE .hhb; .iti__ classes are library-namespaced */
.iti--fullscreen-popup .iti__dropdown-content,.iti__dropdown-content{z-index:99999}
.iti__country.iti__highlight{background:rgba(25,51,27,.10)}
.iti__country[aria-selected=true]{background:rgba(25,51,27,.16)}
.iti__search-input:focus{outline:2px solid var(--hhb-green,#19331b);outline-offset:-2px}
