
			/* ===== GENERAL STYLES (כמו שהיה אצלך) ===== */

.five_stars {
    color: var(--color-orange);
    margin-top: 20px;
}
.vc_images_carousel {
    max-width: 100%;
}
.collection-titles h2,
.collection-titles h3 {
    text-transform: uppercase;
}
.wpb_text_column.collection-titles h2 {
    margin-bottom: 10px;
    line-height: 1.1em;
}
.wpb_text_column.collection-titles h3 {
    margin-bottom: 20px;
}
.wpb_content_element.reviews_stars {
    margin-bottom: 10px;
}
html {
    overflow-x: hidden;
}
body.page-id-6096 .wpb-content-wrapper .wpb_text_column ul {
    padding-left: 15px;
}

/* ===== DOOR COLLECTION GRIDS (C.H.I & Martin Doors) ===== */
.vc_grid-container-wrapper,
.vc_grid-container,
.vc_grid.vc_row {
    width: 100% !important;
    direction: ltr !important;
}

.vc_grid.vc_row.vc_grid-gutter-30px {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.vc_pageable-slide-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    direction: ltr !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
    width: calc(100% + 30px) !important;
}

.vc_grid-item.vc_col-sm-4 {
    width: 33.33333333% !important;
    max-width: 33.33333333% !important;
    flex: 0 0 33.33333333% !important;
    padding: 0 15px 30px 15px !important;
    box-sizing: border-box !important;
    display: block !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    direction: ltr !important;
}

@media (max-width: 991px) {
    .vc_grid-item.vc_col-sm-4 {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
    }
}

@media (max-width: 640px) {
    .vc_grid-item.vc_col-sm-4 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

.vc_grid-item-mini {
    position: relative;
    background-color: #fff;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.vc_grid-item-mini:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.vc_gitem-animated-block {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.vc_gitem-zone.vc_gitem-zone-a {
    position: relative;
    width: 100%;
    height: 240px;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    display: block;
    transition: transform 0.35s ease;
}

.vc_grid-item-mini:hover .vc_gitem-zone.vc_gitem-zone-a {
    transform: scale(1.03);
}

.vc_gitem-zone.vc_gitem-zone-a:before {
    display: none !important;
}

.vc_gitem-zone.vc_gitem-zone-a .vc_gitem-zone-img {
    display: none !important;
}

.vc_gitem-link.vc-zone-link {
    position: absolute;
    inset: 0;
    z-index: 5;
    cursor: pointer;
}

.vc_gitem-zone.vc_gitem-zone-c {
    width: 100% !important;
    background-color: #f7f7f7 !important;
    padding: 16px 20px !important;
    margin-top: auto;
    border-top: 1px solid #ededed;
    z-index: 2;
    position: relative;
    box-sizing: border-box;
}

.vc_gitem-zone.vc_gitem-zone-c h4 {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    font-family: var(--font-custom) !important;
    color: #1a1a1a !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.3 !important;
    text-align: left;
}

.vc_gitem-zone.vc_gitem-zone-c h4 a {
    color: #1a1a1a !important;
    text-decoration: none !important;
    display: block;
}

.vc_gitem-zone.vc_gitem-zone-c h4 a:hover {
    color: var(--color-primary) !important;
}

.vc_gitem-zone.vc_gitem-zone-c .vc_gitem-post-data-source-post_excerpt,
.vc_gitem-zone.vc_gitem-zone-c .vc_btn3-container {
    display: none !important;
}

/* ===== QUANTITY + / - ON PRODUCT PAGE ===== */

.single-product .quantity {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* שדה הכמות עצמו */
.single-product .quantity .qty {
    width: 70px;
    height: 46px;
    border-radius: 8px;
    border: 2px solid #cfcfcf;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    margin: 0 40px; /* מקום לכפתורי + ו - */
}

/* הסתרת החצים המקוריים */
.single-product .quantity input::-webkit-inner-spin-button,
.single-product .quantity input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.single-product .quantity input[type=number] {
    -moz-appearance: textfield;
}

/* כפתור מינוס */
.single-product .qty-minus {
    position: absolute;
    left: 0;
    width: 32px;
    height: 44px;
    border-radius: 8px 0 0 8px;
    border: 2px solid #cfcfcf;
    border-right: none;
    background: #eee;
    font-size: 24px;
    font-weight: 700;
    cursor: pointer;
}

/* כפתור פלוס */
.single-product .qty-plus {
    position: absolute;
    right: 0;
    width: 32px;
    height: 44px;
    border-radius: 0 8px 8px 0;
    border: 2px solid #cfcfcf;
    border-left: none;
    background: #eee;
    font-size: 24px;
    font-weight: 700;
    cursor: pointer;
}
/* ===== PICKUP DATE & TIME – RED BUTTONS ===== */

/* FIELD CONTAINERS */
#pickup_date_field,
#pickup_time_field {
    margin-top: 15px;
    margin-bottom: 10px;
}

/* LABELS */
#pickup_date_field label,
#pickup_time_field label {
    font-weight: 700;
    font-size: 14px;
    color: #222;
    display: block;
    margin-bottom: 6px;
}

/* WRAPPERS */
#pickup_date_field .woocommerce-input-wrapper,
#pickup_time_field .woocommerce-input-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 280px;
}

/* BUTTON STYLE INPUTS (DATE + TIME) */
#pickup_date_field input[type="date"],
#pickup_time_field input[type="time"],
#pickup_time_field input[type="text"] {
    width: 100%;
    height: 50px;
    border-radius: 10px;
    background-color: #D60000;  /* 🔴 RED */
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    line-height: 48px;
    border: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
    box-sizing: border-box;
}

/* טקסט באמצע הכפתור האדום – נוצר ע"י JS */
.pickup-placeholder {
    position: absolute;
    inset: 0;                /* top/right/bottom/left: 0 */
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
}/* הזזת הטקסט בתוך הכפתור לצד ימין */
.pickup-placeholder {
    justify-content: flex-end !important; /* מעביר לימין */
    padding-right: 12px !important;       /* רווח קטן מימין */
    text-align: right !important;
}/* ---- ADD TO CART BUTTON - CUSTOM RED ---- */

/* דף מוצר יחיד */
.single-product button.single_add_to_cart_button {
    background-color: #B23C45 !important; /* הצבע שלך */
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px;
    padding: 14px 28px;
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
}

/* הובר */
.single-product button.single_add_to_cart_button:hover {
    background-color: #982F38 !important; /* כהה יותר */
    color: #ffffff !important;
}

/* ---- קטגוריות / ארכיון מוצרים ---- */
.archive ul.products li.product a.button {
    background-color: #B23C45 !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
}

/* הובר בקטגוריות */
.archive ul.products li.product a.button:hover {
    background-color: #982F38 !important;
    color: #ffffff !important;
}/* הקטנת אזור תמונת המוצר ל־25% */
.single-product div.product .woocommerce-product-gallery {
    flex: 0 0 25% !important;
    max-width: 25% !important;
}

/* הגדלת אזור הטקסט */
.single-product div.product .summary {
    flex: 0 0 70% !important;
    max-width: 70% !important;
}

