/*
Theme Name: Astra Child
Theme URI: http://tvapingdubaiae.local/
Description: Child theme for Vaping Dubai (Astra). All site customizations (home, blog, shop, single product, about, contact, checkout, cart) live here so parent-theme updates never wipe them.
Author: Vaping Dubai
Template: astra
Version: 1.0.0
*/

/* ================= Vaping Dubai custom ================= */

/* ---------- SEO headings: numbered, no tick icons ---------- */
.vd-seo-h3::before { display: none !important; }
.vd-seo-h3 { gap: 0 !important; }

/* ---------- Blog automatic Table of Contents ---------- */
.single-post .entry-content h2[id], .single-post .entry-content h3[id], .single-post .elementor-widget-text-editor h2[id], .single-post .elementor-widget-text-editor h3[id] { scroll-margin-top: 130px; }
.vd-toc { border: 1px solid #E5E0F2; border-radius: 12px; background: #FAF8FF; padding: 18px 22px; margin: 0 0 26px; box-shadow: 0 2px 10px rgba(90,42,134,.06); position: relative; z-index: 1; }
.vd-toc-title { font-size: 17px; font-weight: 800; color: #111; margin-bottom: 10px; }
.entry-content .vd-toc ul { list-style: none; margin: 0 !important; padding: 0 !important; }
.entry-content .vd-toc > ul > li { margin: 0 !important; padding: 2px 0 !important; border-bottom: 1px dashed #E5E0F2; }
.entry-content .vd-toc > ul > li:last-child { border-bottom: 0; }
.vd-toc a { color: #4C1D95; text-decoration: none; font-size: 14.5px; font-weight: 600; line-height: 1.4; }
.vd-toc a:hover { color: #C4008B; text-decoration: underline; }
.entry-content .vd-toc ul.vd-toc-sub { margin: 0 0 0 18px !important; padding: 0 !important; list-style: none; }
.entry-content .vd-toc-sub li { margin: 0 !important; padding: 2px 0 !important; }
.vd-toc-sub a { font-weight: 400; font-size: 13.5px; color: #555; }

/* ---------- Unique sale badge color site-wide ---------- */
body.woocommerce ul.products li.product span.onsale, body.woocommerce div.product span.onsale { background: #046BD2 !important; border-color: #046BD2 !important; color: #fff !important; }

/* ---------- Scroll-to-top button: theme color + round ---------- */
#ast-scroll-top.ast-scroll-top-icon { background: #111; border-radius: 50%; width: 46px; height: 46px; line-height: 46px; box-shadow: 0 6px 18px rgba(0,0,0,.4); transition: background .2s ease, transform .2s ease; }
#ast-scroll-top.ast-scroll-top-icon .ast-icon, #ast-scroll-top.ast-scroll-top-icon svg { color: #fff; fill: #fff; }
#ast-scroll-top.ast-scroll-top-icon:hover { background: #000; transform: translateY(-2px); }

/* ---------- Category top/bottom texts ---------- */
.tax-product_cat .woocommerce-products-header .term-description { max-width: 1200px; margin: 0 auto; padding: 0 20px 6px; color: #333; }
.vd-cat-bottom { max-width: 1200px; margin: 26px auto 10px; padding: 0 20px; color: #333; }
.vd-cat-bottom h2 { font-size: 24px; font-weight: 800; color: #111; margin: 0 0 10px; }
.vd-cat-bottom h3 { font-size: 19px; font-weight: 700; color: #111; margin: 18px 0 8px; }
.vd-cat-bottom p { margin: 0 0 12px; line-height: 1.7; }

/* ---------- Shop by Category (native Elementor) ---------- */
#vd-shop-cat-head { background: #F6F7F9; }
#vd-shop-cat-head .elementor-heading-title { text-align: center; }
.vd-cat-h .elementor-heading-title { color: #fff !important; font-size: 18px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; line-height: 1.2; text-align: center; }
#vd-shop-category { background: #F6F7F9; }
#vd-shop-category .elementor-row { flex-wrap: wrap; }
#vd-shop-category .elementor-column { width: calc(16.666% - 14px); margin: 0 7px; }
#vd-shop-category .elementor-widget-wrap { min-height: 240px; align-content: center; }
#vd-shop-category .elementor-widget-image { text-align: center; margin-bottom: 8px; }
#vd-shop-category .elementor-widget-image img { max-height: 130px; width: auto; object-fit: contain; filter: drop-shadow(0 10px 18px rgba(0,0,0,.35)); }
#vd-shop-category .elementor-button { background: transparent; color: #fff; border: 0; padding: 0; font-size: 12px; font-weight: 700; letter-spacing: 1.2px; box-shadow: none; }
#vd-shop-category .elementor-button:hover { background: transparent; color: #fff; opacity: .85; }

/* ---------- New Arrivals hero title ---------- */
#vd-new-arrivals .vd-eyebrow { text-align: center; margin: 0 0 12px; }
#vd-new-arrivals .vd-eyebrow span { display: inline-block; position: relative; font-family: Montserrat, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 2px; color: #6D28D9; border: 1.5px solid #A855F7; border-radius: 999px; padding: 6px 24px; background: #fff; }
#vd-new-arrivals .vd-eyebrow span::before, #vd-new-arrivals .vd-eyebrow span::after { content: ""; position: absolute; top: 50%; width: 56px; height: 2px; margin-top: -1px; background: linear-gradient(90deg, transparent, #EC4899); }
#vd-new-arrivals .vd-eyebrow span::before { right: 100%; margin-right: 10px; }
#vd-new-arrivals .vd-eyebrow span::after { left: 100%; margin-left: 10px; background: linear-gradient(90deg, #EC4899, transparent); }
#vd-new-arrivals .vd-new-title { position: relative; }
#vd-new-arrivals .vd-new-title .elementor-heading-title { font-family: Montserrat, sans-serif; font-size: clamp(38px, 5.5vw, 62px); font-weight: 800; letter-spacing: -.5px; line-height: 1.05; color: #111; text-align: center; }
#vd-new-arrivals .vd-new-title .vd-grad { background: linear-gradient(92deg, #5B2A86 5%, #A855F7 55%, #C4008B 95%); -webkit-background-clip: text; background-clip: text; color: transparent; }
#vd-new-arrivals .vd-new-title::before, #vd-new-arrivals .vd-new-title::after { content: ""; position: absolute; top: 50%; width: 30px; height: 5px; border-radius: 5px; background: linear-gradient(90deg, #7B2FF7, #C4008B); box-shadow: -10px 20px 0 -1px #C4008B; }
#vd-new-arrivals .vd-new-title::before { left: 5%; transform: translateY(-50%) rotate(-24deg); }
#vd-new-arrivals .vd-new-title::after { right: 5%; transform: translateY(-50%) rotate(24deg); box-shadow: 10px 20px 0 -1px #7B2FF7; }
@media (max-width: 767px) {
  #vd-new-arrivals .vd-new-title::before, #vd-new-arrivals .vd-new-title::after { display: none; }
  #vd-new-arrivals .vd-eyebrow span::before, #vd-new-arrivals .vd-eyebrow span::after { width: 30px; }
}

/* ---------- New Arrivals (native Woo shortcode carousel) ---------- */
#vd-new-arrivals { position: relative; }
#vd-new-arrivals .elementor-widget-heading .elementor-heading-title { text-align: center; padding-bottom: 6px; }
#vd-new-arrivals .elementor-widget-heading .elementor-heading-title::after { content: ""; display: block; width: 64px; height: 4px; border-radius: 4px; background: linear-gradient(90deg,#5B2A86,#C4008B); margin: 10px auto 0; }
#vd-new-carousel ul.products { display: flex; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; scrollbar-width: none; padding: 4px 2px 10px; margin: 0; }
#vd-new-carousel ul.products::-webkit-scrollbar { display: none; }
#vd-new-carousel ul.products::before, #vd-new-carousel ul.products::after { display: none; }
#vd-new-carousel ul.products li.product { flex: 0 0 calc(20% - 13px); width: auto !important; max-width: none !important; margin: 0 !important; float: none !important; clear: none !important; scroll-snap-align: start; background: #fff; border: 1px solid #ECE7F5; border-radius: 14px; padding: 12px 12px 18px; text-align: center; display: flex; flex-direction: column; box-shadow: 0 2px 12px rgba(90,42,134,.08); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
#vd-new-carousel ul.products li.product:hover { transform: translateY(-5px); box-shadow: 0 16px 34px rgba(90,42,134,.18); border-color: #D9CBF2; }
#vd-new-carousel .astra-shop-thumbnail-wrap { position: relative; overflow: hidden; border-radius: 10px; background: #fff; }
#vd-new-carousel ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; align-items: center; }
#vd-new-carousel ul.products li.product img { height: auto; aspect-ratio: 1 / 1; width: 100%; object-fit: contain; margin-bottom: 0; transition: transform .35s ease; }
#vd-new-carousel ul.products li.product:hover img { transform: scale(1.05); }
#vd-new-carousel .astra-shop-summary-wrap { flex: 1; display: flex; flex-direction: column; align-items: center; padding-top: 4px; }
#vd-new-carousel div.vd-shop-cat { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: 1.4px; color: #5B2A86; background: #F1EAFE; border-radius: 20px; padding: 4px 14px; margin: 10px 0 2px; }
#vd-new-carousel .ast-woo-product-category { display: none; }
#vd-new-carousel ul.products li.product .woocommerce-loop-product__title { font-size: 15px; font-weight: 800; color: #1A1A2E; line-height: 1.35; min-height: 40px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; padding: 0; margin-top: 6px; }
#vd-new-carousel ul.products li.product .price { font-size: 17px; font-weight: 800; color: #5B2A86; margin: 8px 0 12px; }
#vd-new-carousel ul.products li.product .price del { color: #A6A6A6; font-weight: 400; font-size: 13px; margin-right: 6px; }
#vd-new-carousel ul.products li.product a.button { width: 100%; margin-top: auto; margin-left: auto; margin-right: auto; background: linear-gradient(90deg,#0A0A0A,#3D3D3D); color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .5px; border-radius: 8px; padding: 12px 22px; transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease; }
#vd-new-carousel ul.products li.product a.button:hover { opacity: 1; color: #fff; transform: translateY(-1px); box-shadow: 0 8px 18px rgba(0,0,0,.28); }
#vd-new-carousel ul.products li.product span.onsale { box-shadow: 0 4px 10px rgba(4,107,210,.45); }
#vd-new-carousel .elementor-row { flex-wrap: nowrap; align-items: center; }
#vd-new-carousel .vd-arrowcol { position: relative; }
#vd-new-carousel .vd-arrowcol .vd-arrow { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); margin: 0; }
#vd-new-arrivals .vd-arrow .elementor-button, #vd-new-carousel .vd-arrow .elementor-button { width: 40px; height: 40px; background: #fff; border: 1px solid #E0D8F0; color: #5B2A86; font-size: 20px; padding: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(90,42,134,.18); transition: background .2s ease, color .2s ease, transform .2s ease; }
#vd-new-arrivals .vd-arrow .elementor-button:hover, #vd-new-carousel .vd-arrow .elementor-button:hover { background: #111; border-color: #111; color: #fff; transform: scale(1.08); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  #vd-shop-category .elementor-column { width: calc(33.333% - 14px); margin: 0 7px 14px; }
  #vd-new-carousel ul.products li.product { flex-basis: calc(33.333% - 11px); }
}
@media (max-width: 767px) {
  #vd-shop-category .elementor-column { width: calc(50% - 12px); margin: 0 6px 12px; }
  #vd-shop-category .elementor-widget-wrap { min-height: 180px; }
  #vd-shop-category .elementor-widget-image img { max-height: 90px; }
  .vd-cat-h .elementor-heading-title { font-size: 14px; }
  #vd-shop-category .elementor-button { font-size: 11px; }
  #vd-new-carousel ul.products { gap: 12px; padding: 4px 2px 10px; }
  #vd-new-carousel ul.products li.product { flex-basis: calc(50% - 6px); padding: 10px 10px 14px; }
  #vd-new-carousel ul.products li.product img { height: 150px; width: 100%; }
  body.woocommerce ul.products li.product span.onsale { font-size: 11px; padding: 4px 8px; min-height: 0; min-width: 0; line-height: 1.5; }
  #vd-new-carousel .elementor-container { flex-direction: row; flex-wrap: nowrap; align-items: stretch; }
  #vd-new-carousel .vd-arrowcol { display: block; width: 44px; flex: 0 0 44px; }
  #vd-new-carousel .vd-productscol { width: auto; flex: 1 1 auto; min-width: 0; }
  #vd-new-carousel .vd-arrow .elementor-button { width: 34px; height: 34px; font-size: 16px; }
  #vd-new-carousel ul.products li.product .woocommerce-loop-product__title { font-size: 13px; min-height: 36px; }
  #vd-new-carousel ul.products li.product .price { font-size: 15px; }
}
