/*
 * GULBERAA-owned storefront presentation.
 * Keep this scoped to GULBERAA custom components so Astra/WooCommerce styles
 * remain untouched.
 */

.gulberaa-delivery-box { margin:14px 0; padding:12px 14px; border:1px solid rgba(0,0,0,.10); border-radius:8px; background:#fffaf3; color:#3a2a20; font-size:14px; line-height:1.5; }
.gulberaa-delivery-box strong { font-weight:600; }
.gulberaa-purchase-note { display:flex; align-items:center; gap:10px; margin:0 0 12px; padding:11px 13px; border:1px solid rgba(94,46,44,.14); border-radius:8px; background:#fffdf9; color:#332321; line-height:1.35; }
.gulberaa-purchase-note__icon { flex:0 0 auto; font-size:20px; line-height:1; }
.gulberaa-purchase-note span:last-child { display:flex; flex-direction:column; gap:2px; }
.gulberaa-purchase-note strong { font-size:14px; font-weight:600; }
.gulberaa-purchase-note small { font-size:12px; opacity:.78; }
.gulberaa-product-assurance { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:12px; font-size:12px; line-height:1.4; opacity:.82; }
.gulberaa-product-assurance span { white-space:nowrap; }

.single-product div.product form.cart .quantity .qty,
.single-product div.product form.cart .variations select { min-height:44px; }
.single-product div.product form.cart .single_add_to_cart_button { min-height:46px; padding-top:10px; padding-bottom:10px; }
.single-product div.product .variations_form .reset_variations { display:inline-block; margin-top:6px; }
.single-product div.product .woocommerce-product-gallery img { border-radius:6px; }

.gulberaa-skip-link { position:fixed; top:10px; left:10px; z-index:999999; padding:10px 14px; border-radius:6px; background:#332321; color:#fff; font-size:14px; line-height:1.2; text-decoration:none; transform:translateY(-160%); transition:transform .15s ease; }
.gulberaa-skip-link:focus { transform:translateY(0); outline:3px solid currentColor; outline-offset:2px; }
.gulberaa-custom-enabled :where(a,button,input,select,textarea):focus-visible { outline:2px solid currentColor; outline-offset:2px; }

/* Homepage conversion polish. Presentation only; no commerce logic is changed. */
.gulberaa-homepage .elementor-button,
.gulberaa-homepage a.wp-block-button__link { border-radius:2px; min-height:44px; padding:12px 24px; font-weight:600; letter-spacing:.04em; transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease; }
.gulberaa-homepage .elementor-button:hover,
.gulberaa-homepage .elementor-button:focus-visible,
.gulberaa-homepage a.wp-block-button__link:hover,
.gulberaa-homepage a.wp-block-button__link:focus-visible { transform:translateY(-1px); box-shadow:0 6px 18px rgba(51,35,33,.14); }
.gulberaa-homepage .woocommerce ul.products li.product,
.gulberaa-homepage ul.products li.product { overflow:hidden; border-radius:10px; transition:transform .18s ease,box-shadow .18s ease; }
.gulberaa-homepage .woocommerce ul.products li.product:hover,
.gulberaa-homepage ul.products li.product:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(51,35,33,.10); }
.gulberaa-homepage .woocommerce ul.products li.product img,
.gulberaa-homepage ul.products li.product img { transition:transform .25s ease; }
.gulberaa-homepage .woocommerce ul.products li.product:hover img,
.gulberaa-homepage ul.products li.product:hover img { transform:scale(1.015); }
.gulberaa-homepage .elementor-section > .elementor-container { box-sizing:border-box; }
.gulberaa-homepage .elementor-widget-heading .elementor-heading-title { line-height:1.15; }

/* Header and navigation polish. Astra remains the source of structure/function. */
.site-header .ast-primary-header-bar { border-bottom:1px solid rgba(51,35,33,.08); box-shadow:0 2px 12px rgba(51,35,33,.035); }
.site-header .ast-builder-grid-row-container { padding-top:4px; padding-bottom:4px; }
.site-header .site-logo-img,
.site-header .custom-logo { transition:opacity .18s ease,transform .18s ease; }
.site-header .site-logo-img:hover,
.site-header .custom-logo:hover { opacity:.94; }
.site-header .main-header-menu > .menu-item > .menu-link { min-height:44px; display:inline-flex; align-items:center; transition:opacity .18s ease; }
.site-header .main-header-menu > .menu-item > .menu-link:hover,
.site-header .main-header-menu > .menu-item > .menu-link:focus-visible { opacity:.72; }
.site-header .ast-header-account-wrap a,
.site-header .ast-header-woo-cart a { transition:opacity .18s ease,transform .18s ease; }
.site-header .ast-header-account-wrap a:hover,
.site-header .ast-header-woo-cart a:hover { opacity:.72; transform:translateY(-1px); }

/* Homepage trust strip and newsletter polish. No form submission or shipping logic is changed. */
.gulberaa-homepage .elementor-widget-icon-box { transition:transform .18s ease; }
.gulberaa-homepage .elementor-widget-icon-box:hover { transform:translateY(-2px); }
.gulberaa-homepage .elementor-widget-icon-box .elementor-icon { margin-bottom:6px; }
.gulberaa-homepage .elementor-widget-icon-box .elementor-icon-box-title { margin-bottom:4px; letter-spacing:.04em; }
.gulberaa-homepage .elementor-widget-icon-box .elementor-icon-box-description { line-height:1.5; }
.gulberaa-homepage .elementor-widget-form .elementor-field,
.gulberaa-homepage .elementor-widget-form input[type="email"] { min-height:44px; border-radius:3px; }
.gulberaa-homepage .elementor-widget-form .elementor-button { min-height:44px; }
.gulberaa-homepage .elementor-widget-form .elementor-button:hover { transform:translateY(-1px); }

/* Shop and product-category archive polish. Visual only; WooCommerce logic stays native. */
.gulberaa-shop-archive .site-main { box-sizing:border-box; }
.gulberaa-shop-archive .woocommerce-breadcrumb { margin-bottom:18px; font-size:12px; opacity:.72; }
.gulberaa-shop-archive .woocommerce-products-header { margin-bottom:28px; }
.gulberaa-shop-archive .woocommerce-products-header__title,
.gulberaa-shop-archive .page-title { margin-bottom:0; line-height:1.15; letter-spacing:.01em; }
.gulberaa-shop-archive .woocommerce-result-count { margin:0 0 18px; font-size:13px; opacity:.72; }
.gulberaa-shop-archive .woocommerce-ordering { margin:0 0 18px; }
.gulberaa-shop-archive .woocommerce-ordering select { min-height:40px; padding:7px 32px 7px 12px; border:1px solid rgba(51,35,33,.16); border-radius:3px; background:#fff; }
.gulberaa-shop-archive .woocommerce ul.products,
.gulberaa-shop-archive ul.products { margin-top:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 16px; }
.gulberaa-shop-archive .woocommerce ul.products::before,
.gulberaa-shop-archive .woocommerce ul.products::after,
.gulberaa-shop-archive ul.products::before,
.gulberaa-shop-archive ul.products::after { display:none; }
.gulberaa-shop-archive .woocommerce ul.products li.product,
.gulberaa-shop-archive ul.products li.product { float:none; width:auto; margin:0; padding:0 0 14px; overflow:hidden; border:1px solid rgba(51,35,33,.08); border-radius:10px; background:#fff; box-shadow:0 3px 14px rgba(51,35,33,.045); transition:transform .18s ease,box-shadow .18s ease; }
.gulberaa-shop-archive .woocommerce ul.products li.product:hover,
.gulberaa-shop-archive ul.products li.product:hover { transform:translateY(-3px); box-shadow:0 10px 26px rgba(51,35,33,.10); }
.gulberaa-shop-archive .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.gulberaa-shop-archive ul.products li.product > a.woocommerce-LoopProduct-link { display:block; color:inherit; }
.gulberaa-shop-archive .woocommerce ul.products li.product img,
.gulberaa-shop-archive ul.products li.product img { width:100%; aspect-ratio:4 / 5; object-fit:contain; margin:0 0 12px; padding:0; background:#fff; transition:transform .25s ease; }
.gulberaa-shop-archive .woocommerce ul.products li.product:hover img,
.gulberaa-shop-archive ul.products li.product:hover img { transform:scale(1.012); }
.gulberaa-shop-archive .woocommerce ul.products li.product .onsale,
.gulberaa-shop-archive ul.products li.product .onsale { top:10px; left:10px; right:auto; min-width:0; min-height:0; margin:0; padding:5px 9px; border-radius:3px; background:#fff; color:#332321; box-shadow:0 2px 6px rgba(0,0,0,.14); font-size:11px; font-weight:600; line-height:1.2; }
.gulberaa-shop-archive .woocommerce ul.products li.product .woocommerce-loop-product__title,
.gulberaa-shop-archive ul.products li.product .woocommerce-loop-product__title { min-height:2.8em; margin:0 14px 7px; padding:0; color:#332321; font-size:15px; font-weight:600; line-height:1.4; }
.gulberaa-shop-archive .woocommerce ul.products li.product .price,
.gulberaa-shop-archive ul.products li.product .price { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px; margin:0 14px 12px; color:#9a6c18; font-size:15px; font-weight:700; line-height:1.35; }
.gulberaa-shop-archive .woocommerce ul.products li.product .price del,
.gulberaa-shop-archive ul.products li.product .price del { color:#aaa; font-size:12px; font-weight:400; opacity:.9; }
.gulberaa-shop-archive .woocommerce ul.products li.product .price ins,
.gulberaa-shop-archive ul.products li.product .price ins { text-decoration:none; color:#9a6c18; }
.gulberaa-shop-archive .woocommerce ul.products li.product .button,
.gulberaa-shop-archive ul.products li.product .button { display:block; width:calc(100% - 28px); min-height:42px; margin:0 14px; padding:10px 14px; border:1px solid #332321; border-radius:3px; background:#332321; color:#fff; text-align:center; font-size:13px; font-weight:600; letter-spacing:.03em; transition:opacity .18s ease,transform .18s ease; }
.gulberaa-shop-archive .woocommerce ul.products li.product .button:hover,
.gulberaa-shop-archive ul.products li.product .button:hover { opacity:.86; transform:translateY(-1px); }
.gulberaa-shop-archive .woocommerce nav.woocommerce-pagination { margin-top:34px; text-align:center; }
.gulberaa-shop-archive .woocommerce nav.woocommerce-pagination ul { display:inline-flex; gap:5px; border:0; }
.gulberaa-shop-archive .woocommerce nav.woocommerce-pagination ul li { border:0; }
.gulberaa-shop-archive .woocommerce nav.woocommerce-pagination a,
.gulberaa-shop-archive .woocommerce nav.woocommerce-pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:38px; min-height:38px; border:1px solid rgba(51,35,33,.14); border-radius:3px; font-size:13px; }
.gulberaa-shop-archive .woocommerce nav.woocommerce-pagination span.current { background:#332321; color:#fff; }

@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); }
    .site-header .ast-mobile-header-content .main-header-menu .menu-item:last-child { border-bottom:0; }
    .gulberaa-shop-archive .woocommerce ul.products,
    .gulberaa-shop-archive ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; }
}

@media (max-width:767px) {
    .gulberaa-delivery-box { margin:12px 0; padding:10px 12px; font-size:13px; }
    .gulberaa-purchase-note { margin-bottom:10px; padding:10px 11px; }
    .gulberaa-product-assurance { gap:6px 12px; font-size:11px; }
    .single-product div.product form.cart .quantity .qty,
    .single-product div.product form.cart .variations select,
    .single-product div.product form.cart .single_add_to_cart_button { min-height:48px; }
    .gulberaa-homepage .elementor-button,
    .gulberaa-homepage a.wp-block-button__link { width:100%; max-width:320px; text-align:center; }
    .gulberaa-homepage .woocommerce ul.products li.product,
    .gulberaa-homepage ul.products li.product { border-radius:8px; }
    .gulberaa-homepage .elementor-widget-form .elementor-form-fields-wrapper { gap:8px; }
    .gulberaa-homepage .elementor-widget-form .elementor-field,
    .gulberaa-homepage .elementor-widget-form input[type="email"] { width:100%; }
    .gulberaa-shop-archive .woocommerce-products-header { margin-bottom:20px; }
    .gulberaa-shop-archive .woocommerce-result-count { margin-bottom:12px; font-size:12px; }
    .gulberaa-shop-archive .woocommerce-ordering { float:none; margin-bottom:18px; }
    .gulberaa-shop-archive .woocommerce-ordering select { width:100%; min-height:44px; }
    .gulberaa-shop-archive .woocommerce ul.products,
    .gulberaa-shop-archive ul.products { gap:18px 10px; }
    .gulberaa-shop-archive .woocommerce ul.products li.product,
    .gulberaa-shop-archive ul.products li.product { padding-bottom:10px; border-radius:8px; }
    .gulberaa-shop-archive .woocommerce ul.products li.product img,
    .gulberaa-shop-archive ul.products li.product img { aspect-ratio:4 / 5; margin-bottom:9px; }
    .gulberaa-shop-archive .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .gulberaa-shop-archive ul.products li.product .woocommerce-loop-product__title { min-height:2.8em; margin:0 9px 5px; font-size:13px; line-height:1.35; }
    .gulberaa-shop-archive .woocommerce ul.products li.product .price,
    .gulberaa-shop-archive ul.products li.product .price { gap:3px; margin:0 9px 9px; font-size:13px; }
    .gulberaa-shop-archive .woocommerce ul.products li.product .price del,
    .gulberaa-shop-archive ul.products li.product .price del { font-size:10px; }
    .gulberaa-shop-archive .woocommerce ul.products li.product .button,
    .gulberaa-shop-archive ul.products li.product .button { width:calc(100% - 18px); min-height:44px; margin:0 9px; padding:9px 8px; font-size:11px; }
    .gulberaa-shop-archive .woocommerce ul.products li.product .onsale,
    .gulberaa-shop-archive ul.products li.product .onsale { top:7px; left:7px; padding:4px 7px; font-size:10px; }

    /* Shop-by-category mobile readability. Keep Elementor structure intact and
       move category captions out of image overlays where possible. */
    .gulberaa-homepage .elementor-widget-image-box .elementor-image-box-wrapper { overflow:hidden; border-radius:8px; }
    .gulberaa-homepage .elementor-widget-image-box .elementor-image-box-img { margin-bottom:0; }
    .gulberaa-homepage .elementor-widget-image-box .elementor-image-box-content { position:relative; z-index:2; padding:9px 8px 10px; background:rgba(255,255,255,.96); }
    .gulberaa-homepage .elementor-widget-image-box .elementor-image-box-title { margin:0; color:#332321; font-size:13px; font-weight:600; line-height:1.3; text-align:center; }
    .gulberaa-homepage .elementor-widget-image-box .elementor-image-box-description { margin-top:3px; color:#332321; font-size:11px; line-height:1.35; text-align:center; }
    .gulberaa-homepage .elementor-widget-image-box .elementor-image-box-img img { display:block; width:100%; }
}
