/* =========================================================
   VANHIKERS – CLEAN PREMIUM CSS (OPTIMIZED)
   Goals:
   - Remove duplicates / conflicts
   - Reduce over-specific selectors
   - Keep behavior identical: no prices, premium cards,
     fixed image height, FREE EVENT badge, premium checkout,
     premium thank-you RSVP card + community block, urgency stock banner
   ========================================================= */

/* ------------------------------
   0) DESIGN TOKENS
   ------------------------------ */
:root{
  --vh-bg: #f6f6f6;
  --vh-card: #fff;
  --vh-text: #111;
  --vh-border: #eaeaea;
  --vh-border-soft: #eee;
  --vh-shadow: 0 12px 40px rgba(0,0,0,.06);
  --vh-shadow-hover: 0 16px 42px rgba(0,0,0,.12);
  --vh-radius-lg: 22px;
  --vh-radius-md: 18px;
  --vh-radius-sm: 14px;
  --vh-pill: 999px;
}

/* ---------------------------------------------------------
   1) SHOP / CATEGORY PAGE
   --------------------------------------------------------- */
.post-type-archive-product .woocommerce-products-header__title,
.post-type-archive-product .page-title,
.post-type-archive-product h1{
  display:none !important;
}

/* ---------------------------------------------------------
   2) GLOBAL: HIDE PRICES EVERYWHERE
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   3) PREMIUM EVENT CARDS (LISTING / ARCHIVE)
   --------------------------------------------------------- */
.product-small.col .col-inner{
  background:var(--vh-card);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  transition:transform .18s ease, box-shadow .18s ease;
}
.product-small.col .col-inner:hover{
  transform:translateY(-3px);
  box-shadow:var(--vh-shadow-hover);
}

/* Fixed image height + cover */
.product-small .box-image{
  position:relative;
  display:block;
  height:260px;
  overflow:hidden;
  border-radius:20px 20px 0 0;
}
.product-small .box-image .image-fade_in_back,
.product-small .box-image a{ display:block; height:100%; }
.product-small .box-image img{
  width:100%;
  height:100% !important;
  object-fit:cover;
  display:block;
}

/* Text area */
.product-small .box-text-products{ padding:16px 18px 18px; }

/* Flatsome inline equal-height cleanup */
.product-small .box-text-products[style]{ height:auto !important; }

/* Optional event date */
.product-small .event-date{
  margin:0 0 8px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8a8a8a;
}

/* Title */
.product-small .name.product-title{
  margin:0 0 14px;
  font-size:20px;
  font-weight:700;
  line-height:1.3;
}
.product-small .name.product-title a{
  color:var(--vh-text);
  text-decoration:none;
}

/* ---------------------------------------------------------
   4) FREE EVENT BADGE (LISTING + SINGLE)
   --------------------------------------------------------- */
.product-small .box-image,
.woocommerce-product-gallery{
  position:relative !important;
}

.product-small .box-image::before,
.woocommerce-product-gallery::before{
  content:"VANHIKERS HIKE";
  position:absolute;
  top:14px;
  left:14px;
  z-index:9999;
  padding:8px 14px;

  background:rgba(20,40,30,.85);
  color:#fff;

  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 10px 25px rgba(0,0,0,.18);

  border-radius:var(--vh-pill);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  pointer-events:none;
}

/* ---------------------------------------------------------
   5) LOOP BUTTON VISIBILITY (MOBILE BACK CACHE FIX)
   --------------------------------------------------------- */
