/* VASTRA Other Page Sections */
.vas-slim-hero *, .vas-policy-split *, .vas-shop *, .vas-trust *, .vas-contact-hero *, .vas-contact-form *, .vas-policy-stacks *, .vas-product *, .vas-recs * { box-sizing: border-box; }
.vas-other-admin-message { padding: 24px; border: 1px dashed #c7c7c7; background: #fafafa; font: 14px/1.5 Manrope, Arial, sans-serif; text-align: center; }

/* Full-width helpers for Elementor/Astra. */
.elementor-widget-vas_other_shop_products,
.elementor-widget-vas_other_product_template {
  width:100%;
  max-width:none;
}
.vas-shop.vas-shop--full-bleed,
.vas-product.vas-product--full-bleed,
.vas-recs.vas-recs--full-bleed {
  position:relative;
  left:50%;
  width:100vw;
  max-width:100vw;
  margin-left:-50vw;
  margin-right:-50vw;
  overflow-x:clip;
}
.vas-shop__container {
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
.vastra-global-product-template,
body.single-product .vastra-global-product-template {
  width:100%;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}


/* Slim hero */
.vas-slim-hero { width: 100%; }
.vas-slim-hero__outer { width: 100%; margin-left: auto; margin-right: auto; }
.vas-slim-hero__outer.is-boxed { padding-left: 20px; padding-right: 20px; }
.vas-slim-hero__core { position: relative; isolation: isolate; overflow: hidden; background-size: cover; background-position: center; background-repeat: no-repeat; display: flex; align-items: center; min-height: 150px; --vas-slim-overlay-color:#f7f4ee; --vas-slim-overlay-opacity:85; }
.vas-slim-hero__core::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--vas-slim-overlay-color); opacity:calc(var(--vas-slim-overlay-opacity) / 100); }
.vas-slim-hero__content { position:relative; z-index:1; width:100%; font-family:Manrope,Arial,sans-serif; }
.vas-slim-hero__breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:0 0 12px; font-weight:500; }
.vas-slim-hero__breadcrumbs a { text-decoration:none; }
.vas-slim-hero__breadcrumbs a:hover { text-decoration:underline; }
.vas-slim-hero__title { margin:0 0 10px; line-height:1.2; letter-spacing:-.5px; font-family:Manrope,Arial,sans-serif; font-weight:700; }
.vas-slim-hero__desc { max-width:650px; line-height:1.6; }
.vas-slim-hero__desc p { margin:0; }

