/* ---------- buttons ---------- */
.btn{padding:13px 22px;font-size:.95rem;border-radius:14px;line-height:1.2;text-align:center;letter-spacing:.01em}
.btn svg{width:19px;height:19px;flex:none}
.btn-wa{background:linear-gradient(135deg,#25b04a,#1a8a35);box-shadow:0 8px 20px rgba(31,157,58,.28)}
.btn-wa:hover{background:linear-gradient(135deg,#1f9d3a,#157a2d)}
.btn-brown{background:linear-gradient(135deg,#5a3218,#3b1d0b)}
.ride .actions{display:grid;grid-template-columns:auto 1fr;gap:8px}
.ride .actions .btn{padding:11px 12px;font-size:.88rem;white-space:nowrap;min-width:0}
.ride .actions .btn-line{border-width:1.5px}
@media (max-width:600px){
  .btn{padding:12px 16px;font-size:.92rem}
  .btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:10px;width:100%}
  .btns .btn{width:100%}
  .hero .btns{grid-template-columns:1fr}
  .hero .btns .btn{padding:14px 18px}
  .ride .actions .btn{padding:11px 12px;font-size:.85rem;gap:7px}
  .ride .actions .btn svg{width:17px;height:17px}
}

/* ---------- brand icons ---------- */
.ic{width:1em;height:1em;flex:none}
.ei{display:inline-block;vertical-align:-.15em;width:1.1em;height:1.1em;color:#c98a1e;margin-inline-end:.35em}
.feat .ico{background:linear-gradient(145deg,#4a2510,#2e1507);border:1px solid rgba(232,169,58,.35);color:var(--gold);font-size:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.feat .ico .ic{width:26px;height:26px}
.section:not(.dark) .feat .ico{background:var(--brown)}
.section.dark .ei,.incl .ei,.camp .ei,.cta-box .ei,.banner .ei,.band .ei,.side-cta .ei{color:var(--gold)}
.info-card h4 .ei{width:22px;height:22px;padding:5px;box-sizing:content-box;border-radius:9px;background:var(--brown);color:var(--gold)}
.badge .ei{color:var(--gold);margin-inline-end:.3em}
.badge.gold .ei{color:var(--brown)}
.info-list li{position:relative;padding-inline-start:64px;min-height:58px}
.info-list li .ei{position:absolute;inset-inline-start:16px;top:14px;width:18px;height:18px;padding:7px;box-sizing:content-box;border-radius:10px;background:rgba(232,169,58,.15);color:#b4770f;margin:0}
.bk h3 .ei{width:22px;height:22px;color:#c98a1e}
@media (max-width:600px){
  .feat{display:grid;grid-template-columns:52px 1fr;column-gap:14px;padding:20px;align-items:start}
  .feat .ico{grid-row:span 2;width:52px;height:52px;margin:0}
  .feat h3{margin:2px 0 4px;font-size:1.05rem}
  .feat p{font-size:.92rem}
  .feats{gap:14px}
}

/* ---------- booking / contact form ---------- */
.form-card{position:relative;border:1px solid #efe4d2;padding:clamp(22px,4vw,38px);box-shadow:0 24px 60px rgba(59,29,11,.12);overflow:hidden}
.form-card::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--brown),var(--gold),var(--brown))}
.form-grid{gap:18px 16px}
.form-card label{font-size:.82rem;font-weight:700;letter-spacing:.02em;margin-bottom:8px;color:var(--brown-2)}
.form-card input,.form-card select,.form-card textarea{background:#faf6ee;border:1.5px solid #eadfcc;border-radius:14px;padding:14px 16px;font-size:.98rem;min-height:52px;transition:border-color .2s,box-shadow .2s,background .2s}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(232,169,58,.18)}
.form-card input::placeholder,.form-card textarea::placeholder{color:#b3a38c}
.fld{position:relative}
.fld .fi{position:absolute;inset-inline-start:15px;top:50%;transform:translateY(-50%);width:19px;height:19px;color:#c98a1e;pointer-events:none}
.fld input,.fld select{padding-inline-start:46px}
[dir=rtl] .fld input[type=email],[dir=rtl] .fld input[type=tel]{padding-right:46px;padding-left:16px}
.form-card select{appearance:none;-webkit-appearance:none;padding-inline-end:44px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233b1d0b' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:18px;background-position:right 16px center}
[dir=rtl] .form-card select{background-position:left 16px center}
.form-card input[type=date]{cursor:pointer}
.form-card input[type=date]::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}
.stepper{display:flex;align-items:stretch;background:#faf6ee;border:1.5px solid #eadfcc;border-radius:14px;overflow:hidden;min-height:52px}
.stepper:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(232,169,58,.18)}
.stepper input{border:0!important;box-shadow:none!important;background:transparent!important;text-align:center;font-weight:700;font-size:1.1rem;color:var(--brown);min-width:0;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.st-btn{flex:none;width:52px;border:0;background:var(--brown);color:var(--gold);font-size:1.5rem;font-weight:600;cursor:pointer;transition:.2s;font-family:var(--fb)}
.st-btn:hover{background:var(--brown-2)}
.chipset{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.chip-r{position:relative;margin:0;cursor:pointer}
.chip-r input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;min-height:0}
.chip-r span{display:flex;align-items:center;gap:9px;padding:13px 14px;border-radius:14px;border:1.5px solid #eadfcc;background:#faf6ee;font-weight:600;font-size:.92rem;color:var(--brown);transition:.2s;line-height:1.25;min-height:52px}
.chip-r span .ic{width:20px;height:20px;color:#c98a1e}
.chip-r:hover span{border-color:var(--gold)}
.chip-r input:checked+span{background:var(--brown);border-color:var(--brown);color:var(--cream);box-shadow:0 8px 18px rgba(59,29,11,.22)}
.chip-r input:checked+span .ic{color:var(--gold)}
.chip-r input:focus-visible+span{box-shadow:0 0 0 4px rgba(232,169,58,.3)}
.form-card .btn[type=submit]{min-height:58px;font-size:1.05rem;border-radius:16px;margin-top:10px;letter-spacing:.02em}
.form-hint{display:flex;align-items:center;justify-content:center;gap:6px}
@media (max-width:600px){
  .form-card{border-radius:20px}
  .chip-r span{padding:12px;font-size:.88rem}
}