.products .add-to-cart-button a.button,
.products .add-to-cart-button a.button:visited,
.products .add-to-cart-button a.button.added,
.products .add-to-cart-button a.button.loading{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.products a.added_to_cart{ display:none !important; }

/* Premium CTA */
.vh-event-btn{
  display:block;
  width:100%;
  text-align:center;
  padding:14px 16px;
  border-radius:var(--vh-radius-sm);
  border:1px solid rgba(17,17,17,.35);
  background:#fff;
  color:var(--vh-text);
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:12px;
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.vh-event-btn:hover{
  transform:translateY(-1px);
  background:var(--vh-text);
  color:#fff;
  border-color:var(--vh-text);
  text-decoration:none;
}

/* ---------------------------------------------------------
   6) SINGLE EVENT PRODUCT
   --------------------------------------------------------- */
/* Hide store-y elements (but KEEP price visible on single product) */
.single-product .ux-quantity,
.single-product .share-icons{
  display:none !important;
}


/* Remove hero banner */
.single-product .shop-page-title.product-page-title{ display:none !important; }

/* Booking card */
.single-product .product-info.summary{
  background:var(--vh-card);
  border:1px solid var(--vh-border-soft);
  border-radius:16px;
  padding:22px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}

/* Button premium */
.single-product .single_add_to_cart_button{
  width:100%;
  border-radius:12px;
  font-weight:800;
  padding:14px 16px;
  text-transform:none;
  margin-top:16px !important;
}

/* Short description */
.single-product .product-short-description p{
  font-size:15px;
  line-height:1.6;
  opacity:.92;
}

/* Tabs cleaner */
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2{
  display:none !important;
}

/* ---------------------------------------------------------
   7) STOCK / CARPOOL URGENCY BANNER
   --------------------------------------------------------- */
.single-product p.stock.in-stock,
.single-product p.stock.out-of-stock{
  margin:14px 0 !important;
  padding:12px 14px !important;
  border-radius:var(--vh-radius-sm) !important;
  font-weight:900 !important;
  letter-spacing:.2px;
  display:flex;
  align-items:center;
  gap:10px;
}

.single-product p.stock.in-stock{
  background:#fff5f5 !important;
  border:1px solid #ffd2d2 !important;
  color:var(--vh-text) !important;
}
.single-product p.stock.in-stock::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:var(--vh-pill);
  background:var(--vh-text);
  display:inline-block;
  animation:vhPulse 1.2s infinite;
}
@keyframes vhPulse{
  0%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.35); opacity:.55; }
  100%{ transform:scale(1); opacity:1; }
}

.single-product p.stock.out-of-stock{
  background:#f3f3f3 !important;
  border:1px solid #e1e1e1 !important;
  color:var(--vh-text) !important;
  opacity:.9;
}

/* ---------------------------------------------------------
   9) CHECKOUT – FULL WIDTH + PREMIUM
   --------------------------------------------------------- */
body.woocommerce-checkout #main.page-checkout-simple{
  background:var(--vh-bg);
  padding:24px 0;
}

/* Make checkout wide */
body.woocommerce-checkout #main.page-checkout-simple .container{
  max-width:1180px !important;
  width:100% !important;
  padding-left:20px !important;
  padding-right:20px !important;
}

/* Two-column grid + sticky summary */
@media (min-width:992px){
  body.woocommerce-checkout #main.page-checkout-simple form.checkout .row{
    display:grid !important;
    grid-template-columns:1.25fr .85fr !important;
    gap:20px !important;
    align-items:start !important;
  }
  body.woocommerce-checkout #main.page-checkout-simple form.checkout .large-7,
  body.woocommerce-checkout #main.page-checkout-simple form.checkout .large-5{
    width:auto !important;
    max-width:none !important;
    flex:initial !important;
  }
  body.woocommerce-checkout #main.page-checkout-simple .checkout-sidebar{
    position:sticky !important;
    top:90px !important;
  }
}

body.woocommerce-checkout .checkout-breadcrumbs{ display:none !important; }

/* Header alignment */
body.woocommerce-checkout #main.page-checkout-simple .cart-header{
  max-width:1180px !important;
  margin:0 auto 14px !important;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}

/* Cards */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .col-inner.is-well{
  background:var(--vh-card) !important;
  border:1px solid var(--vh-border) !important;
  border-radius:var(--vh-radius-md) !important;
  box-shadow:var(--vh-shadow) !important;
  padding:18px !important;
}

/* Headings */
body.woocommerce-checkout h3{
  font-weight:900 !important;
  letter-spacing:.2px;
}

/* Inputs */
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea.input-text{
  border-radius:12px !important;
  border:1px solid #e6e6e6 !important;
  padding:12px !important;
  background:#fafafa !important;
  box-shadow:none !important;
}
body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout textarea.input-text:focus{
  background:#fff !important;
  border-color:#cfcfcf !important;
}

/* Order review table */
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead{ display:none !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table th{
  border-top:1px solid var(--vh-border-soft) !important;
  padding:12px 0 !important;
}

/* Variation block */
body.woocommerce-checkout .variation{
  margin-top:10px !important;
  padding:10px 12px !important;
  border-radius:12px !important;
  background:#f7f7f7 !important;
}
body.woocommerce-checkout .variation dt{ font-weight:900 !important; }

/* Total emphasis */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td{
  font-size:16px !important;
  font-weight:900 !important;
}

/* Place order */
body.woocommerce-checkout #place_order{
  width:100% !important;
  border-radius:12px !important;
  padding:14px 16px !important;
  font-weight:900 !important;
  text-transform:none !important;
}