/* Policy split */
.vas-policy-split { width:100%; font-family:Manrope,Arial,sans-serif; }
.vas-policy-split__container { width:100%; margin:0 auto; display:flex; justify-content:space-between; align-items:stretch; position:relative; }
.vas-policy-split__sidebar { flex:0 0 auto; position:sticky; top:30px; align-self:flex-start; padding-bottom:20px; }
.vas-policy-split__headline { margin:0 0 26px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.vas-policy-split__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px; }
.vas-policy-split__link { display:flex; align-items:center; gap:12px; text-decoration:none !important; text-decoration-line:none !important; border-bottom:0 !important; box-shadow:none !important; background-image:none !important; line-height:1.35; transition:.2s color; }
.vas-policy-split__link:link,
.vas-policy-split__link:visited,
.vas-policy-split__link:hover,
.vas-policy-split__link:focus,
.vas-policy-split__link:active,
.vas-policy-split__link span { text-decoration:none !important; text-decoration-line:none !important; border-bottom:0 !important; box-shadow:none !important; background-image:none !important; }
.vas-policy-split__link::before,
.vas-policy-split__link::after,
.vas-policy-split__link span::before,
.vas-policy-split__link span::after { content:none !important; display:none !important; }
.vas-policy-split__link img { width:28px; height:28px; object-fit:contain; flex:0 0 28px; }
.vas-policy-split__num { min-width:28px; font-weight:700; opacity:.65; }
.vas-policy-split__divider { width:1px; flex:0 0 1px; border-left:1px solid #eee; margin:0 28px; }
.vas-policy-split__stream { display:flex; flex-direction:column; flex:0 0 auto; }
.vas-policy-split__topic { scroll-margin-top:100px; padding-bottom:30px; border-bottom:1px solid #eee; }
.vas-policy-split__topic:last-child { border-bottom:0; padding-bottom:0; }
.vas-policy-split__topic-title { margin:0 0 12px; text-transform:uppercase; letter-spacing:.4px; font-weight:700; }
.vas-policy-split__answer { line-height:1.72; }
.vas-policy-split__answer p { margin:0 0 12px; }
.vas-policy-split__mobile-nav { display:none; }

/* Shop */
.vas-shop { width:100%; --vas-shop-accent:#970026; font-family:Manrope,Arial,sans-serif; }
.vas-shop__container { width:100%; max-width:1308px; margin:0 auto; padding-left:20px; padding-right:20px; display:flex; gap:28px; align-items:flex-start; }
.vas-shop__sidebar { width:245px; flex:0 0 245px; position:sticky; top:25px; z-index:5; }
.vas-shop__filter-head { min-height:41px; display:flex; justify-content:space-between; align-items:flex-start; margin:0; padding-top:1px; font-size:14px; line-height:1.35; }
.vas-shop__filter-head strong { color:#111; font-size:15px; font-weight:700; letter-spacing:.25px; }
.vas-shop__filter-head a { color:#555; font-size:12px; line-height:1.35; text-decoration:underline; }
.vas-shop__filter-box { border:1px solid #dedede; border-radius:8px; padding:20px; margin-bottom:14px; background:#fff; }
.vas-shop__filter-box--categories { min-height:142px; }
.vas-shop__filter-box--size { min-height:178px; }
.vas-shop__filter-box--material { min-height:178px; }
.vas-shop__filter-box--color { min-height:112px; }
.vas-shop__filter-box--price { min-height:122px; }
.vas-shop__filter-box h4 { margin:0 0 17px; color:#111; font-size:15px; line-height:1.2; font-weight:700; letter-spacing:.45px; }
.vas-shop__filter-box ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.vas-shop__filter-box li { margin:0; padding:0; }
.vas-shop__filter-box label { cursor:pointer; font-size:14px; line-height:1.3; color:#333; display:flex; gap:11px; align-items:center; }
.vas-shop__filter-box input[type=checkbox] { width:16px; height:16px; flex:0 0 16px; margin:0; accent-color:var(--vas-shop-accent); }
.vas-shop__colors { display:flex; flex-wrap:wrap; gap:11px; }
.vas-shop__colors label { display:block; }
.vas-shop__colors input { position:absolute; opacity:0; pointer-events:none; }
.vas-shop__colors span { width:21px; height:21px; display:block; border-radius:50%; border:1px solid #ddd; transition:.2s; }
.vas-shop__colors input:checked + span { outline:2px solid var(--vas-shop-accent); outline-offset:3px; }
.vas-shop__price-filter { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px; color:#555; font-size:13px; }
.vas-shop__price-filter input { width:100%; min-width:0; height:42px; border:1px solid #ddd; border-radius:5px; padding:10px 11px; font-size:13px; background:#fff; }
.vas-shop__apply { width:100%; min-height:44px; border:0; border-radius:5px; background:var(--vas-shop-accent); color:#fff; font-weight:700; font-size:13px; padding:13px; cursor:pointer; }
.vas-shop__main { min-width:0; flex:1 1 auto; }
.vas-shop__toolbar { min-height:41px; display:flex; justify-content:space-between; align-items:flex-start; gap:15px; border-bottom:1px solid #e1e1e1; padding:0; margin:0 0 26px; font-size:14px; line-height:1.35; color:#666; }
.vas-shop__showing { padding-top:1px; white-space:nowrap; }
.vas-shop__sort-form { margin-top:-6px; }
.vas-shop__sort-form label { display:flex; align-items:center; gap:10px; color:#111; font-size:14px; line-height:1.2; }
.vas-shop__sort-form select { width:150px; min-width:150px; height:34px; padding:6px 34px 6px 12px; border:1px solid #d8d8d8; border-radius:5px; background:#fff; color:#333; font-size:13px; }
.vas-shop__mobile-filter, .vas-shop__close { display:none; }
.vas-shop__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:start; }
.vas-shop__card { overflow:hidden; border:1px solid #e3e3e3; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(0,0,0,.025); min-width:0; }
.vas-shop__image { display:block; position:relative; overflow:hidden; background:#f6f3ef; aspect-ratio:1/1; }
.vas-shop__image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease; }
.vas-shop__card:hover .vas-shop__image img { transform:scale(1.025); }
.vas-shop__discount { position:absolute; top:10px; right:10px; z-index:2; background:var(--vas-shop-accent); color:#fff; padding:6px 9px; border-radius:3px; font-size:11px; line-height:1.15; font-weight:700; }
.vas-shop__details { padding:17px 18px 19px; }
.vas-shop__details a { text-decoration:none; color:inherit; }
.vas-shop__product-title { color:#111; font-size:16px; font-weight:700; line-height:1.35; margin:0 0 11px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:43px; }
.vas-shop__price { display:flex; align-items:baseline; gap:8px; color:var(--vas-shop-accent); font-size:17px; line-height:1.25; font-weight:700; margin-bottom:29px; }
.vas-shop__price ins { order:1; color:var(--vas-shop-accent); text-decoration:none; font-weight:700; }
.vas-shop__price del { order:2; color:#999; font-size:13px; font-weight:400; margin:0; }
.vas-shop__actions { display:flex; gap:10px; }
.vas-shop__cart, .vas-shop__buy { flex:1 1 0; min-width:0; display:flex!important; align-items:center; justify-content:center; text-align:center; padding:12px 10px!important; min-height:48px; border:1px solid var(--vas-shop-accent)!important; border-radius:8px; font-size:16px; line-height:1.15!important; font-weight:700!important; text-transform:uppercase; text-decoration:none!important; box-shadow:none!important; }
.vas-shop__cart { width:100%; background:#fff!important; color:var(--vas-shop-accent)!important; }
.vas-shop__buy { background:var(--vas-shop-accent)!important; color:#fff!important; }
.vas-shop__actions .added_to_cart.wc-forward,
.vas-shop__view-cart { flex:0 0 auto; align-self:center; color:#222!important; font-size:13px; line-height:1.2; font-weight:500; text-decoration:underline!important; white-space:nowrap; margin:0!important; padding:0!important; }
.vas-shop__empty { grid-column:1/-1; padding:50px 20px; text-align:center; border:1px dashed #ddd; }
.vas-shop__pagination { margin:38px 0 0; }
.vas-shop__pagination ul { display:flex; align-items:center; justify-content:center; gap:8px; list-style:none; margin:0; padding:0; }
.vas-shop__pagination a, .vas-shop__pagination span { min-width:38px; height:38px; padding:0 10px; border:1px solid #ddd; border-radius:6px; display:flex; align-items:center; justify-content:center; color:#111; text-decoration:none; }
.vas-shop__pagination .current { background:var(--vas-shop-accent); color:#fff; border-color:var(--vas-shop-accent); }
.vas-shop__overlay { display:none; }

/* Trust badges */
.vas-trust { width:100%; font-family:Manrope,Arial,sans-serif; }
.vas-trust__container { width:100%; margin:0 auto; padding:0 15px; }
.vas-trust__box { display:flex; align-items:stretch; justify-content:space-between; box-shadow:0 4px 15px rgba(0,0,0,.015); }
.vas-trust__item { flex:1 1 0; display:flex; align-items:center; gap:15px; padding:8px 24px; border-right:1px solid #eaeaea; }
.vas-trust__item:last-child { border-right:0; }
.vas-trust__icon { flex:0 0 auto; display:flex; align-items:center; justify-content:center; color:#B53022; }
.vas-trust__icon img, .vas-trust__icon svg { width:100%; height:100%; object-fit:contain; }
.vas-trust__icon svg { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.vas-trust__title { margin:0 0 3px; line-height:1.3; font-weight:700; }
.vas-trust__desc { margin:0; line-height:1.4; }

/* Contact hero */
.vas-contact-hero { width:100%; --vas-contact-accent:#B53022; font-family:Manrope,Arial,sans-serif; }
.vas-contact-hero__banner { width:100%; position:relative; isolation:isolate; display:flex; align-items:center; background-size:cover; background-position:center; background-repeat:no-repeat; --vas-contact-overlay:25; }
.vas-contact-hero__banner::before { content:""; position:absolute; inset:0; z-index:-1; background:#000; opacity:calc(var(--vas-contact-overlay) / 100); }
.vas-contact-hero__container { width:100%; margin:0 auto; padding:0 20px; }
.vas-contact-hero__content { padding:45px 0 90px; }
.vas-contact-hero__breadcrumbs { margin-bottom:28px; font-size:13px; font-weight:600; opacity:.85; }
.vas-contact-hero__breadcrumbs a { color:inherit; text-decoration:none; }
.vas-contact-hero__breadcrumbs span { color:var(--vas-contact-accent); }
.vas-contact-hero__title { font-family:"Cormorant Garamond",Georgia,serif; line-height:1.13; font-weight:600; margin:0 0 22px; }
.vas-contact-hero__desc { max-width:560px; line-height:1.7; opacity:.92; }
.vas-contact-hero__desc p { margin:0; }
.vas-contact-hero__button { display:inline-block; margin-top:25px; padding:13px 30px; border-radius:5px; background:var(--vas-contact-accent); color:#fff; text-decoration:none; font-weight:700; }
.vas-contact-hero__cards-wrap { position:relative; z-index:5; }
.vas-contact-hero__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.vas-contact-hero__card { display:flex; align-items:flex-start; gap:17px; border:1px solid rgba(0,0,0,.04); box-shadow:0 14px 35px rgba(0,0,0,.065); }
.vas-contact-hero__icon { width:30px; height:30px; flex:0 0 30px; color:var(--vas-contact-accent); }
.vas-contact-hero__icon img, .vas-contact-hero__icon svg { width:100%; height:100%; object-fit:contain; }
.vas-contact-hero__icon svg { fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.vas-contact-hero__card-title { margin:0 0 5px; font-weight:700; }
.vas-contact-hero__card-text { line-height:1.55; }

/* Contact form/map */
.vas-contact-form { width:100%; --vas-form-accent:#B53022; font-family:Manrope,Arial,sans-serif; }
.vas-contact-form__container { width:100%; margin:0 auto; }
.vas-contact-form__grid { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.vas-contact-form__panel, .vas-contact-form__map { border:1px solid #e6e6e6; overflow:hidden; position:relative; }
.vas-contact-form__panel { padding:36px 40px; }
.vas-contact-form__tag { color:var(--vas-form-accent); font-size:12px; font-weight:700; letter-spacing:1.5px; margin-bottom:10px; }
.vas-contact-form__heading { font-family:"Cormorant Garamond",Georgia,serif; margin:0 0 12px; line-height:1.15; font-weight:600; }
.vas-contact-form__desc { line-height:1.6; margin-bottom:22px; }
.vas-contact-form__desc p { margin:0; }
.vas-contact-form__form { display:flex; flex-direction:column; gap:15px; }
.vas-contact-form__row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.vas-contact-form__form label { color:#222; font-size:13px; font-weight:600; display:flex; flex-direction:column; gap:7px; }
.vas-contact-form__form input, .vas-contact-form__form textarea { width:100%; border:1px solid #ddd; background:#fff; border-radius:6px; padding:12px 13px; color:#222; font:14px/1.4 Manrope,Arial,sans-serif; outline:none; }
.vas-contact-form__form input:focus, .vas-contact-form__form textarea:focus { border-color:var(--vas-form-accent); box-shadow:0 0 0 2px color-mix(in srgb, var(--vas-form-accent) 15%, transparent); }
.vas-contact-form__form button { align-self:flex-start; border:0; border-radius:6px; padding:13px 26px; background:var(--vas-form-accent); color:#fff; font-weight:700; cursor:pointer; }
.vas-contact-form__form button[disabled] { opacity:.55; cursor:wait; }
.vas-contact-form__status { min-height:20px; font-size:13px; }
.vas-contact-form__status.is-success { color:#167a38; }
.vas-contact-form__status.is-error { color:#b00020; }
.vas-contact-form__hp { position:absolute!important; left:-9999px!important; }
.vas-contact-form__map iframe { width:100%; height:100%; min-height:inherit; border:0; display:block; }
.vas-contact-form__map-placeholder { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; background:linear-gradient(135deg,#f6f3ec,#e7e9e5); text-align:center; color:#666; }
.vas-contact-form__map-label { position:absolute; left:18px; top:18px; min-width:220px; display:flex; flex-direction:column; gap:3px; padding:12px 14px; background:#fff; box-shadow:0 3px 15px rgba(0,0,0,.12); border-radius:6px; }
.vas-contact-form__map-label span { font-size:12px; color:#777; }

/* Policy stacks */
.vas-policy-stacks { width:100%; --vas-policy-accent:#970026; font-family:Manrope,Arial,sans-serif; }
.vas-policy-stacks__container { width:100%; margin:0 auto; }
.vas-policy-stacks__header { text-align:center; margin-bottom:42px; }
.vas-policy-stacks__sub { color:var(--vas-policy-accent); font-weight:700; letter-spacing:1.2px; margin-bottom:8px; }
.vas-policy-stacks__heading { margin:0 0 10px; line-height:1.2; font-weight:500; }
.vas-policy-stacks__intro { line-height:1.6; }
.vas-policy-stacks__intro p { margin:0; }
.vas-policy-stacks__intro strong, .vas-policy-stacks__row-text strong { color:var(--vas-policy-accent); }
.vas-policy-stacks__rows { display:flex; flex-direction:column; margin-bottom:34px; }
.vas-policy-stacks__row { display:flex; align-items:center; gap:34px; padding-bottom:22px; border-bottom:1px solid #f0f0f0; }
.vas-policy-stacks__row:last-child { border-bottom:0; padding-bottom:0; }
.vas-policy-stacks__icon { flex:0 0 auto; border-radius:9px; display:flex; align-items:center; justify-content:center; padding:18px; color:var(--vas-policy-accent); }
.vas-policy-stacks__icon img { width:100%; height:100%; object-fit:contain; }
.vas-policy-stacks__icon span { font-size:42px; }
.vas-policy-stacks__text { flex:1; padding:5px 0; }
.vas-policy-stacks__row-title { margin:0 0 8px; line-height:1.3; font-weight:700; }
.vas-policy-stacks__row-text { line-height:1.58; }
.vas-policy-stacks__row-text p { margin:0; }
.vas-policy-stacks__notice { display:flex; align-items:center; justify-content:center; gap:10px; border-radius:6px; padding:12px 20px; text-align:center; }
.vas-policy-stacks__notice p { margin:0; font-size:13px; }

/* Product template */
.vastra-global-product-template,
.vastra-global-product-template > .elementor,
.vastra-global-product-template .elementor-section-wrap,
.vastra-global-product-template .elementor-top-section,
.vastra-global-product-template .e-con.e-parent {
  width:100%; max-width:none; margin:0; padding-left:0; padding-right:0;
}
.vas-product { width:100%; background:#fff; padding:18px clamp(14px,2vw,28px) 52px; --vas-product-accent:#970026; font-family:Manrope,Arial,sans-serif; box-sizing:border-box; }
.vas-product *, .vas-product *::before, .vas-product *::after { box-sizing:border-box; }
.vas-product__breadcrumbs,
.vas-product__container,
.vas-product__tabs { width:100%; max-width:1320px; margin-left:auto; margin-right:auto; }
.vas-product__breadcrumbs { margin-top:0; margin-bottom:22px; display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:12px; color:#555; }
.vas-product__breadcrumbs a { color:#B04A32; text-decoration:none; }
.vas-product__breadcrumbs span:last-child { max-width:min(720px,70vw); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vas-product__container { display:flex; align-items:flex-start; gap:44px; }
.vas-product__gallery { flex:0 0 auto; width:47%; min-width:0; }
.vas-product__main-image { position:relative; width:100%; aspect-ratio:1/1; height:auto; overflow:hidden; border-radius:8px; background:#f3f0eb; }
.vas-product__main-image > img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.vas-product__discount { position:absolute; left:12px; top:12px; z-index:2; background:var(--vas-product-accent); color:#fff; border-radius:4px; padding:7px 11px; font-size:11px; line-height:1; font-weight:700; }
.vas-product__zoom { position:absolute; right:12px; top:12px; z-index:3; width:38px; height:38px; border:0; border-radius:50%; background:#fff; cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.12); }
.vas-product__arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:38px; height:38px; border:0; border-radius:50%; background:#fff; cursor:pointer; box-shadow:0 2px 12px rgba(0,0,0,.14); }
.vas-product__arrow.prev { left:12px; }
.vas-product__arrow.next { right:12px; }
.vas-product__thumb-slider { position:relative; display:flex; align-items:center; gap:8px; padding-top:14px; }
.vas-product__thumbs { display:flex; flex:1 1 auto; min-width:0; gap:12px; overflow-x:auto; padding:0 1px 3px; scrollbar-width:none; scroll-behavior:smooth; scroll-snap-type:x mandatory; }
.vas-product__thumbs::-webkit-scrollbar { display:none; }
.vas-product__thumb { flex:0 0 calc((100% - 36px)/4); aspect-ratio:1.22/1; min-width:0; padding:0; border:2px solid transparent; border-radius:7px; overflow:hidden; background:#eee; cursor:pointer; scroll-snap-align:start; }
.vas-product__thumb.is-active { border-color:var(--vas-product-accent); }
.vas-product__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.vas-product__thumb-arrow { flex:0 0 32px; width:32px; height:32px; padding:0; border:1px solid #e5e5e5; border-radius:50%; background:#fff; color:#222; font-size:20px; line-height:1; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.08); }
.vas-product__thumb-arrow:hover { border-color:var(--vas-product-accent); color:var(--vas-product-accent); }
.vas-product__info { flex:1 1 auto; width:0; min-width:0; }
.vas-product__title { margin:0 0 8px; color:#111; font-weight:800; line-height:1.06; letter-spacing:-.6px; }
.vas-product__subtitle { color:#666; font-size:13px; line-height:1.5; margin:0 0 12px; }
.vas-product__rating { display:flex; justify-content:space-between; align-items:center; gap:15px; border-bottom:1px solid #e7e7e7; padding:0 0 14px; margin-bottom:20px; font-size:12px; }
.vas-product__rating span:first-child { color:var(--vas-product-accent); font-weight:700; }
.vas-product__rating span:last-child { color:#888; white-space:nowrap; }
.vas-product__price-box { display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid #eee; border-radius:8px; padding:18px 20px; margin-bottom:18px; }
.vas-product__price-tag { display:inline-block; padding:5px 8px; border-radius:3px; margin-bottom:8px; background:var(--vas-product-accent); color:#fff; font-size:10px; font-weight:700; }
.vas-product__price-html { color:var(--vas-product-accent); font-weight:800; line-height:1.2; }
.vas-product__price-html del { color:#999; font-size:.62em; font-weight:400; margin-right:8px; }
.vas-product__price-html ins { text-decoration:none; }
.vas-product__off { display:inline-block; vertical-align:middle; margin-left:8px; padding:4px 6px; background:#fff0f1; color:var(--vas-product-accent); font-size:11px; border-radius:3px; }
.vas-product__price-box small { color:#888; font-size:11px; }
.vas-product__saving { min-width:112px; padding:12px; border:1px dashed #b9dfbd; border-radius:7px; background:#f5fff5; text-align:center; }
.vas-product__saving span { display:block; color:#3c8043; font-size:11px; }
.vas-product__saving strong { color:#186c28; font-size:16px; }
.vas-product__stock { margin:0 0 16px; font-size:13px; }
.vas-product__stock .stock { margin:0; }
.vas-product__attribute { margin:0 0 14px; }
.vas-product__attribute > strong { display:block; margin-bottom:9px; font-size:12px; color:#222; }
.vas-product__attribute-values { display:flex; gap:8px; flex-wrap:wrap; }
.vas-product__attribute-values span { display:inline-flex; min-height:38px; align-items:center; justify-content:center; padding:8px 15px; border:1px solid var(--vas-product-accent); border-radius:5px; color:var(--vas-product-accent); background:#fff8fa; font-size:12px; font-weight:700; }
.vas-product__size-guide { display:inline-block; margin:0 0 17px; color:var(--vas-product-accent); font-size:13px; font-weight:700; text-decoration:none; border-bottom:1px dashed currentColor; }
.vas-product__timer { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:14px 18px; border:1px solid #f1dfce; border-radius:7px; margin-bottom:18px; }
.vas-product__timer-copy { display:flex; align-items:center; gap:12px; min-width:0; }
.vas-product__timer-copy > span { font-size:23px; flex:0 0 auto; }
.vas-product__timer-copy img { width:30px; height:30px; object-fit:contain; }
.vas-product__timer-copy strong { display:block; font-size:14px; }
.vas-product__timer-copy p { margin:3px 0 0; font-size:12px; color:#666; }
.vas-product__clock { display:grid; grid-template-columns:32px 5px 32px 5px 32px 5px 32px; grid-template-rows:auto auto; align-items:center; text-align:center; gap:2px; flex:0 0 auto; }
.vas-product__clock b { padding:7px 4px; border:1px solid #ead8c8; border-radius:4px; background:#fff; color:#b0581e; font-size:13px; }
.vas-product__clock small { grid-row:2; font-size:7px; color:#999; }
.vas-product__clock i { grid-row:1; font-style:normal; }
.vas-product__cart-area { margin-bottom:20px; }
.vas-product__simple-cart { display:grid; grid-template-columns:112px minmax(0,1fr) minmax(0,1fr); gap:12px; }
.vas-product__simple-cart .quantity { display:grid; grid-template-columns:32px 1fr 32px; border:1px solid #ddd; border-radius:6px; overflow:hidden; }
.vas-product__simple-cart .quantity button { border:0; background:#fff; cursor:pointer; }
.vas-product__simple-cart .quantity input { width:100%; text-align:center; border:0; padding:10px 2px; appearance:textfield; }
.vas-product__simple-cart .single_add_to_cart_button, .vas-product__buy { border:0!important; border-radius:6px!important; min-height:46px; padding:12px 18px!important; background:var(--vas-product-accent)!important; color:#fff!important; font-weight:700!important; cursor:pointer; }
.vas-product__buy { background:#8a0020!important; }
.vas-product__native-cart .variations { margin:0 0 12px; width:100%; }
.vas-product__native-cart select { width:100%; padding:10px; border:1px solid #ddd; border-radius:6px; }
.vas-product__native-cart .single_add_to_cart_button { background:var(--vas-product-accent)!important; color:#fff!important; min-height:46px; border-radius:6px!important; }
.vas-product__features { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); border-top:1px solid #eee; border-bottom:1px solid #eee; padding:16px 0; }
.vas-product__feature { display:flex; gap:10px; align-items:center; padding:0 14px; border-right:1px solid #eee; min-width:0; }
.vas-product__feature:last-child { border-right:0; }
.vas-product__feature > span { font-size:23px; flex:0 0 auto; }
.vas-product__feature img { width:25px; height:25px; object-fit:contain; }
.vas-product__feature strong, .vas-product__feature small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vas-product__feature strong { font-size:12px; }
.vas-product__feature small { font-size:10px; color:#777; margin-top:2px; }
.vas-product__tabs { margin-top:38px; border-top:1px solid #e8e8e8; padding-top:20px; }
.vas-product__tab-buttons { display:flex; gap:8px 22px; flex-wrap:wrap; border-bottom:1px solid #e8e8e8; }
.vas-product__tab-buttons button { border:0; background:transparent; padding:0 0 15px; color:#555; font-weight:700; font-size:12px; cursor:pointer; border-bottom:2px solid transparent; }
.vas-product__tab-buttons button.is-active { color:var(--vas-product-accent); border-color:var(--vas-product-accent); }
.vas-product__tab-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:45px; padding-top:27px; }
.vas-product__panel { display:none; line-height:1.7; font-size:14px; color:#333; }
.vas-product__panel.is-active { display:block; }
.vas-product__panel p:first-child { margin-top:0; }
.vas-product__included { background:#faf8f5; border-radius:8px; padding:22px; }
.vas-product__included h3 { margin:0 0 20px; font-size:16px; }
.vas-product__included p { display:flex; align-items:center; gap:12px; margin:0 0 15px; font-size:13px; }
.vas-product__included p:last-child { margin-bottom:0; }
.vas-product__details-table { width:100%; border-collapse:collapse; }
.vas-product__details-table th, .vas-product__details-table td { text-align:left; padding:11px 12px; border-bottom:1px solid #eee; font-size:13px; }
.vas-product__details-table th { width:32%; color:#222; }
.vas-product__lightbox { position:fixed; inset:0; z-index:999999; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.88); padding:30px; }
.vas-product__lightbox.is-open { display:flex; }
.vas-product__lightbox img { max-width:92vw; max-height:90vh; object-fit:contain; }
.vas-product__lightbox button { position:absolute; right:20px; top:12px; border:0; background:transparent; color:#fff; font-size:46px; cursor:pointer; }
.vas-product__variable-buy { margin-top:10px; width:100%; min-height:46px; border:0; border-radius:6px; background:#8a0020; color:#fff; font-weight:700; cursor:pointer; }

@media (max-width:1100px) {
  .vas-product__container { gap:28px; }
  .vas-product__gallery { width:46%; }
  .vas-product__title { font-size:27px; }
  .vas-product__simple-cart { grid-template-columns:92px 1fr 1fr; }
  .vas-product__tab-layout { grid-template-columns:minmax(0,1fr) 250px; gap:28px; }
}
@media (max-width:900px) {
  .vas-product__container { flex-direction:column; }
  .vas-product__gallery, .vas-product__info { width:100%!important; }
  .vas-product__info { margin-top:24px; }
  .vas-product__main-image { max-height:none; }
  .vas-product__tab-layout { grid-template-columns:1fr; gap:25px; }
}
@media (max-width:600px) {
  .vas-product { padding:12px 12px 36px; }
  .vas-product__breadcrumbs { margin-bottom:14px; font-size:10px; }
  .vas-product__breadcrumbs span:last-child { max-width:65vw; }
  .vas-product__thumb-slider { gap:6px; }
  .vas-product__thumbs { gap:8px; }
  .vas-product__thumb { flex-basis:calc((100% - 16px)/3); }
  .vas-product__thumb-arrow { flex-basis:28px; width:28px; height:28px; font-size:17px; }
  .vas-product__rating { flex-direction:column; align-items:flex-start; gap:4px; }
  .vas-product__price-box { align-items:flex-start; padding:15px; }
  .vas-product__saving { min-width:95px; padding:9px; }
  .vas-product__timer { flex-direction:column; align-items:stretch; }
  .vas-product__clock { align-self:flex-end; }
  .vas-product__simple-cart { grid-template-columns:1fr 1fr; }
  .vas-product__simple-cart .quantity { grid-column:1/-1; }
  .vas-product__features { grid-template-columns:1fr; gap:0; }
  .vas-product__feature { border-right:0; border-bottom:1px solid #eee; padding:12px 4px; }
  .vas-product__feature:last-child { border-bottom:0; }
  .vas-product__tab-buttons { flex-wrap:nowrap; overflow-x:auto; }
  .vas-product__tab-buttons button { white-space:nowrap; }
  .vas-product__included { padding:18px; }
}

/* Recommendations */
.vas-recs { width:100%; padding:0 20px; position:relative; --vas-recs-accent:#970026; font-family:Manrope,Arial,sans-serif; }
.vas-recs__header { text-align:center; margin-bottom:34px; }
.vas-recs__title { margin:0 0 12px; font-weight:700; letter-spacing:1.5px; }
.vas-recs__divider { width:120px; height:1px; background:#ddd; margin:0 auto; position:relative; }
.vas-recs__divider span { position:absolute; width:7px; height:7px; border-radius:50%; background:var(--vas-recs-accent); left:50%; top:50%; transform:translate(-50%,-50%); }
.vas-recs__slider { display:flex; align-items:center; position:relative; }
.vas-recs__track { display:flex; overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; padding:7px 2px 16px; width:100%; scroll-snap-type:x mandatory; }
.vas-recs__track::-webkit-scrollbar { display:none; }
.vas-recs__card { flex:0 0 300px; min-width:0; border-radius:10px; overflow:hidden; border:1px solid #e8e8e8; box-shadow:0 5px 16px rgba(0,0,0,.045); scroll-snap-align:start; }
.vas-recs__image { position:relative; overflow:hidden; background:#f5f2ed; }
.vas-recs__image img { width:100%; height:100%; object-fit:cover; display:block; transition:.3s transform; }
.vas-recs__card:hover img { transform:scale(1.025); }
.vas-recs__heart { position:absolute; right:12px; top:12px; z-index:2; width:34px; height:34px; border:1px solid #ddd; border-radius:50%; background:#fff; font-size:21px; cursor:pointer; }
.vas-recs__meta { padding:15px 16px 17px; }
.vas-recs__product-title { display:block; color:#111; text-decoration:none; font-weight:700; line-height:1.4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vas-recs__subtitle { display:block; margin:5px 0 13px; color:#888; font-size:12px; }
.vas-recs__price-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.vas-recs__price-row .price { color:var(--vas-recs-accent); font-weight:700; }
.vas-recs__price-row del { color:#aaa; font-size:11px; }
.vas-recs__price-row ins { text-decoration:none; }
.vas-recs__cart { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:9px 13px; border-radius:5px; background:var(--vas-recs-accent); color:#fff!important; text-decoration:none; font-size:12px; font-weight:700; white-space:nowrap; }
.vas-recs__arrow { position:absolute; z-index:4; width:42px; height:42px; border:1px solid #e5e5e5; border-radius:50%; background:#fff; box-shadow:0 4px 12px rgba(0,0,0,.08); cursor:pointer; }
.vas-recs__arrow.prev { left:-20px; } .vas-recs__arrow.next { right:-20px; }

@media (max-width: 991px) {
  .vas-policy-split__container { flex-direction:column; gap:25px; }
  .vas-policy-split__sidebar, .vas-policy-split__divider { display:none; }
  .vas-policy-split__stream { width:100%!important; }
  .vas-policy-split__mobile-nav { display:flex; flex-direction:column; gap:8px; }
  .vas-policy-split__mobile-nav label { color:#800020; font-size:13px; font-weight:700; letter-spacing:1px; }
  .vas-policy-split__mobile-nav select { width:100%; padding:12px; border:1px solid #ddd; border-radius:6px; background:#fff; }

  .vas-shop__container { display:block; max-width:100%; }
  .vas-shop__mobile-filter { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--vas-shop-accent); background:#fff; color:var(--vas-shop-accent); padding:8px 12px; border-radius:5px; font-weight:700; }
  .vas-shop__sidebar { position:fixed; left:0; top:0; bottom:0; width:min(360px,88vw); max-width:88vw; overflow:auto; z-index:100002; background:#fff; padding:25px 20px; transform:translateX(-105%); transition:transform .25s ease; box-shadow:10px 0 30px rgba(0,0,0,.15); }
  .vas-shop.is-filter-open .vas-shop__sidebar { transform:translateX(0); }
  .vas-shop__close { display:block; margin-left:auto; border:0; background:transparent; font-size:32px; line-height:1; cursor:pointer; }
  .vas-shop__overlay { position:fixed; inset:0; z-index:100001; background:rgba(0,0,0,.4); }
  .vas-shop.is-filter-open .vas-shop__overlay { display:block; }
  .vas-shop__toolbar { height:auto; min-height:41px; align-items:center; }

  .vas-trust__box { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 0; }
  .vas-trust__item { border-right:0; }

  .vas-contact-hero__cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vas-contact-form__grid { grid-template-columns:1fr; }
  .vas-contact-form__map { min-height:430px; }

}

@media (max-width: 1199px) and (min-width: 992px) {
  .vas-shop__container { max-width:calc(100vw - 40px); }
  .vas-shop__grid { gap:20px; }
  .vas-shop__product-title { font-size:14px; }
  .vas-shop__cart, .vas-shop__buy { font-size:13px; }
}

@media (max-width: 767px) {
  .vas-slim-hero__outer.is-boxed { padding-left:10px; padding-right:10px; }
  .vas-slim-hero__title { letter-spacing:-.2px; }

  .vas-shop__toolbar { flex-wrap:wrap; }
  .vas-shop__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .vas-shop__filter-box--categories,
  .vas-shop__filter-box--size,
  .vas-shop__filter-box--material,
  .vas-shop__filter-box--color,
  .vas-shop__filter-box--price { min-height:0; }
  .vas-shop__sort-form { margin-left:auto; }
  .vas-shop__sort-form label { font-size:0; }
  .vas-shop__sort-form select { font-size:12px; min-width:125px; }
  .vas-shop__details { padding:11px 10px 13px; }
  .vas-shop__product-title { min-height:2.8em; }
  .vas-shop__actions { flex-direction:column; gap:7px; }
  .vas-shop__cart, .vas-shop__buy { min-height:38px; padding:9px 5px!important; font-size:10px; }
  .vas-shop__discount { top:7px; right:7px; font-size:9px; padding:5px 6px; }

  .vas-trust__box { grid-template-columns:1fr; gap:22px; }
  .vas-trust__item { padding:0; }

  .vas-contact-hero__content { padding:40px 0 110px; }
  .vas-contact-hero__cards { grid-template-columns:1fr; gap:14px; }
  .vas-contact-hero__card { padding:20px!important; }

  .vas-contact-form__panel { padding:28px 22px; }
  .vas-contact-form__row { grid-template-columns:1fr; }
  .vas-contact-form__map-label { left:12px; right:12px; top:12px; min-width:0; }

  .vas-policy-stacks__header { margin-bottom:32px; }
  .vas-policy-stacks__row { align-items:flex-start; gap:18px; }
  .vas-policy-stacks__icon { padding:12px; }
  .vas-policy-stacks__icon span { font-size:28px; }


  .vas-recs { padding-left:12px; padding-right:12px; }
  .vas-recs__arrow { display:none; }
  .vas-recs__price-row { align-items:flex-end; }
}

/* =========================================================
   V1.3 Shopify-match refinements
   ========================================================= */

/* Edge-to-edge policy/contact banner without Elementor/Astra corner gaps. */
.elementor-widget-vas_other_slim_hero { width:100%; max-width:none; }
.vas-slim-hero--edge {
  position:relative;
  left:50%;
  width:100vw;
  max-width:100vw;
  margin-left:-50vw;
  margin-right:-50vw;
  overflow-x:clip;
}
.vas-slim-hero--edge .vas-slim-hero__outer { max-width:none; padding-left:0; padding-right:0; }
.vas-slim-hero--edge .vas-slim-hero__core { border-radius:0; }

/* Product template: wide, balanced and aligned with the Shopify reference. */
.vas-product {
  --vas-product-side:20px;
  padding-left:var(--vas-product-side);
  padding-right:var(--vas-product-side);
}
.vas-product__breadcrumbs,
.vas-product__container,
.vas-product__tabs {
  max-width:1320px;
}
.vas-product--shopify .vas-product__container { gap:44px; }
.vas-product--shopify .vas-product__gallery { width:47%; }
.vas-product--shopify .vas-product__main-image { border-radius:8px; }
.vas-product--shopify .vas-product__info { padding-top:0; }
.vas-product--shopify .vas-product__title { font-size:30px; line-height:1.04; }
.vas-product--shopify .vas-product__subtitle { margin-bottom:12px; }
.vas-product--shopify .vas-product__price-box { min-height:126px; }

/* Thumbnail slider fills the exact gallery width; arrows float outside instead of stealing width. */
.vas-product__thumb-slider {
  display:block;
  position:relative;
  padding-top:14px;
}
.vas-product__thumbs {
  width:100%;
  gap:var(--vas-thumb-gap,12px);
  padding:0 1px 4px;
}
.vas-product__thumb {
  flex:0 0 calc(25% - 9px);
  aspect-ratio:1.22/1;
}
.vas-product__thumb-arrow {
  position:absolute;
  z-index:6;
  top:calc(50% + 7px);
  transform:translateY(-50%);
  width:34px;
  height:34px;
  flex:none;
}
.vas-product__thumb-arrow.prev { left:-18px; }
.vas-product__thumb-arrow.next { right:-18px; }
.vas-product__features { grid-template-columns:repeat(4,minmax(0,1fr)); }
.vas-product__feature { padding:0 12px; }
.vas-product__feature strong { font-size:12px; }
.vas-product__feature small { font-size:10px; }

/* Recommendations: four equal cards across the full inner container. */
.elementor-widget-vas_other_product_recommendations { width:100%; max-width:none; }
.vas-recs {
  --vas-recs-gap:22px;
  width:100%;
  max-width:none;
  padding-left:0;
  padding-right:0;
}
.vas-recs__inner {
  width:100%;
  max-width:1320px;
  margin-left:auto;
  margin-right:auto;
  padding-left:20px;
  padding-right:20px;
}
.vas-recs__header { margin-bottom:34px; }
.vas-recs__slider { width:100%; }
.vas-recs__track {
  gap:var(--vas-recs-gap);
  padding:7px 2px 18px;
}
.vas-recs__card {
  flex:0 0 calc(25% - 16.5px);
  border-radius:10px;
  background:#fff;
  box-shadow:0 7px 18px rgba(0,0,0,.055);
}
.vas-recs__image { height:auto; aspect-ratio:1/1; }
.vas-recs__meta { display:flex; flex-direction:column; min-height:164px; }
.vas-recs__product-title {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  white-space:normal;
  min-height:22px;
}
.vas-recs__subtitle { margin:5px 0 13px; }
.vas-recs__bottom { margin-top:auto; display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
.vas-recs__prices { min-width:0; }
.vas-recs__sale-price { display:block; color:var(--vas-recs-accent); font-weight:700; line-height:1.2; white-space:nowrap; }
.vas-recs__old-row { display:flex; align-items:flex-start; gap:10px; margin-top:8px; font-size:11px; }
.vas-recs__old-row del { color:#9a9a9a; line-height:1.45; }
.vas-recs__old-row span { color:#248033; font-weight:700; line-height:1.2; max-width:34px; }
.vas-recs__cart { min-width:140px; min-height:46px; padding:11px 16px; }
.vas-recs__arrow { top:50%; transform:translateY(-50%); }
.vas-recs__arrow.prev { left:-22px; }
.vas-recs__arrow.next { right:-22px; }

/* Trust strip follows the same 1320px container and visual weight. */
.vas-trust__container { max-width:1320px; padding-left:20px; padding-right:20px; }
.vas-trust__box { min-height:96px; }
.vas-trust__item { padding:12px 28px; }
.vas-trust__title { font-weight:700; }

@media (max-width:1100px) {
  .vas-recs__card { flex-basis:calc(50% - 11px); }
  .vas-product--shopify .vas-product__container { gap:28px; }
  .vas-product__features { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 0; }
}

@media (max-width:900px) {
  .vas-product__thumb-arrow.prev { left:-10px; }
  .vas-product__thumb-arrow.next { right:-10px; }
  .vas-recs__arrow.prev { left:-8px; }
  .vas-recs__arrow.next { right:-8px; }
}

@media (max-width:600px) {
  .vas-product { --vas-product-side:12px; }
  .vas-product__thumb { flex-basis:calc(33.333% - 5.34px); }
  .vas-product__thumb-arrow { width:30px; height:30px; }
  .vas-product__features { grid-template-columns:1fr; }
  .vas-recs { --vas-recs-gap:14px; }
  .vas-recs__inner { padding-left:14px; padding-right:14px; }
  .vas-recs__card { flex-basis:88%; }
  .vas-recs__arrow { display:flex; align-items:center; justify-content:center; width:36px; height:36px; }
  .vas-recs__arrow.prev { left:-2px; }
  .vas-recs__arrow.next { right:-2px; }
  .vas-recs__cart { min-width:122px; }
}


/* =========================================================
   V1.3.1 stable Shopify-reference product and control fixes
   ========================================================= */

/* Keep only a small editable outer gap around slim policy banners. */
.vas-slim-hero--edge {
  --vas-slim-edge-gap:8px;
  left:50%;
  width:calc(100vw - var(--vas-slim-edge-gap) - var(--vas-slim-edge-gap));
  max-width:calc(100vw - var(--vas-slim-edge-gap) - var(--vas-slim-edge-gap));
  margin-left:calc(-50vw + var(--vas-slim-edge-gap));
  margin-right:calc(-50vw + var(--vas-slim-edge-gap));
}
.vas-slim-hero--edge .vas-slim-hero__outer { width:100%; max-width:none; padding:0; }

/* Product template remains independent from the recommendation slider widget. */
.elementor-widget-vas_other_product_template,
.elementor-widget-vas_other_product_recommendations { width:100%; max-width:none; }

.vas-product {
  --vas-product-side:20px;
  width:100%;
  padding-left:var(--vas-product-side);
  padding-right:var(--vas-product-side);
  overflow:visible;
}
.vas-product__breadcrumbs,
.vas-product__container,
.vas-product__tabs { width:100%; max-width:1280px; margin-left:auto; margin-right:auto; }
.vas-product__container { display:flex; align-items:flex-start; gap:45px; }
.vas-product__gallery { flex:0 0 auto; width:50%; min-width:0; }
.vas-product__info { flex:1 1 auto; width:0; min-width:0; }
.vas-product__main-image { width:100%; aspect-ratio:1/1; height:auto; border:1px solid #eee; background:#f5f2ed; }
.vas-product__main-image > img { width:100%; height:100%; object-fit:cover; object-position:center; }

/* Thumbnails occupy the exact main-image width. Arrows float outside. */
.vas-product__thumb-slider { position:relative; display:block; width:100%; padding-top:14px; }
.vas-product__thumbs {
  --vas-thumb-gap:12px;
  display:flex;
  width:100%;
  gap:var(--vas-thumb-gap);
  overflow-x:auto;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:0 1px 4px;
}
.vas-product__thumbs::-webkit-scrollbar { display:none; }
.vas-product__thumb { flex:0 0 calc(25% - 9px); min-width:0; aspect-ratio:1.22/1; scroll-snap-align:start; }
.vas-product__thumb-arrow {
  position:absolute;
  z-index:8;
  top:calc(50% + 7px);
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  padding:0;
}
.vas-product__thumb-arrow.prev { left:-18px; }
.vas-product__thumb-arrow.next { right:-18px; }

/* Shopify-style product information hierarchy. */
.vas-product__title { font-size:30px; font-weight:800; line-height:1.04; letter-spacing:-.55px; }
.vas-product__subtitle { font-size:13px; line-height:1.5; }
.vas-product__rating { font-size:13px; }
.vas-product__price-box { min-height:120px; padding:16px 20px; }
.vas-product__price-html { font-size:28px; }

/* Correct timer structure: labels stay below their own number. */
.vas-product__timer { min-height:96px; display:flex; justify-content:space-between; align-items:center; gap:18px; padding:14px 18px; }
.vas-product__timer-copy { flex:1 1 auto; min-width:0; }
.vas-product__clock {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  flex:0 0 auto;
  text-align:center;
}
.vas-product__time {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:38px;
}
.vas-product__time b {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:34px;
  padding:5px 6px;
  border:1px solid #ead8c8;
  border-radius:4px;
  background:#fff;
  color:#b0581e;
  font-size:14px;
  line-height:1;
}
.vas-product__time small { display:block; margin-top:5px; font-size:7px; line-height:1; color:#999; }
.vas-product__clock i { display:block; margin-top:-13px; color:#b0581e; font-style:normal; font-weight:700; }

/* Stable, valid quantity/add/buy row. */
.vas-product__simple-cart { display:grid; grid-template-columns:112px minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:stretch; }
.vas-product__simple-cart .quantity { min-height:46px; }
.vas-product__simple-cart .single_add_to_cart_button,
.vas-product__buy,
.vas-product__variable-buy { min-height:46px; }
.vas-product__features { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.vas-product__feature { padding:0 12px; }
.vas-product__feature strong { font-size:13px; }
.vas-product__feature small { font-size:11px; }

/* Product description content must render as content, never generated Elementor CSS. */
.vas-product__panel { overflow-wrap:anywhere; }
.vas-product__panel style,
.vas-product__panel script { display:none!important; }

/* Recommendation slider is a separate section with four substantial cards. */
.vas-recs {
  --vas-recs-gap:22px;
  width:100%;
  max-width:none;
  padding-left:0;
  padding-right:0;
  overflow:visible;
}
.vas-recs__inner { width:100%; max-width:1320px; margin:0 auto; padding-left:20px; padding-right:20px; }
.vas-recs__track { display:flex; gap:var(--vas-recs-gap); width:100%; padding:7px 2px 18px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.vas-recs__track::-webkit-scrollbar { display:none; }
.vas-recs__card { flex:0 0 calc(25% - 16.5px); display:flex; flex-direction:column; min-width:0; background:#fff; border-radius:10px; overflow:hidden; }
.vas-recs__image { width:100%; height:auto; aspect-ratio:1/1; }
.vas-recs__image img { width:100%; height:100%; object-fit:cover; }
.vas-recs__meta { display:flex; flex:1 1 auto; flex-direction:column; min-height:164px; padding:16px 16px 18px; }
.vas-recs__product-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow:hidden; white-space:normal; font-size:17px; line-height:1.35; }
.vas-recs__bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-top:auto; }
.vas-recs__prices { min-width:0; }
.vas-recs__sale-price { display:block; font-size:16px; }
.vas-recs__old-row { display:flex; align-items:flex-start; gap:10px; margin-top:8px; font-size:11px; }
.vas-recs__cart { min-width:140px; min-height:46px; padding:12px 16px; }
.vas-recs__arrow { top:50%; transform:translateY(-50%); }
.vas-recs__arrow.prev { left:-22px; }
.vas-recs__arrow.next { right:-22px; }

@media (max-width:1100px) {
  .vas-product__container { gap:28px; }
  .vas-product__gallery { width:46%; }
  .vas-product__features { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 0; }
  .vas-recs__card { flex-basis:calc(50% - 11px); }
}

@media (max-width:767px) {
  .vas-slim-hero--edge {
    --vas-slim-edge-gap:0px;
    width:100vw;
    max-width:100vw;
    margin-left:-50vw;
    margin-right:-50vw;
  }
  .vas-product { --vas-product-side:12px; }
  .vas-product__container { flex-direction:column; gap:25px; }
  .vas-product__gallery,
  .vas-product__info { width:100%!important; }
  .vas-product__thumb { flex-basis:calc(33.333% - 8px); }
  .vas-product__thumb-arrow.prev { left:-5px; }
  .vas-product__thumb-arrow.next { right:-5px; }
  .vas-product__timer { flex-direction:column; align-items:stretch; }
  .vas-product__clock { justify-content:flex-end; }
  .vas-product__simple-cart { grid-template-columns:1fr 1fr; }
  .vas-product__simple-cart .quantity { grid-column:1/-1; }
  .vas-product__features { grid-template-columns:1fr; }
  .vas-recs__inner { padding-left:12px; padding-right:12px; }
  .vas-recs__card { flex-basis:88%; }
  .vas-recs__arrow { width:36px; height:36px; }
  .vas-recs__arrow.prev { left:-2px; }
  .vas-recs__arrow.next { right:-2px; }
  .vas-recs__bottom { align-items:flex-end; }
  .vas-recs__cart { min-width:120px; }
}
