/* ══ Excursions By M5TECH ══ */
:root {
  --exc-teal:   #0F828C;
  --exc-purple: #352469;
  --exc-light:  #f0fafb;
  --exc-border: #e5e7eb;
  --exc-text:   #1e1e2e;
  --exc-muted:  #6b7280;
  --exc-grad:   linear-gradient(135deg,#352469,#0F828C);
  --exc-font:   'Segoe UI',system-ui,sans-serif;
}

/* ── Archive / Shop ─────────────────────────── */
.excm5-view-btn {
  display:inline-block; margin-top:8px;
  background:var(--exc-grad); color:#fff !important;
  padding:10px 20px; border-radius:8px; font-size:13px;
  font-weight:700; text-decoration:none !important;
  font-family:var(--exc-font); transition:opacity .15s;
}
.excm5-view-btn:hover { opacity:.88; }

/* ── Quantity label ─────────────────────────── */
.excm5-qty-label {
  display:block; font-size:13px; font-weight:700;
  color:var(--exc-purple); margin-bottom:6px;
}

/* ── Extra Services Section ─────────────────── */
.excm5-extras-section {
  margin:24px 0 20px; padding:20px;
  background:var(--exc-light); border-radius:12px;
  border:1.5px solid var(--exc-border); font-family:var(--exc-font);
}
.excm5-extras-title { font-size:16px; font-weight:800; color:var(--exc-purple); margin:0 0 4px !important; }
.excm5-extras-sub   { font-size:13px; color:var(--exc-muted); margin:0 0 16px !important; }
.excm5-extras-grid  { display:flex; flex-direction:column; gap:10px; }

.excm5-extra-option {
  display:flex; align-items:center; gap:14px;
  background:#fff; border:2px solid var(--exc-border);
  border-radius:10px; padding:14px 16px;
  cursor:pointer; transition:border-color .15s,box-shadow .15s;
  user-select:none;
}
.excm5-extra-option:hover { border-color:var(--exc-teal); }
.excm5-extra-option input[type=checkbox] { display:none; }

/* Checked state using :has() — supported in all modern browsers */
.excm5-extra-option:has(input:checked) {
  border-color:var(--exc-teal);
  background:var(--exc-light);
  box-shadow:0 0 0 3px rgba(15,130,140,.08);
}

.excm5-extra-option__icon {
  width:44px; height:44px; min-width:44px;
  background:var(--exc-light); border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--exc-border); transition:background .15s;
}
.excm5-extra-option__icon svg { width:24px; height:24px; stroke:var(--exc-teal); fill:none; stroke-width:1.8; }
.excm5-extra-option:has(input:checked) .excm5-extra-option__icon { background:var(--exc-teal); border-color:var(--exc-teal); }
.excm5-extra-option:has(input:checked) .excm5-extra-option__icon svg { stroke:#fff; }

.excm5-extra-option__body   { flex:1; min-width:0; }
.excm5-extra-option__name   { font-size:14px; font-weight:700; color:var(--exc-text); display:block; }
.excm5-extra-option__desc   { font-size:12px; color:var(--exc-muted); margin-top:2px; }
.excm5-extra-option__price  { font-size:14px; font-weight:800; color:var(--exc-teal); white-space:nowrap; flex-shrink:0; }

.excm5-extra-option__check {
  width:24px; height:24px; min-width:24px; border-radius:50%;
  border:2px solid var(--exc-border); display:flex;
  align-items:center; justify-content:center; transition:all .15s;
}
.excm5-extra-option__check svg { stroke:#fff; opacity:0; }
.excm5-extra-option:has(input:checked) .excm5-extra-option__check { background:var(--exc-teal); border-color:var(--exc-teal); }
.excm5-extra-option:has(input:checked) .excm5-extra-option__check svg { opacity:1; }

.excm5-extras-total {
  margin-top:14px; padding:10px 14px;
  background:#fff; border-radius:8px; border:1px solid var(--exc-border);
  font-size:13px; color:var(--exc-muted);
  display:flex; justify-content:space-between; align-items:center;
}
#excm5-extras-total-val { font-size:16px; font-weight:800; color:var(--exc-teal); }

/* ── Cart extras ────────────────────────────── */
.excm5-cart-extras {
  list-style:none; margin:8px 0 0 !important; padding:10px 14px !important;
  background:var(--exc-light); border-radius:8px;
  border-left:3px solid var(--exc-teal);
  display:flex; flex-direction:column; gap:5px;
}
.excm5-cart-extra {
  display:flex; align-items:center; gap:8px;
  font-size:12px; color:var(--exc-text);
}
.excm5-cart-extra__icon { display:flex; align-items:center; flex-shrink:0; }
.excm5-cart-extra__icon svg { width:16px; height:16px; stroke:var(--exc-teal); fill:none; }
.excm5-cart-extra__dot { color:var(--exc-teal); font-size:18px; line-height:1; }
.excm5-cart-extra__label { flex:1; font-weight:600; }
.excm5-cart-extra__price { font-weight:700; color:var(--exc-teal); white-space:nowrap; }
.excm5-extras-note { display:block; font-size:11px; color:var(--exc-muted); margin-top:4px; }
