﻿/* ============================================================
   Bandodien – Custom Theme Styles
   Primary: #D32F2F (Red)  Dark: #B71C1C  Light: #EF5350
   ============================================================ */

/* ---- Prevent horizontal scroll / blank right edge on iPhone (iOS Safari) ----
   iOS Safari ignores overflow-x: hidden on body alone; must set on html too. */
html,
body {
    overflow-x: hidden;
    max-width:  100%;
}

/* ---- WooCommerce image rule override ----
   WooCommerce sets max-width:100% on all .woocommerce-page img,
   which causes the header logo to stretch. Constrain it here. */
.woocommerce-page .xc-header-one__logo img,
.woocommerce      .xc-header-one__logo img {
    max-width: none;
    width:     auto;
    height:    50px;
}

/* ---- CSS Variables ---- */
:root {
    --bd-blue:        #D32F2F;
    --bd-blue-light:  #EF5350;
    --bd-blue-dark:   #B71C1C;
    --bd-red:         #D32F2F;
    --bd-red-hover:   #B71C1C;
    --bd-gray-bg:     #F5F7FA;
    --bd-border:      #E8EAED;
    --bd-text:        #1A2333;
    --bd-text-muted:  #6B7590;
    --bd-white:       #FFFFFF;
    --bd-radius:      10px;
    --bd-shadow:      0 2px 12px rgba(0,0,0,.07);
    --bd-shadow-hover:0 6px 24px rgba(0,0,0,.13);
    --bd-transition:  all 0.2s ease;
}

/* ----------------------------------------------------------
   5-column grid (Bootstrap extension)
   col-lg-5th = 1/5 width on >=992px
   ---------------------------------------------------------- */
