/* Site extras on top of theme-source.css — do not override split-hero/image-hero. */
.header-dropdown { display:none; position:absolute; left:0; top:100%; background:#fff; min-width:220px; padding:16px 20px; box-shadow:0 8px 24px rgba(0,0,0,.08); z-index:30; }
.header-nav__menu-item { position:relative; }
.header-nav__menu-item:hover .header-dropdown { display:block; }
.header-dropdown__menu { list-style:none; margin:0; padding:0; }
.header-dropdown__menu a { display:block; padding:6px 0; color:#111; text-decoration:none; }
.collection-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:24px 15px 64px; max-width:1600px; margin:0 auto; }
.product-card { display:flex; flex-direction:column; }
.product-card__gallery { position:relative; background:#f5f3f0; }
.product-card__gallery-image img { width:100%; height:auto; aspect-ratio:6/7; object-fit:cover; display:block; }
.product-card__gallery-image--alt { position:absolute; inset:0; opacity:0; transition:opacity .2s; }
.product-card__gallery:hover .product-card__gallery-image--alt { opacity:1; }
.product-card__info-title { font-size:15px; margin:12px 0 4px; }
.product-card__info-title a { color:#111; text-decoration:none; }
.banner__content-container { padding:48px 15px 8px; max-width:1600px; margin:0 auto; }
.banner__title { margin:0 0 8px; }
.pdp .product-gallery__image { margin:0 0 12px; background:#f5f3f0; }
.pdp .product-gallery__image img { width:100%; height:auto; display:block; }
.col-lg-6--gallery { padding-left:15px; padding-right:15px; }
.product-detail__atc .btn { width:100%; margin-bottom:8px; }
.quantity-adjuster { display:inline-flex; align-items:center; border:1px solid #ddd; margin:16px 0; }
.quantity-adjuster input { width:56px; height:40px; border:0; text-align:center; }
.quantity-adjuster button { width:36px; height:40px; border:0; background:#f5f3f0; }
.opt-pills { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 16px; }
.opt-pill { border:1px solid #ccc; padding:8px 14px; text-decoration:none; color:#111; }
.opt-pill.is-on { border-color:#111; }
.cart-table { width:100%; border-collapse:collapse; margin:24px 0; }
.cart-table th, .cart-table td { padding:12px 8px; border-bottom:1px solid #eee; text-align:left; vertical-align:middle; }
.cart-table img { width:80px; height:auto; margin-right:12px; }
.cart-footer { padding:24px 0 48px; }
.page-header { text-align:center; padding:32px 0 8px; }
.page-header__title { margin:0; }
.checkout-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:40px; max-width:1100px; margin:0 auto; padding:16px 15px 64px; }
.rte { max-width:860px; margin:0 auto; padding:16px 15px 64px; }
.rte img { max-width:100%; height:auto; }
.header-nav__menu--mobile[hidden] { display:none !important; }
.pencil-banner { position:relative; z-index:2101; padding:8px 0; background:#000; font-size:.875rem; text-align:center; color:#fff; }
.pencil-banner a { color:#fff; text-decoration:underline; }
.pencil-banner p,
.pencil-banner .modal-settings-content { margin:0; display:none !important; }
.pencil-banner p.is-active,
.pencil-banner .modal-settings-content.is-active { display:inline !important; }
.product-detail-form-wrapper { padding-top:45px; }
.product-gallery__slideshow { position:relative; overflow:hidden; }
.product-gallery__slideshow .swiper-wrapper { position:relative; width:100%; }
.product-gallery__slideshow .swiper-slide { display:none; float:none; width:100%; }
.product-gallery__slideshow .swiper-slide.is-active { display:block; }
.product-gallery__slideshow .swiper-slide a { display:block; cursor:pointer; }
.product-gallery__slideshow img { width:100%; height:auto; display:block; }
.product-gallery__slideshow .swiper-pagination { position:absolute; left:0; right:0; bottom:12px; z-index:10; text-align:center; }
.product-gallery__slideshow .swiper-pagination-bullet { display:inline-block; width:8px; height:8px; margin:0 4px; border-radius:50%; background:#c4c4bd; opacity:1; cursor:pointer; }
.product-gallery__slideshow .swiper-pagination-bullet-active { background:#111; }
.swiper-arrow { cursor:pointer; }
.product-price del { opacity:.5; margin-right:8px; }
.product-price ins { text-decoration:none; }
.pdp-extra { margin-top:24px; }
.pdp-extra img { max-width:100%; height:auto; }
html.js body { opacity:1 !important; }
html.js .product-gallery__slideshow { opacity:1 !important; }
.pdp-extra .product-above-fold, .pdp-extra .header, .pdp-extra .pencil-banner, .pdp-extra template { display:none !important; }
.header-nav__menu--mobile { display:flex; flex-direction:column; gap:4px; padding:8px 20px 20px; background:#fff; border-bottom:1px solid #eee; }
.header-nav__menu--mobile[hidden] { display:none !important; }
.header-nav__menu--mobile details { border-bottom:1px solid #eee; }
.header-nav__menu--mobile summary { cursor:pointer; list-style:none; padding:10px 0; display:flex; justify-content:space-between; }
.header-nav__menu--mobile summary::-webkit-details-marker { display:none; }
.header-nav__menu--mobile summary::after { content:"+"; }
.header-nav__menu--mobile details[open] summary::after { content:"–"; }
.header-nav__menu--mobile a { display:block; padding:8px 0 8px 8px; color:#111; text-decoration:none; }
.mobile-nav-toggle { background:none; border:0; font:inherit; cursor:pointer; padding:8px 0; }
.header-cart-m { display:flex; align-items:center; gap:4px; color:#111; text-decoration:none; }
body.woocommerce-checkout { background:#fff; }
body.woocommerce-checkout .nec-main--checkout { margin:0; min-height:0; }
.geo-chk-top{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:.85rem 1.5rem;border-bottom:1px solid #e6e6e6;background:#fff;
}
.geo-chk-top__logo{justify-self:center;display:flex;align-items:center}
.geo-chk-top__logo img{height:18px;width:auto;display:block}
.geo-chk-top__bag{justify-self:end;padding:.4rem;font-size:14px;color:#111;text-decoration:none}
.geo-woo-checkout{margin:0;padding:0;width:100%}
form.checkout.geo-checkout,
form.woocommerce-checkout.geo-checkout,
body.woocommerce-checkout form.geo-checkout,
.geo-checkout{
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.95fr);
  gap:0;min-height:70vh;width:100%;
}
.geo-checkout__main{padding:2.2rem 8% 3rem;max-width:720px;margin-left:auto}
.geo-checkout-block{margin:0 0 1.6rem}
.geo-checkout-block h2{
  font-size:1.15rem;font-weight:600;margin:0 0 .85rem;letter-spacing:0;
  font-family:inherit;color:#111;display:flex;justify-content:space-between;align-items:baseline;
}
.geo-chk-signin{font-size:.9rem;font-weight:500;color:#111;text-decoration:underline}
.geo-checkout-muted{color:#6d6d6d;font-size:.88rem;margin:-.4rem 0 1rem}
.geo-checkout__aside{
  background:#f5f5f5;padding:2.2rem 8% 3rem 2rem;border-left:1px solid #e6e6e6;
}
.geo-chk-sum-toggle{display:none}
.geo-ship-box{background:#f5f5f5;border-radius:10px;padding:.9rem 1rem;color:#6d6d6d;font-size:.92rem}
.geo-ship-box p{margin:0;text-align:center}
.geo-checkout-policies{display:flex;flex-wrap:wrap;gap:.85rem;margin:2rem 0 0;font-size:.85rem}
.geo-checkout-policies a{color:#111;text-decoration:underline}
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout #payment .payment_box > p,
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout h1{display:none !important}
.woocommerce-checkout .col2-set,.woocommerce-checkout .col-1,.woocommerce-checkout .col-2{
  display:block;width:100%;float:none;max-width:none;margin:0;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;
}
.woocommerce-checkout .form-row{width:auto !important;float:none !important;margin:0 0 12px !important;padding:0 !important;position:relative}
.woocommerce-checkout .form-row-wide{grid-column:1 / -1}
.woocommerce-checkout .form-row-first{grid-column:1 / 4}
.woocommerce-checkout .form-row-last{grid-column:4 / -1}
.woocommerce-checkout .form-row label{
  position:absolute;left:14px;top:6px;font-size:.7rem;font-weight:600;color:#737373;margin:0;z-index:1;pointer-events:none;
}
.woocommerce-checkout .form-row label .required{display:none}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row .select2-selection{
  height:52px;border:1px solid #d0d0d0;border-radius:8px;padding:18px 12px 6px;background:#fff;width:100%;font-size:1rem;
}
.woocommerce-checkout .form-row input.input-text::placeholder{color:transparent}
.woocommerce-checkout #payment{background:transparent !important;border:0 !important;padding:0 !important}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0;padding:0;border:1px solid #d0d0d0;border-radius:12px;overflow:hidden;background:#fff}
.woocommerce-checkout #payment li.wc_payment_method{padding:12px 14px;margin:0}
.woocommerce-checkout #payment .payment_method_wootbpay_credit_card_gateway{background:#f7f1ee}
.woocommerce-checkout #payment .payment_box{background:transparent;padding:12px 0 4px}
.woocommerce-checkout #place_order,
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout button#place_order{
  width:100%;margin-top:1.1rem;background:#111 !important;color:#fff !important;
  border:0;border-radius:0;padding:1rem 1.2rem;font-weight:600;font-size:1rem;cursor:pointer;
}
.woocommerce-checkout table.shop_table thead{display:none}
.woocommerce-checkout table.shop_table{width:100%;border:0;background:transparent !important}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td{border:0;border-bottom:1px solid rgba(0,0,0,.08);padding:.7rem 0;text-align:left;vertical-align:middle}
.woocommerce-checkout table.shop_table .order-total th,
.woocommerce-checkout table.shop_table .order-total td{font-size:1.15rem;font-weight:700;border-bottom:0}
.woocommerce-checkout table.shop_table .product-total,
.woocommerce-checkout table.shop_table tfoot td{text-align:right}
@media (max-width:991px) {
  .collection-grid { grid-template-columns:1fr 1fr; gap:12px; padding:16px 12px 40px; }
  .checkout-layout { grid-template-columns:1fr; }
  .header-nav--hide-on-mobile { display:none !important; }
  .header-container {
    display:grid !important;
    grid-template-columns:72px 1fr 72px !important;
    align-items:center;
    padding:10px 12px;
  }
  .header-nav--logo { grid-column:2; grid-row:1; justify-self:center; }
  .header-nav--mobile-left { display:flex !important; grid-column:1; grid-row:1; }
  .header-nav--mobile-right { display:flex !important; grid-column:3; grid-row:1; justify-self:end; }
  .header-logo img { width:130px; height:auto; }
}
@media (max-width:860px){
  form.checkout.geo-checkout,
  form.woocommerce-checkout.geo-checkout,
  .geo-checkout{grid-template-columns:1fr !important}
  .geo-checkout__aside{order:-1;border-left:0;border-bottom:1px solid #e6e6e6;padding:0;background:#f5f5f5}
  .geo-checkout__main{padding:1.4rem 1rem 2.5rem;max-width:none;margin:0}
  .geo-chk-sum-toggle{
    display:flex;width:100%;justify-content:space-between;align-items:center;
    background:#f5f5f5;border:0;border-bottom:1px solid #e6e6e6;padding:.95rem 1rem;
    font:inherit;font-size:1rem;color:#111;cursor:pointer;
  }
  .geo-chk-sum-toggle::after{content:"▾";margin-left:.35rem}
  .geo-chk-sum-toggle.is-open::after{content:"▴"}
  .geo-chk-sum-body{display:none;padding:1rem 1rem 1.4rem;background:#f5f5f5}
  .geo-chk-sum-body.is-open{display:block}
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last{grid-column:1}
  .geo-chk-top{padding:.55rem 1rem}
}
