/*
 * GULBERAA premium storefront layer.
 * Product-page refinement: luxury catalogue presentation, consistent brand
 * controls, responsive gallery and subtle motion. Presentation only.
 */

:root {
    --gulberaa-ink: #332321;
    --gulberaa-ink-soft: #5a4945;
    --gulberaa-gold: #b88932;
    --gulberaa-gold-dark: #946d20;
    --gulberaa-maroon: #8f2438;
    --gulberaa-ivory: #fbfaf7;
    --gulberaa-border: rgba(51,35,33,.10);
    --gulberaa-shadow: 0 10px 32px rgba(51,35,33,.08);
}

html { scroll-behavior: smooth; }
body.gulberaa-premium-storefront { color:var(--gulberaa-ink); background:#fff; }
body.gulberaa-premium-storefront :where(h1,h2,h3,h4,h5,h6) { color:var(--gulberaa-ink); letter-spacing:.01em; }
body.gulberaa-premium-storefront :where(p,li) { color:var(--gulberaa-ink-soft); }

/* Header */
body.gulberaa-premium-storefront .site-header .ast-primary-header-bar { background:#fff !important; background-color:#fff !important; border-bottom:1px solid var(--gulberaa-border); box-shadow:0 2px 14px rgba(51,35,33,.035); transition:box-shadow .2s ease,background .2s ease; }
body.gulberaa-premium-storefront.gulberaa-scrolled .site-header .ast-primary-header-bar { box-shadow:0 6px 24px rgba(51,35,33,.08); }
body.gulberaa-premium-storefront .site-header .main-header-menu > .menu-item > .menu-link { color:var(--gulberaa-ink); font-weight:600; }
body.gulberaa-premium-storefront .site-header .main-header-menu > .menu-item > .menu-link:hover,
body.gulberaa-premium-storefront .site-header .main-header-menu > .menu-item > .menu-link:focus-visible { color:var(--gulberaa-gold-dark); }
body.gulberaa-premium-storefront .site-header .custom-logo,
body.gulberaa-premium-storefront .site-header .site-logo-img { max-width:220px; }

/* Global branded controls */
body.gulberaa-premium-storefront :where(.elementor-button,.button,.wp-block-button__link) { border-radius:3px; font-weight:600; letter-spacing:.035em; transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease,background-color .18s ease; }
body.gulberaa-premium-storefront :where(.elementor-button,.button,.wp-block-button__link):hover { transform:translateY(-1px); }
body.gulberaa-premium-storefront .elementor-button { box-shadow:0 5px 18px rgba(51,35,33,.08); }

/* Homepage */
.gulberaa-homepage > .elementor-section,.gulberaa-homepage > .e-con,.gulberaa-homepage .elementor-element-populated { box-sizing:border-box; }
.gulberaa-homepage .elementor-widget-heading .elementor-heading-title { letter-spacing:.045em; }
.gulberaa-homepage :where(.elementor-widget-image,.elementor-widget-image-carousel) img { max-width:100%; }
.gulberaa-homepage .elementor-widget-image a { display:block; }
.gulberaa-homepage .elementor-widget-image-box .elementor-image-box-wrapper { overflow:hidden; border:1px solid var(--gulberaa-border); border-radius:10px; background:#fff; box-shadow:0 5px 20px rgba(51,35,33,.06); }
.gulberaa-homepage .elementor-widget-image-box .elementor-image-box-img { margin:0!important; overflow:hidden; }
.gulberaa-homepage .elementor-widget-image-box .elementor-image-box-img img { display:block; width:100%; transition:transform .28s ease; }
.gulberaa-homepage .elementor-widget-image-box .elementor-image-box-wrapper:hover img { transform:scale(1.018); }
.gulberaa-homepage .elementor-widget-image-box .elementor-image-box-content { position:static!important; inset:auto!important; display:block!important; width:100%!important; box-sizing:border-box!important; margin:0!important; padding:11px 10px 13px!important; background:#fff!important; transform:none!important; }
.gulberaa-homepage .elementor-widget-image-box .elementor-image-box-title { position:static!important; margin:0!important; padding:0!important; color:var(--gulberaa-ink)!important; font-size:14px!important; font-weight:600!important; line-height:1.35!important; text-align:center!important; text-shadow:none!important; }

/* Product cards */
.gulberaa-homepage .woocommerce ul.products li.product,.gulberaa-homepage ul.products li.product,.gulberaa-shop-archive .woocommerce ul.products li.product,.gulberaa-shop-archive ul.products li.product { border:1px solid var(--gulberaa-border); border-radius:10px; background:#fff; overflow:hidden; box-shadow:0 4px 18px rgba(51,35,33,.045); }
.gulberaa-homepage .woocommerce ul.products li.product .woocommerce-loop-product__title,.gulberaa-homepage ul.products li.product .woocommerce-loop-product__title,.gulberaa-shop-archive .woocommerce ul.products li.product .woocommerce-loop-product__title,.gulberaa-shop-archive ul.products li.product .woocommerce-loop-product__title { color:var(--gulberaa-ink); }
.gulberaa-homepage .woocommerce ul.products li.product .price,.gulberaa-homepage ul.products li.product .price,.gulberaa-shop-archive .woocommerce ul.products li.product .price,.gulberaa-shop-archive ul.products li.product .price { color:var(--gulberaa-gold-dark); }
.gulberaa-homepage .woocommerce ul.products li.product .button,.gulberaa-homepage ul.products li.product .button,.gulberaa-shop-archive .woocommerce ul.products li.product .button,.gulberaa-shop-archive ul.products li.product .button { background:var(--gulberaa-ink); border-color:var(--gulberaa-ink); }
body.gulberaa-premium-storefront .woocommerce ul.products li.product .onsale { background:#fff!important; color:var(--gulberaa-maroon)!important; border:1px solid rgba(143,36,56,.18); box-shadow:0 3px 10px rgba(51,35,33,.10); font-weight:700; }

/* ================= PRODUCT PAGE ================= */
body.gulberaa-premium-storefront.single-product div.product { max-width:1240px; margin-left:auto; margin-right:auto; }
body.gulberaa-premium-storefront.single-product div.product .woocommerce-product-gallery { padding:12px; border:1px solid var(--gulberaa-border); border-radius:12px; background:var(--gulberaa-ivory); box-shadow:0 8px 28px rgba(51,35,33,.055); }
body.gulberaa-premium-storefront.single-product div.product .woocommerce-product-gallery .flex-control-thumbs { margin-top:10px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
body.gulberaa-premium-storefront.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li { width:auto; margin:0; padding:0; }
body.gulberaa-premium-storefront.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img { width:100%; aspect-ratio:1/1; object-fit:cover; border:1px solid transparent; border-radius:6px; opacity:.72; transition:opacity .18s ease,transform .18s ease,border-color .18s ease; }
body.gulberaa-premium-storefront.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity:1; transform:translateY(-1px); }
body.gulberaa-premium-storefront.single-product div.product .woocommerce-product-gallery .flex-control-thumbs .flex-active { opacity:1; border-color:var(--gulberaa-gold); }
body.gulberaa-premium-storefront.single-product div.product .summary { padding:8px 0 0 20px; }
body.gulberaa-premium-storefront.single-product div.product .product_title { margin:0 0 12px; font-size:clamp(28px,3vw,42px); line-height:1.12; font-weight:500; }
body.gulberaa-premium-storefront.single-product div.product .price { margin:0 0 18px; color:var(--gulberaa-gold-dark); font-size:25px; font-weight:700; }
body.gulberaa-premium-storefront.single-product div.product .woocommerce-product-details__short-description { margin:0 0 20px; padding-bottom:18px; border-bottom:1px solid var(--gulberaa-border); line-height:1.7; }
body.gulberaa-premium-storefront.single-product div.product form.cart { margin:0 0 18px; padding:18px; border:1px solid var(--gulberaa-border); border-radius:10px; background:#fff; box-shadow:0 5px 20px rgba(51,35,33,.045); }
body.gulberaa-premium-storefront.single-product div.product form.cart .quantity .qty { min-height:48px; border:1px solid rgba(51,35,33,.18); border-radius:4px; background:#fff; color:var(--gulberaa-ink); font-weight:600; }
body.gulberaa-premium-storefront.single-product div.product form.cart .single_add_to_cart_button { min-height:48px; padding:12px 28px; border:1px solid var(--gulberaa-ink); border-radius:3px; background:var(--gulberaa-ink); color:#fff; font-weight:700; letter-spacing:.035em; box-shadow:0 6px 18px rgba(51,35,33,.12); transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease; }
body.gulberaa-premium-storefront.single-product div.product form.cart .single_add_to_cart_button:hover { background:#4a302c; transform:translateY(-1px); box-shadow:0 9px 22px rgba(51,35,33,.16); }
body.gulberaa-premium-storefront.single-product div.product form.cart .single_add_to_cart_button:focus-visible { outline:2px solid var(--gulberaa-gold); outline-offset:3px; }
body.gulberaa-premium-storefront.single-product div.product form.cart .variations { margin-bottom:14px; }
body.gulberaa-premium-storefront.single-product div.product form.cart .variations th.label { padding:8px 12px 8px 0; color:var(--gulberaa-ink); font-weight:700; vertical-align:middle; }
body.gulberaa-premium-storefront.single-product div.product form.cart .variations td.value select { min-height:44px; min-width:190px; padding:8px 34px 8px 12px; border:1px solid rgba(51,35,33,.18); border-radius:4px; background:#fff; }
body.gulberaa-premium-storefront.single-product div.product .product_meta { margin-top:16px; padding-top:15px; border-top:1px solid var(--gulberaa-border); font-size:12px; line-height:1.7; color:var(--gulberaa-ink-soft); }
body.gulberaa-premium-storefront.single-product div.product .product_meta a { color:var(--gulberaa-gold-dark); font-weight:600; }
body.gulberaa-premium-storefront.single-product .woocommerce-tabs { margin-top:52px; padding-top:6px; border-top:1px solid var(--gulberaa-border); }
body.gulberaa-premium-storefront.single-product .woocommerce-tabs ul.tabs { margin:0 0 22px; padding:0; border-bottom:1px solid var(--gulberaa-border); }
body.gulberaa-premium-storefront.single-product .woocommerce-tabs ul.tabs li { margin:0 8px 0 0; border:0; background:transparent; }
body.gulberaa-premium-storefront.single-product .woocommerce-tabs ul.tabs li a { padding:13px 16px; color:var(--gulberaa-ink-soft); font-weight:600; }
body.gulberaa-premium-storefront.single-product .woocommerce-tabs ul.tabs li.active a { color:var(--gulberaa-ink); border-bottom:2px solid var(--gulberaa-gold); }
body.gulberaa-premium-storefront.single-product .related.products { margin-top:54px; padding-top:8px; border-top:1px solid var(--gulberaa-border); }
body.gulberaa-premium-storefront.single-product .related.products > h2 { margin-bottom:24px; text-align:center; font-size:28px; font-weight:500; }

/* Existing GULBERAA purchase note / assurance */
body.gulberaa-premium-storefront.single-product .gulberaa-purchase-note { margin:0 0 14px; padding:12px 14px; border:1px solid rgba(184,137,50,.24); border-radius:8px; background:linear-gradient(135deg,#fffdf8,#fbfaf7); color:var(--gulberaa-ink); box-shadow:0 4px 14px rgba(51,35,33,.035); }
body.gulberaa-premium-storefront.single-product .gulberaa-purchase-note__icon { color:var(--gulberaa-gold); }
body.gulberaa-premium-storefront.single-product .gulberaa-product-assurance { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:12px; padding-top:12px; border-top:1px dashed rgba(184,137,50,.28); color:var(--gulberaa-ink-soft); font-size:12px; }

/* Forms, notices, cart and checkout */
body.gulberaa-premium-storefront :where(input,select,textarea) { border-color:rgba(51,35,33,.16); border-radius:4px; }
body.gulberaa-premium-storefront :where(input,select,textarea):focus { border-color:rgba(184,137,50,.75); box-shadow:0 0 0 2px rgba(184,137,50,.12); }
body.gulberaa-premium-storefront .woocommerce-message,body.gulberaa-premium-storefront .woocommerce-info,body.gulberaa-premium-storefront .woocommerce-error { border-top-color:var(--gulberaa-gold); border-radius:4px; box-shadow:0 4px 16px rgba(51,35,33,.05); }
body.gulberaa-premium-storefront .woocommerce a.button,body.gulberaa-premium-storefront .woocommerce button.button,body.gulberaa-premium-storefront .woocommerce input.button,body.gulberaa-premium-storefront #place_order { min-height:44px; background:var(--gulberaa-ink); border-color:var(--gulberaa-ink); color:#fff; }
body.gulberaa-premium-storefront .woocommerce a.button:hover,body.gulberaa-premium-storefront .woocommerce button.button:hover,body.gulberaa-premium-storefront .woocommerce input.button:hover,body.gulberaa-premium-storefront #place_order:hover { opacity:.9; }
body.gulberaa-premium-storefront .woocommerce-cart-form,body.gulberaa-premium-storefront .cart_totals,body.gulberaa-premium-storefront .woocommerce-checkout-review-order,body.gulberaa-premium-storefront .woocommerce-checkout-payment { border-color:var(--gulberaa-border); }
body.gulberaa-premium-storefront .cart_totals,body.gulberaa-premium-storefront .woocommerce-checkout-review-order { border-radius:8px; box-shadow:0 5px 20px rgba(51,35,33,.05); }

/* Homepage supporting styles */
.gulberaa-homepage .elementor-widget-icon-box { border:1px solid var(--gulberaa-border); border-radius:4px; transition:transform .18s ease; }
.gulberaa-homepage .elementor-widget-icon-box:hover { transform:translateY(-2px); }
.gulberaa-homepage .elementor-widget-icon-box .elementor-icon { color:var(--gulberaa-gold)!important; }
.gulberaa-homepage .elementor-widget-icon-box .elementor-icon-box-title { color:var(--gulberaa-ink); }
.gulberaa-homepage .elementor-widget-icon-box .elementor-icon-box-description { color:var(--gulberaa-ink-soft); }
.gulberaa-homepage .elementor-widget-form .elementor-button { background:var(--gulberaa-gold)!important; color:#fff!important; }
.gulberaa-homepage .elementor-widget-image-gallery,.gulberaa-homepage .elementor-widget-image-gallery * { color:var(--gulberaa-ink); }
.gulberaa-homepage .elementor-widget-image-gallery a { color:var(--gulberaa-maroon); }
.gulberaa-homepage .elementor-testimonial-item,.gulberaa-homepage .elementor-testimonial-wrapper { box-sizing:border-box; }
.gulberaa-homepage .elementor-testimonial-item { border-color:var(--gulberaa-border); }

/* Footer */
body.gulberaa-premium-storefront .site-footer { border-top:1px solid rgba(184,137,50,.22); }
body.gulberaa-premium-storefront .site-footer a:hover { color:var(--gulberaa-gold)!important; }
body.gulberaa-premium-storefront .site-footer .widget-title { letter-spacing:.055em; }

/* Responsive */
@media (min-width:768px) {
    body.gulberaa-premium-storefront .site-header .ast-primary-header-bar { position:sticky; top:0; z-index:99; }
}
@media (max-width:921px) {
    .site-header .ast-primary-header-bar { box-shadow:0 2px 10px rgba(51,35,33,.05); }
    .site-header .ast-builder-grid-row-container { padding-top:2px; padding-bottom:2px; }
    .site-header .ast-mobile-header-content .main-header-menu .menu-link { min-height:46px; }
    .site-header .ast-mobile-header-content .main-header-menu .menu-item { border-bottom:1px solid rgba(51,35,33,.07); }
}
@media (max-width:767px) {
    body.gulberaa-premium-storefront .site-header .custom-logo,body.gulberaa-premium-storefront .site-header .site-logo-img { max-width:170px; }
    .gulberaa-homepage .elementor-widget-image-box .elementor-image-box-content { padding:9px 8px 10px!important; }
    .gulberaa-homepage .elementor-widget-image-box .elementor-image-box-title { font-size:13px!important; }
    body.gulberaa-premium-storefront.single-product div.product .woocommerce-product-gallery { padding:8px; border-radius:9px; }
    body.gulberaa-premium-storefront.single-product div.product .woocommerce-product-gallery .flex-control-thumbs { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
    body.gulberaa-premium-storefront.single-product div.product .summary { padding:24px 0 0; }
    body.gulberaa-premium-storefront.single-product div.product .product_title { margin-bottom:10px; font-size:28px; }
    body.gulberaa-premium-storefront.single-product div.product .price { margin-bottom:15px; font-size:21px; }
    body.gulberaa-premium-storefront.single-product div.product .woocommerce-product-details__short-description { margin-bottom:15px; padding-bottom:14px; }
    body.gulberaa-premium-storefront.single-product div.product form.cart { padding:13px; border-radius:8px; }
    body.gulberaa-premium-storefront.single-product div.product form.cart .variations td.value select { width:100%; min-width:0; }
    body.gulberaa-premium-storefront.single-product div.product form.cart .quantity { margin-bottom:10px!important; }
    body.gulberaa-premium-storefront.single-product div.product form.cart .quantity .qty { width:100%; }
    body.gulberaa-premium-storefront.single-product div.product form.cart .single_add_to_cart_button { width:100%; min-height:50px; }
    body.gulberaa-premium-storefront.single-product .woocommerce-tabs { margin-top:38px; }
    body.gulberaa-premium-storefront.single-product .woocommerce-tabs ul.tabs { display:flex; overflow-x:auto; white-space:nowrap; }
    body.gulberaa-premium-storefront.single-product .woocommerce-tabs ul.tabs li { flex:0 0 auto; }
    body.gulberaa-premium-storefront.single-product .related.products { margin-top:40px; }
    body.gulberaa-premium-storefront.single-product .related.products > h2 { font-size:23px; }
    body.gulberaa-premium-storefront .woocommerce a.button,body.gulberaa-premium-storefront .woocommerce button.button,body.gulberaa-premium-storefront .woocommerce input.button,body.gulberaa-premium-storefront #place_order { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
    body.gulberaa-premium-storefront *,body.gulberaa-premium-storefront *::before,body.gulberaa-premium-storefront *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}