@media (min-width: 992px) {
    .col-lg-5th {
        flex: 0 0 20%;
        max-width: 20%;
        padding-right: 10px;
        padding-left: 10px;
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .col-md-4.col-lg-5th {
        flex: 0 0 33.333%;
        max-width: 33.333%;
    }
}

/* ----------------------------------------------------------
   Row gap
   ---------------------------------------------------------- */
.row.gutter-y-20 { row-gap: 20px; }

/* ----------------------------------------------------------
   Product Card
   ---------------------------------------------------------- */
.xc-product-six__item {
    background:     var(--bd-white);
    border-radius:  var(--bd-radius);
    border:         1px solid var(--bd-border);
    padding:        16px 14px 16px;
    display:        flex;
    flex-direction: column;
    height:         100%;
    transition:     var(--bd-transition);
    transition-property: box-shadow, transform, border-color;
    position:       relative;
    overflow:       hidden;
}
.xc-product-six__item:hover {
    box-shadow:   var(--bd-shadow-hover);
    transform:    translateY(-3px);
    border-color: rgba(211,47,47,.3);
}
/* top accent line on hover */
.xc-product-six__item::after {
    content:    '';
    position:   absolute;
    top:        0; left: 0; right: 0;
    height:     3px;
    background: var(--bd-blue);
    transform:  scaleX(0);
    transform-origin: left;
    transition: transform 0.22s ease;
}
.xc-product-six__item:hover::after { transform: scaleX(1); }

/* --- Image wrapper --- */
.xc-product-six__img {
    display:         block;
    text-align:      center;
    margin-bottom:   12px;
    /* background:      var(--bd-gray-bg); */
    border-radius:   8px;
    /* padding:         12px; */
    flex-shrink:     0;
    overflow:        hidden;
}
.xc-product-six__img img {
    width:       100%;
    max-width:   140px;
    height:      130px;
    object-fit:  contain;
    transition:  transform 0.28s ease;
    display:     block;
    margin:      0 auto;
}
.xc-product-six__item:hover .xc-product-six__img img {
    transform: scale(1.07);
}

/* --- Offer badge --- */
/* --- Discount ribbon – rotated strip, clipped by card overflow:hidden --- */
/* Math: ribbon center must sit on the 45° diagonal → center_x = center_y     */
/* width=90, height≈22 → center=(22,22) → left=22-45=-23, top=22-11=11        */
.xc-product-six__offer {
    position:       absolute;
    top:            11px;
    left:           -23px;
    width:          90px;
    background:     var(--bd-red);
    color:          #fff;
    font-size:      10px;
    font-weight:    700;
    text-align:     center;
    line-height:    14px;
    padding:        4px 0;
    transform:      rotate(-45deg);
    z-index:        2;
    pointer-events: none;
    box-shadow:     0 2px 4px rgba(0,0,0,.20);
    letter-spacing: 0.4px;
}

/* --- Price – clean bold red text, no background --- */
.xc-product-six__price {
    margin-bottom: 4px;
}
.xc-product-six__price .price-current {
    display:     block;
    background:  none;
    color:       var(--bd-blue);
    padding:     0;
    font-size:   15px;
    font-weight: 700;
    line-height: 1.3;
}
.xc-product-six__price .price-current span,
.xc-product-six__price .price-current .woocommerce-Price-amount {
    background:  none !important;
    padding:     0 !important;
    color:       inherit;
    font-size:   inherit;
    font-weight: inherit;
    border-radius: 0;
}
/* Remove strikethrough that WC might inject */
.xc-product-six__price del,
.xc-product-six__price ins { display: none !important; }

/* --- Title – fixed 2-line height keeps all cards aligned --- */
.xc-product-six__title {
    font-size:   13px;
    line-height: 1.45;
    font-weight: 500;
    margin-bottom: 10px;
    color:       var(--bd-text);
    flex-grow:   0;
    display:     -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow:    hidden;
    min-height:  38px; /* 2 × 13px × 1.45 – all cards stay aligned */
}
.xc-product-six__title a {
    color:           inherit;
    text-decoration: none;
}
.xc-product-six__title a:hover {
    color: var(--bd-blue);
}

/* --- Buttons – single full-width add-to-cart --- */
.xc-product-six__btns {
    margin-top:  auto;
    padding-top: 8px;
}
.xc-product-six__btns .swiftcart-btn-black.add-to-cart-btn {
    display:         flex;
    align-items:     center;
    justify-content: center;
    gap:             6px;
    width:           100%;
    background:      var(--bd-blue);
    color:           var(--bd-white);
    border:          none;
    padding:         8px 10px;
    border-radius:   7px;
    font-size:       12px;
    font-weight:     600;
    text-decoration: none;
    transition:      var(--bd-transition);
    box-sizing:      border-box;
    white-space:     nowrap;
}
.xc-product-six__btns .swiftcart-btn-black.add-to-cart-btn:hover {
    background:  var(--bd-blue-dark);
    color:       var(--bd-white);
    transform:   translateY(-1px);
}

/* Loading state */
.xc-product-six__btns .add-to-cart-btn.loading {
    opacity:        0.7;
    cursor:         wait;
    pointer-events: none;
}

/* ----------------------------------------------------------
   Section Heading
   ---------------------------------------------------------- */
.xc-sec-heading-two {
    margin-bottom:  28px;
    padding-bottom: 14px;
    border-bottom:  2px solid var(--bd-border);
}
.xc-sec-heading-two .xc-sec-heading__title {
    font-size:   22px;
    font-weight: 700;
    color:       var(--bd-text);
    margin:      0;
}
.xc-sec-heading-two .xc-sec-heading__subtitle.has-before {
    font-size:       12px;
    font-weight:     700;
    text-transform:  uppercase;
    letter-spacing:  1px;
    margin-bottom:   6px;
    color:           var(--bd-blue);
    display:         inline-flex;
    align-items:     center;
    gap:             6px;
}
.xc-sec-heading-two .xc-sec-heading__subtitle.has-before::before {
    content:          '';
    display:          inline-block;
    height:           14px;
    width:            4px;
    border-radius:    3px;
    background-color: var(--bd-blue);
    flex-shrink:      0;
}

/* "Xem tat ca" button */
.xc-sec-heading-btn {
    font-size:     12px;
    font-weight:   600;
    padding:       6px 18px;
    border-radius: 20px;
    border:        1.5px solid var(--bd-blue);
    background:    transparent;
    color:         var(--bd-blue);
    text-decoration: none;
    transition:    var(--bd-transition);
    display:       inline-block;
}
.xc-sec-heading-btn:hover {
    background-color: var(--bd-blue);
    color:            var(--bd-white);
}

/* Main heading line in the sales section */
.xc-sec-heading .xc-sec-heading__title {
    font-size:   22px;
    font-weight: 700;
    color:       var(--bd-text);
}

/* ----------------------------------------------------------
   Featured Products Section – red background hero
   ---------------------------------------------------------- */
.xc-product-featured {
    background:     linear-gradient(135deg, #C62828 0%, #D32F2F 60%, #E53935 100%);
    padding:        50px 0 56px;
    position:       relative;
    overflow:       hidden;
}
/* subtle decorative circles */
.xc-product-featured::before,
.xc-product-featured::after {
    content:        '';
    position:       absolute;
    border-radius:  50%;
    background:     rgba(255,255,255,.06);
    pointer-events: none;
}
.xc-product-featured::before {
    width:  420px;
    height: 420px;
    top:   -140px;
    right: -80px;
}
.xc-product-featured::after {
    width:  260px;
    height: 260px;
    bottom: -100px;
    left:   -60px;
}

/* --- Header (centered, with icon) --- */
.xc-featured-hero__head {
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    text-align:      center;
    margin-bottom:   36px;
    position:        relative;
    z-index:         1;
}
.xc-featured-hero__icon {
    width:           52px;
    height:          52px;
    border-radius:   50%;
    background:      rgba(255,255,255,.18);
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-size:       22px;
    color:           #FFD54F;
    margin-bottom:   12px;
    backdrop-filter: blur(4px);
}
.xc-featured-hero__sub {
    font-size:      12px;
    font-weight:    600;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color:          rgba(255,255,255,.75);
    margin-bottom:  6px;
    display:        block;
}
.xc-featured-hero__title {
    font-size:   26px;
    font-weight: 800;
    color:       #FFFFFF;
    margin:      0 0 18px;
    line-height: 1.2;
    text-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.xc-featured-hero__btn {
    display:         inline-flex;
    align-items:     center;
    gap:             7px;
    background:      rgba(255,255,255,.15);
    border:          1.5px solid rgba(255,255,255,.50);
    color:           #FFFFFF;
    font-size:       13px;
    font-weight:     600;
    padding:         8px 22px;
    border-radius:   24px;
    text-decoration: none;
    backdrop-filter: blur(4px);
    transition:      var(--bd-transition);
}
.xc-featured-hero__btn:hover {
    background:  rgba(255,255,255,.28);
    border-color: rgba(255,255,255,.80);
    color:        #FFFFFF;
    transform:    translateY(-1px);
}

/* --- Product cards on red bg: white cards --- */
.xc-product-featured .xc-product-six__item {
    background:   #FFFFFF;
    border-color: rgba(255,255,255,.9);
    box-shadow:   0 2px 14px rgba(0,0,0,.12);
}
.xc-product-featured .xc-product-six__item:hover {
    border-color: rgba(255,255,255,1);
    box-shadow:   0 8px 28px rgba(0,0,0,.22);
    transform:    translateY(-5px);
}
.xc-product-featured .xc-product-six__item::after {
    background: #FFD54F;
}

/* Dots on red background */
.xc-product-featured .owl-carousel .owl-dots .owl-dot span {
    background: rgba(255,255,255,.35) !important;
}
.xc-product-featured .owl-carousel .owl-dots .owl-dot.active span,
.xc-product-featured .owl-carousel .owl-dots .owl-dot:hover  span {
    background: #FFFFFF !important;
}

/* ----------------------------------------------------------
   Owl carousel nav – wrapper gives side space, buttons
   are positioned absolutely to the left/right of carousel
   ---------------------------------------------------------- */
.xc-featured-carousel-wrap {
    position: relative;
    padding:  0 44px;
}
.xc-featured-slider__carousel.owl-carousel .owl-nav button {
    position:        absolute !important;
    top:             50% !important;
    transform:       translateY(-50%) !important;
    margin:          0 !important;
    width:           36px;
    height:          36px;
    border-radius:   50%;
    background:      rgba(255,255,255,.22) !important;
    border:          1.5px solid rgba(255,255,255,.50) !important;
    color:           var(--bd-white) !important;
    font-size:       13px !important;
    line-height:     1 !important;
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    transition:      var(--bd-transition);
    box-shadow:      0 2px 8px rgba(0,0,0,.15);
    backdrop-filter: blur(4px);
}
.xc-featured-slider__carousel.owl-carousel .owl-nav .owl-prev { left:  -44px !important; }
.xc-featured-slider__carousel.owl-carousel .owl-nav .owl-next { right: -44px !important; }
.xc-featured-slider__carousel.owl-carousel .owl-nav button:hover {
    background:   rgba(255,255,255,.95) !important;
    border-color: rgba(255,255,255,.95) !important;
    color:        var(--bd-blue-dark) !important;
    box-shadow:   0 4px 12px rgba(0,0,0,.20);
}
.owl-carousel .owl-dots .owl-dot span {
    background: var(--bd-border) !important;
    transition: var(--bd-transition);
}
.owl-carousel .owl-dots .owl-dot.active span,
.owl-carousel .owl-dots .owl-dot:hover  span {
    background: var(--bd-blue) !important;
}

/* ----------------------------------------------------------
   Header search
   ---------------------------------------------------------- */
.xc-header-two__search input[type="search"]:focus {
    outline:     none;
    border-color: var(--bd-blue);
    box-shadow:  0 0 0 2px rgba(21,101,192,.15);
}

/* Header cart count badge */
.xc-cart-count {
    display:          inline-flex;
    align-items:      center;
    justify-content:  center;
    min-width:        18px;
    height:           18px;
    padding:          0 4px;
    border-radius:    9px;
    background-color: var(--bd-red);
    color:            var(--bd-white);
    font-size:        11px;
    font-weight:      700;
    line-height:      1;
    margin-left:      4px;
}

/* ----------------------------------------------------------
   Brand Section
   ---------------------------------------------------------- */
.xc-brand-one__item {
    text-align:    center;
    padding:       18px 14px;
    border:        1px solid var(--bd-border);
    border-radius: var(--bd-radius);
    background:    var(--bd-white);
    transition:    var(--bd-transition);
}
.xc-brand-one__item:hover {
    box-shadow:   var(--bd-shadow);
    border-color: var(--bd-blue-light);
    transform:    translateY(-2px);
}
.xc-brand-one__item img {
    max-height:  52px;
    width:       auto;
    margin-bottom: 10px;
    object-fit:  contain;
}
.xc-brand-one__title { font-size: 13px; font-weight: 600; margin: 0; }

/* ----------------------------------------------------------
   Slider
   ---------------------------------------------------------- */
.xc-header-two-banner { background: var(--bd-gray-bg); }
.xc-main-slider__item img {
    border-radius: var(--bd-radius);
    width:         100%;
    object-fit:    cover;
}

/* ----------------------------------------------------------
   Category Quick-Nav Strip
   (between slider and featured products)
   ---------------------------------------------------------- */
.xc-cat-strip {
    background:    var(--bd-white);
    border-bottom: 1px solid var(--bd-border);
    padding:       0;
}
.xc-cat-strip .container { position: relative; }
.xc-cat-strip__list {
    display:         flex;
    align-items:     stretch;
    justify-content: center;
    flex-wrap:       wrap;
    list-style:      none;
    margin:          0;
    padding:         0;
    overflow-x:      auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    gap:             0;
}
.xc-cat-strip__list::-webkit-scrollbar { display: none; }
.xc-cat-strip__item {
    flex-shrink: 0;
}
.xc-cat-strip__link {
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    gap:             7px;
    padding:         14px 22px;
    text-decoration: none;
    color:           var(--bd-text);
    border-right:    1px solid var(--bd-border);
    transition:      var(--bd-transition);
    position:        relative;
    white-space:     nowrap;
}
.xc-cat-strip__item:first-child .xc-cat-strip__link { border-left: 1px solid var(--bd-border); }
.xc-cat-strip__link::after {
    content:    '';
    position:   absolute;
    bottom:     0; left: 0; right: 0;
    height:     3px;
    background: var(--bd-blue);
    transform:  scaleX(0);
    transition: transform 0.2s ease;
}
.xc-cat-strip__link:hover { color: var(--bd-blue); background: rgba(211,47,47,.04); }
.xc-cat-strip__link:hover::after { transform: scaleX(1); }

.xc-cat-strip__img {
    width:           44px;
    height:          44px;
    border-radius:   50%;
    background:      var(--bd-gray-bg);
    display:         flex;
    align-items:     center;
    justify-content: center;
    overflow:        hidden;
    flex-shrink:     0;
    transition:      var(--bd-transition);
}
.xc-cat-strip__img img {
    width:      100%;
    height:     100%;
    object-fit: cover;
}
.xc-cat-strip__link:hover .xc-cat-strip__img {
    background: rgba(211,47,47,.10);
}
.xc-cat-strip__name {
    font-size:   12px;
    font-weight: 600;
    line-height: 1.3;
    text-align:  center;
}

@media (max-width: 767px) {
    .xc-cat-strip__link  { padding: 12px 14px; }
    .xc-cat-strip__img   { width: 36px; height: 36px; }
    .xc-cat-strip__name  { font-size: 11px; }
}

/* ----------------------------------------------------------
   General spacing
   ---------------------------------------------------------- */
.xc-product-six.pb-80 { padding-bottom: 50px; }
.xc-product-featured.pb-80 { padding-bottom: 0; } /* spacing handled by hero padding */
.xc-brand-one.pb-80   { padding-bottom: 50px; }

/* ----------------------------------------------------------
   Responsive
   ---------------------------------------------------------- */
@media (max-width: 575.98px) {
    .xc-product-six__img img     { height: 100px; }
    .xc-product-six__title       { font-size: 12px; min-height: 35px; }
    .xc-product-six__price .price-current { font-size: 13px; }
    .xc-product-six__btns .add-to-cart-btn { font-size: 11px; padding: 7px 8px; }
    .xc-featured-carousel-wrap   { padding: 0 36px; }
    /* Match nav button offset to the reduced wrapper padding */
    .xc-featured-slider__carousel.owl-carousel .owl-nav .owl-prev { left:  -36px !important; }
    .xc-featured-slider__carousel.owl-carousel .owl-nav .owl-next { right: -36px !important; }
    .xc-featured-hero__title     { font-size: 20px; }
    .xc-featured-hero__btn       { font-size: 12px; padding: 7px 16px; }
}

/* =============================================================
   Shop / Product Category Archive Page
   ============================================================= */

/* ---- Breadcrumb Area (shop override) ---- */
.xc-breadcrumb__area--shop {
    padding:       14px 0;
    background:    var(--bd-white);
    border-bottom: 1px solid var(--bd-border);
    position:      relative;
    overflow:      hidden;
}
/* Left accent bar */
.xc-breadcrumb__area--shop::before {
    content:    '';
    position:   absolute;
    left:       0; top: 0; bottom: 0;
    width:      4px;
    background: var(--bd-blue);
}
.xc-breadcrumb__area--shop .xc-breadcrumb__list {
    display:     flex;
    align-items: center;
    flex-wrap:   wrap;
    gap:         2px 4px;
    list-style:  none;
    margin:      0;
    padding:     0;
    font-size:   13px;
}
.xc-breadcrumb__area--shop .xc-breadcrumb__list > span,
.xc-breadcrumb__area--shop .xc-breadcrumb__list > li {
    color: var(--bd-text-muted);
}
.xc-breadcrumb__area--shop .xc-breadcrumb__list a {
    color:           var(--bd-text-muted);
    text-decoration: none;
    transition:      color 0.15s;
}
.xc-breadcrumb__area--shop .xc-breadcrumb__list a:hover {
    color:           var(--bd-blue);
    text-decoration: underline;
}
.xc-breadcrumb__area--shop .xc-breadcrumb__list .dvdr {
    font-size:   9px;
    color:       var(--bd-border);
    padding:     0 2px;
}
/* Current (last) crumb */
.xc-breadcrumb__area--shop .xc-breadcrumb__list .breadcrumb_last,
.xc-breadcrumb__area--shop .xc-breadcrumb__list > span:last-child {
    color:       var(--bd-blue);
    font-weight: 600;
}
/* Yoast SEO breadcrumb compat */
.xc-breadcrumb__area--shop .xc-breadcrumb__list span[property="itemListElement"]:last-of-type > span {
    color:       var(--bd-blue);
    font-weight: 600;
}

/* ---- Shop Section Background ---- */
.xc-shop-area { background: var(--bd-gray-bg); }

/* ---- Category / Archive Header (SEO h1) ---- */
.xc-shop-cat-header {
    border-bottom:  1px solid var(--bd-border);
    padding-bottom: 16px;
}
.xc-shop-cat-header__title {
    font-size:   22px;
    font-weight: 700;
    color:       var(--bd-text);
    margin:      0 0 6px;
    line-height: 1.3;
}
.xc-shop-cat-header__desc {
    font-size:   13px;
    color:       var(--bd-text-muted);
    margin:      0;
    line-height: 1.6;
    max-height:  52px;
    overflow:    hidden;
}

/* ---- Sort Toolbar ---- */
.xc-shop-top {
    background:    var(--bd-white);
    border:        1px solid var(--bd-border);
    border-radius: var(--bd-radius);
    padding:       12px 16px;
}
.xc-shop-top-result p {
    margin:      0;
    font-size:   13px;
    color:       var(--bd-text-muted);
    line-height: 36px;
}
.xc-shop-top-right         { gap: 10px; }
.xc-shop-top-select select,
.orderby {
    display:       block;
    height:        38px;
    border:        1px solid var(--bd-border);
    border-radius: 6px;
    padding:       0 32px 0 12px;
    font-size:     13px;
    line-height:   38px;
    color:         var(--bd-text);
    background:    var(--bd-white) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7590' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center;
    -webkit-appearance: none;
    appearance:    none;
    cursor:        pointer;
    outline:       none;
    transition:    border-color 0.15s;
    min-width:     190px;
    box-sizing:    border-box;
    vertical-align: middle;
}
.xc-shop-top-select select:focus,
.orderby:focus { border-color: var(--bd-blue); }
.xc-shop-orderby-form { margin: 0; }

/* ---- Sidebar ---- */
.shop__sidebar { position: sticky; top: 20px; }
.shop__widget {
    background:    var(--bd-white);
    border-radius: var(--bd-radius);
    overflow:      hidden;
    border:        1px solid var(--bd-border);
}
.shop__widget .accordion-button {
    font-size:   14px;
    font-weight: 600;
    color:       var(--bd-text);
    background:  var(--bd-white);
    padding:     14px 16px;
    box-shadow:  none;
}
.shop__widget .accordion-button:not(.collapsed)  { color: var(--bd-blue); background: var(--bd-white); }
.shop__widget .accordion-button:focus            { box-shadow: none; }
.shop__widget .accordion-button::after           { filter: none; }
.shop__widget .accordion-body                    { padding: 0 16px 16px; }

/* Category list */
.shop__widget-cat-list {
    list-style: none;
    margin:     0;
    padding:    0;
}
.shop__widget-cat-item {
    border-bottom: 1px solid var(--bd-border);
    padding:       8px 0;
}
.shop__widget-cat-item:last-child { border-bottom: none; }
.shop__widget-cat-item > a {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    font-size:       13px;
    color:           var(--bd-text);
    text-decoration: none;
    transition:      color 0.15s;
}
.shop__widget-cat-item > a:hover,
.shop__widget-cat-item.current-cat > a { color: var(--bd-blue); font-weight: 600; }
.shop__widget-cat-item .count         { font-size: 11px; color: var(--bd-text-muted); }
.shop__widget-cat-parent > a          { font-size: 12px; color: var(--bd-text-muted); }
/* Sub-category indented list */
.shop__widget-subcat-list {
    list-style: none;
    margin:     6px 0 0 12px;
    padding:    0;
}
.shop__widget-subcat-list li         { padding: 4px 0; }
.shop__widget-subcat-list a {
    display:         flex;
    justify-content: space-between;
    font-size:       12px;
    color:           var(--bd-text-muted);
    text-decoration: none;
    transition:      color 0.15s;
}
.shop__widget-subcat-list a:hover   { color: var(--bd-blue); }

/* Price filter */
.shop__price-filter-inputs        { display: flex; flex-direction: column; gap: 8px; }
.shop__price-filter-row {
    display:     flex;
    align-items: center;
    gap:         8px;
    font-size:   13px;
    color:       var(--bd-text-muted);
}
.shop__price-filter-row label     { width: 32px; flex-shrink: 0; font-size: 12px; }
.shop__price-input {
    flex:          1;
    border:        1px solid var(--bd-border);
    border-radius: 5px;
    padding:       6px 8px;
    font-size:     13px;
    color:         var(--bd-text);
    outline:       none;
    transition:    border-color 0.15s;
    min-width:     0;
}
.shop__price-input:focus          { border-color: var(--bd-blue); }
.shop__price-filter-actions {
    display:     flex;
    align-items: center;
    gap:         10px;
    margin-top:  12px;
}
.shop__price-filter-btn {
    background:    var(--bd-blue);
    color:         var(--bd-white);
    border:        none;
    border-radius: 6px;
    padding:       7px 18px;
    font-size:     13px;
    font-weight:   600;
    cursor:        pointer;
    transition:    var(--bd-transition);
}
.shop__price-filter-btn:hover     { background: var(--bd-blue-dark); }
.shop__price-filter-clear {
    font-size:       12px;
    color:           var(--bd-text-muted);
    text-decoration: none;
}
.shop__price-filter-clear:hover   { color: var(--bd-blue); }
/* Quick range links */
.shop__price-quick-ranges          { display: flex; flex-direction: column; gap: 4px; }
.shop__price-quick-link {
    font-size:       12px;
    color:           var(--bd-text-muted);
    text-decoration: none;
    padding:         5px 8px;
    border-radius:   4px;
    transition:      var(--bd-transition);
    display:         block;
}
.shop__price-quick-link:hover,
.shop__price-quick-link.active {
    background: rgba(211,47,47,.08);
    color:      var(--bd-blue);
}
.mt-15 { margin-top: 15px; }

/* ---- Pagination ---- */
.xc-shop-pagination                { text-align: center; }
.xc-pagination ul {
    display:         flex;
    justify-content: center;
    align-items:     center;
    flex-wrap:       wrap;
    gap:             6px;
    list-style:      none;
    margin:          0;
    padding:         0;
}
.xc-pagination ul li a,
.xc-pagination ul li span {
    display:         flex;
    align-items:     center;
    justify-content: center;
    min-width:       36px;
    height:          36px;
    padding:         0 6px;
    border-radius:   8px;
    border:          1px solid var(--bd-border);
    background:      var(--bd-white);
    color:           var(--bd-text);
    font-size:       13px;
    font-weight:     500;
    text-decoration: none;
    transition:      var(--bd-transition);
}
.xc-pagination ul li a:hover                     { background: var(--bd-blue); color: var(--bd-white); border-color: var(--bd-blue); }
.xc-pagination ul li a.current,
.xc-pagination ul li span.current                { background: var(--bd-blue); color: var(--bd-white); border-color: var(--bd-blue); font-weight: 700; }
.xc-pagination ul li a.dots,
.xc-pagination ul li span.dots                   { border: none; background: none; cursor: default; }
.xc-pagination ul li .prev.page-numbers,
.xc-pagination ul li .next.page-numbers          { font-size: 11px; }
/* screen-reader-text inside prev/next */
.xc-pagination .screen-reader-text               { position: absolute; clip: rect(0,0,0,0); }

/* WooCommerce native pagination fallback */
.woocommerce-pagination               { text-align: center; margin-top: 30px; }
.woocommerce-pagination ul            { display: inline-flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span    { display: flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 6px; border-radius: 8px; border: 1px solid var(--bd-border); background: var(--bd-white); color: var(--bd-text); font-size: 13px; text-decoration: none; transition: var(--bd-transition); }
.woocommerce-pagination ul li a:hover { background: var(--bd-blue); color: var(--bd-white); border-color: var(--bd-blue); }
.woocommerce-pagination ul li span.current { background: var(--bd-blue); color: var(--bd-white); border-color: var(--bd-blue); font-weight: 700; }

/* ---- WooCommerce notices ---- */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
    background:    var(--bd-white);
    /* border-left:   4px solid var(--bd-blue); */
    /* border-radius: 0 var(--bd-radius) var(--bd-radius) 0; */
    padding:       14px 18px;
    padding-left: 45px;
    font-size:     14px;
    color:         var(--bd-text);
    margin-bottom: 20px;
}
.woocommerce-error                 { border-left-color: #c0392b; }

/* ---- No products found ---- */
.woocommerce-no-products-found     { padding: 40px 0; text-align: center; color: var(--bd-text-muted); }

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
    /* Sidebar hidden on mobile via d-none d-lg-block; stretch main column */
    .xc-shop-area .col-xl-9.col-lg-8 { width: 100%; }
}
@media (max-width: 575.98px) {
    .xc-shop-top                           { padding: 10px 12px; }
    .xc-shop-top-right                     { margin-top: 8px; justify-content: flex-start !important; }
    .orderby, .xc-shop-top-select select   { min-width: 0; width: 100%; }
    .xc-shop-cat-header__title             { font-size: 18px; }
    .xc-shop-top-result p                  { line-height: 1.4; margin-bottom: 6px; }
}

/* =============================================================
   Product Detail Page
   ============================================================= */

/* ---- Section background ---- */
.product__details-area { background: var(--bd-white); }

/* ---- Gallery ---- */
.product__details-gallery {
    position:   relative;
    background: var(--bd-white);
}
.product__details-badge {
    position:    absolute;
    top:         12px;
    left:        12px;
    background:  var(--bd-red);
    color:       #fff;
    font-size:   12px;
    font-weight: 700;
    padding:     4px 10px;
    border-radius: 4px;
    z-index:     2;
    line-height: 1.4;
}
.product__details-main-img {
    background:    var(--bd-gray-bg);
    border:        1px solid var(--bd-border);
    border-radius: var(--bd-radius);
    overflow:      hidden;
    text-align:    center;
    padding:       20px;
    min-height:    360px;
    display:       flex;
    align-items:   center;
    justify-content: center;
}
.pd-current-img {
    max-width:  100%;
    max-height: 360px;
    object-fit: contain;
    transition: opacity 0.2s ease;
}
.pd-zoom-link {
    display:  block;
    position: relative;
    cursor:   zoom-in;
    line-height: 0;
}

/* Zoom icon hint on hover */
.pd-zoom-hint {
    position:        absolute;
    bottom:          10px;
    right:           10px;
    width:           34px;
    height:          34px;
    border-radius:   50%;
    background:      rgba(0,0,0,.45);
    color:           #fff;
    font-size:       14px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    opacity:         0;
    transition:      opacity 0.2s;
    pointer-events:  none;
    z-index:         1;
}
.pd-zoom-link:hover .pd-zoom-hint { opacity: 1; }

/* ---- Lightbox ---- */
body.pd-lightbox-open { overflow: hidden; }

.pd-lightbox {
    position:   fixed;
    inset:      0;
    z-index:    99999;
    display:    flex;
    align-items:     center;
    justify-content: center;
    opacity:    0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}
.pd-lightbox.is-open {
    opacity:    1;
    visibility: visible;
}
.pd-lightbox[hidden] { display: flex; } /* keep flex but hidden via opacity/visibility */

.pd-lightbox__overlay {
    position:   absolute;
    inset:      0;
    background: rgba(0,0,0,.88);
    cursor:     zoom-out;
}
.pd-lightbox__box {
    position:        relative;
    z-index:         1;
    display:         flex;
    align-items:     center;
    justify-content: center;
    max-width:       92vw;
    max-height:      92vh;
}
.pd-lightbox__img {
    display:        block;
    max-width:      92vw;
    max-height:     92vh;
    object-fit:     contain;
    border-radius:  6px;
    box-shadow:     0 12px 48px rgba(0,0,0,.6);
    user-select:    none;
}
.pd-lightbox__close {
    position:        absolute;
    top:             -50px;
    right:           0;
    width:           40px;
    height:          40px;
    border:          2px solid rgba(255,255,255,.55);
    border-radius:   50%;
    background:      rgba(255,255,255,.08);
    color:           #fff;
    font-size:       16px;
    cursor:          pointer;
    display:         flex;
    align-items:     center;
    justify-content: center;
    transition:      background 0.15s, border-color 0.15s;
    backdrop-filter: blur(4px);
    line-height:     1;
}
.pd-lightbox__close:hover {
    background:   rgba(255,255,255,.25);
    border-color: #fff;
}

/* Thumbnails strip */
.product__details-thumb-strip {
    display:   flex;
    flex-wrap: wrap;
    gap:       8px;
}
.pd-thumb-btn {
    width:         72px;
    height:        72px;
    padding:       6px;
    border:        2px solid var(--bd-border);
    border-radius: 8px;
    background:    var(--bd-gray-bg);
    cursor:        pointer;
    overflow:      hidden;
    transition:    border-color 0.15s, box-shadow 0.15s;
    flex-shrink:   0;
}
.pd-thumb-btn img {
    width:      100%;
    height:     100%;
    object-fit: contain;
    display:    block;
}
.pd-thumb-btn:hover,
.pd-thumb-btn.active {
    border-color: var(--bd-blue);
    box-shadow:   0 0 0 3px rgba(211,47,47,.15);
}

/* ---- Summary ---- */
.product__details-summary { padding-left: 8px; }

/* Stock badge */
.product__details-stock .stock {
    display:       inline-flex;
    align-items:   center;
    gap:           6px;
    font-size:     13px;
    font-weight:   600;
    padding:       5px 14px;
    border-radius: 20px;
}
.product__details-stock .in-stock  { background: rgba(39,174,96,.10); color: #27ae60; }
.product__details-stock .out-of-stock { background: rgba(192,57,43,.10); color: #c0392b; }

/* Title */
.product__details-title {
    font-size:   26px;
    font-weight: 700;
    line-height: 1.3;
    color:       var(--bd-text);
    margin:      0 0 16px;
}

/* Price */
.product__details-price {
    display:     flex;
    align-items: baseline;
    flex-wrap:   wrap;
    gap:         10px;
    margin-bottom: 16px;
}
.product__details-amount {
    font-weight: 700;
    line-height: 1.2;
}
.product__details-amount.new-amount {
    font-size: 28px;
    color:     var(--bd-blue);
}
.product__details-amount.new-amount .woocommerce-Price-amount { color: inherit; font-size: inherit; font-weight: inherit; }
.product__details-amount.old-amount {
    font-size:       16px;
    color:           var(--bd-text-muted);
    text-decoration: line-through;
    font-weight:     400;
}
.product__details-amount.old-amount .woocommerce-Price-amount { color: inherit; font-size: inherit; font-weight: inherit; }
.product__details-offer {
    background:  var(--bd-red);
    color:       #fff;
    font-size:   12px;
    font-weight: 700;
    padding:     3px 10px;
    border-radius: 4px;
    align-self:  center;
}

/* Short description */
.product__details-short-desc {
    font-size:   14px;
    line-height: 1.7;
    color:       var(--bd-text-muted);
    border-left: 3px solid var(--bd-border);
    padding-left: 14px;
}

/* Quantity stepper */
.xc-product-quantity {
    display:       flex;
    align-items:   center;
    border:        1px solid var(--bd-border);
    border-radius: 8px;
    overflow:      hidden;
    background:    var(--bd-white);
    height:        44px;
}
.pd-qty-btn {
    width:      40px;
    height:     44px;
    border:     none;
    background: var(--bd-gray-bg);
    color:      var(--bd-text);
    font-size:  12px;
    cursor:     pointer;
    transition: background 0.15s;
    flex-shrink: 0;
    display:    flex;
    align-items: center;
    justify-content: center;
}
.pd-qty-btn:hover { background: var(--bd-border); }
.pd-qty-input {
    flex:        0 0 56px;
    width:       56px;
    height:      44px;
    border:      none !important;
    border-left: 1px solid var(--bd-border) !important;
    border-right: 1px solid var(--bd-border) !important;
    text-align:  center !important;
    font-size:   15px !important;
    font-weight: 600 !important;
    color:       var(--bd-text) !important;
    background:  var(--bd-white) !important;
    padding:     0 !important;
    margin:      0 !important;
    box-sizing:  border-box;
    outline:     none;
    -moz-appearance: textfield;
    appearance:  textfield;
}
.pd-qty-input::-webkit-inner-spin-button,
.pd-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* Action buttons */
.pd-add-to-cart {
    display:       inline-flex;
    align-items:   center;
    gap:           8px;
    background:    var(--bd-blue);
    color:         var(--bd-white) !important;
    border:        none;
    padding:       11px 24px;
    border-radius: 8px;
    font-size:     14px;
    font-weight:   600;
    text-decoration: none;
    cursor:        pointer;
    transition:    var(--bd-transition);
    white-space:   nowrap;
    height:        44px;
}
.pd-add-to-cart:hover { background: var(--bd-blue-dark); transform: translateY(-1px); }
.pd-add-to-cart.loading { opacity: .7; pointer-events: none; cursor: wait; }

.pd-buy-now {
    display:       inline-flex;
    align-items:   center;
    gap:           8px;
    background:    var(--bd-white);
    color:         var(--bd-blue) !important;
    border:        2px solid var(--bd-blue);
    padding:       9px 22px;
    border-radius: 8px;
    font-size:     14px;
    font-weight:   600;
    text-decoration: none;
    cursor:        pointer;
    transition:    var(--bd-transition);
    white-space:   nowrap;
    height:        44px;
}
.pd-buy-now:hover { background: var(--bd-blue); color: var(--bd-white) !important; }

.out-of-stock-notice {
    color:       #c0392b;
    background:  rgba(192,57,43,.07);
    border-left: 3px solid #c0392b;
    padding:     12px 16px;
    border-radius: 0 6px 6px 0;
    font-size:   14px;
}

/* Meta (SKU, categories) */
.product__details-meta      { border-top: 1px solid var(--bd-border); padding-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.product__details-meta-row  { display: flex; align-items: baseline; gap: 8px; font-size: 13px; }
.product__details-meta-label{ color: var(--bd-text-muted); font-weight: 600; min-width: 72px; flex-shrink: 0; }
.product__details-meta-value{ color: var(--bd-text); }
.product__details-meta-value a { color: var(--bd-blue); text-decoration: none; }
.product__details-meta-value a:hover { text-decoration: underline; }

/* Share */
.product__details-share { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.product__details-share-label { font-size: 13px; font-weight: 600; color: var(--bd-text-muted); }
.product__details-share a {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           34px;
    height:          34px;
    border-radius:   50%;
    border:          1px solid var(--bd-border);
    color:           var(--bd-text-muted);
    font-size:       14px;
    text-decoration: none;
    transition:      var(--bd-transition);
}
.product__details-share a:hover { background: var(--bd-blue); color: #fff; border-color: var(--bd-blue); }

/* ---- Tabs ---- */
.product__details-tab-area {
    border:        1px solid var(--bd-border);
    border-radius: var(--bd-radius);
    overflow:      hidden;
    background:    var(--bd-white);
}
.product__details-tab-nav { border-bottom: 1px solid var(--bd-border); }
.xc-tab-menu {
    display:  flex;
    flex-wrap: wrap;
    list-style: none;
    margin:   0;
    padding:  0 16px;
    gap:      0;
}
.xc-tab-menu .nav-link {
    padding:     14px 20px;
    font-size:   14px;
    font-weight: 600;
    color:       var(--bd-text-muted);
    background:  transparent;
    border:      none;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    cursor:      pointer;
    transition:  color 0.15s, border-color 0.15s;
    margin-bottom: -1px;
}
.xc-tab-menu .nav-link:hover   { color: var(--bd-blue); }
.xc-tab-menu .nav-link.active  { color: var(--bd-blue); border-bottom-color: var(--bd-blue); }
.product__details-tab-content  { padding: 30px 24px; }
.product__details-description  { font-size: 14px; line-height: 1.8; color: var(--bd-text); }
.product__details-description p { margin-bottom: 12px; }

/* Attributes table */
.pd-attr-table {
    width:           100%;
    border-collapse: collapse;
    font-size:       14px;
}
.pd-attr-table tr { border-bottom: 1px solid var(--bd-border); }
.pd-attr-table tr:last-child { border-bottom: none; }
.pd-attr-table th {
    width:       38%;
    padding:     10px 14px;
    text-align:  left;
    font-weight: 600;
    color:       var(--bd-text);
    background:  var(--bd-gray-bg);
    white-space: nowrap;
}
.pd-attr-table td {
    padding:    10px 14px;
    color:      var(--bd-text-muted);
}

/* WooCommerce comment/review reset */
.product__details-reviews { font-size: 14px; }
.product__details-reviews .comment-reply-title { font-size: 16px; font-weight: 700; margin-bottom: 16px; }
.product__details-reviews .comment-form p { margin-bottom: 12px; }
.product__details-reviews .comment-form label { display: block; font-weight: 600; margin-bottom: 4px; font-size: 13px; }
.product__details-reviews .comment-form input[type="text"],
.product__details-reviews .comment-form input[type="email"],
.product__details-reviews .comment-form textarea {
    width:         100%;
    border:        1px solid var(--bd-border);
    border-radius: 6px;
    padding:       8px 12px;
    font-size:     14px;
    outline:       none;
    transition:    border-color 0.15s;
    box-sizing:    border-box;
}
.product__details-reviews .comment-form input:focus,
.product__details-reviews .comment-form textarea:focus { border-color: var(--bd-blue); }
.product__details-reviews .comment-form .submit {
    background:    var(--bd-blue);
    color:         #fff;
    border:        none;
    padding:       10px 24px;
    border-radius: 7px;
    font-size:     14px;
    font-weight:   600;
    cursor:        pointer;
    transition:    background 0.15s;
}
.product__details-reviews .comment-form .submit:hover { background: var(--bd-blue-dark); }

/* ---- Related products ---- */
.product__details-related { padding-top: 50px; border-top: 1px solid var(--bd-border); }

/* ---- WooCommerce image max-width reset for product gallery ---- */
.product__details-gallery img,
.product__details-main-img img,
.pd-thumb-btn img {
    max-width: 100%;
}

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
    .product__details-summary { padding-left: 0; margin-top: 10px; }
    .product__details-title   { font-size: 20px; }
    .product__details-amount.new-amount { font-size: 22px; }
}
@media (max-width: 575.98px) {
    .product__details-main-img { min-height: 240px; padding: 12px; }
    .pd-current-img            { max-height: 240px; }
    .pd-thumb-btn              { width: 58px; height: 58px; }
    .product__details-title    { font-size: 18px; }
    .product__details-amount.new-amount { font-size: 20px; }
    .product__details-action .pd-add-to-cart,
    .product__details-action .pd-buy-now { width: 100%; justify-content: center; }
    .product__details-action .product__details-qty { gap: 10px; }
    .xc-tab-menu .nav-link     { padding: 12px 14px; font-size: 13px; }
    .product__details-tab-content { padding: 20px 16px; }
}

/* =============================================================
   CART PAGE
   ============================================================= */
.bd-cart-page {
    padding: 50px 0 70px;
    background: var(--bd-gray-bg);
    min-height: 60vh;
}

/* Empty cart */
.bd-cart-empty {
    text-align:  center;
    padding:     80px 20px;
    background:  var(--bd-white);
    border-radius: var(--bd-radius);
    box-shadow:  var(--bd-shadow);
}
.bd-cart-empty__icon {
    font-size:     56px;
    color:         var(--bd-border);
    margin-bottom: 20px;
}
.bd-cart-empty__title {
    font-size:     22px;
    font-weight:   700;
    color:         var(--bd-text);
    margin-bottom: 10px;
}
.bd-cart-empty__text {
    color:         var(--bd-text-muted);
    margin-bottom: 28px;
}

/* Shared button styles */
.bd-btn-primary {
    display:         inline-flex;
    align-items:     center;
    gap:             8px;
    background:      var(--bd-red);
    color:           #fff;
    font-size:       14px;
    font-weight:     600;
    padding:         11px 28px;
    border-radius:   8px;
    text-decoration: none;
    border:          none;
    cursor:          pointer;
    transition:      var(--bd-transition);
}
.bd-btn-primary:hover {
    background: var(--bd-red-hover);
    color:      #fff;
    transform:  translateY(-1px);
}

/* Cart table wrapper */
.bd-cart-table-wrap {
    background:    var(--bd-white);
    border-radius: var(--bd-radius);
    box-shadow:    var(--bd-shadow);
    overflow:      hidden;
}
.bd-cart-table-wrap__head {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    padding:         20px 24px 18px;
    border-bottom:   1px solid var(--bd-border);
    flex-wrap:       wrap;
    gap:             10px;
}
.bd-cart-table-wrap__title {
    font-size:   18px;
    font-weight: 700;
    color:       var(--bd-text);
    margin:      0;
    display:     flex;
    align-items: center;
    gap:         10px;
}
.bd-cart-count-badge {
    font-size:      12px;
    font-weight:    600;
    background:     rgba(211,47,47,.1);
    color:          var(--bd-red);
    padding:        3px 10px;
    border-radius:  12px;
}
.bd-link-back {
    font-size:       13px;
    font-weight:     600;
    color:           var(--bd-text-muted);
    text-decoration: none;
    display:         flex;
    align-items:     center;
    gap:             6px;
    transition:      var(--bd-transition);
}
.bd-link-back:hover { color: var(--bd-red); }

/* Cart table */
.bd-cart-table {
    width:           100%;
    border-collapse: collapse;
}
.bd-cart-table thead tr {
    background: var(--bd-gray-bg);
}
.bd-cart-table thead th {
    padding:     12px 16px;
    font-size:   12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color:       var(--bd-text-muted);
    border:      none;
    text-align:  left;
}
.bd-cart-table thead th.bd-col-price,
.bd-cart-table thead th.bd-col-total { text-align: right; }

.bd-cart-table tbody td {
    padding:       14px 16px;
    border-top:    1px solid var(--bd-border);
    vertical-align: middle;
    font-size:     14px;
    color:         var(--bd-text);
}
.bd-col-thumb { width: 72px; padding-right: 6px !important; }
.bd-col-thumb img {
    width:         60px;
    height:        60px;
    object-fit:    contain;
    border-radius: 6px;
    border:        1px solid var(--bd-border);
}
.bd-col-name { min-width: 180px; }
.bd-cart-row__name {
    font-size:       14px;
    font-weight:     600;
    color:           var(--bd-text);
    text-decoration: none;
    display:         block;
    margin-bottom:   3px;
}
.bd-cart-row__name:hover { color: var(--bd-red); }
.bd-col-price { text-align: right; font-weight: 600; }
.bd-col-total { text-align: right; font-weight: 700; color: var(--bd-red); }
.bd-col-remove { width: 40px; text-align: center; }
.bd-remove-btn {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           30px;
    height:          30px;
    border-radius:   50%;
    background:      transparent;
    color:           var(--bd-text-muted);
    text-decoration: none;
    transition:      var(--bd-transition);
    font-size:       14px;
}
.bd-remove-btn:hover {
    background: rgba(211,47,47,.1);
    color:      var(--bd-red);
}
.bd-col-qty .quantity { display: flex; align-items: center; gap: 4px; }
.bd-col-qty .qty {
    width:         56px;
    text-align:    center;
    border:        1px solid var(--bd-border);
    border-radius: 6px;
    padding:       6px 4px;
    font-size:     14px;
    font-weight:   600;
}

/* Cart actions row */
.bd-cart-actions {
    padding:     16px 24px !important;
    background:  var(--bd-gray-bg);
    text-align:  right;
    border-top:  2px solid var(--bd-border);
}
.bd-btn-update {
    display:         inline-flex;
    align-items:     center;
    gap:             7px;
    background:      transparent;
    border:          1.5px solid var(--bd-border);
    color:           var(--bd-text-muted);
    font-size:       13px;
    font-weight:     600;
    padding:         9px 20px;
    border-radius:   7px;
    cursor:          pointer;
    transition:      var(--bd-transition);
}
.bd-btn-update:hover {
    border-color: var(--bd-red);
    color:        var(--bd-red);
    background:   rgba(211,47,47,.04);
}

/* Cart totals */
.bd-cart-totals-wrap {
    position: sticky;
    top:      24px;
}
/* WooCommerce .cart_totals – override default styles */
.bd-cart-totals-wrap .cart_totals {
    background:    var(--bd-white);
    border-radius: var(--bd-radius);
    box-shadow:    var(--bd-shadow);
    padding:       0;
    overflow:      hidden;
}
.bd-cart-totals-wrap .cart_totals h2 {
    font-size:     16px;
    font-weight:   700;
    color:         var(--bd-text);
    margin:        0;
    padding:       18px 20px 16px;
    border-bottom: 1px solid var(--bd-border);
    background:    var(--bd-gray-bg);
}
.bd-cart-totals-wrap .shop_table {
    width:           100%;
    border-collapse: collapse;
}
.bd-cart-totals-wrap .shop_table th,
.bd-cart-totals-wrap .shop_table td {
    padding:    12px 20px;
    border:     none;
    border-top: 1px solid var(--bd-border);
    font-size:  14px;
    text-align: left;
}
.bd-cart-totals-wrap .shop_table th { color: var(--bd-text-muted); font-weight: 600; width: 40%; }
.bd-cart-totals-wrap .shop_table .order-total th { color: var(--bd-text); font-weight: 700; }
.bd-cart-totals-wrap .shop_table .order-total td { font-size: 18px; font-weight: 700; color: var(--bd-red); }
.bd-cart-totals-wrap .wc-proceed-to-checkout {
    padding: 16px 20px;
}
.bd-cart-totals-wrap .wc-proceed-to-checkout .checkout-button,
.bd-cart-totals-wrap .checkout-button {
    display:          block;
    width:            100%;
    text-align:       center;
    background:       var(--bd-red);
    color:            #fff !important;
    font-size:        15px;
    font-weight:      700;
    padding:          14px 20px;
    border-radius:    8px;
    text-decoration:  none;
    border:           none;
    cursor:           pointer;
    transition:       var(--bd-transition);
}
.bd-cart-totals-wrap .wc-proceed-to-checkout .checkout-button:hover,
.bd-cart-totals-wrap .checkout-button:hover {
    background:  var(--bd-red-hover);
    transform:   translateY(-1px);
    box-shadow:  0 4px 16px rgba(211,47,47,.35);
}
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
    width: 100%;
}

/* =============================================================
   CHECKOUT PAGE
   ============================================================= */
.bd-checkout-page {
    padding:    50px 0 70px;
    background: var(--bd-gray-bg);
    min-height: 60vh;
}

/* Box card */
.bd-checkout-box {
    background:    var(--bd-white);
    border-radius: var(--bd-radius);
    box-shadow:    var(--bd-shadow);
    overflow:      hidden;
    margin-bottom: 24px;
}
.bd-checkout-box__title {
    font-size:     16px;
    font-weight:   700;
    color:         var(--bd-text);
    margin:        0;
    padding:       18px 24px 16px;
    border-bottom: 1px solid var(--bd-border);
    background:    var(--bd-gray-bg);
    display:       flex;
    align-items:   center;
    gap:           12px;
}
.bd-checkout-box__step {
    display:          inline-flex;
    align-items:      center;
    justify-content:  center;
    width:            28px;
    height:           28px;
    border-radius:    50%;
    background:       var(--bd-red);
    color:            #fff;
    font-size:        13px;
    font-weight:      700;
    flex-shrink:      0;
}

/* WooCommerce billing fields wrapper inside our box */
.bd-checkout-box .woocommerce-billing-fields,
.bd-checkout-box .bd-customer-details {
    padding: 20px 24px 4px;
}
.bd-checkout-box .woocommerce-billing-fields > h3 { display: none; } /* hide WC default h3 */

/* WooCommerce form fields */
.bd-checkout-box .form-row,
.bd-checkout-box .bd-checkout-field-group {
    margin-bottom: 18px;
    padding:       0 24px;
}
.bd-checkout-box .woocommerce-billing-fields__field-wrapper .form-row { padding: 0; }
.bd-checkout-box .woocommerce-billing-fields { padding-bottom: 20px; }

.bd-label {
    display:     block;
    font-size:   13px;
    font-weight: 600;
    color:       var(--bd-text);
    margin-bottom: 6px;
}
.bd-label-optional {
    font-size:   12px;
    font-weight: 400;
    color:       var(--bd-text-muted);
}

/* Input field overrides */
.bd-checkout-box input[type="text"],
.bd-checkout-box input[type="tel"],
.bd-checkout-box input[type="email"],
.bd-checkout-box textarea,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    width:         100%;
    border:        1.5px solid var(--bd-border);
    border-radius: 8px;
    padding:       11px 14px;
    font-size:     14px;
    color:         var(--bd-text);
    background:    var(--bd-white);
    transition:    var(--bd-transition);
    box-sizing:    border-box;
    outline:       none;
    appearance:    none;
}
.bd-checkout-box input[type="text"]:focus,
.bd-checkout-box input[type="tel"]:focus,
.bd-checkout-box input[type="email"]:focus,
.bd-checkout-box textarea:focus,
.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="tel"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: var(--bd-red);
    box-shadow:   0 0 0 3px rgba(211,47,47,.1);
}
.woocommerce-checkout textarea { resize: vertical; min-height: 90px; }
.woocommerce-checkout label abbr { color: var(--bd-red); }

/* Label style in WC form rows */
.woocommerce-checkout .form-row label {
    font-size:     13px;
    font-weight:   600;
    color:         var(--bd-text);
    margin-bottom: 6px;
    display:       block;
}

/* Validation error */
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea {
    border-color: #e53935;
    box-shadow:   0 0 0 3px rgba(229,57,53,.12);
}

/* -- Bank info section -- */
.bd-bank-info .bd-bank-account {
    padding:        6px 24px 4px;
}
.bd-bank-account__row {
    display:         flex;
    align-items:     center;
    gap:             12px;
    padding:         12px 0;
    border-bottom:   1px solid var(--bd-border);
}
.bd-bank-account__row:last-child { border-bottom: none; }
.bd-bank-account__label {
    flex:        0 0 160px;
    font-size:   13px;
    font-weight: 600;
    color:       var(--bd-text-muted);
    display:     flex;
    align-items: center;
    gap:         7px;
}
.bd-bank-account__value {
    flex:        1;
    font-size:   14px;
    font-weight: 600;
    color:       var(--bd-text);
    display:     flex;
    align-items: center;
    gap:         8px;
    word-break:  break-all;
}
.bd-bank-account__number { color: var(--bd-red); font-size: 16px; letter-spacing: 1px; }
.bd-copy-btn {
    background:      none;
    border:          1px solid var(--bd-border);
    border-radius:   6px;
    padding:         4px 8px;
    cursor:          pointer;
    color:           var(--bd-text-muted);
    font-size:       13px;
    transition:      var(--bd-transition);
    flex-shrink:     0;
}
.bd-copy-btn:hover { border-color: var(--bd-red); color: var(--bd-red); }

.bd-bank-info__notice,
.bd-bank-info__instruction {
    margin:        8px 24px 20px;
    padding:       12px 16px;
    border-radius: 8px;
    font-size:     13px;
    line-height:   1.6;
    display:       flex;
    align-items:   flex-start;
    gap:           10px;
}
.bd-bank-info__instruction {
    background:    rgba(211,47,47,.06);
    color:         var(--bd-text);
    border-left:   3px solid var(--bd-red);
}
.bd-bank-info__instruction i { color: var(--bd-red); margin-top: 2px; flex-shrink: 0; }
.bd-bank-info__notice {
    background:    #FFF8E1;
    color:         #795548;
    border-left:   3px solid #FFC107;
}

/* -- Order review box (right column) -- */
.bd-order-review-box { margin-bottom: 0; }
.bd-order-review-box .bd-checkout-box__title { background: var(--bd-gray-bg); }

.bd-order-table {
    width:           100%;
    border-collapse: collapse;
}
.bd-order-table thead tr { background: var(--bd-gray-bg); }
.bd-order-table thead th {
    padding:    11px 16px;
    font-size:  12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color:      var(--bd-text-muted);
    border:     none;
}
.bd-col-right { text-align: right !important; }
.bd-order-table tbody td {
    padding:    13px 16px;
    border-top: 1px solid var(--bd-border);
    font-size:  14px;
    color:      var(--bd-text);
    vertical-align: top;
}
.bd-order-qty {
    display:     inline-block;
    font-weight: 700;
    color:       var(--bd-text-muted);
    font-size:   13px;
    margin-left: 4px;
}
.bd-order-table tfoot th,
.bd-order-table tfoot td {
    padding:    11px 16px;
    border-top: 1px solid var(--bd-border);
    font-size:  14px;
}
.bd-order-table tfoot .order-total th { font-weight: 700; font-size: 15px; }
.bd-order-table tfoot .order-total td {
    font-size:   18px;
    font-weight: 700;
    color:       var(--bd-red);
    text-align:  right;
}

/* -- Submit button -- */
.bd-payment-section { padding: 16px 20px; }
.bd-btn-place-order {
    display:     block;
    width:       100%;
    text-align:  center;
    background:  var(--bd-red);
    color:       #fff !important;
    font-size:   16px;
    font-weight: 700;
    padding:     16px 20px;
    border-radius: 8px;
    border:      none;
    cursor:      pointer;
    transition:  var(--bd-transition);
    letter-spacing: 0.3px;
}
.bd-btn-place-order:hover {
    background:  var(--bd-red-hover);
    color:       #fff !important;
    box-shadow:  0 6px 20px rgba(211,47,47,.40);
    transform:   translateY(-1px);
}
.bd-btn-place-order i { margin-right: 8px; }

/* WooCommerce notices on checkout/cart */
.woocommerce-checkout .woocommerce-error,
.woocommerce-cart .woocommerce-error { border-left: 4px solid #e53935; }
.woocommerce-checkout .woocommerce-message,
.woocommerce-cart .woocommerce-message { border-left: 4px solid var(--bd-red); }

/* Processing overlay WC default */
.blockUI.blockOverlay { background: rgba(255,255,255,.8) !important; }

/* -- Responsive: cart & checkout -- */
@media (max-width: 991.98px) {
    .bd-cart-totals-wrap { position: static; margin-top: 0; }
    .bd-bank-account__row { flex-wrap: wrap; gap: 4px; }
    .bd-bank-account__label { flex: 0 0 100%; }
    .bd-bank-account__value { flex: 0 0 100%; }
}
@media (max-width: 767px) {
    .bd-cart-page,
    .bd-checkout-page { padding: 30px 0 50px; }
    .bd-cart-table thead { display: none; }
    .bd-cart-table tbody td {
        display:       block;
        text-align:    right;
        padding:       8px 16px;
        border-top:    none;
    }
    .bd-cart-table tbody td::before {
        content:       attr(data-title) ": ";
        float:         left;
        font-weight:   700;
        font-size:     12px;
        color:         var(--bd-text-muted);
    }
    .bd-cart-table tbody tr { border-top: 1px solid var(--bd-border); }
    .bd-col-thumb { text-align: left; }
    .bd-col-thumb::before { display: none; }
    .bd-checkout-box .form-row,
    .bd-checkout-box .bd-checkout-field-group { padding: 0 16px; }
    .bd-checkout-box .woocommerce-billing-fields { padding: 14px 16px 16px; }
    .bd-bank-info .bd-bank-account { padding: 0 16px; }
    .bd-bank-info__instruction,
    .bd-bank-info__notice { margin: 8px 16px 16px; }
    .bd-checkout-box__title { padding: 14px 16px 12px; }
    .bd-payment-section { padding: 14px 16px; }
}

/* =============================================================
   THANK YOU / ORDER RECEIVED PAGE
   ============================================================= */
.bd-thankyou-page {
    padding:    50px 0 70px;
    background: var(--bd-gray-bg);
    min-height: 60vh;
}

/* Hero header */
.bd-thankyou-hero {
    text-align:    center;
    padding:       48px 20px 40px;
    margin-bottom: 32px;
}
.bd-thankyou-hero__icon {
    font-size:     64px;
    color:         #43A047;
    margin-bottom: 18px;
    line-height:   1;
}
.bd-thankyou-hero--failed .bd-thankyou-hero__icon { color: #e53935; }
.bd-thankyou-hero__icon--info { color: var(--bd-red); }

.bd-thankyou-hero__title {
    font-size:     28px;
    font-weight:   800;
    color:         var(--bd-text);
    margin-bottom: 10px;
}
.bd-thankyou-hero__sub {
    font-size:   15px;
    color:       var(--bd-text-muted);
    max-width:   560px;
    margin:      0 auto 24px;
    line-height: 1.65;
}
.bd-ty-failed-actions {
    display:    flex;
    gap:        12px;
    justify-content: center;
    flex-wrap:  wrap;
}

/* Shared box card */
.bd-ty-box {
    background:    var(--bd-white);
    border-radius: var(--bd-radius);
    box-shadow:    var(--bd-shadow);
    overflow:      hidden;
    margin-bottom: 24px;
}
.bd-ty-box__head {
    display:       flex;
    align-items:   center;
    gap:           10px;
    font-size:     15px;
    font-weight:   700;
    color:         var(--bd-text);
    padding:       16px 22px 14px;
    border-bottom: 1px solid var(--bd-border);
    background:    var(--bd-gray-bg);
}
.bd-ty-order-num {
    margin-left:  auto;
    font-size:    13px;
    font-weight:  600;
    color:        var(--bd-red);
    background:   rgba(211,47,47,.08);
    padding:      3px 10px;
    border-radius: 12px;
}

/* Meta strip */
.bd-ty-meta {
    display:        flex;
    gap:            0;
    border-bottom:  1px solid var(--bd-border);
}
.bd-ty-meta__item {
    flex:        1;
    display:     flex;
    flex-direction: column;
    align-items: center;
    gap:         4px;
    padding:     16px 12px;
    border-right: 1px solid var(--bd-border);
    text-align:  center;
}
.bd-ty-meta__item:last-child { border-right: none; }
.bd-ty-meta__label {
    font-size:   11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color:       var(--bd-text-muted);
    display:     flex;
    align-items: center;
    gap:         5px;
}
.bd-ty-meta__value {
    font-size:   14px;
    font-weight: 600;
    color:       var(--bd-text);
}
.bd-ty-total { color: var(--bd-red); font-size: 16px !important; }

/* Order status badge */
.bd-ty-status {
    font-size:    12px;
    font-weight:  700;
    padding:      3px 10px;
    border-radius: 12px;
    background:   rgba(67,160,71,.12);
    color:        #2E7D32;
}
.bd-ty-status--failed { background: rgba(229,57,53,.12); color: #c62828; }
.bd-ty-status--on-hold,
.bd-ty-status--pending { background: rgba(255,160,0,.12); color: #e65100; }

/* Customer info rows */
.bd-ty-customer {
    padding: 14px 22px 4px;
    border-bottom: 1px solid var(--bd-border);
}
.bd-ty-customer__row {
    display:     flex;
    align-items: flex-start;
    gap:         10px;
    padding:     9px 0;
    border-bottom: 1px solid var(--bd-border);
    font-size:   14px;
}
.bd-ty-customer__row:last-child { border-bottom: none; }
.bd-ty-customer__label {
    flex:        0 0 140px;
    font-weight: 600;
    color:       var(--bd-text-muted);
    display:     flex;
    align-items: center;
    gap:         7px;
}
.bd-ty-customer__value { flex: 1; color: var(--bd-text); }

/* Items table */
.bd-ty-items {
    width:           100%;
    border-collapse: collapse;
}
.bd-ty-items thead th {
    padding:         11px 22px;
    font-size:       12px;
    font-weight:     700;
    text-transform:  uppercase;
    letter-spacing:  0.5px;
    color:           var(--bd-text-muted);
    background:      var(--bd-gray-bg);
    border-top:      1px solid var(--bd-border);
}
.bd-ty-col-right { text-align: right; }
.bd-ty-items tbody td {
    padding:         12px 22px;
    border-top:      1px solid var(--bd-border);
    font-size:       14px;
    color:           var(--bd-text);
    vertical-align:  top;
}
.bd-ty-item-name {
    font-weight:     600;
    color:           var(--bd-text);
    text-decoration: none;
    display:         block;
}
.bd-ty-item-name:hover { color: var(--bd-red); }
.bd-ty-item-qty {
    font-size:   13px;
    color:       var(--bd-text-muted);
    margin-left: 4px;
}
.bd-ty-item-total { font-weight: 600; color: var(--bd-text); }
.bd-ty-items tfoot th,
.bd-ty-items tfoot td {
    padding:    11px 22px;
    font-size:  14px;
    border-top: 1px solid var(--bd-border);
}
.bd-ty-row-total th { font-weight: 700; font-size: 15px; }
.bd-ty-row-total td { font-size: 17px; font-weight: 700; color: var(--bd-red); }

/* Bank transfer box */
.bd-ty-bank-box .bd-ty-bank-wrap {
    padding: 6px 22px;
}
/* Override WooCommerce default BACS table styles */
.bd-ty-bank-wrap .woocommerce-bacs-bank-details,
.bd-ty-bank-wrap .shop_table {
    width:           100%;
    border-collapse: collapse;
    margin:          10px 0;
}
.bd-ty-bank-wrap .shop_table th,
.bd-ty-bank-wrap .shop_table td {
    padding:    10px 0;
    font-size:  14px;
    border-top: 1px solid var(--bd-border);
    text-align: left;
}
.bd-ty-bank-wrap .shop_table th { color: var(--bd-text-muted); font-weight: 600; width: 45%; }
.bd-ty-bank-wrap p { font-size: 14px; line-height: 1.6; color: var(--bd-text-muted); margin-bottom: 6px; }

.bd-ty-bank-note {
    margin:        4px 22px 18px;
    padding:       12px 16px;
    border-radius: 8px;
    background:    rgba(211,47,47,.06);
    border-left:   3px solid var(--bd-red);
    font-size:     13px;
    line-height:   1.6;
    display:       flex;
    align-items:   center;
    flex-wrap:     wrap;
    gap:           6px;
}
.bd-ty-bank-note i { color: var(--bd-red); flex-shrink: 0; }
.bd-ty-bank-note em {
    font-style:  normal;
    font-weight: 700;
    color:       var(--bd-red);
}

/* Steps guide box */
.bd-ty-steps-box { margin-bottom: 20px; }
.bd-ty-steps {
    list-style: none;
    margin:     0;
    padding:    16px 22px 20px;
}
.bd-ty-steps__item {
    display:     flex;
    align-items: flex-start;
    gap:         14px;
    padding:     12px 0;
    border-bottom: 1px solid var(--bd-border);
    position:    relative;
}
.bd-ty-steps__item:last-child { border-bottom: none; }
.bd-ty-steps__num {
    flex-shrink:      0;
    width:            32px;
    height:           32px;
    border-radius:    50%;
    background:       var(--bd-border);
    color:            var(--bd-text-muted);
    display:          flex;
    align-items:      center;
    justify-content:  center;
    font-size:        13px;
    font-weight:      700;
    margin-top:       2px;
}
.bd-ty-steps__item--done .bd-ty-steps__num {
    background: #43A047;
    color:      #fff;
}
.bd-ty-steps__item--active .bd-ty-steps__num {
    background: var(--bd-red);
    color:      #fff;
    box-shadow: 0 2px 8px rgba(211,47,47,.35);
}
.bd-ty-steps__item > div { flex: 1; }
.bd-ty-steps__item strong {
    display:     block;
    font-size:   14px;
    font-weight: 700;
    color:       var(--bd-text);
    margin-bottom: 2px;
}
.bd-ty-steps__item--done strong,
.bd-ty-steps__item--active strong { color: var(--bd-text); }
.bd-ty-steps__item p {
    font-size:   13px;
    color:       var(--bd-text-muted);
    margin:      0;
    line-height: 1.5;
}

/* Action buttons under steps */
.bd-ty-actions {
    display:    flex;
    gap:        12px;
    flex-wrap:  wrap;
}
.bd-ty-btn-secondary {
    display:         inline-flex;
    align-items:     center;
    gap:             8px;
    background:      var(--bd-white);
    border:          1.5px solid var(--bd-border);
    color:           var(--bd-text);
    font-size:       14px;
    font-weight:     600;
    padding:         11px 24px;
    border-radius:   8px;
    text-decoration: none;
    transition:      var(--bd-transition);
}
.bd-ty-btn-secondary:hover {
    border-color: var(--bd-red);
    color:        var(--bd-red);
    background:   rgba(211,47,47,.04);
}

/* Responsive */
@media (max-width: 991.98px) {
    .bd-ty-meta { flex-wrap: wrap; }
    .bd-ty-meta__item { flex: 0 0 50%; border-bottom: 1px solid var(--bd-border); }
    .bd-ty-meta__item:nth-child(2) { border-right: none; }
}
@media (max-width: 767px) {
    .bd-thankyou-page { padding: 28px 0 50px; }
    .bd-thankyou-hero { padding: 32px 16px 28px; margin-bottom: 20px; }
    .bd-thankyou-hero__title { font-size: 22px; }
    .bd-ty-meta__item { flex: 0 0 100%; border-right: none; }
    .bd-ty-customer__label { flex: 0 0 110px; font-size: 12px; }
    .bd-ty-items tbody td,
    .bd-ty-items thead th { padding: 10px 16px; }
    .bd-ty-customer { padding: 10px 16px 4px; }
    .bd-ty-items tfoot th,
    .bd-ty-items tfoot td { padding: 10px 16px; }
    .bd-ty-bank-box .bd-ty-bank-wrap { padding: 4px 16px; }
    .bd-ty-bank-note { margin: 4px 16px 16px; }
    .bd-ty-steps { padding: 12px 16px 16px; }
    .bd-ty-box__head { padding: 14px 16px 12px; }
}

/* =============================================================
   PAGE HERO / BREADCRUMB  (shared by page.php, single.php, archive.php)
   ============================================================= */
.bd-page-hero {
    background:     linear-gradient(135deg, #1A2333 0%, #2C3A50 100%);
    padding:        40px 0 34px;
    position:       relative;
    overflow:       hidden;
    margin-bottom:  0;
}
.bd-page-hero--has-img {
    background-size:    cover;
    background-position: center;
}
.bd-page-hero__overlay {
    position:   absolute;
    inset:      0;
    background: rgba(26, 35, 51, .78);
}
.bd-page-hero__inner {
    position: relative;
    z-index:  1;
}
.bd-page-hero__title {
    font-size:     26px;
    font-weight:   800;
    color:         #fff;
    margin-bottom: 10px;
    line-height:   1.25;
}

/* Breadcrumb */
.bd-breadcrumb {
    display:     flex;
    align-items: center;
    flex-wrap:   wrap;
    gap:         4px;
    font-size:   13px;
}
.bd-breadcrumb__link {
    color:           rgba(255,255,255,.75);
    text-decoration: none;
    transition:      var(--bd-transition);
}
.bd-breadcrumb__link:hover { color: #fff; }
.bd-breadcrumb__sep {
    color:     rgba(255,255,255,.40);
    font-size: 9px;
    margin:    0 2px;
}
.bd-breadcrumb__current { color: #fff; font-weight: 600; }

/* =============================================================
   PAGE CONTENT  (page.php – About, Policy…)
   ============================================================= */
.bd-page-content-wrap {
    padding: 50px 0 70px;
    background: var(--bd-white);
}
.bd-page-article { }

/* Prose / editorial content */
.bd-page-entry-content,
.bd-post-entry-content {
    font-size:   15px;
    line-height: 1.8;
    color:       var(--bd-text);
}
.bd-page-entry-content h2,
.bd-post-entry-content h2 {
    font-size:     20px;
    font-weight:   700;
    margin:        32px 0 12px;
    color:         var(--bd-text);
    padding-bottom: 8px;
    border-bottom:  2px solid var(--bd-border);
}
.bd-page-entry-content h3,
.bd-post-entry-content h3 {
    font-size:   17px;
    font-weight: 700;
    margin:      26px 0 10px;
    color:       var(--bd-text);
}
.bd-page-entry-content p,
.bd-post-entry-content p { margin-bottom: 16px; }
.bd-page-entry-content ul,
.bd-page-entry-content ol,
.bd-post-entry-content ul,
.bd-post-entry-content ol {
    padding-left: 22px;
    margin-bottom: 16px;
}
.bd-page-entry-content li,
.bd-post-entry-content li { margin-bottom: 6px; }
.bd-page-entry-content img,
.bd-post-entry-content img {
    max-width:     100%;
    height:        auto;
    border-radius: 8px;
    margin:        12px 0;
}
.bd-page-entry-content a,
.bd-post-entry-content a { color: var(--bd-red); }
.bd-page-entry-content a:hover,
.bd-post-entry-content a:hover { text-decoration: underline; }
.bd-page-entry-content blockquote,
.bd-post-entry-content blockquote {
    border-left:  4px solid var(--bd-red);
    padding:      14px 20px;
    margin:       20px 0;
    background:   var(--bd-gray-bg);
    border-radius: 0 8px 8px 0;
    font-style:   italic;
    color:        var(--bd-text-muted);
}
.bd-page-entry-content table,
.bd-post-entry-content table {
    width:           100%;
    border-collapse: collapse;
    margin-bottom:   20px;
    font-size:       14px;
}
.bd-page-entry-content th,
.bd-page-entry-content td,
.bd-post-entry-content th,
.bd-post-entry-content td {
    padding:    10px 14px;
    border:     1px solid var(--bd-border);
    text-align: left;
}
.bd-page-entry-content th,
.bd-post-entry-content th { background: var(--bd-gray-bg); font-weight: 700; }

/* Paged links */
.bd-page-links {
    display:    flex;
    align-items: center;
    gap:        8px;
    margin-top: 24px;
    font-size:  14px;
    font-weight: 600;
}
.bd-page-links__item {
    display:     inline-flex;
    align-items: center;
    justify-content: center;
    width:       34px;
    height:      34px;
    border-radius: 6px;
    border:      1.5px solid var(--bd-border);
    color:       var(--bd-text);
    text-decoration: none;
    transition:  var(--bd-transition);
}
.bd-page-links__item:hover,
.bd-page-links__item.active {
    background:   var(--bd-red);
    border-color: var(--bd-red);
    color:        #fff;
}

/* =============================================================
   BLOG WRAPPER  (shared by single.php + archive.php)
   ============================================================= */
.bd-blog-wrap {
    padding:    44px 0 70px;
    background: var(--bd-gray-bg);
}

/* =============================================================
   SINGLE POST  (single.php)
   ============================================================= */
.bd-post-thumb {
    border-radius: var(--bd-radius);
    overflow:      hidden;
    margin-bottom: 24px;
}
.bd-post-thumb__img {
    width:       100%;
    height:      auto;
    display:     block;
    max-height:  420px;
    object-fit:  cover;
}

.bd-post-meta {
    display:     flex;
    align-items: center;
    flex-wrap:   wrap;
    gap:         14px;
    margin-bottom: 18px;
    font-size:   13px;
    color:       var(--bd-text-muted);
}
.bd-post-meta__cat {
    background:      var(--bd-red);
    color:           #fff;
    font-size:       11px;
    font-weight:     700;
    text-transform:  uppercase;
    letter-spacing:  0.6px;
    padding:         3px 10px;
    border-radius:   12px;
    text-decoration: none;
    transition:      var(--bd-transition);
}
.bd-post-meta__cat:hover { background: var(--bd-red-hover); color: #fff; }
.bd-post-meta__date,
.bd-post-meta__author {
    display:     flex;
    align-items: center;
    gap:         5px;
}

.bd-post-article {
    background:    var(--bd-white);
    border-radius: var(--bd-radius);
    box-shadow:    var(--bd-shadow);
    padding:       28px;
    margin-bottom: 24px;
}

.bd-post-tags {
    margin-top:  20px;
    padding-top: 16px;
    border-top:  1px solid var(--bd-border);
    font-size:   13px;
    color:       var(--bd-text-muted);
    display:     flex;
    align-items: flex-start;
    gap:         8px;
    flex-wrap:   wrap;
}
.bd-post-tags i { margin-top: 2px; flex-shrink: 0; }
.bd-post-tags a {
    background:      rgba(211,47,47,.08);
    color:           var(--bd-red);
    padding:         2px 10px;
    border-radius:   12px;
    text-decoration: none;
    font-weight:     600;
    transition:      var(--bd-transition);
}
.bd-post-tags a:hover { background: var(--bd-red); color: #fff; }

/* Post navigation */
.bd-post-nav {
    display:       flex;
    gap:           16px;
    flex-wrap:     wrap;
    margin-bottom: 0;
}
.bd-post-nav__item {
    flex:            1;
    min-width:       0;
    background:      var(--bd-white);
    border-radius:   var(--bd-radius);
    box-shadow:      var(--bd-shadow);
    padding:         16px 18px;
    text-decoration: none;
    transition:      var(--bd-transition);
    display:         flex;
    flex-direction:  column;
    gap:             4px;
    border:          1.5px solid transparent;
}
.bd-post-nav__item:hover {
    border-color: var(--bd-red);
    box-shadow:   var(--bd-shadow-hover);
    transform:    translateY(-2px);
}
.bd-post-nav__item--next { text-align: right; }
.bd-post-nav__dir {
    font-size:   11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color:       var(--bd-red);
    display:     flex;
    align-items: center;
    gap:         5px;
}
.bd-post-nav__item--next .bd-post-nav__dir { justify-content: flex-end; }
.bd-post-nav__title {
    font-size:   14px;
    font-weight: 600;
    color:       var(--bd-text);
    display:     -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow:    hidden;
}

/* =============================================================
   ARCHIVE / CATEGORY  (archive.php)
   ============================================================= */
.bd-archive-desc {
    font-size:     14px;
    color:         var(--bd-text-muted);
    padding:       14px 20px;
    background:    var(--bd-white);
    border-radius: var(--bd-radius);
    margin-bottom: 24px;
    border-left:   3px solid var(--bd-red);
}

/* Post list */
.bd-post-list { display: flex; flex-direction: column; gap: 24px; }

.bd-post-card {
    background:    var(--bd-white);
    border-radius: var(--bd-radius);
    box-shadow:    var(--bd-shadow);
    overflow:      hidden;
    display:       flex;
    gap:           0;
    transition:    var(--bd-transition);
    transition-property: box-shadow, transform;
}
.bd-post-card:hover {
    box-shadow:   var(--bd-shadow-hover);
    transform:    translateY(-2px);
}

.bd-post-card__thumb {
    flex-shrink:  0;
    width:        240px;
    position:     relative;
    overflow:     hidden;
    display:      block;
    text-decoration: none;
}
.bd-post-card__thumb--no-img {
    background:      var(--bd-gray-bg);
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-size:       42px;
    color:           var(--bd-border);
}
.bd-post-card__img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
    transition: transform 0.3s ease;
    min-height: 100%;
}
.bd-post-card:hover .bd-post-card__img { transform: scale(1.05); }

.bd-post-card__cat-badge {
    position:     absolute;
    top:          12px;
    left:         12px;
    background:   var(--bd-red);
    color:        #fff;
    font-size:    10px;
    font-weight:  700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding:      3px 9px;
    border-radius: 10px;
    pointer-events: none;
}

.bd-post-card__body {
    flex:    1;
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.bd-post-card__meta {
    display:       flex;
    align-items:   center;
    flex-wrap:     wrap;
    gap:           12px;
    font-size:     12px;
    color:         var(--bd-text-muted);
    margin-bottom: 10px;
}
.bd-post-card__meta i { margin-right: 3px; }
.bd-post-card__title {
    font-size:     16px;
    font-weight:   700;
    line-height:   1.4;
    margin-bottom: 10px;
    display:       -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow:      hidden;
}
.bd-post-card__title a { color: var(--bd-text); text-decoration: none; }
.bd-post-card__title a:hover { color: var(--bd-red); }
.bd-post-card__excerpt {
    font-size:   14px;
    color:       var(--bd-text-muted);
    line-height: 1.6;
    flex:        1;
    display:     -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:    hidden;
    margin-bottom: 14px;
}
.bd-post-card__readmore {
    display:         inline-flex;
    align-items:     center;
    gap:             6px;
    font-size:       13px;
    font-weight:     700;
    color:           var(--bd-red);
    text-decoration: none;
    align-self:      flex-start;
    transition:      var(--bd-transition);
}
.bd-post-card__readmore:hover { gap: 10px; }

/* No-posts placeholder */
.bd-no-posts {
    text-align:  center;
    padding:     60px 20px;
    background:  var(--bd-white);
    border-radius: var(--bd-radius);
    box-shadow:  var(--bd-shadow);
}
.bd-no-posts i { font-size: 48px; color: var(--bd-border); display: block; margin-bottom: 14px; }
.bd-no-posts p { color: var(--bd-text-muted); margin-bottom: 20px; font-size: 15px; }

/* Pagination */
.bd-pagination {
    margin-top: 32px;
}
.bd-pagination .nav-links {
    display:     flex;
    align-items: center;
    flex-wrap:   wrap;
    gap:         6px;
}
.bd-pagination .page-numbers {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    min-width:       38px;
    height:          38px;
    padding:         0 10px;
    border-radius:   8px;
    border:          1.5px solid var(--bd-border);
    background:      var(--bd-white);
    color:           var(--bd-text);
    text-decoration: none;
    font-size:       14px;
    font-weight:     600;
    transition:      var(--bd-transition);
    box-shadow:      var(--bd-shadow);
}
.bd-pagination .page-numbers:hover,
.bd-pagination .page-numbers.current {
    background:   var(--bd-red);
    border-color: var(--bd-red);
    color:        #fff;
    box-shadow:   0 3px 10px rgba(211,47,47,.30);
}
.bd-pagination .page-numbers.dots {
    background:  transparent;
    border-color: transparent;
    box-shadow:  none;
    color:       var(--bd-text-muted);
}

/* =============================================================
   SIDEBAR
   ============================================================= */
.bd-sidebar { display: flex; flex-direction: column; gap: 24px; }

.bd-sidebar-widget {
    background:    var(--bd-white);
    border-radius: var(--bd-radius);
    box-shadow:    var(--bd-shadow);
    overflow:      hidden;
}
.bd-sidebar-widget__title {
    font-size:     14px;
    font-weight:   700;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    color:         var(--bd-text);
    margin:        0;
    padding:       14px 18px 12px;
    border-bottom: 1px solid var(--bd-border);
    background:    var(--bd-gray-bg);
    display:       flex;
    align-items:   center;
    gap:           8px;
}

/* Recent posts */
.bd-recent-posts { list-style: none; margin: 0; padding: 8px 0; }
.bd-recent-posts__item {
    display:     flex;
    align-items: flex-start;
    gap:         12px;
    padding:     10px 18px;
    border-bottom: 1px solid var(--bd-border);
    transition:  var(--bd-transition);
}
.bd-recent-posts__item:last-child { border-bottom: none; }
.bd-recent-posts__item:hover { background: var(--bd-gray-bg); }
.bd-recent-posts__thumb {
    flex-shrink:   0;
    width:         62px;
    height:        52px;
    border-radius: 6px;
    overflow:      hidden;
    display:       block;
}
.bd-recent-posts__thumb img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
}
.bd-recent-posts__info { flex: 1; min-width: 0; }
.bd-recent-posts__title {
    display:             block;
    font-size:           13px;
    font-weight:         600;
    color:               var(--bd-text);
    text-decoration:     none;
    line-height:         1.4;
    margin-bottom:       5px;
    display:             -webkit-box;
    -webkit-line-clamp:  2;
    -webkit-box-orient:  vertical;
    overflow:            hidden;
    transition:          var(--bd-transition);
}
.bd-recent-posts__title:hover { color: var(--bd-red); }
.bd-recent-posts__date {
    font-size:   11px;
    color:       var(--bd-text-muted);
    display:     flex;
    align-items: center;
    gap:         4px;
}

/* Category list */
.bd-sidebar-cats { list-style: none; margin: 0; padding: 6px 0; }
.bd-sidebar-cats__item { border-bottom: 1px solid var(--bd-border); }
.bd-sidebar-cats__item:last-child { border-bottom: none; }
.bd-sidebar-cats__link {
    display:         flex;
    align-items:     center;
    gap:             9px;
    padding:         10px 18px;
    font-size:       14px;
    font-weight:     500;
    color:           var(--bd-text);
    text-decoration: none;
    transition:      var(--bd-transition);
}
.bd-sidebar-cats__link i { color: var(--bd-text-muted); font-size: 12px; flex-shrink: 0; }
.bd-sidebar-cats__link:hover,
.bd-sidebar-cats__link.active {
    background:  rgba(211,47,47,.06);
    color:       var(--bd-red);
}
.bd-sidebar-cats__link:hover i,
.bd-sidebar-cats__link.active i { color: var(--bd-red); }
.bd-sidebar-cats__count {
    margin-left:    auto;
    font-size:      11px;
    font-weight:    700;
    background:     var(--bd-gray-bg);
    color:          var(--bd-text-muted);
    padding:        2px 8px;
    border-radius:  10px;
}
.bd-sidebar-cats__link:hover .bd-sidebar-cats__count,
.bd-sidebar-cats__link.active .bd-sidebar-cats__count {
    background: rgba(211,47,47,.12);
    color:      var(--bd-red);
}

/* =============================================================
   Responsive: page / blog
   ============================================================= */
@media (max-width: 991.98px) {
    .bd-post-card__thumb { width: 180px; }
    .bd-post-card__body  { padding: 16px 18px; }
}
@media (max-width: 767px) {
    .bd-page-hero         { padding: 28px 0 24px; }
    .bd-page-hero__title  { font-size: 20px; }
    .bd-page-content-wrap { padding: 30px 0 50px; }
    .bd-blog-wrap         { padding: 28px 0 50px; }
    .bd-post-card         { flex-direction: column; }
    .bd-post-card__thumb  { width: 100%; height: 200px; }
    .bd-post-article      { padding: 18px; }
    .bd-post-nav          { flex-direction: column; }
    .bd-post-nav__item    { min-width: 100%; }
}

/* =============================================================
   404 PAGE
   ============================================================= */
.bd-404-page {
    min-height:      70vh;
    display:         flex;
    align-items:     center;
    padding:         70px 0 80px;
    background:      var(--bd-gray-bg);
}

.bd-404-inner {
    max-width:     580px;
    margin:        0 auto;
    text-align:    center;
}

/* Big 404 number + icon */
.bd-404-visual {
    display:       flex;
    align-items:   center;
    justify-content: center;
    gap:           8px;
    margin-bottom: 28px;
    line-height:   1;
    user-select:   none;
}
.bd-404-visual__num {
    font-size:   130px;
    font-weight: 900;
    color:       var(--bd-red);
    line-height: 1;
    text-shadow: 0 4px 24px rgba(211,47,47,.20);
}
.bd-404-visual__icon {
    font-size:     72px;
    color:         var(--bd-border);
    margin-top:    4px;
    animation:     bd404-flicker 2.4s ease-in-out infinite;
}
@keyframes bd404-flicker {
    0%, 100% { opacity: 1; color: var(--bd-border); }
    45%       { opacity: .4; color: var(--bd-red); }
    50%       { opacity: 1; color: var(--bd-red); }
    55%       { opacity: .4; color: var(--bd-red); }
}

.bd-404-title {
    font-size:     30px;
    font-weight:   800;
    color:         var(--bd-text);
    margin-bottom: 12px;
}
.bd-404-sub {
    font-size:     15px;
    color:         var(--bd-text-muted);
    line-height:   1.7;
    margin-bottom: 32px;
}

/* Search box */
.bd-404-search {
    display:       flex;
    gap:           0;
    max-width:     440px;
    margin:        0 auto 28px;
    border-radius: 10px;
    overflow:      hidden;
    box-shadow:    var(--bd-shadow);
    border:        1.5px solid var(--bd-border);
    background:    var(--bd-white);
    transition:    var(--bd-transition);
}
.bd-404-search:focus-within {
    border-color: var(--bd-red);
    box-shadow:   0 0 0 3px rgba(211,47,47,.12);
}
.bd-404-search__input {
    flex:       1;
    border:     none;
    outline:    none;
    padding:    13px 16px;
    font-size:  14px;
    background: transparent;
    color:      var(--bd-text);
    min-width:  0;
}
.bd-404-search__input::placeholder { color: var(--bd-text-muted); }
.bd-404-search__btn {
    flex-shrink:  0;
    background:   var(--bd-red);
    border:       none;
    color:        #fff;
    padding:      0 20px;
    font-size:    15px;
    cursor:       pointer;
    transition:   var(--bd-transition);
}
.bd-404-search__btn:hover { background: var(--bd-red-hover); }

/* Quick links */
.bd-404-links {
    display:       flex;
    align-items:   center;
    justify-content: center;
    flex-wrap:     wrap;
    gap:           10px;
    margin-bottom: 32px;
}
.bd-404-links__item {
    display:         inline-flex;
    align-items:     center;
    gap:             7px;
    padding:         9px 20px;
    border-radius:   8px;
    border:          1.5px solid var(--bd-border);
    background:      var(--bd-white);
    color:           var(--bd-text);
    font-size:       13px;
    font-weight:     600;
    text-decoration: none;
    box-shadow:      var(--bd-shadow);
    transition:      var(--bd-transition);
}
.bd-404-links__item:hover {
    border-color: var(--bd-red);
    color:        var(--bd-red);
    transform:    translateY(-2px);
    box-shadow:   var(--bd-shadow-hover);
}
.bd-404-links__item--home {
    background:   var(--bd-red);
    border-color: var(--bd-red);
    color:        #fff;
}
.bd-404-links__item--home:hover {
    background:   var(--bd-red-hover);
    border-color: var(--bd-red-hover);
    color:        #fff;
}

/* Category pills */
.bd-404-cats__label {
    font-size:     13px;
    font-weight:   600;
    color:         var(--bd-text-muted);
    margin-bottom: 10px;
}
.bd-404-cats__list {
    display:         flex;
    flex-wrap:       wrap;
    gap:             8px;
    justify-content: center;
}
.bd-404-cats__item {
    display:         inline-flex;
    align-items:     center;
    gap:             4px;
    padding:         5px 14px;
    border-radius:   20px;
    background:      var(--bd-white);
    border:          1.5px solid var(--bd-border);
    color:           var(--bd-text);
    font-size:       13px;
    font-weight:     500;
    text-decoration: none;
    transition:      var(--bd-transition);
    box-shadow:      var(--bd-shadow);
}
.bd-404-cats__item span { color: var(--bd-text-muted); font-size: 11px; }
.bd-404-cats__item:hover {
    background:   var(--bd-red);
    border-color: var(--bd-red);
    color:        #fff;
    transform:    translateY(-1px);
}
.bd-404-cats__item:hover span { color: rgba(255,255,255,.75); }

@media (max-width: 575.98px) {
    .bd-404-visual__num  { font-size: 90px; }
    .bd-404-visual__icon { font-size: 52px; }
    .bd-404-title        { font-size: 24px; }
    .bd-404-page         { padding: 50px 0 60px; }
}

/* ----------------------------------------------------------
   Header – Mobile Responsive
   Trên mobile: chỉ hiển thị icon, ẩn text label
   ---------------------------------------------------------- */

/* Tablet ≤991px: thu nhỏ gap/margin trước khi search bar ẩn */
@media (max-width: 991.98px) {
    .xc-header-one__btns           { gap: 10px; }
    .xc-header-one__cat            { margin-right: 16px; }
}

/* Mobile ≤767px: icon-only buttons */
@media (max-width: 767px) {
    /* Category button: ẩn text, giữ icon */
    .xc-header-one__cat-text       { display: none; }
    .xc-header-one__cat i          { margin-right: 0; }
    .xc-header-one__cat            { margin-right: 8px; padding: 6px 8px; }

    /* Header action buttons: font-size:0 ẩn bare text node, icon giữ nguyên */
    .xc-header-one__btn            { font-size: 0; line-height: 1; padding: 5px 6px; }
    .xc-header-one__btn i          { font-size: 20px; display: block; }
    /* Giữ font-size cho cart badge */
    .xc-header-one__btn .xc-cart-count { font-size: 11px; }

    /* Thu nhỏ gap giữa các buttons */
    .xc-header-one__btns           { gap: 4px; }

    /* Logo: giảm margin-right (override utility mr-30) */
    .xc-header-one__logo.mr-30     { margin-right: 10px !important; }
    /* Giảm chiều cao logo chút xíu */
    .xc-header-one__logo img,
    .woocommerce-page .xc-header-one__logo img,
    .woocommerce      .xc-header-one__logo img { height: 40px; }
}

/* Very small phones ≤399px */
@media (max-width: 399px) {
    .xc-header-one__logo img,
    .woocommerce-page .xc-header-one__logo img,
    .woocommerce      .xc-header-one__logo img { height: 34px; }
    .xc-header-one__bottom         { padding: 10px 0; }
    .xc-header-one__btn i          { font-size: 18px; }
}

/* ----------------------------------------------------------
   Mobile Search Bar
   Ẩn mặc định, hiện khi có class .is-open (toggle bởi JS).
   Chỉ render trên mobile (≤991px) nhờ d-lg-none trên element.
   ---------------------------------------------------------- */

/* Reset browser default button styles – icon không bị ẩn bởi nền xám của :active */
.xc-mobile-search-toggle {
    -webkit-appearance: none;
    appearance:         none;
    background:         transparent !important;
    border:             none !important;
    outline:            none !important;
    box-shadow:         none !important;
    color:              #fff !important;
    cursor:             pointer;
    -webkit-tap-highlight-color: transparent;
}
.xc-mobile-search-toggle:focus,
.xc-mobile-search-toggle:active {
    background: hsla(0,0%,100%,.2) !important;
    color:      #fff !important;
}
.xc-mobile-search-toggle i { color: inherit !important; }

.xc-mobile-search-bar {
    background:    var(--bd-white);
    border-bottom: 1px solid var(--bd-border);
    overflow:      hidden;
    max-height:    0;
    transition:    max-height 0.25s ease, padding 0.25s ease;
    padding:       0;
}
.xc-mobile-search-bar.is-open {
    max-height: 80px;
    padding:    10px 0;
}
.xc-mobile-search-bar__form {
    display:       flex;
    align-items:   center;
    gap:           0;
    border:        1.5px solid var(--bd-border);
    border-radius: 8px;
    overflow:      hidden;
    background:    var(--bd-gray-bg);
    transition:    border-color 0.15s, box-shadow 0.15s;
}
.xc-mobile-search-bar__form:focus-within {
    border-color: var(--bd-red);
    box-shadow:   0 0 0 3px rgba(211,47,47,.10);
    background:   var(--bd-white);
}
.xc-mobile-search-bar__form input[type="search"] {
    flex:          1;
    border:        none !important;
    background:    transparent !important;
    height:        42px !important;
    line-height:   42px !important;
    padding:       0 14px !important;
    font-size:     14px !important;
    color:         var(--bd-text) !important;
    outline:       none !important;
    box-shadow:    none !important;
    -webkit-appearance: none;
}
.xc-mobile-search-bar__form button[type="submit"] {
    flex-shrink: 0;
    width:       44px;
    height:      42px;
    background:  var(--bd-red);
    border:      none;
    color:       #fff;
    font-size:   16px;
    cursor:      pointer;
    transition:  background 0.15s;
    display:     flex;
    align-items: center;
    justify-content: center;
}
.xc-mobile-search-bar__form button[type="submit"]:hover { background: var(--bd-red-hover); }