/* Privacy text */
body.woocommerce-checkout .woocommerce-privacy-policy-text{
  font-size:13px !important;
  opacity:.85;
  margin-top:10px;
}

/* Order notes hidden (keep if desired) */
body.woocommerce-checkout .woocommerce-additional-fields{ display:none !important; }

/* ---------------------------------------------------------
   10) BUTTONS – FORCE BLACK (archive + single + checkout)
   --------------------------------------------------------- */
.post-type-archive-product .add-to-cart-button a.button,
.single-product .single_add_to_cart_button,
.woocommerce-checkout #place_order{
  background-color:var(--vh-text) !important;
  border-color:var(--vh-text) !important;
  color:#fff !important;
}
.post-type-archive-product .add-to-cart-button a.button:hover,
.single-product .single_add_to_cart_button:hover,
.woocommerce-checkout #place_order:hover{
  background-color:#000 !important;
  border-color:#000 !important;
  color:#fff !important;
}

/* Disclaimer box */
.vanhikers-disclaimer{
  margin:16px 0;
  padding:14px 16px;
  background:#f7f7f7;
  border-radius:12px;
  border:1px solid #e4e4e4;
}
.vanhikers-disclaimer small{
  display:block;
  margin-top:4px;
  font-size:13px;
  opacity:.85;
}

/* ---------------------------------------------------------
   11) THANK YOU (ORDER RECEIVED) – PREMIUM RSVP CARD
   --------------------------------------------------------- */
body.woocommerce-order-received #main.page-checkout-simple{
  background:var(--vh-bg);
  padding:28px 0;
}
body.woocommerce-order-received #main.page-checkout-simple .container{
  max-width:1180px !important;
  width:100% !important;
  padding-left:20px !important;
  padding-right:20px !important;
}

/* Hide any default Woo blocks (you’re using custom card) */
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .order-again,
body.woocommerce-order-received .woocommerce-notice--success{
  display:none !important;
}

/* If theme still renders a two-col wrapper, hide right col */
.woocommerce-order-received #main .woocommerce-order .large-5.col{
  display:none !important;
}
.woocommerce-order-received #main .woocommerce-order .large-7.col{
  width:100% !important;
  max-width:900px;
  margin:0 auto;
  float:none !important;
}

/* Custom RSVP card */
.vh-rsvp-wrap{
  max-width:820px;
  margin:0 auto;
  padding:0 20px;
}
.vh-rsvp-card{
  background:var(--vh-card);
  border:1px solid var(--vh-border);
  border-radius:var(--vh-radius-lg);
  box-shadow:0 14px 55px rgba(0,0,0,.08);
  padding:26px;
  position:relative;
}
.vh-rsvp-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:var(--vh-pill);
  background:var(--vh-text);
  color:#fff;
  font-weight:900;
  letter-spacing:.12em;
  font-size:11px;
}
.vh-rsvp-title{
  margin:14px 0 10px;
  font-size:28px;
  font-weight:900;
  line-height:1.2;
  color:var(--vh-text);
}
.vh-rsvp-sub{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  font-size:14px;
  opacity:.85;
}
.vh-rsvp-divider{
  height:1px;
  background:var(--vh-border-soft);
  margin:18px 0;
}
.vh-rsvp-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
@media (min-width:900px){
  .vh-rsvp-grid{ grid-template-columns:1fr 1fr; }
}
.vh-rsvp-block{
  border:1px solid var(--vh-border-soft);
  border-radius:16px;
  padding:16px;
  background:#fafafa;
}
.vh-rsvp-label{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:900;
  opacity:.65;
  margin-bottom:8px;
}
.vh-rsvp-value{
  font-size:18px;
  font-weight:900;
  margin-bottom:6px;
}
.vh-rsvp-muted{
  font-size:14px;
  opacity:.8;
}
.vh-rsvp-btn{
  display:inline-block;
  margin-top:12px;
  width:100%;
  text-align:center;
  padding:14px 16px;
  border-radius:var(--vh-radius-sm);
  background:var(--vh-text);
  color:#fff;
  font-weight:900;
  text-decoration:none;
}
.vh-rsvp-btn:hover{
  background:#000;
  color:#fff;
}
.vh-rsvp-note{
  margin-top:16px;
  font-size:13px;
  opacity:.75;
}