/* מובייל — תמיד 100% כדי שלא יישבר */
@media (max-width: 768px) {
    .single-product div.product .woocommerce-product-gallery,
    .single-product div.product .summary {
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}/* כותרת ראשית של עמודים (H1) */
h1, .page-title {
    font-size: 28px !important;  /* קטן ועדיין חזק */
    font-weight: 700 !important;
}

/* כותרות H2 */
h2 {
    font-size: 22px !important;
    font-weight: 600 !important;
}

/* כותרות H3 */
h3 {
    font-size: 18px !important;
    font-weight: 600 !important;
}/* Product Title – Ultra Heavy Bold Effect */
.single-product .product_title {
    font-family: 'Sofia Sans', sans-serif !important;
    font-weight: 900 !important;               /* Max weight */
    font-size: 34px !important;
    line-height: 1.03em !important;
    text-transform: uppercase;
    color: #0A2342 !important;
    letter-spacing: -0.6px !important;

    /* ⬇️ Makes the title look EVEN THICKER */
    text-shadow:
        0.4px 0 0 #0A2342,
        -0.4px 0 0 #0A2342,
        0 0.4px 0 #0A2342,
        0 -0.4px 0 #0A2342;
}/* Product Title – Ultra Bold + Smaller Size */
.single-product .product_title {
    font-family: 'Sofia Sans', sans-serif !important;
    font-weight: 900 !important;
    font-size: 30px !important;           /* ⬅️ Smaller size */
    line-height: 1.03em !important;
    text-transform: uppercase;
    color: #0A2342 !important;
    letter-spacing: -0.6px !important;

    /* Ultra Bold effect */
    text-shadow:
        0.4px 0 0 #0A2342,
        -0.4px 0 0 #0A2342,
        0 0.4px 0 #0A2342,
        0 -0.4px 0 #0A2342;
}/* Product Titles in Shop / Category pages – Ultra Bold Dark Blue */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    font-family: 'Sofia Sans', sans-serif !important;
    font-weight: 900 !important;       /* Maximum bold */
    font-size: 20px !important;        /* Good size for grid */
    line-height: 1.1em !important;
    color: #0A2342 !important;
    text-transform: uppercase;
    letter-spacing: -0.5px !important;

    /* Ultra bold effect like product page */
    text-shadow:
        0.3px 0 0 #0A2342,
        -0.3px 0 0 #0A2342,
        0 0.3px 0 #0A2342,
        0 -0.3px 0 #0A2342;
}/* Category titles on homepage / product categories grid */
.og_category-name {
    font-family: 'Sofia Sans', sans-serif !important;
    font-weight: 900 !important;   /* Ultra Bold */
    font-size: 26px !important;    /* מתאים לשמות קטגוריות */
    line-height: 1.1em !important;
    color: #0A2342 !important;     /* Dark Blue */
    text-transform: uppercase;
    letter-spacing: -0.5px;

    /* אפקט bold נוסף */
    text-shadow:
        0.4px 0 0 #0A2342,
        -0.4px 0 0 #0A2342,
        0 0.4px 0 #0A2342,
        0 -0.4px 0 #0A2342;
}

/* יישור למרכז בתוך הכרטיס */
.og_category-item {
    text-align: center !important;
}/* ===== SINGLE PRODUCT PAGE PRICE (slightly smaller) ===== */
.single-product .summary .price {
    font-size: 27px !important;   /* was 32px */
    font-weight: 800 !important;
    color: #8A8A22 !important;    /* Olive-Gold */
    letter-spacing: -0.3px !important;
}

/* ===== CATEGORY & SHOP PAGE PRICE ===== */
.woocommerce ul.products li.product .price {
    font-size: 19px !important;   /* was 22px */
    font-weight: 700 !important;
    color: #8A8A22 !important;    /* Olive-Gold */
}/* Uniform height for quantity buttons and Add to Cart */
.single-product .quantity .qty,
.single-product .qty-minus,
.single-product .qty-plus,
.single-product button.single_add_to_cart_button {
    height: 50px !important;
    line-height: 50px !important;
    font-size: 18px !important;
}

/* Make + and - buttons same width */
.single-product .qty-minus,
.single-product .qty-plus {
    width: 50px !important;
    text-align: center !important;
    padding: 0 !important;
}

/* Make quantity input same width for balanced row */
.single-product .quantity .qty {
    width: 70px !important;
    text-align: center !important;
}

/* Add spacing between quantity row and Add-to-cart button */
.single-product form.cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

/* Add-to-cart button same border radius and visual balance */
.single-product button.single_add_to_cart_button {
    border-radius: 8px !important;
    padding: 0 25px !important; /* side padding only */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}/* Desktop: hide custom pickup placeholders (to avoid overlap) */
@media (min-width: 1024px) {
  #pickup_date_field .pickup-placeholder,
  #pickup_time_field .pickup-placeholder {
    display: none !important;
  }
}

/* Make sure text inside the red buttons is centered */
#pickup_date_field input[type="date"],
#pickup_time_field input[type="time"],
#pickup_time_field input[type="text"] {
  text-align: center;
}/* Fix Wholesale Price label spacing + wrapping */
.woocommerce .wholesale_price,
.woocommerce .wholesale-price,
.woocommerce .wholesale_price_container,
.woocommerce .wholesale-price-container,
.woocommerce .woocommerce-wholesale-pricing {
  display: flex !important;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}

/* Keep amounts tight */
.woocommerce .wholesale_price .amount,
.woocommerce .wholesale-price .amount,
.woocommerce .wholesale_price_container .amount,
.woocommerce .wholesale-price-container .amount {
  white-space: nowrap;
}

/* If label and value are stuck together, force a space after the label */
.woocommerce .wholesale_price .label:after,
.woocommerce .wholesale-price .label:after,
.woocommerce .wholesale_price_container .label:after,
.woocommerce .wholesale-price-container .label:after {
  content: " ";
}/* Archive + product cards: force Wholesale Price label and price to be on separate lines */
.woocommerce ul.products li.product .wholesale_price_container,
.woocommerce ul.products li.product .wholesale_price_container *{
  white-space: normal !important;
}

/* Make the label and the amount each take a full line */
.woocommerce ul.products li.product .wholesale_price_container .wholesale_price_title,
.woocommerce ul.products li.product .wholesale_price_container .wholesale_price_amount,
.woocommerce ul.products li.product .wholesale_price_container .amount{
  display: block !important;
  width: 100% !important;
  line-height: 1.2 !important;
}

/* If some theme adds extra label via pseudo elements */
.woocommerce ul.products li.product .wholesale_price_container:before,
.woocommerce ul.products li.product .wholesale_price_container:after{
  content: none !important;
}/* =========================
   My Account - Mobile UI
   ========================= */

.woocommerce-account .woocommerce{
  display:block;
}

/* remove default list styling */
.woocommerce-MyAccount-navigation ul{
  list-style:none;
  padding:0;
  margin:0 0 14px 0;
}

/* card look for each menu item */
.woocommerce-MyAccount-navigation li{
  margin:10px 0;
}

.woocommerce-MyAccount-navigation a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-radius:14px;
  background:#f4f5f7;
  text-decoration:none;
  font-size:16px;
  font-weight:600;
  line-height:1.2;
  color:#111;
  border:1px solid rgba(0,0,0,.06);
}

/* subtle arrow */
.woocommerce-MyAccount-navigation a:after{
  content:"›";
  font-size:22px;
  opacity:.55;
}

