/* Shared phone-accessory storefront palette and responsive surfaces. */
:root {
    --bt-ink: #102b46;
    --bt-teal: #087f99;
    --bt-mint: #e4f5fb;
    --bt-paper: #f3f8fc;
    --bt-muted: #526879;
    --bt-border: #dce7ef;
    --bt-purchase: #bf401a;
    --bt-purchase-hover: #a73716;
}
.bt-store-refresh { color: var(--bt-ink); }
.bt-store-refresh .bt-header {
    background: rgba(255,255,255,.96);
    border-color: var(--bt-border);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
.bt-header.bt-header-stuck {
    position: fixed;
    top: var(--bt-admin-offset, 0px);
    left: 0;
    right: 0;
    z-index: 1000;
    box-shadow: 0 6px 24px #102b4614;
}
.bt-header-stuck .bt-bestseller-section { display: none; }
.bt-header .bt-nav.bt-nav-refined { background: #f1f7fbd9; border-color: var(--bt-border); }
.bt-header .bt-nav .elementor-icon-list-text { color: var(--bt-ink); }
.bt-header .bt-header-compact .bt-site-search { background: #f5f9fc; border-color: #d4e2ec; }
.bt-home-refresh .bt-hero {
    position: relative;
    background: radial-gradient(ellipse at 86% 20%, #bce7f5 0, transparent 49%), linear-gradient(120deg, #f7fbff 14%, #eaf3ff 65%, #e3f8fa);
    border-bottom: 1px solid #d7e7f2;
    padding-block: 66px;
}
.bt-home-refresh .bt-hero h1.elementor-heading-title { font-weight: 750 !important; letter-spacing: -.055em !important; }
.bt-home-refresh .bt-hero h1 em { color: #087f99; }
.bt-home-refresh .bt-hero-description { max-width: 430px; font-size: 16px; line-height: 1.75; }
.bt-hero .bt-hero-video > .elementor-widget-wrap {
    padding: 12px !important;
    border: 1px solid #ffffff;
    background: #ffffffb8;
    box-shadow: 0 24px 55px #315a7b25, inset 0 0 0 1px #ffffff;
    border-radius: 24px;
}
.bt-home-refresh .bt-video-caption { color: #435f76; font-size: 12px; }
.bt-home-refresh .bt-service-row { background: #f8fbfe; }
.bt-home-refresh .bt-section-title .elementor-heading-title { font-weight: 720 !important; }
.bt-categories .elementor-widget-image,
.bt-categories .elementor-column:nth-child(2n) .elementor-widget-image,
.bt-categories .elementor-column:nth-child(3n) .elementor-widget-image {
    background: linear-gradient(145deg, #f9fcff, #e7f2fb);
    border-color: #dae7f1;
    box-shadow: inset 0 1px 0 #fff;
}
.bt-store-refresh .bt-products .product-block { border-color: var(--bt-border); border-radius: 16px; }
.bt-store-refresh .bt-products .product-block:hover { border-color: #a8c5da; box-shadow: 0 8px 24px #143b5810 !important; }
.bt-store-refresh .bt-products .product-block .name { color: var(--bt-ink); }
.bt-store-refresh .product-block .bt-buy-now,
.bt-home-refresh .elementor-95 .elementor-button,
.bt-store-refresh .woocommerce-cart-form .checkout-button {
    background: var(--bt-purchase) !important;
    border-color: var(--bt-purchase) !important;
    color: #fff !important;
}
.bt-home-refresh .elementor-95 .bt-text-link .elementor-button {
    background: transparent !important;
    color: var(--bt-ink) !important;
    border: none !important;
}
.bt-store-refresh .bt-products .groups-button a.button { background: #eef5fb !important; color: #183a53 !important; border-color: #d6e4ee !important; }
.bt-home-refresh .bt-custom > .elementor-container { background: linear-gradient(120deg, #e9f6fc, #e9efff); border: 1px solid #dce8f5; }
.bt-home-refresh .bt-secondary .elementor-widget-wrap { background: #f1f7fc; border: 1px solid #dce8f1; }
.bt-home-refresh .bt-secondary .elementor-column:nth-child(2) .elementor-widget-wrap { background: #edf5ff; }
.bt-home-refresh .bt-reviews .elementor-widget-wrap { background: linear-gradient(145deg, #fff, #f5f9fd); border-color: var(--bt-border); }
.bt-footer { background: #10283e !important; color: #d7e5ee; }
.bt-footer .bt-footer-main, .bt-footer .bt-footer-bottom { background: transparent !important; }
.bt-footer :is(p, a, .elementor-icon-list-text) { color: #d7e5ee !important; }
.bt-footer .elementor-heading-title { color: #fff !important; }
.bt-catalog-intro, .bt-product-detail .tbay-breadscrumb { background: #eef6fc; border-color: var(--bt-border); }
.bt-product-detail { --bt-product-surface: #f4f8fc; --bt-product-border: #dce7ef; }
.bt-store-refresh.woocommerce-cart #tbay-main-content,
.bt-store-refresh.woocommerce-checkout #tbay-main-content { background: #f4f8fc; }
.bt-store-refresh.woocommerce-checkout #tbay-main-content:has(form.checkout) { background: #f4f8fc; }
.bt-store-refresh form.checkout #order_review .cart_totals,
.bt-store-refresh form.checkout #payment div.payment_box { background: #eef5fb; }
.bt-store-refresh form.checkout #payment #place_order { background: var(--bt-purchase) !important; border-color: var(--bt-purchase) !important; }
.bt-store-refresh form.checkout #payment #place_order:hover { background: #a73716 !important; }
.bt-store-refresh.woocommerce-cart .cart_totals a.checkout-button { background: var(--bt-purchase) !important; color: #fff !important; border-color: var(--bt-purchase) !important; }
.bt-store-refresh .bt-catalog .bt-products .product-block .name { font-size: 13px !important; line-height: 1.55 !important; }
.bt-store-refresh.woocommerce-account .woocommerce { max-width: 1200px; margin: 24px auto; }
.bt-store-refresh.woocommerce-account .woocommerce-MyAccount-navigation a { color: var(--bt-ink); }
.bt-store-refresh :is(input, select, textarea, button, a):focus-visible { outline: 2px solid #087f99; outline-offset: 3px; }
.bt-store-refresh .bt-header-spacer { display: none; }
.bt-store-refresh .bt-header-spacer.is-active { display: block; }

/* A single purchase colour covers native Puca actions and custom cards. */
.bt-store-refresh #wrapper-container :is(.bt-buy-now, .single_add_to_cart_button, .tbay-buy-now, .checkout-button, .add_to_cart_button, #place_order, #tbay-click-addtocart, #tbay-click-buy-now) {
    background: var(--bt-purchase) !important;
    border-color: var(--bt-purchase) !important;
    color: #fff !important;
}
.bt-store-refresh #wrapper-container :is(.bt-buy-now, .single_add_to_cart_button, .tbay-buy-now, .checkout-button, .add_to_cart_button, #place_order, #tbay-click-addtocart, #tbay-click-buy-now):is(:hover, :focus-visible) {
    background: var(--bt-purchase-hover) !important;
    border-color: var(--bt-purchase-hover) !important;
}

/* The sticky row reuses the editable category links beside the logo. */
.bt-header .bt-sticky-menu { display: none; min-width: 0; }
.bt-header .bt-mobile-menu-toggle { display: none; }
.bt-header-stuck .bt-nav,
.bt-header-stuck .bt-header-main .elementor-column:nth-child(2) { display: none !important; }
.bt-header-stuck .bt-header-main > .elementor-container > .elementor-column:first-child { grid-column: 1; grid-row: 1; }
.bt-header-stuck .bt-header-main > .elementor-container > .elementor-column:nth-child(3) { grid-column: 3; grid-row: 1; }
.bt-header-stuck .bt-sticky-menu { display: block; grid-column: 2; grid-row: 1; overflow-x: auto; scrollbar-width: none; }
.bt-header-stuck .bt-sticky-menu::-webkit-scrollbar { display: none; }
.bt-sticky-menu .elementor-icon-list-items { display: flex; align-items: center; gap: 24px; width: max-content; list-style: none; margin: 0 auto; padding: 0; }
.bt-sticky-menu .elementor-icon-list-item { margin: 0; padding: 0; }
.bt-sticky-menu a { display: block; padding: 12px 0; color: var(--bt-ink); font-size: 14px; font-weight: 600; white-space: nowrap; text-decoration: none; }
.bt-sticky-menu a:hover { color: var(--bt-teal); }
.bt-header.bt-header-stuck .bt-header-main.bt-header-compact > .elementor-container { grid-template-columns: 190px minmax(0, 1fr) 165px; gap: 25px; }
@media (max-width: 1024px) {
    .bt-header.bt-header-stuck .bt-header-main.bt-header-compact > .elementor-container { grid-template-columns: 150px minmax(0, 1fr) 65px; gap: 18px; }
}
@media (max-width: 767px) {
    .bt-header.bt-header-stuck .bt-header-main.bt-header-compact > .elementor-container { grid-template-columns: minmax(110px, 1fr) auto 50px; gap: 12px; }
    .bt-header-stuck .bt-header-main > .elementor-container > .elementor-column:nth-child(3) { grid-column: 2; }
    .bt-header.bt-header-stuck .bt-header-compact .bt-logo img { width: 110px; }
    .bt-header.bt-header-stuck .bt-header-compact .bt-header-tools { gap: 10px; }
    .bt-sticky-menu .elementor-icon-list-items { gap: 16px; }
    .bt-sticky-menu a { font-size: 11px; }
    .bt-header-stuck .bt-mobile-menu-toggle {
        display: grid;
        place-items: center;
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        width: 42px;
        height: 42px;
        padding: 0;
        border: 1px solid var(--bt-border);
        border-radius: 7px;
        background: #f1f7fb;
        color: var(--bt-ink);
        font-size: 25px;
        line-height: 1;
    }
    .bt-header-stuck .bt-sticky-menu { display: none; }
    .bt-header-stuck .bt-sticky-menu.is-open {
        display: block;
        position: absolute;
        inset: 100% 0 auto;
        max-height: 65vh;
        overflow-y: auto;
        padding: 10px 18px;
        background: #fff;
        border-bottom: 1px solid var(--bt-border);
        box-shadow: 0 12px 24px #102b461c;
    }
    .bt-header-stuck .bt-sticky-menu .elementor-icon-list-items { display: block; width: 100%; text-align: center; }
    .bt-header-stuck .bt-sticky-menu a { padding: 13px 10px; font-size: 14px; }
}
.bt-content-heading { padding: 22px 0; margin-bottom: 20px; border-bottom: 1px solid var(--bt-border); }
.bt-content-heading h1 { color: var(--bt-ink); font-size: clamp(28px, 4vw, 42px); line-height: 1.15; margin: 0; letter-spacing: -.035em; }
.bt-store-refresh:is(.page-id-5643, .page-id-5626, .page-id-5617) .entry-content { max-width: 960px; margin-inline: auto; font-size: 15px; line-height: 1.85; }
@media (max-width: 767px) {
    .bt-home-refresh .bt-hero { padding: 32px 18px 34px; }
    .bt-home-refresh .bt-hero h1.elementor-heading-title { font-size: clamp(37px, 10.5vw, 52px) !important; }
    .bt-home-refresh .bt-hero-description { font-size: 14px; }
    .bt-hero .bt-hero-video > .elementor-widget-wrap { border-radius: 18px; padding: 8px !important; }
    .bt-header-stuck .bt-nav { display: none; }
    .bt-header.bt-header-stuck .bt-header-main.bt-header-compact { padding-block: 10px; }
    .bt-header.bt-header-stuck .bt-header-main.bt-header-compact > .elementor-container { row-gap: 9px; }
    .bt-store-refresh .bt-products .product-block { border-radius: 12px; }
    .bt-home-refresh .bt-category-title .elementor-heading-title { font-size: 12px !important; }
    .bt-store-refresh .bt-products .groups-button a.button,
    .bt-store-refresh .product-block .bt-buy-now { min-height: 40px; }
}