/* Community block */
.vh-community-card{
  margin-top:16px;
  padding:16px 18px;
  border:1px solid var(--vh-border);
  border-radius:var(--vh-radius-md);
  background:var(--vh-card);
  box-shadow:var(--vh-shadow);
}
.vh-community-title{
  font-weight:900;
  letter-spacing:.2px;
  font-size:16px;
  margin-bottom:6px;
}
.vh-community-text{
  font-size:14px;
  line-height:1.55;
  opacity:.9;
  margin-bottom:12px;
}
.vh-community-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.vh-community-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:12px;
  text-decoration:none !important;
  font-weight:900;
  letter-spacing:.2px;
  border:1px solid var(--vh-text);
  background:var(--vh-text);
  color:#fff !important;
}
.vh-community-btn--meetup{
  background:#fff;
  color:var(--vh-text) !important;
}
.vh-community-btn--meetup:hover{
  background:var(--vh-text);
  color:#fff !important;
}
.vh-community-foot{
  margin-top:10px;
  font-size:12.5px;
  opacity:.75;
}

/* ---------------------------------------------------------
   12) Small header icon polish
   --------------------------------------------------------- */
.vh-header-contact.icon-only{
  padding:8px 10px;
  border-radius:50%;
}

/* =========================================================
   OPTIONAL SUPPORT ON PRODUCT PAGE
   Note: YITH WAPO pill styling removed (not in use).
   Checkout support styling remains (see later section).
   ========================================================= */

/* ===============================
   VanHikers – Clean Support Pills
   =============================== */

/oo adds "price: 0" class) */
.woocommerce ul.products li.product.price\3a 0 .price,
.single-product.price\3a 0 .summary .price{
  display:none !important;
}

/* Add FREE label on product cards */
.woocommerce ul.products li.product.price\3a 0 .box-text-products::after{
  content:"FREE";
  display:inline-block;
  margin-top:10px;
  padding:7px 12px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-weight:900;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Add FREE label on single product page */
.single-product.price\3a 0 .product-info.summary::before{
  content:"FREE EVENT";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
  padding:8px 14px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-weight:900;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}


/* =========================================================
   HIDE PRICES ON CATALOG CARDS (Flatsome)
   - Shop / category / tag / search loops only
   - Keeps single product price visible
   ========================================================= */

/* Any product listing pages */
.post-type-archive-product .product-small .price,
.post-type-archive-product .product-small .price-wrapper,
.post-type-archive-product .product-small .woocommerce-Price-amount,

/* Category + tag archives */
.tax-product_cat .product-small .price,
.tax-product_cat .product-small .price-wrapper,
.tax-product_cat .product-small .woocommerce-Price-amount,
.tax-product_tag .product-small .price,
.tax-product_tag .product-small .price-wrapper,
.tax-product_tag .product-small .woocommerce-Price-amount,

/* Search results */
.search-results .product-small .price,
.search-results .product-small .price-wrapper,
.search-results .product-small .woocommerce-Price-amount{
  display:none !important;
}
/* =========================================================
   FORCE SHOW PRICE ON SINGLE PRODUCT (Flatsome + Woo)
   Put at the very bottom so it wins.
   ========================================================= */
.single-product .summary .price,
.single-product .summary .price-wrapper,
.single-product .summary .product-page-price,
.single-product .summary .woocommerce-Price-amount,
.single-product .single_variation .price,
.single-product .single_variation .woocommerce-Price-amount{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* If theme outputs the price inline and it looks weird, this keeps it clean */
.single-product .summary .price{
  margin:10px 0 0 !important;
}

/* Hide single product price only for FREE events */
body.vh-free-product.single-product .summary .price,
body.vh-free-product.single-product .summary .price-wrapper{
  display:none !important;
}

/* =========================================================
   CHECKOUT – OPTIONAL COMMUNITY SUPPORT (COMPACT)
   ========================================================= */

/* tighten the whole support box */
.vh-support-wrap{
  padding:10px 12px !important;
  border-radius:12px !important;
}

/* smaller title/subtitle */
.vh-support-title{
  font-size:12.5px !important;
  font-weight:900 !important;
}
.vh-support-sub{
  font-size:11.5px !important;
  opacity:.7 !important;
}

/* pills smaller */
.vh-pill{
  padding:7px 12px !important;
  font-size:12.5px !important;
}

/* make Clear look like a small link */
.vh-clear{
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  font-size:12px !important;
  opacity:.7 !important;
  text-decoration:underline !important;
  width:auto !important;
  display:inline-block !important;
  margin-top:6px !important;
}
.vh-clear:hover{
  opacity:1 !important;
}

/* =========================================================
   VANHIKERS – WAIVER MODAL (PREMIUM)
   ========================================================= */

.vh-waiver-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:999999;
  padding:18px;
}

.vh-waiver-modal-inner{
  max-width:740px;
  margin:60px auto;
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}

.vh-waiver-modal-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 16px;
  border-bottom:1px solid #eee;
}