/* active tab */
.woocommerce-MyAccount-navigation li.is-active a{
  background:#a61d34; /* תואם צבע אדום שלך */
  border-color:transparent;
  color:#fff;
}
.woocommerce-MyAccount-navigation li.is-active a:after{
  opacity:.9;
}

/* content box */
.woocommerce-MyAccount-content{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  padding:16px;
}

/* clean the "Hello ..." area spacing */
.woocommerce-account .woocommerce-MyAccount-content p:first-child{
  margin-top:0;
}

/* desktop: sidebar + content */
@media (min-width: 900px){
  .woocommerce-account .woocommerce{
    display:flex;
    gap:26px;
    align-items:flex-start;
  }
  .woocommerce-MyAccount-navigation{
    width:280px;
    position:sticky;
    top:90px;
  }
  .woocommerce-MyAccount-content{
    flex:1;
    padding:26px;
  }
}/* Center text inside My Account buttons */
.woocommerce-MyAccount-navigation a {
    justify-content: center;   /* מרכז אופקית */
    text-align: center;        /* מרכז טקסט */
}

/* אם יש אייקון/חץ – לשים אותו באמצע מתחת לטקסט */
.woocommerce-MyAccount-navigation a:after {
    margin-left: 8px;
}.woocommerce-MyAccount-navigation a {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
}/* My Account – 2 buttons per row (mobile) */
@media (max-width: 768px) {

  .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: 1fr 1fr; /* שני כפתורים בשורה */
    gap: 12px;
  }

  .woocommerce-MyAccount-navigation li {
    margin: 0; /* מבטל רווחים ישנים */
  }

  .woocommerce-MyAccount-navigation a {
    min-height: 58px;
    padding: 12px 8px;
    display: flex;
    flex-direction: column;   /* טקסט למעלה, חץ למטה */
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
  }

  .woocommerce-MyAccount-navigation a:after {
    margin-top: 4px;
    font-size: 16px;
    opacity: 0.6;
  }
}/* Base icon style */
@media (max-width: 768px) {

  .woocommerce-MyAccount-navigation a::before {
    display: block;
    font-size: 22px;
    margin-bottom: 6px;
    line-height: 1;
  }

  /* Dashboard */
  .woocommerce-MyAccount-navigation a[href*="dashboard"]::before {
    content: "🏠";
  }

  /* Orders */
  .woocommerce-MyAccount-navigation a[href*="orders"]::before {
    content: "📦";
  }

  /* Store Credits */
  .woocommerce-MyAccount-navigation a[href*="store"]::before {
    content: "💳";
  }

  /* Downloads */
  .woocommerce-MyAccount-navigation a[href*="downloads"]::before {
    content: "⬇️";
  }

  /* Address */
  .woocommerce-MyAccount-navigation a[href*="edit-address"]::before {
    content: "📍";
  }

  /* Payment methods */
  .woocommerce-MyAccount-navigation a[href*="payment-methods"]::before {
    content: "💰";
  }

  /* Account details */
  .woocommerce-MyAccount-navigation a[href*="edit-account"]::before {
    content: "👤";
  }

  /* Log out */
  .woocommerce-MyAccount-navigation a[href*="logout"]::before {
    content: "🚪";
  }
}/* ===== My Account – Typography Upgrade ===== */

/* כפתורי התפריט */
.woocommerce-MyAccount-navigation a {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
                 Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.3px;
    color: #222;
}

/* כפתור אקטיבי */
.woocommerce-MyAccount-navigation li.is-active a {
    font-weight: 700;
    letter-spacing: 0.4px;
}

/* אייקונים */
.woocommerce-MyAccount-navigation a::before {
    font-size: 22px;
    opacity: 0.9;
}

/* אזור התוכן */
.woocommerce-MyAccount-content {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
                 Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #333;
}

/* כותרת Hello */
.woocommerce-MyAccount-content strong,
.woocommerce-MyAccount-content h2 {
    font-weight: 700;
    letter-spacing: 0.2px;
}

/* טקסט הסבר */
.woocommerce-MyAccount-content p {
    color: #555;
    font-size: 14.5px;
}

/* קישורים בתוך תוכן */
.woocommerce-MyAccount-content a {
    font-weight: 600;
    text-decoration: none;
}.woocommerce-MyAccount-navigation a {
  transition: all .2s ease;
}
.woocommerce-MyAccount-navigation a:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}/
}sale-banner
.sale-banner {
  border-bottom: 3px solid #8f0e1d;
}/* SALE banner – white text */
.sale-banner,
.sale-banner * {
    color: #ffffff !important;
}/* Make second line in SALE banner slightly bigger */
.sale-banner p {
    margin: 0;
}

.sale-banner p + p {
    font-size: 17px;   /* אפשר לשחק: 16–18 */
    font-weight: 500;
}
/* ===== WooCommerce Tabs – Blue Button Style ===== */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  margin: 0 0 15px !important;
  padding: 0 !important;
  border-bottom: 1px solid #e5e5e5;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before{
  border: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background: #efefef !important;
  border: 1px solid #e5e5e5 !important;
  border-bottom: none !important;
  border-radius: 0 !important;
  margin: 0 6px 0 0 !important;
  padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display: block;
  padding: 12px 22px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #111 !important;
}

/* Active tab – BLUE */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background: #132F5B !important;
  border-color: #132F5B !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color: #ffffff !important;
}

/* Hover */
.woocommerce div.product .woocommerce-tabs ul.tabs li:not(.active):hover{
  background: #e3e3e3 !important;
}/* ===== Product price background (shop & category pages) ===== */
.woocommerce ul.products li.product .price {
  display: inline-block;
  background: #f3f6f9;        /* רקע בהיר */
  padding: 6px 12px;
  border-radius: 6px;
  font-weight: 700;
  margin: 8px 0;
}

/* Price color */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price span {
  color: #7a8f1d; /* הירוק-צהוב של המחיר שלך */
}/* Hide the footer contact form ONLY on /product-categories/ page */
body form[action*="product-categories"] {
  display: none !important;
}

body form[action*="product-categories"] .wpcf7,
body .footer-form-wrap form[action*="product-categories"],
body .footer-form-inner form[action*="product-categories"] {
  display: none !important;
}/* Remove the whole footer form section on /product-categories/ */
body:has(form[action*="product-categories"]) .footer-form-wrap,
body:has(form[action*="product-categories"]) .footer-form-inner {
  display: none !important;
}/* Hide "Our Mission" section on product-categories / Shop page */
body:has(form[action*="product-categories"]) .footer-quote-inner,
body:has(form[action*="product-categories"]) .footer-contact-wrap {
    display: none !important;
}/* Hide Mission + Contact form on ALL WooCommerce category pages + Shop */
.post-type-archive-product .footer-form-wrap,
.post-type-archive-product .footer-form-inner,
.post-type-archive-product .footer-quote-inner,
.post-type-archive-product .footer-contact-wrap,
.post-type-archive-product .wpcf7,

