/* ===== ShopVibes design tokens ===== */
:root{
  --sv-primary:#1f66e0; --sv-primary-dark:#0b1f6b; --sv-sky:#22a3f0; --sv-accent:#ff6b35; --sv-accent-dark:#e85a26;
  --sv-heading:#0f1a3d; --sv-text:#3f4a5e; --sv-bg:#f4f7fc; --sv-border:#e3e9f3; --sv-radius:14px;
  --sv-shadow:0 6px 24px rgba(15,26,61,.08);
}
body{color:var(--sv-text);background:#fff;}
h1,h2,h3,h4,h5,h6,.entry-title{color:var(--sv-heading);letter-spacing:-.01em;}
a{color:var(--sv-primary);} a:hover{color:var(--sv-primary-dark);}

/* ===== Header ===== */
#masthead{position:sticky;top:0;z-index:999;box-shadow:0 2px 14px rgba(15,26,61,.06);}
.admin-bar #masthead{top:32px;}
.ast-primary-header-bar{background:#fff;border-bottom:1px solid var(--sv-border);}
.ast-below-header-bar{background:var(--sv-primary-dark)!important;border:0!important;}
.ast-below-header-bar .main-header-menu>.menu-item>.menu-link,
.ast-below-header-bar .main-header-menu>.menu-item>.ast-menu-toggle{color:#fff!important;font-weight:600;font-size:15px;}
.ast-below-header-bar .main-header-menu>.menu-item:hover>.menu-link,
.ast-below-header-bar .main-header-menu>.current-menu-item>.menu-link{color:#9fd3ff!important;}
.ast-below-header-bar .main-header-menu .sub-menu{border-radius:12px;border:1px solid var(--sv-border)!important;box-shadow:var(--sv-shadow);padding:8px 0;min-width:280px;}
.ast-below-header-bar .main-header-menu .sub-menu .menu-link{color:var(--sv-heading)!important;padding:9px 18px;font-size:14.5px;}
.ast-below-header-bar .main-header-menu .sub-menu .menu-link:hover{background:var(--sv-bg);color:var(--sv-primary)!important;}
/* search box */
.ast-header-search .search-form,.ast-search-box.header-cover,.ast-header-search form{border-radius:999px;}
.ast-header-search .search-field,.ast-search-menu-icon .search-field{border:2px solid var(--sv-border)!important;border-radius:999px!important;background:var(--sv-bg)!important;padding:10px 18px!important;min-width:420px;font-size:15px;}
.ast-header-search .search-field:focus{border-color:var(--sv-primary)!important;background:#fff!important;}
@media (max-width:921px){.ast-header-search .search-field{min-width:0;}}
/* header icons */
.sv-wishlist{display:inline-flex;align-items:center;color:var(--sv-heading);}
.sv-wishlist svg{width:22px;height:22px;} .sv-wishlist:hover{color:var(--sv-primary);}
.ast-site-header-cart .ast-cart-menu-wrap .count,.ast-site-header-cart .ast-addon-cart-wrap .count{background:var(--sv-accent)!important;border-color:var(--sv-accent)!important;color:#fff!important;}
.ast-header-account-wrap .ast-header-account-link svg,.ast-site-header-cart svg{fill:var(--sv-heading);}

/* ===== Buttons ===== */
.button,button,input[type=submit],.wp-block-button__link,.ast-button,.elementor-button{border-radius:10px!important;font-weight:600!important;transition:.2s;}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--sv-primary);color:#fff;}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--sv-primary-dark);color:#fff;}
.woocommerce ul.products li.product .button,.woocommerce .single_add_to_cart_button,.woocommerce button.single_add_to_cart_button.alt{background:var(--sv-accent)!important;border-color:var(--sv-accent)!important;color:#fff!important;}
.woocommerce ul.products li.product .button:hover,.woocommerce .single_add_to_cart_button:hover{background:var(--sv-accent-dark)!important;}
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{background:var(--sv-accent);border-radius:999px;}

/* ===== Product cards ===== */
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:#fff;border:1px solid var(--sv-border);border-radius:var(--sv-radius);padding:14px 14px 18px;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column;}
.woocommerce ul.products li.product:hover{box-shadow:var(--sv-shadow);transform:translateY(-3px);}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{border-radius:10px;overflow:hidden;background:#fff;}
.woocommerce ul.products li.product img{aspect-ratio:1/1;object-fit:contain;border-radius:10px;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px!important;font-weight:600;color:var(--sv-heading);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em;}
.woocommerce ul.products li.product .price{color:var(--sv-primary)!important;font-weight:700;font-size:18px!important;}
.woocommerce ul.products li.product .ast-woo-product-category{color:#8a94a8;font-size:12px;text-transform:none;}
.woocommerce ul.products li.product .astra-shop-summary-wrap{display:flex;flex-direction:column;flex:1;}
.woocommerce ul.products li.product .astra-shop-summary-wrap .button{margin-top:auto;width:100%;text-align:center;}

/* ===== Category cards (product_categories) ===== */
.woocommerce ul.products li.product-category{padding:12px;text-align:center;background:var(--sv-bg);border-color:transparent;}
.woocommerce ul.products li.product-category img{background:#fff;padding:10px;margin-bottom:10px!important;}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title{font-size:14.5px!important;font-weight:600;color:var(--sv-heading);padding:0!important;line-height:1.35;}
.woocommerce ul.products li.product-category .count{display:block;background:none;color:#8a94a8;font-size:12.5px;font-weight:500;margin-top:4px;}
.woocommerce ul.products li.product-category:hover .woocommerce-loop-category__title{color:var(--sv-primary);}

/* ===== Single product ===== */
.single-product div.product .product_title{font-size:28px;line-height:1.3;}
.single-product div.product p.price,.single-product div.product span.price{color:var(--sv-primary)!important;font-size:30px!important;font-weight:800;}
.single-product .woocommerce-product-details__short-description ul{list-style:none;margin:12px 0 18px;padding:14px 18px;background:var(--sv-bg);border-radius:12px;}
.single-product .woocommerce-product-details__short-description li{padding:4px 0 4px 26px;position:relative;}
.single-product .woocommerce-product-details__short-description li:before{content:"";position:absolute;left:4px;top:.75em;width:9px;height:9px;border-radius:50%;background:var(--sv-sky);}
.single-product .woocommerce-product-gallery{background:#fff;border:1px solid var(--sv-border);border-radius:var(--sv-radius);padding:12px;}
.single-product div.product form.cart .button{padding:14px 34px;font-size:16px;}
.single-product div.product form.cart .qty{border-radius:10px;height:48px;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--sv-primary);}
.single-product .stock.in-stock{color:#16a34a;font-weight:600;}
.yith-wcwl-add-to-wishlist a{color:var(--sv-primary);font-weight:600;}

/* ===== Archive ===== */
.woocommerce-products-header .page-title,.ast-archive-title{font-size:32px;}
.term-description{background:var(--sv-bg);border-radius:12px;padding:16px 20px;color:var(--sv-text);margin-bottom:20px;}
.woocommerce .woocommerce-ordering select{border-radius:10px;border:1px solid var(--sv-border);}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:8px;}

/* ===== Home (Elementor) ===== */
.sv-hero-img img{border-radius:16px;background:#fff;box-shadow:var(--sv-shadow);aspect-ratio:1/1;object-fit:contain;padding:10px;}
.sv-benefit{background:#fff;border:1px solid var(--sv-border);border-radius:var(--sv-radius);padding:18px!important;}
.sv-benefit .elementor-icon{color:var(--sv-primary)!important;fill:var(--sv-primary)!important;}
.sv-section-title .elementor-heading-title{position:relative;padding-bottom:12px;}
.sv-section-title .elementor-heading-title:after{content:"";position:absolute;left:50%;bottom:0;width:56px;height:4px;border-radius:4px;background:var(--sv-accent);transform:translateX(-50%);}
.elementor-widget-shortcode .woocommerce ul.products{margin-bottom:0;}
.sv-map iframe{border-radius:var(--sv-radius);}

/* ===== Footer ===== */
.site-primary-footer-wrap{background:var(--sv-primary-dark)!important;color:#c9d4ee;padding-top:50px!important;padding-bottom:30px!important;}
.site-primary-footer-wrap .widget-title,.site-primary-footer-wrap h2,.site-primary-footer-wrap h3{color:#fff!important;font-size:17px;}
.site-primary-footer-wrap a{color:#c9d4ee!important;} .site-primary-footer-wrap a:hover{color:#fff!important;}
.site-primary-footer-wrap ul{list-style:none;margin:0;} .site-primary-footer-wrap li{padding:4px 0;}
.site-below-footer-wrap{background:#081650!important;color:#aab6d6;border-top:1px solid rgba(255,255,255,.08)!important;}
.site-below-footer-wrap a{color:#fff;}
.sv-footer-logo{max-width:150px;background:#fff;border-radius:12px;padding:8px;margin-bottom:12px;}

@media (max-width:768px){
  .woocommerce ul.products li.product{padding:10px 10px 14px;}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px!important;}
  .woocommerce ul.products li.product .button{font-size:13px;padding:10px 8px;}
  .single-product div.product .product_title{font-size:22px;}
  .single-product div.product p.price{font-size:24px!important;}
}

/* ===== v2 fixes ===== */
.sv-search{position:relative;display:flex;align-items:center;width:560px;max-width:100%;margin:0;}
.sv-search input[type=search]{width:100%;height:46px;border:2px solid var(--sv-border);border-radius:999px;background:var(--sv-bg);padding:0 52px 0 20px;font-size:15px;color:var(--sv-heading);outline:none;}
.sv-search input[type=search]:focus{border-color:var(--sv-primary);background:#fff;}
.sv-search button{position:absolute;right:5px;top:5px;width:36px;height:36px;border-radius:50%!important;background:var(--sv-primary);border:0;padding:0;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;}
.sv-search button svg{width:18px;height:18px;}
.ast-header-html-2 .ast-builder-html-element p{margin:0;}
.ast-mobile-header-wrap .ast-below-header-bar .sv-search{width:100%;}
.ast-mobile-header-wrap .ast-below-header-bar .sv-search input[type=search]{height:42px;background:#fff;border-color:#fff;}
.ast-mobile-header-wrap .ast-below-header-bar .site-below-header-wrap,.ast-mobile-header-wrap .ast-below-header-bar .ast-builder-grid-row{padding:6px 0;}
/* category cards: title below image */
.woocommerce ul.products li.product-category a{display:block;}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title,.woocommerce ul.products li.product-category .ast-woo-category-title{position:static!important;background:transparent!important;transform:none!important;opacity:1!important;margin:0!important;}
.woocommerce ul.products li.product-category .count{background:transparent!important;}
/* single product */
.woocommerce div.product form.cart .single_add_to_cart_button{padding:14px 38px!important;font-size:16px!important;height:48px;}
.woocommerce #reviews #review_form_wrapper,.woocommerce #review_form #respond{border:1px solid var(--sv-border)!important;border-radius:12px;}
.woocommerce div.product .woocommerce-tabs ul.tabs:before{border-color:var(--sv-border);}
.woocommerce-js .woocommerce-products-header .term-description,.woocommerce-js .term-description{background:var(--sv-bg);border-radius:12px;padding:16px 20px;}
.woocommerce-products-header__title.page-title{font-weight:800;}
/* ===== v3 ===== */
html,body{overflow-x:hidden;max-width:100%;}
@media (max-width:921px){
  .sv-search{width:100%;}
  .ast-mobile-header-wrap .ast-below-header-bar .ast-builder-layout-element,.ast-mobile-header-wrap .ast-below-header-bar .site-header-below-section-center{width:100%;flex:1 1 100%;}
  .ast-header-html-2{width:100%;}
}
.woocommerce #reviews #review_form_wrapper{border:0!important;padding:0!important;}
.sv-wishlist{padding:0 4px;}
/* ===== v4: category cards ===== */
.woocommerce ul.products li.product-category{display:block!important;height:auto!important;padding:12px 12px 16px!important;margin-bottom:22px!important;background:var(--sv-bg)!important;border:1px solid transparent!important;}
.woocommerce ul.products li.product-category:hover{border-color:var(--sv-border)!important;}
.woocommerce ul.products li.product-category img{width:100%;height:auto;}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title{font-size:14px!important;text-transform:none!important;letter-spacing:0;min-height:2.7em;display:flex!important;flex-direction:column;justify-content:flex-start;}
.woocommerce ul.products li.product-category .count{font-size:12px!important;}
/* v5: Astra sets a/img height:100% on category cards -> overlap */
.woocommerce-js ul.products li.product.product-category a,.woocommerce ul.products li.product.product-category a{height:auto!important;display:block!important;}
.woocommerce-js ul.products li.product.product-category a img{height:auto!important;aspect-ratio:1/1;object-fit:contain!important;}
/* v6 */
.ast-mobile-header-wrap .ast-below-header-bar .site-header-section,.ast-mobile-header-wrap .ast-below-header-bar .ast-builder-layout-element,.ast-mobile-header-wrap .ast-below-header-bar .ast-header-html,.ast-mobile-header-wrap .ast-below-header-bar .ast-builder-html-element,.ast-mobile-header-wrap .ast-below-header-bar .ast-builder-grid-row{width:100%!important;max-width:100%!important;flex:1 1 100%!important;}
.ast-mobile-header-wrap .ast-below-header-bar .ast-builder-grid-row{display:block!important;}
#reviews #review_form_wrapper,#reviews #review_form,#reviews .comment-respond,#reviews .comment-form{border:0!important;box-shadow:none!important;}
#reviews #respond{background:var(--sv-bg)!important;border-radius:12px!important;padding:20px!important;border:0!important;}
#reviews .comment-reply-title{font-size:17px!important;font-weight:700;color:var(--sv-heading);}
#reviews textarea,#reviews input[type=text],#reviews input[type=email]{border:1px solid var(--sv-border)!important;border-radius:8px!important;background:#fff!important;}
@media (max-width:544px){
 .woocommerce ul.products li.product .button{font-size:12.5px!important;line-height:1.25!important;padding:9px 4px!important;}
 .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13px!important;}
}
/* v7 */
.site-below-footer-wrap,.site-below-footer-wrap .ast-footer-copyright,.site-below-footer-wrap .ast-footer-copyright p{color:#c9d3ee!important;}