.vh-waiver-close{
  border:none;
  background:transparent;
  font-size:18px;
  cursor:pointer;
  padding:6px 10px;
  border-radius:10px;
}
.vh-waiver-close:hover{
  background:#f3f3f3;
}

.vh-waiver-modal-body{
  padding:16px;
  max-height:55vh;
  overflow:auto;
  font-size:14px;
  line-height:1.65;
}

.vh-waiver-modal-body p{
  margin:0 0 12px;
}

.vh-waiver-modal-foot{
  padding:14px 16px;
  border-top:1px solid #eee;
}

.vh-waiver-accept{
  width:100%;
  border-radius:12px;
  padding:12px 14px;
  font-weight:900;
  background:#111;
  color:#fff;
  border:none;
  cursor:pointer;
}

.vh-waiver-accept:disabled{
  opacity:.4;
  cursor:not-allowed;
}

/* Make the "read and accept" link look nice */
.vanhikers-disclaimer .vh-open-waiver{
  text-decoration:underline;
  font-weight:800;
}

.vanhikers-disclaimer{
  cursor:pointer;
}
.vanhikers-disclaimer a{
  cursor:pointer;
}
.vanhikers-disclaimer label{ cursor:pointer; }
.vanhikers-disclaimer input[type="checkbox"]{ cursor:pointer; }


/* Hide Woo labels since we show our own pill labels */
.variations_form .variations th.label {
  display: none !important;
}

/* Make row cleaner without the label column */
.variations_form .variations td.value {
  padding-left: 0 !important;
}

/* --- tighter layout for variation pills area --- */
.variations_form .variations{
  margin: 0 !important;
}

.variations_form .variations tr{
  padding: 0 !important;
}

.variations_form .variations th,
.variations_form .variations td{
  padding: 4px 0 !important;
  border: 0 !important;
}

.vh-var-row{
  margin-top: 4px !important;
}

.vh-var-label{
  margin-bottom: 6px !important;
  font-size: 13px;
  font-weight: 650;
  opacity: .9;
}

/* pills spacing */
.vh-var-pills{
  gap: 6px !important;
  margin: 0 !important;
}