.tax-product_cat .footer-form-wrap,
.tax-product_cat .footer-form-inner,
.tax-product_cat .footer-quote-inner,
.tax-product_cat .footer-contact-wrap,
.tax-product_cat .wpcf7 {
    display: none !important;
}.tax-product_tag .footer-form-wrap,
.tax-product_tag .footer-form-inner,
.tax-product_tag .footer-quote-inner,
.tax-product_tag .footer-contact-wrap,
.tax-product_tag .wpcf7 {
    display: none !important;
}/* Hide Mission + Contact form on ALL single product pages */
.single-product .footer-form-wrap,
.single-product .footer-form-inner,
.single-product .footer-quote-inner,
.single-product .footer-contact-wrap,
.single-product .wpcf7 {
    display: none !important;
}/* Hide the default/min price shown before variation selection ONLY */
.single-product form.variations_form:not(.woocommerce-variation-selected) ~ p.price,
.single-product form.variations_form:not(.woocommerce-variation-selected) ~ .price {
    display: none !important;
}/* MOBILE ONLY – smaller tabs, side by side */
@media (max-width: 768px) {

  .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
  }

  .woocommerce-tabs ul.tabs li {
    float: none !important;
    width: auto !important;
    margin-right: 8px;
  }

  .woocommerce-tabs ul.tabs li a {
    font-size: 13px;
    padding: 6px 10px;
  }

}/* Mobile: keep cart + user aligned in one row */
@media (max-width: 768px){
  .textwidget p{
    margin: 0 !important;
    padding: 0 !important;
  }

  .textwidget br{
    display: none !important;
  }

  .instock-header-icons{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }

  .instock-header-icons .instock-cart,
  .instock-header-icons .instock-user{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 32px !important;
    line-height: 32px !important;
  }

  .instock-header-icons .instock-cart *{
    float: none !important;
    width: auto !important;
    max-width: none !important;
  }

  .instock-header-icons .instock-user{
    text-decoration: none !important;
    color: inherit !important;
    cursor: pointer !important;
  }
}/* Desktop: align cart + user perfectly */
.instock-header-icons{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
}

.instock-header-icons .instock-cart,
.instock-header-icons .instock-user{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:32px !important;
  line-height:32px !important;
  vertical-align:middle !important;
}

/* Remove any spacing WP adds */
.instock-header-icons p{ margin:0 !important; padding:0 !important; }
.instock-header-icons br{ display:none !important; }

/* Cart inner elements should not shift */
.instock-header-icons .instock-cart *{
  float:none !important;
  width:auto !important;
  max-width:none !important;
  vertical-align:middle !important;
}

/* Slight nudge if the badge makes it look off */
.instock-header-icons .instock-user{
  position:relative !important;
  top:1px !important;
}/* Change page title "Login" to "LOG IN" (visual only) */
h1, h2 {
  /* לא נוגע בכל האתר – רק ננעל על כותרת שמכילה Login */
}

h1:has(*), h2:has(*) {}

/* WooCommerce My Account common title */
.woocommerce-account .woocommerce h1,
.woocommerce-account .woocommerce h2{
  position: relative !important;
}

/* אם הכותרת היא H1/H2 "Login" נסתיר את הטקסט ונציג LOG IN */
.woocommerce-account .woocommerce h1,
.woocommerce-account .woocommerce h2{
  font-size: inherit;
}

.woocommerce-account .woocommerce h1{
  color: transparent !important;
}
.woocommerce-account .woocommerce h1::after{
  content: "LOG IN";
  color: #0b1f3a; /* אותו צבע כותרת בערך */
  position: absolute;
  left: 0;
  top: 0;
}

.woocommerce-account .woocommerce h2{
  color: transparent !important;
}
.woocommerce-account .woocommerce h2::after{
  content: "LOG IN";
  color: #0b1f3a;
  position: absolute;
  left: 0;
  top: 0;
}/* ================================
   INSTOCK – My Account (ONLY)
   URL: /my-account/
   ================================ */

/* עיצוב רק בעמוד my-account */
body.woocommerce-account .woocommerce{
  max-width: 460px;
  margin: 26px auto;
  padding: 22px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.10);
}

/* כותרות */
body.woocommerce-account .woocommerce h2{
  text-align: center;
  font-size: 24px;
  font-weight: 800;
  margin: 0 0 18px;
}

/* שדות */
body.woocommerce-account .woocommerce input.input-text{
  border-radius: 10px;
  padding: 12px 12px;
  font-size: 15px;
  border: 1px solid rgba(0,0,0,0.18);
  box-shadow: none;
}

/* כפתור Log in */
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce .button{
  width: 100%;
  background: #c41f2b;
  border: 0;
  border-radius: 10px;
  padding: 13px 16px;
  font-weight: 800;
  font-size: 16px;
  color: #fff;
}

/* Hover */
body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce .button:hover{
  filter: brightness(0.92);
}

/* Remember me + Lost password – יישור וריווח */
body.woocommerce-account .woocommerce form .form-row{
  margin-bottom: 12px;
}

body.woocommerce-account .woocommerce form.login .form-row:nth-child(3){
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

body.woocommerce-account .woocommerce form.login .lost_password{
  margin: 8px 0 0;
}

/* מובייל – פחות שוליים */
@media (max-width: 768px){
  body.woocommerce-account .woocommerce{
    margin: 18px 14px;
    padding: 18px;
  }
}/* Login links style */
body.woocommerce-account .login-links {
    text-align: left;
    font-size: 14px;
    margin-top: 10px;
}

body.woocommerce-account .login-links a {
    color: #222;
    text-decoration: none;
    opacity: 0.8;
}

body.woocommerce-account .login-links a:hover {
    opacity: 1;
    text-decoration: underline;
}/* Slightly bigger product images */
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.woocommerce div.product div.images img,
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
    
    width: 85% !important;
    max-width: 260px !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
}

/* מובייל */
@media (max-width: 768px) {
    .woocommerce ul.products li.product img {
        width: 75% !important;
        max-width: 210px !important;
    }
}/* Product title – slightly bigger */
.woocommerce div.product .product_title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

/* מובייל – קצת יותר גדול מהקודם */
@media (max-width: 768px) {
    .woocommerce div.product .product_title {
        font-size: 22px !important;
        line-height: 1.15 !important;
    }
}/* Checkout product image layout */

.checkout-product-with-image{
    display:flex;
    align-items:center;
    gap:10px;
}

.checkout-product-with-image img{
    width:50px;
    height:50px;
    object-fit:contain;
    border-radius:6px;
}

.checkout-product-title{
    font-size:14px;
    line-height:1.3;
}/* Checkout: qty on its own line */
.woocommerce-checkout-review-order-table .instock-checkout-qty{
  margin-top: 6px;
  font-size: 13px;
  color: #666;
}

.woocommerce-checkout-review-order-table .instock-checkout-name-wrap{
  display: block;
}/* ================================
   My Account → Orders mobile cards
   Instock clean layout
   ================================ */

