/* =====================================================================
   COZY.PK — QA fixes (loaded last on every page)
   ===================================================================== */

/* #2 My Account / cart grids: WooCommerce's clearfix pseudo-elements were becoming grid cells,
   pushing the menu to the middle and squeezing the content into a thin column. */
.cz-account-page .woocommerce::before, .cz-account-page .woocommerce::after,
.cz-cart-page .woocommerce::before, .cz-cart-page .woocommerce::after,
.cz-checkout-page form.checkout::before, .cz-checkout-page form.checkout::after,
.cz-checkout-page .col2-set::before, .cz-checkout-page .col2-set::after { content: none !important; display: none !important; }
.cz-account-page .woocommerce-MyAccount-navigation, .cz-account-page .woocommerce-MyAccount-content { float: none !important; width: auto !important; }

/* #4 Wide tables (customer guide, price list, articles) scroll inside their box on mobile instead of being cut off */
@media (max-width: 900px) {
    .entry-content table, .cz-article-body table, .guide-section table, main table:not(.shop_table):not(.woocommerce-checkout-review-order-table):not(.specs-table) {
        display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap;
    }
}

/* #5 Product page on mobile: main image and thumbnails stay inside the screen */
.single-product-grid > *, .product-gallery-column, .product-summary-column { min-width: 0; max-width: 100%; }
.main-image-display { width: 100%; max-width: 100%; }
.main-image-display img { max-width: 100%; }
.product-thumb-gallery { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; max-width: 100%; }
.thumb-item { min-width: 0; }
@media (max-width: 960px) {
    .single-product-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .single-product-main > .cozy-container { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 560px) {
    .product-thumb-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 8px; }
    .config-options-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* #8 "% OFF" chip never pushes a card's Add to Cart lower than its neighbours */
.cz-card-body { display: flex; flex-direction: column; }
.cz-card-price { flex-wrap: wrap; row-gap: 4px; min-height: 2.9em; align-content: flex-start; }
.cz-card-off { white-space: nowrap; }
.cz-card-cart { margin-top: auto !important; }

/* #9 One Add to Cart colour everywhere (orange, as in the mockups) */
.cz-card-cart, .btn-primary-cart, .btn-bundle-add, .single_add_to_cart_button, .cozy-room-add {
    background: var(--cz-orange) !important; color: #fff !important; border-radius: 6px !important;
}
.cz-card-cart:hover, .btn-primary-cart:hover, .btn-bundle-add:hover, .single_add_to_cart_button:hover, .cozy-room-add:hover { background: var(--cz-orange-dark) !important; }

/* #10 Floating WhatsApp + chat buttons don't cover footer links / payment badges on mobile */
@media (max-width: 768px) {
    .floating-whatsapp { padding: 0 !important; width: 52px; height: 52px; border-radius: 50% !important; justify-content: center; bottom: 16px !important; right: 14px !important; }
    .floating-whatsapp span { display: none !important; }
    .cozy-chat { bottom: 78px !important; right: 14px !important; }
    .cozy-chat-launch { width: 50px; height: 50px; }
    .cz-footer-bottom-inner { padding-bottom: 24px !important; }
    .cz-footer-bottom-inner { flex-direction: column; align-items: flex-start; }
}

/* #11 Hostinger "Agent" widget (admin only) never sits on top of the WhatsApp button */
#hostinger-ai-assistant-root, .hostinger-ai-assistant, [class*="hts-agent"], [id*="hostinger-agent"] { bottom: 90px !important; }

/* #12 Mobile hero: lighter overlay so the photo is visible, text still readable */
@media (max-width: 768px) {
    .cz-hero-slide { background-position: 70% center !important; }
    .cz-hero-slide::before { background: linear-gradient(180deg, rgba(247, 240, 231, 0) 0%, rgba(247, 240, 231, 0) 30%, rgba(247, 240, 231, .82) 55%, rgba(247, 240, 231, .96) 100%) !important; }
    .cz-hero { min-height: 600px; }
}

/* #13 Mobile menu search field styled like the header search */
.mobile-drawer-search { padding: 4px 0 14px; }
.mobile-drawer-search input[type="search"] {
    width: 100%; height: 46px; border: 1px solid var(--cz-line); border-radius: 999px; background: #F2EEE8;
    padding: 0 18px; font: 400 14.5px var(--cz-sans); color: var(--cz-ink); -webkit-appearance: none; appearance: none; outline: none;
}
.mobile-drawer-search input[type="search"]:focus { background: #fff; border-color: var(--cz-olive); }

/* #7 Add-to-cart toast */
.cz-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 140%); z-index: 100003; display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--cz-line); border-left: 4px solid #1F7A3E; border-radius: 10px; box-shadow: 0 16px 40px rgba(0, 0, 0, .18); padding: 12px 14px; max-width: calc(100vw - 32px); width: 420px; transition: transform .3s ease; }
.cz-toast.is-on { transform: translate(-50%, 0); }
.cz-toast img { width: 56px; height: 44px; object-fit: cover; border-radius: 6px; background: var(--cz-cream); }
.cz-toast div { flex: 1; min-width: 0; font-size: 13.5px; color: var(--cz-text); }
.cz-toast strong { display: block; color: var(--cz-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cz-toast a { background: var(--cz-orange); color: #fff; border-radius: 6px; padding: 9px 12px; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.cz-toast button { background: none; border: 0; font-size: 20px; color: var(--cz-muted); cursor: pointer; padding: 0 4px; }
@media (max-width: 768px) { .cz-toast { bottom: 84px; } }

/* Account page on mobile: single full-width column, nothing cut off */
@media (max-width: 960px) {
    .cz-account-page .woocommerce { grid-template-columns: minmax(0, 1fr) !important; }
    .cz-account-page .woocommerce > * { min-width: 0; max-width: 100%; }
    .cz-dash-hero h2 { font-size: 26px; }
    .cz-dash-row { flex-wrap: wrap; }
    .cz-dash-row span:last-child { word-break: break-all; }
}

/* Product page guarantee box and other flex rows wrap instead of overflowing */
.guarantee-box, .secondary-actions-row, .product-guarantee-strip { flex-wrap: wrap; max-width: 100%; min-width: 0; }
.guarantee-box > * { min-width: 0; }
.customer-guide-page *, .guide-section * { overflow-wrap: anywhere; }

/* Hero on mobile: photo visible on top, solid backdrop behind the text so the headline never clashes with the image */
/* ---------- Product feature cards (replace the repeated-photo strip) ---------- */
.cz-feature-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.cz-feature-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; background: #fff; border: 1px solid var(--cz-line); border-radius: 10px; padding: 16px 10px; }
.cz-feature-card .cz-round-ic { width: 46px; height: 46px; min-width: 46px; }
.cz-feature-card strong { font-size: 14px; color: var(--cz-ink); line-height: 1.3; }
.cz-feature-card span { font-size: 12.5px; color: var(--cz-muted); line-height: 1.4; }
@media (max-width: 600px) { .cz-feature-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Newsletter consent ---------- */
.cz-consent { flex-basis: 100%; display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; line-height: 1.45; color: var(--cz-text); margin: 10px 14px 4px; cursor: pointer; }
.cz-consent input { width: 18px; height: 18px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--cz-orange); }
.cz-community-eyebrow { color: var(--cz-orange) !important; letter-spacing: 3px; margin-bottom: 6px !important; }
.cz-m-usps { display: none; }
.cz-acc-head button { all: unset; cursor: default; }

/* =====================================================================
   MOBILE (≤ 768px): header, hero, trust card, room circles, dark footer
   ===================================================================== */
@media (max-width: 768px) {
    /* Top bar: two items with a divider */
    .cz-topbar { font-size: 12.5px; }
    .cz-topbar-inner { justify-content: center; gap: 0; min-height: 38px; }
    .cz-topbar-inner .cz-topbar-item:not(.cz-hide-sm) { padding: 0 12px; }
    .cz-topbar-cod { border-left: 1px solid rgba(255, 255, 255, .35); }
    .cz-topbar-item svg { width: 15px; height: 15px; }

    /* Header row: burger · logo · wishlist · cart, search bar below */
    .cz-header-inner { min-height: 0; padding-top: 12px; padding-bottom: 12px; gap: 12px 14px; }
    .cz-act-account { display: none !important; }
    .cz-actions { gap: 18px; }
    .cz-actions svg { width: 26px; height: 26px; }
    .brand-title { font-size: 26px; }
    .brand-sub { font-size: 8.5px; letter-spacing: 2.2px; }
    .cz-search .search-field { height: 46px; background: #F2EEE8; }

    /* Hero: full photo with text over it on the left, as in the mockup */
    .cz-hero { height: 560px; min-height: 0; }
    .cz-hero-slide { background-position: 62% center !important; }
    .cz-hero-slide::before { background: linear-gradient(90deg, rgba(250, 245, 238, .96) 0%, rgba(250, 245, 238, .86) 45%, rgba(250, 245, 238, .25) 80%, rgba(250, 245, 238, 0) 100%) !important; }
    .cz-hero-inner { align-items: flex-start !important; padding-top: 34px; padding-bottom: 60px !important; }
    .cz-hero-copy { max-width: 92%; }
    .cz-hero .cz-eyebrow { color: var(--cz-orange); letter-spacing: 3px; font-size: 11.5px; }
    .cz-hero-title { font-size: 40px !important; margin: 10px 0 12px; }
    .cz-hero-text { font-size: 15px; max-width: 300px; margin-bottom: 20px; }
    .cz-hero-ctas { flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 0; }
    .cz-hero-ctas .cz-btn { width: 250px; padding: 15px 20px; font-size: 16px; }
    .cz-hero-ctas .cz-btn-dark { background: var(--cz-orange); }
    .cz-hero-ctas .cz-btn-outline { background: rgba(255, 255, 255, .9); color: var(--cz-orange); border-color: var(--cz-orange); }
    .cz-hero-usps { display: none; }
    .cz-hero-dots { bottom: 46px; }

    /* Trust card overlapping the bottom of the hero */
    .cz-m-usps { display: grid; grid-template-columns: repeat(4, 1fr); position: relative; z-index: 4; margin: -34px 14px 0; background: #fff; border-radius: 16px; box-shadow: 0 10px 30px rgba(31, 30, 27, .1); padding: 16px 6px; }
    .cz-m-usps > div { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; color: var(--cz-ink); font-size: 12px; line-height: 1.3; font-weight: 500; }
    .cz-m-usps > div + div { border-left: 1px solid var(--cz-line); }

    /* Shop by Category → round "Shop by Room" icons, 4 per row */
    .cz-home .cz-section:first-of-type .cz-section-sub { display: none; }
    .cz-cat-row { grid-template-columns: repeat(4, 1fr) !important; gap: 16px 10px !important; }
    .cz-cat-card { background: none; border: 0; padding: 0; border-radius: 0; box-shadow: none !important; transform: none !important; }
    .cz-cat-img { aspect-ratio: 1 / 1; border-radius: 50%; margin: 0 auto 8px; width: 100%; max-width: 86px; background: #F3ECE3; }
    .cz-cat-card strong { font-size: 12.5px; font-weight: 500; }
    .cz-cat-card span:last-child { display: none; }

    /* Newsletter: dark green card */
    .cz-community { padding: 0; }
    .cz-community .cozy-container { padding: 0; }
    .cz-community-card { border-radius: 0; min-height: 0; background-position: right top; background-size: 75% auto; background-repeat: no-repeat; background-color: #26301F; }
    .cz-community-card::before { background: linear-gradient(180deg, rgba(38, 48, 31, .55) 0%, rgba(38, 48, 31, .92) 35%, #26301F 60%) !important; }
    .cz-community-copy { padding: 34px 20px 30px; max-width: none; }
    .cz-community-copy h2 { color: #fff; font-size: 30px; }
    .cz-community-copy > p:not(.cz-eyebrow) { color: rgba(255, 255, 255, .88); font-size: 15px; }
    .cz-newsletter-form { border-radius: 8px; padding: 0; overflow: hidden; background: #fff; box-shadow: none; }
    .cz-newsletter-form input[type=email] { min-height: 54px; padding: 0 14px; }
    .cz-newsletter-form button { border-radius: 0; padding: 0 22px; min-height: 54px; background: #C9472A; }
    .cz-consent { color: rgba(255, 255, 255, .85); margin: 0; padding: 12px 0 0; background: #26301F; }
    .cz-newsletter-form .cz-newsletter-msg { background: #26301F; color: #fff; margin: 0; padding: 8px 0 0; }

    /* Footer: dark green, white logo, accordion sections */
    .cz-footer-usps { display: none; }
    .cz-footer { background: #26301F; color: rgba(255, 255, 255, .85); }
    .cz-footer a { color: rgba(255, 255, 255, .85); }
    .cz-footer-main { display: block; padding-top: 30px; padding-bottom: 10px; }
    .cz-footer-brand { padding-bottom: 18px; }
    .cz-footer-brand .brand-title, .cz-footer-brand .brand-sub { color: #fff; }
    .cz-footer-brand .brand-title .brand-pk { color: #D7A77B; }
    .cz-footer-brand p { color: rgba(255, 255, 255, .85); max-width: none; font-size: 15px; }
    .cz-socials a { background: rgba(255, 255, 255, .1); color: #fff; }
    .cz-footer-main > nav, .cz-footer-contact { border-top: 1px solid rgba(255, 255, 255, .16); padding: 0 !important; margin: 0; border-left: 0 !important; }
    .cz-footer-main > nav:last-of-type + .cz-footer-contact, .cz-footer-contact { border-bottom: 1px solid rgba(255, 255, 255, .16); }
    .cz-acc-head { margin: 0 !important; }
    .cz-acc-head button { all: unset; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 16px 0; font-family: var(--cz-serif); font-size: 19px; font-weight: 600; color: #fff; cursor: pointer; }
    .cz-acc-head button::after { content: "+"; font-family: var(--cz-sans); font-size: 26px; font-weight: 300; line-height: 1; }
    .is-open > .cz-acc-head button::after { content: "\2212"; }
    .cz-footer-main > nav > ul, .cz-footer-contact > .cz-contact-row { display: none; }
    .cz-footer-main > nav.is-open > ul { display: block; padding-bottom: 14px; }
    .cz-footer-contact.is-open > .cz-contact-row { display: flex; }
    .cz-footer-contact.is-open { padding-bottom: 10px !important; }
    .cz-contact-row .cz-contact-icon { background: rgba(255, 255, 255, .1) !important; color: #fff; }
    .cz-contact-row span { color: rgba(255, 255, 255, .85); }
    .cz-footer-bottom { border-top: 0; }
    .cz-footer-bottom-inner { align-items: center !important; text-align: center; gap: 14px; padding-top: 10px; }
    .cz-footer-bottom-inner > span:first-child { order: 3; color: rgba(255, 255, 255, .7); }
    .cz-legal { order: 2; justify-content: center; }
    .cz-legal a { border-left-color: rgba(255, 255, 255, .25) !important; color: rgba(255, 255, 255, .85); }
    .cz-pay { order: 1; justify-content: center; }
    .cz-pay span { background: #fff; color: var(--cz-ink); }
}
@media (max-width: 380px) {
    .cz-hero-title { font-size: 34px !important; }
    .cz-m-usps > div { font-size: 11px; }
}
.cz-show-sm { display: none; }
@media (max-width: 768px) {
    .cz-show-sm { display: inline; }
    .cz-topbar-inner .cz-topbar-item { white-space: nowrap; font-size: 12px; }
    .cz-topbar-inner .cz-topbar-item:not(.cz-hide-sm) { padding: 0 10px; }
}
.cz-consent input[type=checkbox] { flex: 0 0 18px !important; width: 18px !important; height: 18px !important; min-width: 18px; min-height: 0 !important; padding: 0 !important; border: 0; box-shadow: none; }
@media (max-width: 768px) {
    .cz-newsletter-form { background: transparent !important; overflow: visible; }
    .cz-newsletter-form input[type=email] { flex: 1 1 0; min-width: 0; background: #fff; border-radius: 8px 0 0 8px; }
    .cz-newsletter-form button[type=submit] { border-radius: 0 8px 8px 0; }
    .cz-consent, .cz-newsletter-form .cz-newsletter-msg { background: transparent; }
    .cz-footer { padding-top: 0; }
}
.editorial-right .cz-feature-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) {
    .tab-editorial-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

/* ---------- Newsletter (desktop): pill holds only email + button, consent sits below ---------- */
@media (min-width: 769px) {
    .cz-newsletter-form { background: transparent; box-shadow: none; padding: 0; border-radius: 0; max-width: 520px; align-items: flex-start; }
    .cz-newsletter-form input[type=email] { flex: 1 1 0; background: #fff; border-radius: 999px; min-height: 58px; padding: 0 170px 0 24px; box-shadow: 0 6px 20px rgba(0, 0, 0, .06); }
    .cz-newsletter-form button[type=submit] { margin: 5px 0 0 -158px; min-height: 48px; position: relative; z-index: 1; }
    .cz-consent { margin: 14px 6px 0; color: var(--cz-text); }
    .cz-newsletter-form .cz-newsletter-msg { flex-basis: 100%; margin: 8px 6px 0; }
}

/* ---------- Product page: Dimensions tab ---------- */
.dimensions-box { background: #fff; border: 1px solid var(--cz-line); border-radius: 12px; padding: 22px 24px; max-width: 720px; }
.dimensions-box h4 { font-family: var(--cz-serif); font-size: 18px; font-weight: 600; color: var(--cz-ink); margin: 0 0 8px; }
.dimensions-box .dimension-val { font-size: 17px; font-weight: 600; color: var(--cz-ink); margin: 0 0 14px; padding-bottom: 14px; border-bottom: 1px solid var(--cz-line); }
.dimensions-box .text-muted { font-size: 14px; color: var(--cz-muted); margin: 0; }
.dimensions-box a { color: var(--cz-orange); text-decoration: underline; text-underline-offset: 2px; }

/* ---------- Product page: review form ---------- */
#review_form_wrapper { background: #fff; border: 1px solid var(--cz-line); border-radius: 12px; padding: 24px; margin-top: 24px; max-width: 760px; }
#review_form .comment-reply-title { display: block; font-family: var(--cz-serif); font-size: 22px; font-weight: 600; color: var(--cz-ink); margin-bottom: 6px; }
#review_form .comment-notes { font-size: 13.5px; color: var(--cz-muted); margin: 0 0 14px; }
#review_form .comment-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
#review_form .comment-form > p { margin: 0; }
#review_form .comment-form-rating, #review_form .comment-form-comment, #review_form .comment-notes, #review_form .comment-form-cookies-consent, #review_form .form-submit { grid-column: 1 / -1; }
#review_form label { display: block; font-size: 14px; font-weight: 600; color: var(--cz-ink); margin-bottom: 6px; }
#review_form .required { color: var(--cz-orange); }
#review_form input[type=text], #review_form input[type=email], #review_form textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--cz-line); border-radius: 8px; background: #FBF8F4; padding: 12px 14px; font: inherit; font-size: 15px; color: var(--cz-ink); }
#review_form textarea { min-height: 130px; resize: vertical; }
#review_form input:focus, #review_form textarea:focus { outline: none; border-color: var(--cz-orange); background: #fff; }
#review_form p.stars a::before { font-size: 26px; color: var(--cz-star, #E0A43A); }
#review_form .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; }
#review_form .comment-form-cookies-consent label { font-weight: 400; font-size: 13.5px; margin: 0; }
#review_form .form-submit input[type=submit] { background: var(--cz-orange); color: #fff; border: 0; border-radius: 8px; padding: 14px 30px; font-weight: 700; font-size: 15px; cursor: pointer; }
#review_form .form-submit input[type=submit]:hover { background: var(--cz-orange-dark); }
@media (max-width: 600px) {
    #review_form_wrapper { padding: 18px; }
    #review_form .comment-form { grid-template-columns: 1fr; }
    #review_form .form-submit input[type=submit] { width: 100%; }
}

/* ---------- Home: more products, less scrolling ---------- */
@media (max-width: 1100px) and (min-width: 769px) {
    .cz-grid-5 > :nth-child(n+9) { display: flex; }
    .cz-grid-5 > :nth-child(n+13) { display: none; }
}
@media (max-width: 768px) {
    /* Swipe rows: categories, New Arrivals (2 rows), promises/reviews */
    .cz-cat-row, .cz-home-new .cz-grid-5, .cz-review-row {
        display: grid !important; grid-auto-flow: column; overflow-x: auto; overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none;
        margin-right: -16px; padding-right: 16px; padding-bottom: 4px;
    }
    .cz-cat-row::-webkit-scrollbar, .cz-home-new .cz-grid-5::-webkit-scrollbar, .cz-review-row::-webkit-scrollbar { display: none; }
    .cz-cat-row { grid-template-columns: none !important; grid-auto-columns: 78px; gap: 12px !important; }
    .cz-cat-card { scroll-snap-align: start; }
    .cz-cat-img { max-width: 72px; }
    .cz-cat-card strong { display: block; font-size: 12px; line-height: 1.25; text-align: center; overflow-wrap: normal; word-break: normal; hyphens: none; }

    .cz-home-new .cz-grid-5 { grid-template-columns: none; grid-template-rows: repeat(2, auto); grid-auto-columns: 44%; gap: 12px 10px; }
    .cz-home-new .cz-grid-5 > * { display: flex !important; scroll-snap-align: start; }

    .cz-review-row { grid-template-columns: none; grid-auto-columns: 82%; gap: 12px; }
    .cz-review { scroll-snap-align: start; padding: 18px; }
}

/* ---------- Home: minimal category row that fills the full width ---------- */
@media (min-width: 769px) {
    .cz-cat-row { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 20px; }
    .cz-cat-card { background: none; border: 0; border-radius: 0; padding: 0; box-shadow: none !important; transform: none !important; }
    .cz-cat-img { aspect-ratio: 1 / 1; border-radius: 14px; margin-bottom: 12px; background: #F3ECE3; }
    .cz-cat-img img { transition: transform .35s ease; }
    .cz-cat-card:hover .cz-cat-img img { transform: scale(1.05); }
    .cz-cat-card strong { font-size: 15px; font-weight: 600; }
    .cz-cat-card:hover strong { color: var(--cz-orange); }
    .cz-cat-card span:last-child { font-size: 12.5px; margin-top: 3px; padding: 0; }
}

/* ---------- Home: Best Sellers in two rows ---------- */
#czBestSellers { grid-template-rows: repeat(2, auto); row-gap: 18px; }
@media (max-width: 768px) {
    #czBestSellers { grid-auto-columns: 44%; gap: 12px 10px; margin-right: -16px; padding-right: 16px; }
}
@media (max-width: 768px) {
    .cz-footer { padding-bottom: 64px; }
}

/* ---------- Mobile spacing: tighter sections, compact promo banners ---------- */
@media (max-width: 768px) {
    .cz-home .cz-section, main .cz-section { padding-top: 28px; padding-bottom: 28px; }
    .cz-home .cz-section-tight, main .cz-section-tight { padding-top: 4px; padding-bottom: 4px; }
    .cz-section-head { margin-bottom: 14px; }
    .cz-section-title { font-size: 26px; }

    .cz-promo-grid { gap: 12px; }
    .cz-promo, .cz-split-bedroom { display: grid !important; grid-template-columns: minmax(0, 1fr) 40%; min-height: 0 !important; border-radius: 12px; overflow: hidden; }
    .cz-promo-copy, .cz-split-copy { padding: 18px 14px 18px 16px !important; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
    .cz-promo-img, .cz-split-img { height: auto !important; min-height: 170px; position: relative; overflow: hidden; }
    .cz-promo-img img, .cz-split-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .cz-split-bedroom .cz-split-img { order: 2; }
    .cz-promo h2, .cz-split h2 { font-size: 21px !important; line-height: 1.15; margin: 4px 0 6px !important; }
    .cz-promo p:not(.cz-eyebrow), .cz-split p { font-size: 13px !important; margin: 0 0 12px !important; line-height: 1.4; }
    .cz-promo .cz-eyebrow { font-size: 10.5px; margin: 0; }
    .cz-promo .cz-btn, .cz-split .cz-btn, .cz-promo [class*=btn], .cz-split [class*=btn] { padding: 9px 14px !important; font-size: 13px !important; }
    .cz-split-banners { display: grid; gap: 12px; padding: 0 16px; }
    .cz-split-custom { min-height: 0 !important; border-radius: 12px; overflow: hidden; }
    .cz-split-custom .cz-split-copy { min-height: 190px; padding: 22px 18px !important; }
}
@media (max-width: 768px) {
    .cz-promo-img, .cz-split-bedroom .cz-split-img { order: 2 !important; width: auto !important; }
    .cz-split { min-height: 0 !important; }
}

/* ---------- Home rows: arrow buttons next to "View all" ---------- */
.cz-head-actions { display: flex; align-items: center; gap: 14px; }
.cz-arrows.is-off { display: none; }
@media (max-width: 768px) {
    .cz-section-head { align-items: flex-end; }
    .cz-head-actions { gap: 10px; }
    .cz-head-actions .cz-arrow { width: 32px; height: 32px; font-size: 19px; }
    .cz-cat-row, .cz-home-new .cz-grid-5, #czBestSellers { scroll-snap-type: x proximity; }
}

/* =====================================================================
   One colour scheme everywhere: the footer's dark green is the brand dark
   ===================================================================== */
:root {
    --cz-olive: #26301F;
    --cozy-olive: #26301F;
    --cozy-olive-light: #35422B;
}
.cz-topbar { background: #26301F; }

@media (min-width: 769px) {
    /* Newsletter card: same dark green as mobile */
    .cz-community-card { background-color: #26301F; }
    .cz-community-card::before { background: linear-gradient(90deg, #26301F 0%, rgba(38, 48, 31, .94) 45%, rgba(38, 48, 31, .55) 100%) !important; }
    .cz-community-copy h2 { color: #fff; }
    .cz-community-copy > p:not(.cz-eyebrow) { color: rgba(255, 255, 255, .88); }
    .cz-consent { color: rgba(255, 255, 255, .85); }
    .cz-newsletter-form .cz-newsletter-msg { color: #fff; }
    .cz-newsletter-form input[type=email] { box-shadow: none; }

    /* Footer: dark green with light text, same as mobile */
    .cz-footer-usps { background: #26301F; border-bottom: 1px solid rgba(255, 255, 255, .14); color: #fff; }
    .cz-footer-usps * { color: inherit; }
    .cz-footer-usps span, .cz-footer-usps small { color: rgba(255, 255, 255, .75); }
    .cz-footer { background: #26301F; color: rgba(255, 255, 255, .82); }
    .cz-footer a { color: rgba(255, 255, 255, .82); }
    .cz-footer a:hover { color: #fff; }
    .cz-footer-brand .brand-title, .cz-footer-brand .brand-sub { color: #fff; }
    .cz-footer-brand .brand-title .brand-pk { color: #D7A77B; }
    .cz-footer-brand p { color: rgba(255, 255, 255, .82); }
    .cz-acc-head, .cz-acc-head button { color: #fff; }
    .cz-footer-contact, .cz-footer-main > nav { border-color: rgba(255, 255, 255, .14) !important; }
    .cz-contact-row .cz-contact-icon { background: rgba(255, 255, 255, .1) !important; color: #fff; }
    .cz-contact-row span { color: rgba(255, 255, 255, .82); }
    .cz-socials a { background: rgba(255, 255, 255, .1); color: #fff; }
    .cz-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .14); background: #26301F; }
    .cz-footer-bottom-inner > span:first-child { color: rgba(255, 255, 255, .7); }
    .cz-legal a { border-left-color: rgba(255, 255, 255, .25) !important; }
    .cz-pay span { background: #fff; color: var(--cz-ink); }
}