.vh-var-pill{
  padding: 7px 12px !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

/* reduce space before add-to-cart button */
.single_variation_wrap{
  margin-top: 8px !important;
}

.woocommerce-variation-add-to-cart{
  margin-top: 8px !important;
}

.single_add_to_cart_button{
  margin-top: 6px !important;
}
/* --- Put final variation price ABOVE the button --- */
.single_variation_wrap{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ensure the price shows and looks clean */
.woocommerce-variation.single_variation{
  order: 1;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-variation-price{
  font-size: 18px;
  font-weight: 750;
  margin: 0 !important;
}

.woocommerce-variation-availability{
  margin-top: 4px !important;
}

/* button block below */
.woocommerce-variation-add-to-cart{
  order: 2;
  margin: 0 !important;
}
/* Hide price range under title */
.product-info .price-wrapper{
  display:none !important;
}

/* Hide the RANGE price under title (keep variation price) */
.single-product .product-info.summary .price-wrapper,
.single-product .product-info.summary > .price,
.single-product .summary .product-page-price{
  display:none !important;
}

/* Tighten spacing between Transport / Pickup / Price / Button */
.single-product form.variations_form .vh-var-row{ margin:10px 0 !important; }
.single-product form.variations_form .vh-var-label{ margin:0 0 6px !important; }
.single-product form.variations_form .single_variation_wrap{ margin-top:8px !important; gap:8px !important; }
.single-product form.variations_form .woocommerce-variation{ margin:0 !important; padding:0 !important; }
.single-product form.variations_form .woocommerce-variation-add-to-cart{ margin:0 !important; padding:0 !important; }
.single-product form.variations_form .single_add_to_cart_button{ margin-top:6px !important; }

/* Custom final price box (above button) */
.vh-final-price{
  margin-top:4px;
  padding:10px 12px;
  border:1px solid #eee;
  border-radius:12px;
  background:#fafafa;
}
.vh-final-price-label{
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.65;
  margin-bottom:4px;
}
.vh-final-price-value{
  font-size:18px;
  font-weight:900;
}

/* Hide ONLY stale price + availability */
.vh-hide-variation-ui .woocommerce-variation-price,
.vh-hide-variation-ui .woocommerce-variation-availability{
  display: none !important;
}

/* === Hide native variation dropdowns (keep for Woo logic) === */
.variations_form select.vh-hidden-select {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Hide "Choose an option" spacing */
.variations_form .variations td.value > select.vh-hidden-select {
  margin: 0 !important;
}

/* Force pill button styling (Flatsome overrides) */
.vh-var-pill{
  appearance:none !important;
  -webkit-appearance:none !important;
  border:1px solid rgba(0,0,0,.18) !important;
  background:#fff !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  font-size:13px !important;
  line-height:1 !important;
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  box-shadow:0 1px 0 rgba(0,0,0,.03) !important;
}

.vh-var-pill:hover{
  border-color:rgba(0,0,0,.35) !important;
  transform:translateY(-1px);
}

.vh-var-pill.is-active{
  border-color:rgba(0,0,0,.85) !important;
  background:rgba(0,0,0,.05) !important;
  font-weight:900 !important;
}

/* disabled pills */
.vh-var-pill:disabled{
  opacity:.35 !important;
  cursor:not-allowed !important;
  transform:none !important;
}
/* Hide native variation dropdowns but keep them for Woo */
.variations_form select.vh-hidden-select{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
  overflow:hidden !important;
}

.variations_form .reset_variations{
  display:none !important;
}
.vh-pickup-hidden{
  display:none;
}


/* ===== VanHikers: Registration Countdown (Urgency Version) ===== */
.vh-reg-box{
  position: relative;
  overflow: hidden;
  border-radius: 18px !important;
  padding: 14px 16px !important;
  margin: 14px 0 18px 0 !important;
  background: #0f0f10 !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.20);
}

/* subtle shine */
.vh-reg-box:before{
  content:"";
  position:absolute;
  inset:-40% -20%;
  background: radial-gradient(circle at 20% 20%, rgba(255,255,255,.12), transparent 40%);
  transform: rotate(12deg);
  pointer-events:none;
}

/* Header label */
.vh-reg-box > div:first-child{
  display:flex;
  align-items:center;
  gap:10px;
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-weight: 900;
  margin-bottom: 10px;
  color: rgba(255,255,255,.92);
}

/* Pulsing "live" dot */
.vh-reg-box > div:first-child:before{
  content:"";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 0 rgba(34,197,94,.6);
  animation: vhPulse 1.2s infinite;
}
@keyframes vhPulse{
  0%{ box-shadow: 0 0 0 0 rgba(34,197,94,.55); }
  70%{ box-shadow: 0 0 0 10px rgba(34,197,94,0); }
  100%{ box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}

/* Big urgency headline */
.vh-reg-box .vh-urgency-title{
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 10px 0;
  letter-spacing: .01em;
}

/* Timer pill */
#vh-reg-timer{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  font-weight: 900;
  font-size: 15px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: .03em;
}

/* Optional supporting text */
.vh-reg-box .vh-reg-subtext{
  margin-top: 10px;
  color: rgba(255,255,255,.75);
  font-size: 13px;
  line-height: 1.35;
}

/* ===== VanHikers: Minimal White Progress Bar ===== */
.vh-progress-wrap{
  margin-top: 12px;
  height: 6px;
  background: rgba(255,255,255,.18);
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.25);
}

.vh-progress-bar{
  height: 100%;
  width: 0%;
  background: #ffffff; /* PURE WHITE */
  border-radius: 999px;
  transition: width .4s ease;
}
/* Mobile */
@media (max-width: 480px){
  .vh-reg-box{ padding: 12px 12px !important; border-radius: 16px !important; }
  .vh-reg-box .vh-urgency-title{ font-size: 16px; }
  #vh-reg-timer{ width: 100%; }
}


.single-product .vh-single-event-date{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8a8a8a;
}


/* Hide only the map embed that contains q=49.272... */
.single-product #tab-description iframe[src*="google.com/maps"][src*="q=49.2820396"]{
  display: none !important;
}