@media(max-width:768px){

  /* כל הזמנה תהפוך לכרטיס */
  .woocommerce table.shop_table_responsive tr.order{
      display:block;
      background:#fff;
      margin-bottom:18px;
      padding:14px;
      border-radius:12px;
      box-shadow:0 2px 8px rgba(0,0,0,0.06);
      border:1px solid #eee;
  }

  /* רווח בין השורות בתוך הכרטיס */
  .woocommerce table.shop_table_responsive tr.order td{
      padding:6px 0;
      border:none;
  }

  /* כפתור VIEW גדול ויפה */
  .woocommerce .button.view{
      width:100%;
      text-align:center;
      margin-top:8px;
      border-radius:10px;
  }

  /* רווח בין הזמנות */
  .woocommerce table.shop_table_responsive tbody{
      display:block;
  }
}/* ===== WooCommerce Checkout – Better typography (mobile-first) ===== */
body.woocommerce-checkout,
body.woocommerce-checkout .woocommerce {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Base text */
body.woocommerce-checkout {
  font-size: 16px;
  line-height: 1.35;
  color: #111;
}

/* Section titles (Billing details etc.) */
body.woocommerce-checkout h3,
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout #order_review_heading {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.2px;
  margin: 18px 0 12px;
  color: #0f172a;
}

/* Labels */
body.woocommerce-checkout .woocommerce-billing-fields label,
body.woocommerce-checkout .woocommerce-shipping-fields label,
body.woocommerce-checkout form.woocommerce-checkout label {
  font-size: 14px;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 6px;
}

/* Required asterisk */
body.woocommerce-checkout label .required {
  color: #dc2626;
  font-weight: 800;
}

/* Inputs + selects */
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select {
  font-size: 16px;
  font-weight: 600;
  color: #0f172a;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  padding: 12px 12px;
  box-shadow: none;
}

/* Placeholder */
body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder {
  color: #9ca3af;
  font-weight: 500;
}

/* Field spacing */
body.woocommerce-checkout .form-row {
  margin-bottom: 14px;
}

/* Notes / small text */
body.woocommerce-checkout .woocommerce-form__label,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields p,
body.woocommerce-checkout p.form-row {
  font-size: 14px;
  color: #334155;
}

/* Order review table text */
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review table {
  font-size: 14px;
  color: #0f172a;
}

/* Mobile polishing */
@media (max-width: 768px) {
  body.woocommerce-checkout {
    font-size: 16px;
  }
  body.woocommerce-checkout .woocommerce-billing-fields label,
  body.woocommerce-checkout .woocommerce-shipping-fields label {
    font-size: 14px;
  }
  body.woocommerce-checkout input.input-text,
  body.woocommerce-checkout textarea,
  body.woocommerce-checkout select {
    padding: 13px 12px;
    border-radius: 12px;
  }
}/* ===== My Account Desktop Layout (clean + pro) ===== */
@media (min-width: 992px){
  body.woocommerce-account .woocommerce{
    max-width: 1100px !important;
    margin: 30px auto !important;
    padding: 26px !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.06) !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation{
    width: 290px !important;
    float: left !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content{
    width: calc(100% - 330px) !important;
    float: right !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul{
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation li{
    list-style: none !important;
    margin: 10px 0 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation a{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 16px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
    border-color: #b91c1c !important;
    box-shadow: 0 6px 18px rgba(185,28,28,.14) !important;
  }
}/* === Spring Calculator PRO: layout fixes === */

/* Keep calculator LTR regardless of theme RTL */
.isc2-wrap {
  direction: ltr !important;
}

/* Make the calculator grid stable */
.isc2-wrap .isc2-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}

/* Force the PRO checkbox row to full width (works even if it's not the last field) */
.isc2-wrap .isc2-pro-row {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* PRO label alignment */
.isc2-wrap .isc2-pro-label {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  text-align: left !important;
  white-space: normal !important;
}

.isc2-wrap .isc2-pro-label input[type="checkbox"] {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.isc2-wrap .isc2-pro-text {
  display: block !important;
  flex: 1 1 auto !important;
}

/* Mobile: one column */
@media (max-width: 720px) {
  .isc2-wrap .isc2-grid {
    grid-template-columns: 1fr !important;
  }
}/* Spring calculator – polish */
.isc2-pro-label{
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.isc2-pro-label input[type="checkbox"]{
  transform: scale(1.15);
  transform-origin: left center;
}.isc2-btn{
  padding: 14px 18px !important;
  border-radius: 14px !important;
  font-size: 15px !important;
}@media (max-width: 720px){
  .isc2-wrap{ padding: 14px !important; }
  .isc2-title{ font-size: 20px !important; }
}/* ===== WPForms Image Choices - clean sizes & typography (MOBILE) ===== */
@media (max-width: 767px){

  /* כלל כללי לקלפים */
  .wpforms-container .wpforms-image-choices-item label{
    padding: 10px !important;
    border-radius: 12px !important;
  }

  .wpforms-container .wpforms-image-choices-item img{
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  /* טקסט: 2 שורות מקסימום, בלי שבירות מכוערות */
  .wpforms-container .wpforms-image-choices-item-label{
    font-size: 13px !important;
    line-height: 1.15 !important;
    margin-top: 6px !important;
    text-align: center !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 2.6em !important; /* שומר גובה אחיד ל-2 שורות */
  }

  /* === Door Type: 4 בשורה === */
  .wpforms-container .wpforms-field.wpforms-field-radio .wpforms-image-choices{
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  /* קלף אחיד */
  .wpforms-container .wpforms-image-choices-item{
    max-width: 100% !important;
  }

  /* === Design: 2 בשורה (כדי שיהיה גדול ונקי) === */
  /* אם ה-Design הוא גם Image Choices, זה יתפוס אותו */
  .wpforms-container .wpforms-field:has(.wpforms-field-label:contains("Design")) .wpforms-image-choices{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* === Insulation: 3 בשורה === */
  /* אם Insulation הוא Image Choices גם כן */
  .wpforms-container .wpforms-field:has(.wpforms-field-label:contains("Insulation")) .wpforms-image-choices{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  /* קצת יותר פדינג ל-Door Type כדי שהאייקונים ייראו טוב */
  .wpforms-container .wpforms-image-choices-item label{
    padding: 12px !important;
  }
}/* ===== Available Colors: 4 squares per row (mobile + desktop) ===== */

.available-colors-grid .vc_grid-item{
  float: none !important;
  display: inline-block !important;
  vertical-align: top !important;
  margin: 0 !important;
  padding: 4px !important;
  box-sizing: border-box !important;
  width: 25% !important; /* 4 in a row תמיד */
}

/* ריבוע */
.available-colors-grid .vc_gitem-zone-img{
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;   /* ריבוע */
  overflow: hidden !important;
}

/* תמונה נכנסת יפה בתוך הריבוע */
.available-colors-grid .vc_gitem-zone-img img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}/* Fix "LOG IN" breaking into 2 lines (desktop only) */
@media (min-width: 768px){
  .woocommerce-account h2,
  .woocommerce-account .u-column1 h2,
  .woocommerce-account .woocommerce-form-login h2{
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    letter-spacing: normal !important;
  }
}/* Resize images inside WPForms multiple choice */
.wpforms-form .wpforms-field .wpforms-image-choice img,
.wpforms-form .wpforms-field .wpforms-field-description img,
.wpforms-form .wpforms-field .wpforms-image-choices img,
.wpforms-form .wpforms-field img {
    max-width: 150px !important;
    height: auto !important;
}

/* ===== REGISTRATION & LOGIN FORM CARD STYLES ===== */
.auth-page-container {
    padding: 50px 15px 70px;
    background: #f8fafc;
    min-height: 500px;
}

.auth-card {
    background: #ffffff;
    max-width: 650px;
    width: 100%;
    margin: 0 auto;
    border-radius: 16px;
    padding: 40px 45px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07), 0 1px 3px rgba(0, 0, 0, 0.04);
    border: 1px solid #e2e8f0;
    box-sizing: border-box;
}

.auth-card-header {
    text-align: center;
    margin-bottom: 28px;
}

.auth-card-header .auth-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    background: rgba(191, 45, 65, 0.08);
    color: #BF2D41;
    border-radius: 50%;
    font-size: 22px;
    margin-bottom: 14px;
}

.auth-card-header h1 {
    color: #132958 !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    margin: 0 0 8px !important;
}

.auth-card-header p {
    color: #64748b;
    font-size: 15px;
    margin: 0;
}

.auth-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 24px;
}

.auth-form-group {
    display: flex;
    flex-direction: column;
}

.auth-form-group.full-width {
    grid-column: 1 / -1;
}

.auth-form-group label {
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.auth-form-group label .required {
    color: #BF2D41;
    font-weight: bold;
}

.auth-form-group input[type="text"],
.auth-form-group input[type="email"],
.auth-form-group input[type="password"],
.auth-form-group input[type="tel"] {
    width: 100% !important;
    height: 48px !important;
    padding: 0 16px !important;
    background: #f8fafc !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    color: #1e293b !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

.auth-form-group input:focus {
    background: #ffffff !important;
    border-color: #BF2D41 !important;
    box-shadow: 0 0 0 4px rgba(191, 45, 65, 0.12) !important;
    outline: none !important;
}

.auth-submit-btn {
    width: 100% !important;
    height: 50px !important;
    background: #BF2D41 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.25s ease !important;
}

.auth-submit-btn:hover {
    background: #9d2031 !important;
    box-shadow: 0 4px 14px rgba(191, 45, 65, 0.35) !important;
    transform: translateY(-1px) !important;
}

.auth-footer-links {
    text-align: center;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
    font-size: 14px;
    color: #64748b;
}

.auth-footer-links a {
    color: #BF2D41;
    font-weight: 600;
    text-decoration: none;
}

.auth-footer-links a:hover {
    text-decoration: underline;
}

/* User Registration compatibility */
.user-registration .ur-frontend-form {
    max-width: 650px;
    margin: 40px auto;
    background: #fff;
    padding: 35px 40px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
    border: 1px solid #e2e8f0;
    box-sizing: border-box;
}

.user-registration .ur-frontend-form input[type="text"],
.user-registration .ur-frontend-form input[type="email"],
.user-registration .ur-frontend-form input[type="password"] {
    width: 100%;
    height: 48px;
    border: 1.5px solid #cbd5e1;
    border-radius: 8px;
    padding: 0 16px;
    font-size: 15px;
    box-sizing: border-box;
}

.user-registration .ur-frontend-form input:focus {
    border-color: #BF2D41;
    box-shadow: 0 0 0 3px rgba(191, 45, 65, 0.15);
    outline: none;
}

.user-registration .ur-submit-button {
    background: #BF2D41 !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 14px 30px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border: none !important;
    cursor: pointer !important;
    width: 100% !important;
}

.user-registration .ur-submit-button:hover {
    background: #9d2031 !important;
}

/* ===== SINGLE PRODUCT PAGE STYLES (MATCHING LIVE SITE) ===== */
.single-product-container {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 30px;
    margin-bottom: 50px;
    background: #fff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 20px rgba(0,0,0,0.03);
}

.single-product-gallery {
    flex: 0 0 380px;
    max-width: 380px;
    background: #fdfdfd;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.single-product-gallery img {
    max-width: 100%;
    height: auto;
    max-height: 380px;
    object-fit: contain;
    border-radius: 8px;
}

.single-product-summary {
    flex: 1;
    min-width: 300px;
}

.single-product-title {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #132958 !important;
    line-height: 1.3 !important;
    margin: 0 0 15px !important;
}

.single-product-price-box {
    display: inline-block;
    background: #f3f6f9;
    padding: 8px 18px;
    border-radius: 8px;
    margin-bottom: 24px;
}

.single-product-price-box .price-amount {
    color: #7a8f1d;
    font-size: 26px;
    font-weight: 700;
}

.single-product-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    margin: 25px 0;
}

.single-product-qty {
    display: inline-flex;
    align-items: center;
    position: relative;
    width: 140px;
    height: 48px;
    border: 2px solid #cfcfcf;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.single-product-qty .qty-btn {
    width: 40px;
    height: 100%;
    background: #eee;
    border: none;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    user-select: none;
}

.single-product-qty .qty-btn:hover {
    background: #ddd;
}

.single-product-qty input.qty-input {
    width: 60px;
    height: 100%;
    border: none;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    outline: none;
    -moz-appearance: textfield;
}

.single-product-qty input.qty-input::-webkit-inner-spin-button,
.single-product-qty input.qty-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.btn-add-cart-red {
    background-color: #B23C45 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 28px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: background 0.2s !important;
    text-decoration: none !important;
}

.btn-add-cart-red:hover {
    background-color: #982F38 !important;
    color: #ffffff !important;
}

.btn-call-order {
    background-color: #132F5B !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: background 0.2s !important;
    text-decoration: none !important;
}

.btn-call-order:hover {
    background-color: #0c1f3d !important;
    color: #ffffff !important;
}

.single-product-meta {
    padding: 16px 0;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    margin: 20px 0;
    font-size: 14px;
    color: #4b5563;
}

.single-product-meta span {
    display: block;
    margin-bottom: 6px;
}

.single-product-meta strong {
    color: #111827;
}

.product-tabs-section {
    width: 100%;
    margin-top: 40px;
}

.product-tabs-header {
    display: flex;
    border-bottom: 2px solid #132F5B;
    margin-bottom: 0;
}

.product-tab-title {
    background: #132F5B;
    color: #fff;
    padding: 12px 25px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 15px;
    border-radius: 6px 6px 0 0;
}

.product-tab-content {
    background: #fff;
    padding: 25px;
    border: 1px solid #e5e7eb;
    border-top: none;
    border-radius: 0 0 8px 8px;
    line-height: 1.7;
    color: #374151;
}

.product-tab-content h2, .product-tab-content h3 {
    color: #132958;
    margin-top: 0;
}

@media (max-width: 768px) {
    .auth-card {
        padding: 24px 20px;
    }
    .auth-form-grid {
        grid-template-columns: 1fr;
    }
    .single-product-container {
        flex-direction: column;
        padding: 15px;
    }
    .single-product-gallery {
        max-width: 100%;
        flex: 0 0 100%;
    }
}

/* ===== SHOP CATALOG STYLES ===== */
.shop-hero-header {
    background: linear-gradient(135deg, #132958 0%, #1e3a8a 100%);
    color: #ffffff;
    padding: 45px 0 40px;
    text-align: center;
    margin-bottom: 35px;
}

.shop-hero-header h1 {
    color: #ffffff !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    margin: 0 0 10px !important;
}

.shop-hero-header p {
    color: #cbd5e1;
    font-size: 16px;
    max-width: 650px;
    margin: 0 auto;
}

.shop-controls-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.shop-cat-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.shop-cat-btn {
    padding: 7px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    color: #475569;
    background: #f1f5f9;
    transition: all 0.2s;
}

.shop-cat-btn:hover {
    background: #e2e8f0;
    color: #1e293b;
}

.shop-cat-btn.active {
    background: #BF2D41;
    color: #ffffff;
}

.shop-search-form {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 260px;
}

.shop-search-form input {
    flex: 1;
    height: 40px;
    padding: 0 14px;
    border: 1.5px solid #cbd5e1;
    border-radius: 8px;
    font-size: 14px;
    outline: none;
}

.shop-search-form input:focus {
    border-color: #BF2D41;
}

.shop-search-form button {
    height: 40px;
    padding: 0 16px;
    background: #132958;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.shop-search-form button:hover {
    background: #0d1e40;
}

.shop-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 25px;
}

.shop-item-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.shop-item-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    border-color: #cbd5e1;
}

.shop-item-img {
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    overflow: hidden;
    border-radius: 8px;
    background: #fdfdfd;
}

.shop-item-img img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    transition: transform 0.3s;
}

.shop-item-card:hover .shop-item-img img {
    transform: scale(1.05);
}

.shop-item-cat {
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.shop-item-title {
    font-size: 15px;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 12px;
    line-height: 1.4;
    height: 42px;
    overflow: hidden;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.shop-item-price {
    display: inline-block;
    background: #f3f6f9;
    color: #7a8f1d;
    padding: 5px 12px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 17px;
    margin-bottom: 15px;
}

.shop-item-btn {
    background: #B23C45;
    color: #ffffff;
    text-align: center;
    padding: 10px 16px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
    transition: background 0.2s;
}

.shop-item-btn:hover {
    background: #982F38;
    color: #ffffff;
}

/* ==========================================================================
   COLLECTIONS GRID (Martin Door & C.H.I. Garage Doors)
   Matches live design: 3-column clean cards, photo top, uppercase title below
   ========================================================================== */
.vc_grid.vc_row.vc_grid-gutter-30px {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    margin: 30px 0 !important;
    width: 100% !important;
}

@media (max-width: 991px) {
    .vc_grid.vc_row.vc_grid-gutter-30px {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media (max-width: 600px) {
    .vc_grid.vc_row.vc_grid-gutter-30px {
        grid-template-columns: 1fr !important;
    }
}

.vc_pageable-slide-wrapper {
    display: contents !important;
}

.vc_grid-item.vc_col-sm-4 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    float: none !important;
}

.vc_grid-item-mini {
    background: #ffffff !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    border: 1px solid #eaeaea !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.vc_grid-item-mini:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12) !important;
}

.vc_gitem-zone-a {
    height: 240px !important;
    background-size: cover !important;
    background-position: center !important;
    position: relative !important;
    overflow: hidden !important;
}

.vc_gitem-zone-a img.vc_gitem-zone-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.4s ease !important;
}

.vc_grid-item-mini:hover .vc_gitem-zone-a img.vc_gitem-zone-img {
    transform: scale(1.05) !important;
}

.vc_gitem-zone-c {
    background-color: #ffffff !important;
    padding: 16px 20px !important;
    flex-grow: 1 !important;
    display: flex !important;
    align-items: center !important;
    border-top: 1px solid #f2f2f2 !important;
}

.vc_custom_heading.vc_gitem-post-data-source-post_title h4 {
    text-align: left !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1b263b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

/* Hide excerpt text and pink Read More button like live site */
.vc_custom_heading.vc_gitem-post-data-source-post_excerpt,
.vc_btn3-container {
    display: none !important;
}

/* ==========================================================================
   GALLERY GRID (Replaces broken Modula black boxes with modern responsive grid)
   ========================================================================== */
.modula-items.grid-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
    margin: 30px 0 !important;
    position: static !important;
    height: auto !important;
    width: 100% !important;
}

@media (max-width: 600px) {
    .modula-items.grid-gallery {
        grid-template-columns: 1fr !important;
    }
}

.modula-item {
    position: relative !important;
    width: 100% !important;
    height: 280px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
    cursor: pointer !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    background: #f4f5f7 !important;
    left: auto !important;
    top: auto !important;
    margin: 0 !important;
}

.modula-item:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16) !important;
}

/* Completely eliminate the solid black overlay that caused black boxes */
.modula-item-overlay {
    display: none !important;
}

.modula-item-content {
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
}

.modula-item img.pic {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: transform 0.4s ease !important;
}

.modula-item:hover img.pic {
    transform: scale(1.06) !important;
}

.modula-grid-sizer {
    display: none !important;
}

/* Subtle zoom badge on hover */
.modula-item::after {
    content: '\f00e';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    bottom: 15px;
    right: 15px;
    width: 38px;
    height: 38px;
    background: rgba(19, 41, 88, 0.85);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.25s ease;
    pointer-events: none;
    z-index: 5;
}

.modula-item:hover::after {
    opacity: 1;
    transform: scale(1);
    background: #BF2D41;
}

/* ==========================================================================
   HERO IMAGE CAROUSEL / SLIDER (Smooth animated sliding hero banner)
   ========================================================================== */
.wpb_images_carousel {
    position: relative !important;
    width: 100% !important;
    margin: 20px 0 40px !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.08) !important;
}

.vc_images_carousel {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
}

.vc_carousel-inner {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
}

.vc_carousel-slideline {
    width: 100% !important;
    overflow: hidden !important;
}

.vc_carousel-slideline-inner {
    display: flex !important;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
    width: 100% !important;
}

.vc_carousel-slideline-inner .vc_item {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.vc_carousel-slideline-inner .vc_item .vc_inner {
    width: 100% !important;
    height: 480px !important;
}

@media (max-width: 768px) {
    .vc_carousel-slideline-inner .vc_item .vc_inner {
        height: 280px !important;
    }
}

.vc_carousel-slideline-inner .vc_item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Slider navigation arrows */
.vc_carousel-control {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 48px !important;
    height: 48px !important;
    background: rgba(19, 41, 88, 0.75) !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 15 !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
}

.vc_carousel-control:hover {
    background: #BF2D41 !important;
    transform: translateY(-50%) scale(1.1) !important;
    color: #ffffff !important;
}

.vc_left.vc_carousel-control {
    left: 20px !important;
}

.vc_right.vc_carousel-control {
    right: 20px !important;
}

.vc_carousel-control .icon-prev:before {
    content: '❮' !important;
    font-size: 22px !important;
    color: #ffffff !important;
    line-height: 1 !important;
    font-weight: bold !important;
}

.vc_carousel-control .icon-next:before {
    content: '❯' !important;
    font-size: 22px !important;
    color: #ffffff !important;
    line-height: 1 !important;
    font-weight: bold !important;
}

/* Indicators */
.vc_carousel-indicators {
    position: absolute !important;
    bottom: 18px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    gap: 8px !important;
    z-index: 15 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vc_carousel-indicators li {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.6) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    border: 2px solid rgba(0, 0, 0, 0.25) !important;
}

.vc_carousel-indicators li.active {
    background: #BF2D41 !important;
    width: 32px !important;
    border-radius: 6px !important;
    border-color: #BF2D41 !important;
}

/* ==========================================================================
   IMAGE LIGHTBOX MODAL
   ========================================================================== */
#instock-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.88);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    padding: 30px;
    backdrop-filter: blur(4px);
    cursor: zoom-out;
}

#instock-lightbox.active {
    display: flex;
    animation: lbFadeIn 0.25s ease;
}

#instock-lightbox img {
    max-width: 90vw;
    max-height: 85vh;
    border-radius: 6px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    cursor: default;
    object-fit: contain;
}

#instock-lightbox-close {
    position: absolute;
    top: 25px;
    right: 30px;
    width: 44px;
    height: 44px;
    background: #BF2D41;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    transition: transform 0.2s ease;
}

#instock-lightbox-close:hover {
    transform: scale(1.1);
}

@keyframes lbFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ===== HEADER LOGO OPTIMIZATION ===== */
.header .header-inner {
    align-items: center !important;
}

.header-logo {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
}

.header-logo a {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 0;
}

.header-logo img.logo-main {
    max-height: 60px !important;
    height: 60px !important;
    width: auto !important;
    display: block !important;
    object-fit: contain !important;
}

.sticky .header-logo img.logo-main {
    max-height: 45px !important;
    height: 45px !important;
    width: auto !important;
}

@media (max-width: 767px) {
    .header-logo {
        width: auto !important;
        max-width: 160px !important;
    }
    .header-logo img.logo-main {
        max-height: 42px !important;
        height: 42px !important;
        width: auto !important;
    }
}

/* ===== HIDE ANY MOBILE BAR LEAKING ON DESKTOP ===== */
#instock-bottom-bar {
    display: none !important;
}

/* ==========================================================================
   COMPREHENSIVE MOBILE RESPONSIVENESS SYSTEM (Anchorline INC)
   ========================================================================== */

/* Prevent horizontal scroll leakage globally */
html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Ensure responsive images & media */
img, video, svg, iframe {
    max-width: 100% !important;
    height: auto;
}

/* Mobile Devices & Tablets (max-width: 767px) */
@media (max-width: 767px) {
    /* Container padding adjustment */
    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Topbar responsive handling */
    .topbar {
        padding: 8px 0 !important;
    }
    .topbar-inner {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 6px !important;
    }
    .topbar-content {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 10px !important;
        font-size: 13px !important;
    }
    .topbar-content .border-left {
        border-left: none !important;
        padding-left: 0 !important;
    }
    .topbar-social {
        display: none !important;
    }

    /* Main Header Mobile Optimization */
    .header {
        position: relative !important;
        background: #ffffff !important;
    }
    .header .header-inner {
        padding: 10px 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        flex-wrap: nowrap !important;
    }

    /* Mobile Logo */
    .header-logo {
        flex: 0 0 auto !important;
        max-width: 150px !important;
    }
    .header-logo img.logo-main {
        max-height: 42px !important;
        height: 42px !important;
        width: auto !important;
    }

    /* Header Search Pill on Mobile */
    .header-inner .dgwt-wcas-search-wrapp {
        flex: 1 1 auto !important;
        max-width: none !important;
        margin: 0 !important;
        min-width: 0 !important;
    }
    .header-inner .dgwt-wcas-sf-wrapp {
        height: 38px !important;
        padding: 0 10px !important;
    }
    .header-inner .dgwt-wcas-search-input {
        font-size: 13px !important;
        padding: 0 6px 0 26px !important;
    }
    .header-inner .dgwt-wcas-search-submit {
        left: 10px !important;
    }
    .header-inner .dgwt-wcas-search-submit i {
        font-size: 13px !important;
    }

    /* Header Right Actions & Mobile Hamburger */
    .header-inner .textwidget {
        flex: 0 0 auto !important;
        padding-right: 0 !important;
    }
    .header-inner .instock-header-icons {
        gap: 14px !important;
    }
    .header-inner .instock-cart .wc-block-mini-cart__icon,
    .header-inner .instock-cart svg {
        width: 21px !important;
        height: 21px !important;
    }
    .header-inner .instock-user {
        font-size: 18px !important;
    }
    .mobile-button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 22px !important;
        color: #132958 !important;
        cursor: pointer !important;
        margin-left: 5px !important;
        padding: 4px !important;
    }

    /* Hide desktop-only horizontal red bar on mobile */
    .oh-nav {
        display: none !important;
    }

    /* Mobile Drawer Menu Improvements */
    .mobile-menu {
        width: 290px !important;
        background-color: #132958 !important;
        box-shadow: 4px 0 25px rgba(0, 0, 0, 0.3) !important;
    }
    .mobile-logo {
        padding: 20px 20px 15px 20px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        text-align: center !important;
    }
    .mobile-logo img {
        max-width: 170px !important;
        height: auto !important;
    }
    .mobile-overlay .close {
        top: 20px !important;
        right: 20px !important;
        width: 40px !important;
        height: 40px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 26px !important;
    }
    .mobile-menu .menu {
        padding: 10px 0 !important;
    }
    .mobile-menu .menu > li > a {
        padding: 12px 20px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    }
    .mobile-menu .sub-menu {
        background: rgba(0, 0, 0, 0.2) !important;
        padding: 5px 0 !important;
    }
    .mobile-menu .sub-menu li a {
        padding: 10px 25px !important;
        font-size: 14.5px !important;
        color: #d1d5db !important;
    }

    /* Hero Banner Mobile Adjustments */
    .banner-section.home-banner-section {
        padding: 50px 15px !important;
        background-size: cover !important;
        background-position: center !important;
    }
    .home-banner .banner-title {
        font-size: 28px !important;
        line-height: 1.25 !important;
        margin-bottom: 20px !important;
    }
    .quote-button,
    .sd-button {
        font-size: 18px !important;
        padding: 12px 24px !important;
        width: 100% !important;
        max-width: 320px !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    /* Headings & Text Size */
    .page-heading,
    h1.page-heading,
    .slider-title {
        font-size: 26px !important;
        line-height: 1.25 !important;
        margin-bottom: 18px !important;
    }
    p.page-heading.title-line {
        font-size: 24px !important;
    }

    /* WPBakery / Visual Composer Row and Column Resets on Mobile */
    .vc_row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .vc_column_container {
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Door Grid Cards Mobile */
    .vc_pageable-slide-wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
    .vc_grid-item.vc_col-sm-4 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 0 25px 0 !important;
    }
    .vc_gitem-zone.vc_gitem-zone-a {
        height: 200px !important;
    }
    .service-box {
        margin-bottom: 25px !important;
    }
    .service-title {
        font-size: 20px !important;
    }

    /* Product Categories Grid Mobile */
    .og_product-categories-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .og_category-item {
        padding: 10px !important;
    }
    .og_category-name {
        font-size: 18px !important;
    }

    /* Footer Mobile */
    .footer {
        padding: 45px 0 35px 0 !important;
    }
    .footer-inner {
        flex-direction: column !important;
        gap: 30px !important;
    }
    .footer-col {
        width: 100% !important;
        text-align: center !important;
    }
    .footer-about .footer-logo img {
        max-width: 190px !important;
        height: auto !important;
        margin: 0 auto !important;
    }
    .footer .icon-box {
        justify-content: center !important;
        text-align: left !important;
    }
    .bottombar {
        padding: 18px 15px 25px !important;
        text-align: center !important;
    }
    .bottombar .footer-social {
        position: static !important;
        margin-top: 12px !important;
        display: flex !important;
        justify-content: center !important;
        gap: 15px !important;
    }
}