/* Kirbo brand shell — P1 (tokens, header, nav, hero, best sellers, responsive) */

:root {
    --kirboBlue: #005DAA;
    --kirboPink: #EFC2CF;
    --kirboGray: #D5DEE2;
    --kirboBlack: #000000;
}

/* ---------- Header ---------- */
.kirbo-sticky-header {
    position: sticky !important;
    top: 0;
    z-index: 1050;
    background: #fff !important;
}
.pf-header-section {
    position: sticky !important;
    top: 0;
    background-color: #ffffff !important;
    padding: 0 !important;
    min-height: 66px;
    border-bottom: 3px solid var(--kirboPink) !important;
}
.pf-header-section::after {
    content: none !important;
    display: none !important;
}
.pf-header-section > .container-fluid {
    max-width: 1480px;
    margin: 0 auto;
    padding-left: 18px !important;
    padding-right: 18px !important;
}
.pf-header-area.kirbo-header-area {
    min-height: 66px;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
}
.kirbo-header-logo {
    order: 1;
    flex: 0 0 auto;
    width: 106px;
    margin-right: 8px;
}
.kirbo-header-logo img,
.pf-header-logo img {
    display: block;
    width: 106px !important;
    max-width: 106px !important;
    max-height: none !important;
    height: auto !important;
    object-fit: contain;
}
.kirbo-header-navbar {
    order: 2;
    flex: 1 1 auto;
    min-width: 0;
}
.kirbo-header-area .pf-header-right {
    order: 3;
    margin-left: auto;
    flex: 0 0 auto;
}
.kirbo-nav {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    white-space: nowrap;
}
.pf-nav-link,
.pf-mega-menu-link span {
    color: #000000 !important;
    font-family: 'Onest', Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    text-transform: uppercase;
    letter-spacing: -0.05px;
    padding: 27px 7px 25px !important;
}
.pf-nav-item:hover .pf-nav-link,
.pf-nav-link:hover,
.pf-nav-link.active {
    color: var(--kirboBlue) !important;
}
.pf-menu-button svg path { fill: #000000 !important; }
.header-access-item svg path { stroke: #000000 !important; }
.header-access-item svg path[fill="white"] { fill: #000000 !important; }
.header-access-items {
    background: transparent !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.header-access-item {
    background-color: transparent !important;
    width: 25px !important;
    height: 25px !important;
    flex: 0 0 25px !important;
}
.dark-circle-badge { background-color: var(--kirboBlack) !important; }
.kirbo-region-pill {
    border: 1px solid rgba(0,0,0,.22);
    border-radius: 999px;
    padding: 0 3px;
    margin-right: 6px;
    background: #fff;
}
.kirbo-lang-select {
    border: none;
    background: transparent;
    padding: 5px 9px;
    font-family: 'Onest', Arial, Helvetica, sans-serif;
    font-size: 10px;
    line-height: 1;
    text-transform: uppercase;
    color: #000000;
    cursor: pointer;
}
.kirbo-lang-select:focus { outline: none; }

/* per-category dropdown nav */
.kirbo-nav-item-have-sub { position: relative; }
.kirbo-nav-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 190px;
    margin: 0;
    padding: 9px 0;
    list-style: none;
    background: #ffffff;
    border: 1px solid #eee;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
    z-index: 1080;
}
.kirbo-nav-item-have-sub:hover .kirbo-nav-dropdown { display: block; }
.kirbo-nav-dropdown-link {
    display: block;
    padding: 8px 18px;
    color: #000000;
    font-size: 12px;
    white-space: nowrap;
}
.kirbo-nav-dropdown-link:hover { color: var(--kirboBlue); background: #fafafa; }
.menuoffcanvas .mobile-menuitem-a svg path { fill: #000000 !important; }

/* ---------- Hero (2-slide swiper) ---------- */
.kirbo-hero-section {
    margin: 0 !important;
    padding: 24px 0 0 !important;
}
.kirbo-hero-section > .container {
    width: calc(100% - 48px) !important;
    max-width: 1380px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.kirbo-hero-slider,
.kirbo-hero-slider .swiper-wrapper,
.kirbo-hero-slider .swiper-slide,
.kirbo-hero-slide {
    width: 100%;
    aspect-ratio: 1920 / 788;
    height: auto !important;
    min-height: 0 !important;
}
.kirbo-hero-slider {
    overflow: hidden;
    position: relative;
    background: var(--kirboPink);
}
.kirbo-hero-slide {
    display: block;
    position: relative;
    overflow: hidden;
}

/* Slide 1 uses the supplied 1920x788 Kirbo hero artwork as ONE full banner.
   The old implementation incorrectly cropped this wide artwork inside the
   right 50% panel, which is why production showed only the model's leg. */
.kirbo-hero-slide-split {
    background: var(--kirboPink);
}
.kirbo-hero-image-panel {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    overflow: hidden;
    z-index: 1;
}
.kirbo-hero-image-panel img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block;
}
.kirbo-hero-text-panel {
    position: absolute !important;
    z-index: 2;
    left: 6.9%;
    top: 50%;
    transform: translateY(-50%);
    width: 38%;
    max-width: 470px !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: center;
    pointer-events: auto;
}
.kirbo-hero-title {
    font-family: 'Onest', Arial, Helvetica, sans-serif !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    font-size: clamp(20px, 1.55vw, 27px) !important;
    line-height: 1.08 !important;
    color: #000000 !important;
    margin: 0 0 12px !important;
    max-width: 390px;
}
.kirbo-hero-subtitle {
    font-family: 'Onest', Arial, Helvetica, sans-serif !important;
    font-size: clamp(11px, .82vw, 13px) !important;
    line-height: 1.35 !important;
    color: #111111 !important;
    max-width: 360px !important;
    margin: 0 0 18px !important;
}
.kirbo-hero-text-panel .kirbo-btn-black {
    align-self: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 9px 18px !important;
    border-radius: 999px !important;
    font-family: 'Onest', Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    line-height: 1 !important;
    letter-spacing: .02em !important;
    white-space: nowrap;
}

/* Slide 2 is also one full supplied artwork. Keep editable overlay text in
   the target's right-hand position; if the admin replaces the artwork the
   content remains editable independently. */
.kirbo-hero-slide-full {
    position: relative;
    background-color: var(--kirboGray);
}
.kirbo-hero-slide2-bg {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block;
}
.kirbo-hero-slide2-text {
    position: absolute;
    right: 5.3%;
    top: 50%;
    transform: translateY(-50%);
    width: 25%;
    text-align: center;
    z-index: 2;
}
.kirbo-hero-slide2-text h2 {
    font-family: 'Onest', Arial, Helvetica, sans-serif !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    font-size: clamp(19px, 1.4vw, 25px) !important;
    line-height: 1.05 !important;
    color: #000000 !important;
    margin: 0 0 6px !important;
}
.kirbo-hero-slide2-text p {
    font-family: 'Onest', Arial, Helvetica, sans-serif !important;
    font-size: clamp(10px, .8vw, 13px) !important;
    color: #000000 !important;
    margin: 0 !important;
}
.kirbo-hero-pagination {
    position: absolute !important;
    bottom: 10px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    text-align: center;
    z-index: 5;
}
.kirbo-hero-pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    background: #ffffff;
    opacity: .9;
    border: 1px solid rgba(0,0,0,.1);
}
.kirbo-hero-pagination .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--kirboBlue);
}
.kirbo-blue-divider {
    width: calc(100% - 48px);
    max-width: 1380px;
    height: 5px;
    margin: 0 auto;
    background-color: var(--kirboBlue);
}

/* ---------- Best Sellers ---------- */
.bestsellers-section-title {
    color: #000000 !important;
}
.pf-btn-outline-white {
    background: #000000 !important;
    color: #ffffff !important;
    border: none !important;
}
.product-card-title,
.card-product-price {
    color: #000000 !important;
}
.sm-btn-outline-white {
    background: #000000 !important;
    color: #ffffff !important;
    border: none !important;
}
/* Product cards everywhere: flat, no chrome.
   The stock perfume card overlays white text directly on the photo with a
   dark gradient behind it (design assumes a dark-theme card). Kirbo's card
   is flat/white with text below the image, so that gradient + absolute
   positioning has to be turned off, not just recoloured. */
.product-card .product-card-inner {
    box-shadow: none !important;
    border: none !important;
    background: #ffffff !important;
    aspect-ratio: auto !important;
    height: auto !important;
}
.product-card:hover .product-card-inner {
    box-shadow: none !important;
}
.product-card-inner::after {
    content: none !important;
    display: none !important;
}
.product-card-content {
    position: static !important;
    padding: 12px 2px 0 !important;
}
.pc-stars-ratings { display: none; }
.kirbo-card-subtext {
    color: var(--kirboPink);
    font-size: 12px;
    display: block;
    margin-bottom: 4px;
}
.kirbo-category-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    border-bottom: 1px solid #eee;
    padding-bottom: 14px;
}
.kirbo-category-tabs a {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #555555;
}
.kirbo-category-tabs a.active {
    color: #000000;
    font-weight: 700;
    text-decoration: underline;
}
/* Listing page: strip Bootstrap-pill chrome */
.filter-nav-pills .filter-nav-link {
    border-radius: 4px;
}
.fsh-md-select {
    border-radius: 4px;
}

/* ---------- Shared section primitives ---------- */
.kirbo-section-title {
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #000000;
    margin-bottom: 24px;
}
.kirbo-btn-black {
    display: inline-block;
    background: #000000;
    color: #ffffff !important;
    border: none;
    border-radius: 999px;
    padding: 12px 28px;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.05em;
}
.kirbo-pill-text {
    color: var(--kirboPink);
    font-size: 12px;
}

/* Promo split banners (Exclusive Pigments / Shop Now) */
.kirbo-promo-banner {
    position: relative;
    overflow: hidden;
}
.kirbo-promo-banner img {
    width: 100%;
    display: block;
}
.kirbo-promo-divider {
    height: 4px;
    background-color: var(--kirboBlue);
}

/* Category promo banner (Brows/Lips Organic/Inorganic) */
.kirbo-category-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background-color: var(--kirboGray);
    margin-bottom: 4px;
    text-decoration: none !important;
    color: inherit;
}
.kirbo-feature-list {
    margin: 12px 0 20px;
    padding-left: 18px;
    color: #333333;
}
.kirbo-shopnow-section .kirbo-category-banner {
    background-color: var(--kirboPink);
}
.kirbo-category-banner-text {
    flex: 1 1 320px;
    padding: 40px;
}
.kirbo-category-banner-text h3 {
    text-transform: none;
    font-size: 26px;
    margin-bottom: 12px;
    color: #000000;
}
.kirbo-category-banner-desc {
    color: #333333;
    max-width: 480px;
}
.kirbo-category-banner-credit {
    display: block;
    margin-top: 16px;
    font-size: 13px;
    color: #000000;
}
.kirbo-category-banner-image {
    flex: 1 1 320px;
}
.kirbo-category-banner-image img {
    width: 100%;
    display: block;
}

/* Perfect / Professional Results */
.kirbo-results-section {
    padding: 48px 0 0;
}
.kirbo-results-strip-img {
    width: 100%;
    display: block;
}

/* Reviews */
.kirbo-reviews-section {
    padding: 48px 0;
}
.kirbo-review-card {
    border: 1px solid #eaeaea;
    border-radius: 8px;
    padding: 18px;
    height: 100%;
}
.kirbo-review-stars {
    color: #000000;
    letter-spacing: 2px;
    font-size: 13px;
}
.kirbo-verified-badge {
    font-size: 10px;
    text-transform: uppercase;
    color: #777777;
}
.kirbo-review-name {
    font-weight: 700;
    font-size: 13px;
    margin: 10px 0 6px;
    color: #000000;
}
.kirbo-review-comment {
    font-size: 13px;
    color: #333333;
}
.kirbo-review-link {
    font-size: 12px;
    font-weight: 700;
    text-decoration: underline;
    color: #000000;
}

/* Footer */
.kirbo-footer-section {
    background-color: var(--kirboGray) !important;
}

/* Product card (best sellers + listing grid) */
.kirbo-shade-count {
    color: var(--kirboPink);
    font-size: 12px;
    display: block;
    margin: 2px 0;
}

/* ---------- Product Detail Page ---------- */
.fsh-btn-dark,
.fsh-btn-warning {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
    width: 100%;
    border-radius: 999px !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.al-title-24px,
.al-title-30px {
    color: #000000;
}
.color-checkbox3-btn {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--checkbox-color);
    display: inline-block;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px #dddddd;
}
.color-checkbox3-input:checked + .color-checkbox3-btn,
.color-checkbox3-btn:has(+ .color-checkbox3-input:checked) {
    box-shadow: 0 0 0 2px #000000;
}
.fsh-tab-link.active {
    color: #000000 !important;
    border-color: #000000 !important;
}
.fsh-tab-link::after {
    background-color: #000000 !important;
}

/* Medium desktop laptops (992-1600px): tighten nav further so it still fits on one line */
@media (min-width: 992px) and (max-width: 1600px) {
    .pf-nav-link,
    .pf-mega-menu-link span {
        font-size: 10.5px !important;
        letter-spacing: -0.2px;
        padding: 20px 3px !important;
    }
    .kirbo-header-area {
        gap: 6px;
    }
    .header-access-items {
        gap: 4px !important;
    }
    .kirbo-region-pill {
        padding: 4px 8px;
        font-size: 10px;
    }
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
    .kirbo-hero-section {
        padding-top: 16px !important;
    }
    .kirbo-hero-slider,
    .kirbo-hero-slider .swiper-wrapper,
    .kirbo-hero-slider .swiper-slide,
    .kirbo-hero-slide {
        height: 560px;
    }
    .kirbo-hero-slide {
        flex-direction: column;
    }
    .kirbo-hero-text-panel,
    .kirbo-hero-image-panel {
        flex: 1 1 auto;
        max-width: 100%;
    }
    .kirbo-hero-text-panel {
        padding: 32px 24px;
        order: 2;
    }
    .kirbo-hero-image-panel {
        order: 1;
        height: 280px;
    }
    .kirbo-hero-slide2-text {
        right: 24px;
        left: 24px;
        text-align: center;
    }
    .pf-header-logo img {
        max-height: 36px;
    }
    .kirbo-category-banner {
        flex-direction: column;
    }
    .kirbo-category-banner-text {
        padding: 24px;
    }
    .kirbo-header-area {
        gap: 12px;
    }
}


/* Kirbo header/hero final visual corrections */
@media (min-width: 992px) and (max-width: 1280px) {
    .pf-header-section > .container-fluid { padding-left: 12px !important; padding-right: 12px !important; }
    .pf-header-area.kirbo-header-area { gap: 8px !important; }
    .kirbo-header-logo { width: 88px; margin-right: 2px; }
    .kirbo-header-logo img, .pf-header-logo img { width: 88px !important; max-width: 88px !important; }
    .pf-nav-link, .pf-mega-menu-link span { font-size: 8.4px !important; padding: 27px 4px 25px !important; letter-spacing: -.15px; }
    .header-access-items { gap: 5px !important; }
    .header-access-item { width: 22px !important; height: 22px !important; flex-basis: 22px !important; }
    .kirbo-lang-select { font-size: 8px; padding: 4px 6px; }
}

@media (max-width: 991px) {
    .pf-header-section, .pf-header-area.kirbo-header-area { min-height: 58px; }
    .pf-header-section > .container-fluid { padding-left: 14px !important; padding-right: 14px !important; }
    .kirbo-header-logo { width: 92px; }
    .kirbo-header-logo img, .pf-header-logo img { width: 92px !important; max-width: 92px !important; }
    .kirbo-hero-section { padding-top: 14px !important; }
    .kirbo-hero-section > .container, .kirbo-blue-divider { width: calc(100% - 28px) !important; }
    .kirbo-hero-slider, .kirbo-hero-slider .swiper-wrapper, .kirbo-hero-slider .swiper-slide, .kirbo-hero-slide {
        aspect-ratio: 1920 / 1040;
        height: auto !important;
        min-height: 390px !important;
    }
    .kirbo-hero-text-panel {
        left: 7%;
        top: 50%;
        width: 43%;
        max-width: none !important;
        transform: translateY(-50%);
    }
    .kirbo-hero-title { font-size: clamp(17px, 4vw, 23px) !important; }
    .kirbo-hero-subtitle { font-size: clamp(10px, 2.6vw, 13px) !important; max-width: 95% !important; }
    .kirbo-hero-slide2-text { right: 5%; width: 30%; }
}

@media (max-width: 575px) {
    .kirbo-hero-slider, .kirbo-hero-slider .swiper-wrapper, .kirbo-hero-slider .swiper-slide, .kirbo-hero-slide {
        aspect-ratio: auto;
        min-height: 500px !important;
    }
    .kirbo-hero-image-panel img { object-position: 56% center !important; }
    .kirbo-hero-text-panel {
        left: 7%;
        top: auto;
        bottom: 7%;
        width: 86%;
        transform: none;
        background: rgba(239,194,207,.88);
        padding: 18px !important;
    }
    .kirbo-hero-title { font-size: 22px !important; }
    .kirbo-hero-slide2-text { right: 6%; width: 40%; }
}

/* ================================================================
   KIRBO — SHOP NOW / DISCOVER PIGMENTS
   FULL-BANNER correction against approved Kirbo reference (2026-08-09)
   The admin-editable PWY9 image is the complete visual/background.
   ================================================================ */
.kirbo-shopnow-section {
    width: 100%;
    margin: 52px 0 58px !important;
    padding: 0 !important;
    background: #fff;
    overflow: visible;
}

.kirbo-shopnow-card {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: min(calc(100vw - 48px), 1380px);
    aspect-ratio: 2.88 / 1;
    min-height: 420px;
    overflow: hidden;
    background: var(--kirboPink);
    border-bottom: 5px solid var(--kirboBlue);
}

/* PWY9 is intentionally the FULL banner/background, not a left-column crop. */
.kirbo-shopnow-background {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
    border: 0 !important;
}

/* Text overlays the right/pink area already contained in the supplied artwork. */
.kirbo-shopnow-copy {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    width: 46%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: transparent !important;
    font-family: 'Onest', Arial, Helvetica, sans-serif;
    color: #000;
}

.kirbo-shopnow-copy-inner {
    width: 74%;
    max-width: 470px;
    margin: 0 auto;
    padding: 16px 0 12px;
}

.kirbo-shopnow-copy h3 {
    margin: 0 0 22px;
    font-family: 'Onest', Arial, Helvetica, sans-serif;
    font-size: 21px;
    line-height: 1.24;
    font-weight: 400;
    letter-spacing: 0;
    color: #000;
    text-transform: none;
}

.kirbo-shopnow-intro,
.kirbo-shopnow-outro,
.kirbo-shopnow-features {
    font-size: 15px;
    line-height: 1.34;
    font-weight: 400;
    color: #000;
}

.kirbo-shopnow-intro { margin: 0 0 20px; }
.kirbo-shopnow-features {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
}
.kirbo-shopnow-features li {
    margin: 0;
    padding: 0;
}
.kirbo-shopnow-features li::before {
    content: '•';
    display: inline-block;
    margin-right: 3px;
}
.kirbo-shopnow-outro { margin: 0 0 24px; }
.kirbo-shopnow-action { text-align: center; }
.kirbo-shopnow-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 128px;
    min-height: 38px;
    padding: 8px 22px;
    border-radius: 999px;
    background: #000 !important;
    color: #fff !important;
    font-size: 12px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none !important;
}

@media (max-width: 991.98px) {
    .kirbo-shopnow-card {
        width: calc(100vw - 24px);
        min-height: 390px;
        aspect-ratio: 2.2 / 1;
    }
    .kirbo-shopnow-copy { width: 50%; }
    .kirbo-shopnow-copy-inner { width: 82%; }
    .kirbo-shopnow-copy h3 { font-size: 18px; margin-bottom: 14px; }
    .kirbo-shopnow-intro,
    .kirbo-shopnow-outro,
    .kirbo-shopnow-features { font-size: 13px; line-height: 1.28; }
}

@media (max-width: 767.98px) {
    .kirbo-shopnow-section { margin: 28px 0 36px !important; }
    .kirbo-shopnow-card {
        width: calc(100vw - 20px);
        aspect-ratio: auto;
        min-height: 620px;
        background: var(--kirboPink);
    }
    .kirbo-shopnow-background {
        height: 52% !important;
        object-fit: cover !important;
        object-position: left center !important;
    }
    .kirbo-shopnow-copy {
        top: 52%;
        width: 100%;
        height: 48%;
        background: var(--kirboPink) !important;
    }
    .kirbo-shopnow-copy-inner {
        width: 88%;
        max-width: none;
        padding: 18px 0;
    }
    .kirbo-shopnow-copy h3 { font-size: 18px; }
    .kirbo-shopnow-intro,
    .kirbo-shopnow-outro,
    .kirbo-shopnow-features { font-size: 13px; }
}


/* ================================================================
   KIRBO — SAFE RESPONSIVE PASS
   Header + Hero + Discover only.
   IMPORTANT: no Swiper wrapper/slide transform/layout overrides.
   ================================================================ */

/* Fluid desktop canvas: remove the old fixed 1380px visual cap only from
   the outer Kirbo banner containers. The slider internals remain untouched. */
@media (min-width: 992px) {
    .kirbo-hero-section > .container {
        width: calc(100% - clamp(32px, 3.2vw, 72px)) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .kirbo-blue-divider {
        width: calc(100% - clamp(32px, 3.2vw, 72px)) !important;
        max-width: none !important;
    }

    .kirbo-shopnow-card {
        width: calc(100vw - clamp(32px, 3.2vw, 72px)) !important;
        max-width: none !important;
    }

    /* Keep the supplied artwork fully visible and proportionate. */
    .kirbo-hero-slider,
    .kirbo-hero-slide,
    .kirbo-shopnow-card {
        max-height: none !important;
    }
}

/* Large screens: banners become generous but retain safe breathing room. */
@media (min-width: 1600px) {
    .kirbo-hero-section > .container,
    .kirbo-blue-divider {
        width: calc(100% - 64px) !important;
    }

    .kirbo-shopnow-card {
        width: calc(100vw - 64px) !important;
    }

    .kirbo-hero-text-panel {
        left: 7.2%;
        width: 37%;
        max-width: 560px !important;
    }

    .kirbo-hero-title {
        font-size: clamp(24px, 1.55vw, 32px) !important;
    }

    .kirbo-hero-subtitle {
        font-size: clamp(12px, .82vw, 15px) !important;
        max-width: 430px !important;
    }

    .kirbo-shopnow-copy-inner {
        width: 72%;
        max-width: 560px;
    }

    .kirbo-shopnow-copy h3 {
        font-size: clamp(21px, 1.35vw, 27px);
    }

    .kirbo-shopnow-intro,
    .kirbo-shopnow-outro,
    .kirbo-shopnow-features {
        font-size: clamp(15px, .92vw, 18px);
    }
}

/* Tablet: preserve the real banner artwork rather than re-engineering Swiper.
   We scale the outer frame and overlay typography only. */
@media (min-width: 768px) and (max-width: 991.98px) {
    .kirbo-hero-section > .container,
    .kirbo-blue-divider {
        width: calc(100% - 28px) !important;
        max-width: none !important;
    }

    .kirbo-hero-slider,
    .kirbo-hero-slider .swiper-wrapper,
    .kirbo-hero-slider .swiper-slide,
    .kirbo-hero-slide {
        aspect-ratio: 1920 / 788 !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .kirbo-hero-text-panel {
        left: 6.5%;
        top: 50%;
        bottom: auto;
        width: 40%;
        transform: translateY(-50%);
        padding: 0 !important;
        background: transparent !important;
    }

    .kirbo-hero-title {
        font-size: clamp(15px, 2.5vw, 21px) !important;
        margin-bottom: 9px !important;
    }

    .kirbo-hero-subtitle {
        font-size: clamp(9px, 1.55vw, 12px) !important;
        margin-bottom: 13px !important;
        max-width: 95% !important;
    }

    .kirbo-hero-text-panel .kirbo-btn-black {
        padding: 8px 14px !important;
        font-size: 8px !important;
    }

    .kirbo-hero-slide2-text {
        right: 5%;
        width: 28%;
    }

    .kirbo-shopnow-card {
        width: calc(100vw - 28px) !important;
        min-height: 0 !important;
        aspect-ratio: 2.88 / 1 !important;
    }

    .kirbo-shopnow-copy {
        top: 0 !important;
        right: 0 !important;
        width: 46% !important;
        height: 100% !important;
        background: transparent !important;
    }

    .kirbo-shopnow-background {
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    .kirbo-shopnow-copy-inner {
        width: 78%;
        padding: 10px 0;
    }

    .kirbo-shopnow-copy h3 {
        font-size: clamp(15px, 2vw, 18px);
        margin-bottom: 12px;
    }

    .kirbo-shopnow-intro,
    .kirbo-shopnow-outro,
    .kirbo-shopnow-features {
        font-size: clamp(10px, 1.45vw, 13px);
        line-height: 1.24;
    }

    .kirbo-shopnow-intro,
    .kirbo-shopnow-features {
        margin-bottom: 12px;
    }

    .kirbo-shopnow-outro {
        margin-bottom: 14px;
    }

    .kirbo-shopnow-btn {
        min-width: 110px;
        min-height: 32px;
        padding: 7px 16px;
        font-size: 10px;
    }
}

/* Mobile: keep the header usable and show the banner artwork clearly.
   We do not touch Swiper transforms; only the visible slide frame gets height. */
@media (max-width: 767.98px) {
    body {
        overflow-x: hidden;
    }

    .pf-header-section {
        border-bottom-width: 2px !important;
    }

    .kirbo-header-logo,
    .kirbo-header-logo img,
    .pf-header-logo img {
        width: 84px !important;
        max-width: 84px !important;
    }

    .kirbo-hero-section {
        padding-top: 10px !important;
    }

    .kirbo-hero-section > .container,
    .kirbo-blue-divider {
        width: calc(100% - 16px) !important;
        max-width: none !important;
    }

    /* A taller frame makes the supplied wide artwork readable on phones,
       while leaving Swiper's own transform mechanics intact. */
    .kirbo-hero-slider {
        aspect-ratio: auto !important;
        height: clamp(390px, 118vw, 520px) !important;
        min-height: 0 !important;
    }

    .kirbo-hero-slider .swiper-wrapper,
    .kirbo-hero-slider .swiper-slide,
    .kirbo-hero-slide {
        aspect-ratio: auto !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    .kirbo-hero-image-panel img,
    .kirbo-hero-slide2-bg {
        object-fit: cover !important;
    }

    .kirbo-hero-image-panel img {
        object-position: 58% center !important;
    }

    .kirbo-hero-text-panel {
        left: 5% !important;
        bottom: 5% !important;
        top: auto !important;
        width: 90% !important;
        max-width: none !important;
        transform: none !important;
        padding: 16px !important;
        background: rgba(239, 194, 207, .92) !important;
        box-sizing: border-box;
    }

    .kirbo-hero-title {
        font-size: clamp(19px, 6vw, 25px) !important;
        margin-bottom: 9px !important;
    }

    .kirbo-hero-subtitle {
        font-size: clamp(11px, 3.4vw, 14px) !important;
        max-width: 100% !important;
        margin-bottom: 12px !important;
    }

    .kirbo-hero-slide2-text {
        right: 5% !important;
        width: 46% !important;
    }

    .kirbo-hero-slide2-text h2 {
        font-size: clamp(16px, 5vw, 22px) !important;
    }

    .kirbo-shopnow-section {
        margin: 24px 0 32px !important;
    }

    .kirbo-shopnow-card {
        width: calc(100vw - 16px) !important;
        aspect-ratio: auto !important;
        min-height: 0 !important;
        height: auto !important;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        overflow: hidden;
    }

    /* On phones the full supplied banner artwork is shown first without crop.
       Text follows underneath, still using the same admin-editable PWY fields. */
    .kirbo-shopnow-background {
        position: relative !important;
        inset: auto !important;
        z-index: 1;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
        grid-row: 1;
    }

    .kirbo-shopnow-copy {
        position: relative !important;
        inset: auto !important;
        z-index: 2;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        grid-row: 2;
        background: var(--kirboPink) !important;
        padding: 22px 0 20px;
    }

    .kirbo-shopnow-copy-inner {
        width: calc(100% - 40px);
        max-width: none;
        padding: 0;
    }

    .kirbo-shopnow-copy h3 {
        font-size: clamp(17px, 5vw, 21px);
        margin-bottom: 14px;
    }

    .kirbo-shopnow-intro,
    .kirbo-shopnow-outro,
    .kirbo-shopnow-features {
        font-size: clamp(12px, 3.5vw, 14px);
        line-height: 1.32;
    }

    .kirbo-shopnow-intro,
    .kirbo-shopnow-features {
        margin-bottom: 14px;
    }

    .kirbo-shopnow-outro {
        margin-bottom: 18px;
    }
}

/* Small phones */
@media (max-width: 420px) {
    .kirbo-hero-slider {
        height: clamp(380px, 128vw, 500px) !important;
    }

    .kirbo-hero-text-panel {
        padding: 14px !important;
    }

    .kirbo-shopnow-copy-inner {
        width: calc(100% - 28px);
    }
}


/* ================================================================
   KIRBO — RESPONSIVE HEADER + HERO SCALE V2
   Builds on the last safe responsive version.
   No Swiper transform/position overrides.
   ================================================================ */

/* Fluid header shell instead of the old fixed-width inner container */
@media (min-width: 992px) {
    .pf-header-section .container,
    .pf-header-section .container-fluid,
    .kirbo-header-inner,
    .kirbo-header-wrap {
        width: calc(100% - clamp(28px, 3vw, 64px)) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Larger logo while preserving ratio */
    .kirbo-header-logo,
    .pf-header-logo {
        flex: 0 0 auto !important;
        width: clamp(108px, 8.5vw, 150px) !important;
        max-width: none !important;
    }

    .kirbo-header-logo img,
    .pf-header-logo img {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        object-fit: contain !important;
    }

    /* Let the navigation use the available width rather than staying boxed */
    .kirbo-header-nav,
    .pf-header-menu,
    .pf-header-menu > ul,
    .kirbo-main-menu {
        max-width: none !important;
    }
}

/* Hero typography scales proportionally with the now-fluid banner */
@media (min-width: 1200px) {
    .kirbo-hero-text-panel {
        left: clamp(5.5%, 7vw, 8%) !important;
        width: clamp(34%, 37%, 40%) !important;
        max-width: 680px !important;
    }

    .kirbo-hero-title {
        font-size: clamp(27px, 2.05vw, 42px) !important;
        line-height: 1.03 !important;
        letter-spacing: -0.02em !important;
        margin-bottom: clamp(14px, 1vw, 22px) !important;
    }

    .kirbo-hero-subtitle {
        font-size: clamp(14px, 1.02vw, 20px) !important;
        line-height: 1.34 !important;
        max-width: 560px !important;
        margin-bottom: clamp(18px, 1.35vw, 28px) !important;
    }

    .kirbo-hero-text-panel .kirbo-btn-black {
        font-size: clamp(10px, .7vw, 13px) !important;
        line-height: 1 !important;
        padding: clamp(10px, .75vw, 14px) clamp(18px, 1.5vw, 28px) !important;
        min-height: 0 !important;
    }
}

/* Extra-large screens: keep type visually balanced with banner size */
@media (min-width: 1600px) {
    .kirbo-hero-title {
        font-size: clamp(34px, 2.15vw, 48px) !important;
    }

    .kirbo-hero-subtitle {
        font-size: clamp(16px, 1.02vw, 21px) !important;
        max-width: 600px !important;
    }

    .kirbo-header-logo,
    .pf-header-logo {
        width: clamp(132px, 8vw, 170px) !important;
    }
}

/* Medium desktop: avoid menu squeeze while keeping logo larger */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .kirbo-header-logo,
    .pf-header-logo {
        width: 104px !important;
    }

    .kirbo-hero-title {
        font-size: clamp(23px, 2.4vw, 29px) !important;
    }

    .kirbo-hero-subtitle {
        font-size: clamp(12px, 1.25vw, 15px) !important;
    }
}

/* Tablet logo */
@media (min-width: 768px) and (max-width: 991.98px) {
    .kirbo-header-logo,
    .pf-header-logo {
        width: 96px !important;
        max-width: 96px !important;
    }

    .kirbo-header-logo img,
    .pf-header-logo img {
        width: 96px !important;
        max-width: 96px !important;
        height: auto !important;
    }
}

/* Mobile logo: visible but not oversized */
@media (max-width: 767.98px) {
    .kirbo-header-logo,
    .pf-header-logo {
        width: 92px !important;
        max-width: 92px !important;
    }

    .kirbo-header-logo img,
    .pf-header-logo img {
        width: 92px !important;
        max-width: 92px !important;
        height: auto !important;
    }
}


/* ================================================================
   KIRBO — HEADER TARGET REFINEMENT
   Compact target-like nav + 90px sticky header + 10px blue dividers
   ================================================================ */

.pf-header-section {
    min-height: 90px !important;
}

.pf-header-area.kirbo-header-area {
    min-height: 90px !important;
}

/* User-requested thicker Kirbo blue rule */
.kirbo-blue-divider {
    height: 10px !important;
}

/* Desktop: make header read like the supplied target.
   Large logo, menu immediately after it, no excessive empty flex spacing. */
@media (min-width: 992px) {
    .pf-header-section > .container-fluid,
    .pf-header-section .container,
    .pf-header-section .container-fluid,
    .kirbo-header-inner,
    .kirbo-header-wrap {
        width: calc(100% - 48px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .pf-header-area.kirbo-header-area {
        justify-content: flex-start !important;
        gap: 12px !important;
    }

    .kirbo-header-logo,
    .pf-header-logo {
        width: clamp(132px, 9vw, 165px) !important;
        max-width: 165px !important;
        margin-right: 5px !important;
        flex: 0 0 auto !important;
    }

    .kirbo-header-logo img,
    .pf-header-logo img {
        width: 100% !important;
        max-width: 165px !important;
        height: auto !important;
    }

    /* Do not let the nav consume all free space.
       It should sit directly after the logo like the reference. */
    .kirbo-header-navbar {
        flex: 0 1 auto !important;
        width: auto !important;
        max-width: calc(100% - 360px) !important;
        min-width: 0 !important;
    }

    .kirbo-nav,
    .kirbo-header-navbar ul {
        justify-content: flex-start !important;
        gap: 0 !important;
        width: max-content !important;
        max-width: 100% !important;
    }

    .pf-nav-link,
    .pf-mega-menu-link span {
        font-size: clamp(9px, .62vw, 11px) !important;
        letter-spacing: -0.12px !important;
        padding: 34px 5px 32px !important;
    }

    .kirbo-header-area .pf-header-right {
        margin-left: auto !important;
        padding-left: 8px !important;
        flex: 0 0 auto !important;
    }

    .header-access-items {
        gap: 6px !important;
    }

    .kirbo-region-pill {
        margin-right: 4px !important;
    }
}

/* Large desktop: slightly more breathing room without recreating the old gaps */
@media (min-width: 1600px) {
    .pf-header-section > .container-fluid,
    .pf-header-section .container,
    .pf-header-section .container-fluid {
        width: calc(100% - 64px) !important;
    }

    .pf-nav-link,
    .pf-mega-menu-link span {
        font-size: 11px !important;
        padding-left: 7px !important;
        padding-right: 7px !important;
    }
}

/* Medium desktop: keep every menu item on one line */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .kirbo-header-logo,
    .pf-header-logo {
        width: 118px !important;
        max-width: 118px !important;
    }

    .kirbo-header-navbar {
        max-width: calc(100% - 310px) !important;
    }

    .pf-nav-link,
    .pf-mega-menu-link span {
        font-size: 8.5px !important;
        padding-left: 3px !important;
        padding-right: 3px !important;
    }
}

/* Keep mobile/tablet header practical; 90px request is desktop visual target. */
@media (max-width: 991.98px) {
    .pf-header-section,
    .pf-header-area.kirbo-header-area {
        min-height: 66px !important;
    }

    .kirbo-blue-divider {
        height: 7px !important;
    }
}


/* ================================================================
   KIRBO — NAV VISIBILITY + EDGE-TO-EDGE BANNERS
   2026-08-09
   ================================================================ */

/* 1) Desktop navigation: larger, more readable, but still compact enough
      to keep the full menu on one line. */
@media (min-width: 992px) {
    .pf-nav-link,
    .pf-mega-menu-link span {
        font-size: clamp(10px, .72vw, 12px) !important;
        font-weight: 500 !important;
        line-height: 1.1 !important;
        letter-spacing: -0.08px !important;
        padding-left: 3px !important;
        padding-right: 3px !important;
    }

    .kirbo-header-navbar {
        max-width: calc(100% - 335px) !important;
    }

    .pf-header-area.kirbo-header-area {
        gap: 8px !important;
    }
}

@media (min-width: 1400px) {
    .pf-nav-link,
    .pf-mega-menu-link span {
        font-size: 12px !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .pf-nav-link,
    .pf-mega-menu-link span {
        font-size: 9.6px !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
    }

    .kirbo-header-navbar {
        max-width: calc(100% - 300px) !important;
    }
}

/* 2) Main Kirbo visual banners: true edge-to-edge, no left/right gutters. */
.kirbo-hero-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.kirbo-hero-section > .container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.kirbo-hero-slider,
.kirbo-hero-slide,
.kirbo-hero-slide img {
    width: 100% !important;
    max-width: none !important;
}

.kirbo-blue-divider {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Discover / Shop Now full banner */
.kirbo-shopnow-section {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.kirbo-shopnow-card {
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: none !important;
}

/* Any standalone Kirbo promo artwork should also reach edge-to-edge. */
.kirbo-promo-banner {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.kirbo-promo-banner img,
.kirbo-results-strip-img {
    width: 100% !important;
    max-width: none !important;
}

/* Keep full-width treatment safe on tablets/mobile too. */
@media (max-width: 991.98px) {
    .kirbo-hero-section > .container,
    .kirbo-blue-divider {
        width: 100% !important;
        max-width: none !important;
    }

    .kirbo-shopnow-card {
        width: 100vw !important;
    }
}


/* ================================================================
   KIRBO — NAV + BEST SELLERS REFINEMENT
   Larger readable menu, full-width Best Sellers, no Explore button.
   ================================================================ */

/* Desktop menu: use the available horizontal space efficiently. */
@media (min-width: 1200px) {
    .pf-header-area.kirbo-header-area {
        gap: 5px !important;
    }

    .kirbo-header-logo,
    .pf-header-logo {
        margin-right: 2px !important;
    }

    .kirbo-header-navbar {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    .kirbo-nav,
    .kirbo-header-navbar ul {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        max-width: none !important;
        gap: 0 !important;
    }

    .pf-nav-link,
    .pf-mega-menu-link span {
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: 1.05 !important;
        letter-spacing: -0.22px !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
        white-space: nowrap !important;
    }

    .kirbo-header-area .pf-header-right {
        margin-left: 8px !important;
        padding-left: 0 !important;
    }
}

@media (min-width: 1500px) {
    .pf-nav-link,
    .pf-mega-menu-link span {
        font-size: 13px !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}

/* Keep medium desktop readable without wrapping. */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .pf-nav-link,
    .pf-mega-menu-link span {
        font-size: 10px !important;
        font-weight: 500 !important;
        letter-spacing: -0.25px !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
        white-space: nowrap !important;
    }

    .pf-header-area.kirbo-header-area {
        gap: 3px !important;
    }

    .kirbo-header-navbar {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
    }
}

/* Best Sellers: full available page width. */
.kirbo-bestsellers-section {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.kirbo-bestsellers-section > .container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* Hide Explore Collection without deleting the builder/admin field. */
.kirbo-bestsellers-section .bestsellers-title-right {
    display: none !important;
}

/* Title can use the full row now that the button is hidden. */
.kirbo-bestsellers-section .bestsellers-title-area {
    width: 100% !important;
    display: block !important;
}

.kirbo-bestsellers-section .bestsellers-section-title {
    width: 100% !important;
    max-width: none !important;
}

/* Product row fills the entire Best Sellers width. */
.kirbo-bestsellers-section > .container > .row {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (max-width: 767.98px) {
    .kirbo-bestsellers-section > .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}


/* ================================================================
   KIRBO — HEADER MENU CLEAN V3
   Fixes:
   - balanced spacing between top-level menu items
   - dropdown/subcategories start clearly BELOW header
   - menu uses more of the available width up to CONTACT
   - preserves right-side controls
   ================================================================ */

@media (min-width: 1200px) {

    .pf-header-area.kirbo-header-area {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
    }

    .kirbo-header-logo,
    .pf-header-logo {
        flex: 0 0 150px !important;
        width: 150px !important;
        max-width: 150px !important;
        margin-right: 14px !important;
    }

    .kirbo-header-navbar {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .kirbo-nav,
    .kirbo-header-navbar > ul,
    .kirbo-header-navbar ul.navbar-nav {
        display: flex !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        width: 100% !important;
        max-width: none !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .kirbo-nav > li,
    .kirbo-header-navbar > ul > li,
    .kirbo-header-navbar ul.navbar-nav > li {
        position: relative !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pf-nav-link,
    .pf-mega-menu-link,
    .pf-mega-menu-link span {
        white-space: nowrap !important;
    }

    .pf-nav-link,
    .pf-mega-menu-link span {
        display: flex !important;
        align-items: center !important;
        min-height: 90px !important;
        font-size: 12.5px !important;
        font-weight: 500 !important;
        line-height: 1.08 !important;
        letter-spacing: -0.12px !important;
        padding: 0 2px !important;
    }

    /* Submenus must sit BELOW the 90px header, not inside/over the hero. */
    .kirbo-header-navbar .dropdown-menu,
    .kirbo-header-navbar .sub-menu,
    .kirbo-header-navbar .pf-mega-menu,
    .kirbo-header-navbar .mega-menu {
        top: 100% !important;
        margin-top: 0 !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        min-width: 180px !important;
        z-index: 99999 !important;
    }

    .kirbo-header-navbar .dropdown-menu a,
    .kirbo-header-navbar .sub-menu a,
    .kirbo-header-navbar .pf-mega-menu a,
    .kirbo-header-navbar .mega-menu a {
        display: block !important;
        padding: 10px 16px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    /* Right controls only take the width they need.
       This releases the large empty area after CONTACT. */
    .kirbo-header-area .pf-header-right,
    .pf-header-right {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        margin-left: 16px !important;
        padding-left: 0 !important;
    }

    .header-access-items {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        width: auto !important;
    }
}

/* Wide desktop: enlarge menu slightly because there is room. */
@media (min-width: 1500px) {
    .kirbo-header-logo,
    .pf-header-logo {
        flex-basis: 165px !important;
        width: 165px !important;
        max-width: 165px !important;
        margin-right: 18px !important;
    }

    .kirbo-nav,
    .kirbo-header-navbar > ul,
    .kirbo-header-navbar ul.navbar-nav {
        gap: 14px !important;
    }

    .pf-nav-link,
    .pf-mega-menu-link span {
        font-size: 13.5px !important;
    }
}

/* Medium desktop: keep everything on one line cleanly. */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .pf-header-area.kirbo-header-area {
        gap: 7px !important;
    }

    .kirbo-header-logo,
    .pf-header-logo {
        width: 118px !important;
        max-width: 118px !important;
        margin-right: 7px !important;
    }

    .kirbo-header-navbar {
        flex: 1 1 auto !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    .kirbo-nav,
    .kirbo-header-navbar > ul,
    .kirbo-header-navbar ul.navbar-nav {
        display: flex !important;
        justify-content: space-between !important;
        gap: 4px !important;
        width: 100% !important;
    }

    .pf-nav-link,
    .pf-mega-menu-link span {
        min-height: 90px !important;
        font-size: 10px !important;
        padding: 0 1px !important;
        white-space: nowrap !important;
    }

    .kirbo-header-navbar .dropdown-menu,
    .kirbo-header-navbar .sub-menu,
    .kirbo-header-navbar .pf-mega-menu,
    .kirbo-header-navbar .mega-menu {
        top: 100% !important;
        margin-top: 0 !important;
        z-index: 99999 !important;
    }

    .kirbo-header-area .pf-header-right,
    .pf-header-right {
        margin-left: 8px !important;
        flex: 0 0 auto !important;
        width: auto !important;
    }
}

/* Keep the 90px desktop header line-up exact. */
@media (min-width: 992px) {
    .pf-header-section,
    .pf-header-area.kirbo-header-area {
        min-height: 90px !important;
    }
}


/* ================================================================
   KIRBO — FINAL HEADER NAV FIX
   Actual Blade classes: .pf-navbar-nav / .kirbo-nav / .kirbo-nav-dropdown
   ================================================================ */

/* Never show old inline subcategory labels if an old cached Blade survives. */
.kirbo-nav-sublist {
    display: none !important;
}

/* Desktop header/nav layout */
@media (min-width: 992px) {
    .pf-header-section,
    .pf-header-area.kirbo-header-area {
        min-height: 90px !important;
    }

    .pf-header-section > .container-fluid {
        width: 100% !important;
        max-width: none !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .pf-header-area.kirbo-header-area {
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
    }

    .kirbo-header-logo,
    .pf-header-logo {
        flex: 0 0 145px !important;
        width: 145px !important;
        max-width: 145px !important;
        margin: 0 6px 0 0 !important;
    }

    .kirbo-header-logo img,
    .pf-header-logo img {
        width: 145px !important;
        max-width: 145px !important;
        height: auto !important;
    }

    .kirbo-header-navbar {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        overflow: visible !important;
    }

    .kirbo-header-navbar > .d-none.d-lg-block {
        width: 100% !important;
    }

    ul.pf-navbar-nav.kirbo-nav {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 8px !important;
        list-style: none !important;
    }

    ul.pf-navbar-nav.kirbo-nav > li.pf-nav-item {
        position: relative !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    ul.pf-navbar-nav.kirbo-nav > li > .pf-nav-link {
        display: flex !important;
        align-items: center !important;
        min-height: 90px !important;
        padding: 0 2px !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: 1.08 !important;
        letter-spacing: -0.18px !important;
        white-space: nowrap !important;
    }

    .kirbo-header-area .pf-header-right {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        margin-left: 8px !important;
        padding-left: 0 !important;
    }

    .header-access-items {
        gap: 7px !important;
        width: auto !important;
    }

    /* Proper dropdown: hidden until hover/focus, directly below parent item. */
    ul.pf-navbar-nav.kirbo-nav .kirbo-nav-dropdown {
        display: none !important;
        position: absolute !important;
        top: calc(100% - 1px) !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        min-width: 170px !important;
        width: max-content !important;
        margin: 0 !important;
        padding: 8px 0 !important;
        list-style: none !important;
        background: #fff !important;
        border: 1px solid #eeeeee !important;
        box-shadow: 0 10px 24px rgba(0,0,0,.10) !important;
        z-index: 99999 !important;
    }

    ul.pf-navbar-nav.kirbo-nav .kirbo-nav-item-have-sub:hover > .kirbo-nav-dropdown,
    ul.pf-navbar-nav.kirbo-nav .kirbo-nav-item-have-sub:focus-within > .kirbo-nav-dropdown {
        display: block !important;
    }

    ul.pf-navbar-nav.kirbo-nav .kirbo-nav-dropdown-link {
        display: block !important;
        padding: 10px 18px !important;
        color: #000 !important;
        font-family: 'Onest', Arial, Helvetica, sans-serif !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: 1.2 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
    }

    ul.pf-navbar-nav.kirbo-nav .kirbo-nav-dropdown-link:hover {
        color: var(--kirboBlue) !important;
        background: #fafafa !important;
    }
}

/* Wider desktop: use the room, like the supplied target. */
@media (min-width: 1450px) {
    .pf-header-section > .container-fluid {
        padding-left: 28px !important;
        padding-right: 28px !important;
    }

    .kirbo-header-logo,
    .pf-header-logo {
        flex-basis: 155px !important;
        width: 155px !important;
        max-width: 155px !important;
        margin-right: 10px !important;
    }

    .kirbo-header-logo img,
    .pf-header-logo img {
        width: 155px !important;
        max-width: 155px !important;
    }

    ul.pf-navbar-nav.kirbo-nav {
        gap: 11px !important;
    }

    ul.pf-navbar-nav.kirbo-nav > li > .pf-nav-link {
        font-size: 13px !important;
    }
}

/* Medium desktop: preserve one line without making the nav microscopic. */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .kirbo-header-logo,
    .pf-header-logo {
        flex-basis: 116px !important;
        width: 116px !important;
        max-width: 116px !important;
        margin-right: 3px !important;
    }

    .kirbo-header-logo img,
    .pf-header-logo img {
        width: 116px !important;
        max-width: 116px !important;
    }

    ul.pf-navbar-nav.kirbo-nav {
        gap: 3px !important;
    }

    ul.pf-navbar-nav.kirbo-nav > li > .pf-nav-link {
        font-size: 9.6px !important;
        padding: 0 1px !important;
    }

    .kirbo-header-area .pf-header-right {
        margin-left: 4px !important;
    }
}


/* ================================================================
   KIRBO — CATEGORY BANNERS AUTO SLIDER
   Four category banners, one full-width section.
   Uses the same visual language as the Discover banner.
   ================================================================ */

.kirbo-category-slider-section {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.kirbo-category-slider {
    width: 100%;
    overflow: hidden;
}

.kirbo-category-slider .swiper-wrapper,
.kirbo-category-slider .swiper-slide {
    width: 100%;
}

.kirbo-category-slide {
    position: relative;
    display: block;
    width: 100%;
    min-height: clamp(420px, 38vw, 650px);
    overflow: hidden;
    text-decoration: none !important;
    color: #000 !important;
    background: var(--kirboGray);
}

.kirbo-category-slide-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kirbo-category-slide-copy {
    position: absolute;
    z-index: 2;
    left: clamp(32px, 6vw, 110px);
    top: 50%;
    transform: translateY(-50%);
    width: min(38%, 560px);
    color: #000;
}

.kirbo-category-slide-copy h3 {
    margin: 0 0 18px;
    font-family: 'Onest', Arial, Helvetica, sans-serif;
    font-size: clamp(26px, 2.2vw, 42px);
    font-weight: 400;
    line-height: 1.06;
    text-transform: none;
    color: #000;
}

.kirbo-category-slide-copy p {
    margin: 0 0 18px;
    max-width: 520px;
    font-family: 'Onest', Arial, Helvetica, sans-serif;
    font-size: clamp(14px, 1vw, 18px);
    line-height: 1.45;
    color: #222;
}

.kirbo-category-credit {
    display: block;
    font-family: 'Onest', Arial, Helvetica, sans-serif;
    font-size: clamp(12px, .85vw, 15px);
    color: #000;
}

.kirbo-category-pagination {
    position: absolute !important;
    left: 50% !important;
    bottom: 14px !important;
    transform: translateX(-50%);
    width: auto !important;
    z-index: 5;
}

.kirbo-category-pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0 4px !important;
    background: #fff;
    opacity: .7;
}

.kirbo-category-pagination .swiper-pagination-bullet-active {
    background: var(--kirboBlue);
    opacity: 1;
}

.kirbo-category-slider-divider {
    height: 10px !important;
    width: 100% !important;
}

/* Tablet */
@media (max-width: 991.98px) {
    .kirbo-category-slide {
        min-height: clamp(360px, 55vw, 520px);
    }

    .kirbo-category-slide-copy {
        left: 5%;
        width: 44%;
    }

    .kirbo-category-slide-copy h3 {
        font-size: clamp(21px, 3.2vw, 30px);
    }

    .kirbo-category-slide-copy p {
        font-size: clamp(12px, 1.8vw, 15px);
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .kirbo-category-slide {
        min-height: 520px;
    }

    .kirbo-category-slide-bg {
        object-position: center center !important;
    }

    .kirbo-category-slide::after {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 1;
        background: linear-gradient(
            to bottom,
            rgba(255,255,255,.08) 0%,
            rgba(255,255,255,.22) 45%,
            rgba(239,194,207,.95) 100%
        );
    }

    .kirbo-category-slide-copy {
        left: 20px;
        right: 20px;
        bottom: 34px;
        top: auto;
        transform: none;
        width: auto;
    }

    .kirbo-category-slide-copy h3 {
        font-size: clamp(22px, 7vw, 30px);
        margin-bottom: 12px;
    }

    .kirbo-category-slide-copy p {
        font-size: 13px;
        line-height: 1.38;
        margin-bottom: 12px;
    }

    .kirbo-category-credit {
        font-size: 12px;
    }
}


/* ================================================================
   KIRBO — BEST SELLERS IMAGE UNIFORMITY + CATEGORY TARGET TYPOGRAPHY
   ================================================================ */

/* Best Sellers: every product gets the same visual image box.
   Product photography keeps its proportions and is never stretched. */
.kirbo-bestsellers-section .product-card-inner > img.banner {
    display: block !important;
    width: 100% !important;
    height: clamp(280px, 25vw, 390px) !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #eef2f5 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.kirbo-bestsellers-section .product-card-inner {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.kirbo-bestsellers-section .product-card-content {
    flex: 1 1 auto !important;
}

/* Keep all six cards aligned along the same top/bottom rhythm. */
.kirbo-bestsellers-section .row.gx-3 > [class*="col-"] {
    display: flex !important;
}

.kirbo-bestsellers-section .product-card {
    width: 100% !important;
    display: block !important;
}

/* Category banners — target uses a soft rounded geometric sans.
   Prefer Avenir/Onest when available, with safe system fallbacks. */
.kirbo-category-slide-copy,
.kirbo-category-slide-copy h3,
.kirbo-category-slide-copy p,
.kirbo-category-credit {
    font-family: "Avenir Next", "Onest", "Century Gothic", "Trebuchet MS", Arial, sans-serif !important;
}

.kirbo-category-slide-copy {
    left: clamp(64px, 6.3vw, 120px) !important;
    width: min(43%, 660px) !important;
}

.kirbo-category-slide-copy h3 {
    max-width: 580px !important;
    margin-bottom: 24px !important;
    font-size: clamp(30px, 2.45vw, 46px) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
}

.kirbo-category-slide-copy p {
    max-width: 650px !important;
    margin-bottom: 0 !important;
    font-size: clamp(15px, 1.14vw, 21px) !important;
    line-height: 1.62 !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
}

/* Signature exactly where the supplied reference places it:
   bottom-right under the pigment artwork. */
.kirbo-category-credit {
    position: absolute !important;
    z-index: 3 !important;
    right: clamp(70px, 9vw, 180px) !important;
    bottom: clamp(24px, 3.1vw, 52px) !important;
    left: auto !important;
    top: auto !important;
    display: block !important;
    margin: 0 !important;
    color: #000 !important;
    font-size: clamp(22px, 2vw, 38px) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

/* Slightly taller desktop category banner to match the reference proportions. */
@media (min-width: 992px) {
    .kirbo-category-slide {
        min-height: clamp(500px, 39vw, 700px) !important;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
    .kirbo-bestsellers-section .product-card-inner > img.banner {
        height: clamp(240px, 35vw, 330px) !important;
    }

    .kirbo-category-slide-copy {
        left: 5% !important;
        width: 45% !important;
    }

    .kirbo-category-slide-copy h3 {
        font-size: clamp(23px, 3.4vw, 32px) !important;
        margin-bottom: 16px !important;
    }

    .kirbo-category-slide-copy p {
        font-size: clamp(12px, 1.75vw, 15px) !important;
        line-height: 1.48 !important;
    }

    .kirbo-category-credit {
        right: 7% !important;
        bottom: 24px !important;
        font-size: clamp(18px, 2.9vw, 25px) !important;
    }
}

/* Mobile: equal card images and readable banner copy.
   Signature remains visually distinct without covering the artwork. */
@media (max-width: 767.98px) {
    .kirbo-bestsellers-section .product-card-inner > img.banner {
        height: clamp(210px, 68vw, 300px) !important;
    }

    .kirbo-category-credit {
        right: 20px !important;
        bottom: 16px !important;
        font-size: clamp(16px, 5vw, 22px) !important;
        color: #000 !important;
    }

    .kirbo-category-slide-copy h3 {
        font-size: clamp(23px, 7vw, 31px) !important;
    }

    .kirbo-category-slide-copy p {
        font-size: 13px !important;
        line-height: 1.42 !important;
    }
}


/* ================================================================
   KIRBO — REVIEWS + FOOTER WYSIWYG PASS
   Reference target: 4 review cards + pale blue 5-column footer.
   ================================================================ */

/* ---------- Reviews ---------- */
.kirbo-reviews-section {
    width: 100% !important;
    padding: 54px 0 52px !important;
    margin: 0 !important;
    background: #fbfbfa !important;
}

.kirbo-reviews-inner {
    width: calc(100% - 52px);
    max-width: none;
    margin: 0 auto;
}

.kirbo-reviews-title {
    margin: 0 0 24px !important;
    padding: 0 !important;
    color: #111 !important;
    font-family: "Onest", "Avenir Next", Arial, sans-serif !important;
    font-size: clamp(26px, 2vw, 36px) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: -0.035em !important;
    text-transform: uppercase !important;
}

.kirbo-reviews-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
}

.kirbo-review-card {
    min-height: 166px !important;
    height: 100% !important;
    padding: 17px 16px 15px !important;
    border: 1.35px solid #333 !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #111 !important;
    font-family: "Onest", "Avenir Next", Arial, sans-serif !important;
}

.kirbo-review-topline {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 7px !important;
}

.kirbo-review-stars {
    color: #000 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: 1px !important;
}

.kirbo-verified-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: #555 !important;
    font-size: 8px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.kirbo-verified-seal {
    color: var(--kirboPink) !important;
    font-size: 11px !important;
    line-height: 1 !important;
}

.kirbo-review-headline {
    min-height: 0 !important;
    margin: 0 0 3px !important;
    color: #111 !important;
    font-size: 9px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}

.kirbo-review-name {
    margin: 0 0 13px !important;
    color: #111 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.kirbo-review-comment {
    margin: 0 0 12px !important;
    color: #222 !important;
    font-size: 10.5px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}

.kirbo-review-link {
    display: inline-block !important;
    margin-top: auto !important;
    color: #111 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-decoration: underline !important;
    text-transform: uppercase !important;
}

/* ---------- Footer ---------- */
.kirbo-footer-section {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 44px !important;
    background: #fff !important;
}

.kirbo-footer-inner {
    width: calc(100% - 68px);
    max-width: none;
    min-height: 430px;
    margin: 0 auto;
    padding: 70px 34px 62px;
    background:
        radial-gradient(circle at 67% 18%, rgba(230,238,245,.80) 0, rgba(230,238,245,0) 38%),
        linear-gradient(105deg, #eef3f6 0%, #e7eef3 52%, #edf3f7 100%);
    box-sizing: border-box;
}

.kirbo-footer-grid {
    display: grid;
    grid-template-columns: minmax(360px, 1.65fr) .72fr .95fr 1fr .85fr;
    gap: clamp(34px, 4vw, 78px);
    align-items: start;
    width: 100%;
}

.kirbo-footer-logo {
    display: block;
    width: 165px;
    margin: 0 0 38px;
}

.kirbo-footer-logo img {
    display: block;
    width: 165px !important;
    max-width: 165px !important;
    height: auto !important;
    object-fit: contain !important;
}

.kirbo-vip-title {
    margin: 0 0 5px !important;
    color: #111 !important;
    font-family: "Onest", "Avenir Next", Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.kirbo-vip-text {
    max-width: 450px;
    margin: 0 0 17px !important;
    color: #111 !important;
    font-family: "Onest", "Avenir Next", Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.kirbo-newsletter-form {
    display: flex;
    align-items: stretch;
    width: min(100%, 500px);
    margin: 0 0 12px;
}

.kirbo-newsletter-form input {
    flex: 1 1 auto;
    min-width: 0;
    height: 45px !important;
    padding: 0 16px !important;
    border: 1px solid #222 !important;
    border-radius: 24px 0 0 24px !important;
    background: rgba(255,255,255,.46) !important;
    color: #111 !important;
    outline: 0 !important;
    font-family: "Onest", Arial, sans-serif !important;
    font-size: 12px !important;
}

.kirbo-newsletter-form button {
    flex: 0 0 92px;
    height: 45px !important;
    margin-left: 6px;
    border: 1px solid #222 !important;
    border-radius: 24px !important;
    background: transparent !important;
    color: #111 !important;
    font-family: "Onest", Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
}

.kirbo-vip-consent {
    max-width: 500px;
    margin: 0 !important;
    color: #222 !important;
    font-family: "Onest", Arial, sans-serif !important;
    font-size: 9.5px !important;
    line-height: 1.35 !important;
}

.kirbo-footer-column,
.kirbo-footer-contact {
    padding-top: 101px;
}

.kirbo-footer-column ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kirbo-footer-column li {
    margin: 0 0 20px !important;
    padding: 0 !important;
}

.kirbo-footer-column a,
.kirbo-footer-contact a,
.kirbo-footer-contact span {
    color: #111 !important;
    font-family: "Onest", "Avenir Next", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

.kirbo-footer-contact p {
    display: grid;
    grid-template-columns: 25px 1fr;
    align-items: start;
    gap: 10px;
    margin: 0 0 18px !important;
    color: #111 !important;
}

.kirbo-footer-contact i {
    color: #111 !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.kirbo-footer-contact a,
.kirbo-footer-contact span {
    font-size: 12px !important;
}

.ft-copyright-area,
.footer-copyright-text {
    display: none !important;
}

/* ---------- Responsive reviews/footer ---------- */
@media (max-width: 1199.98px) {
    .kirbo-reviews-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .kirbo-footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr;
    }

    .kirbo-footer-contact,
    .kirbo-footer-column {
        padding-top: 28px;
    }
}

@media (max-width: 767.98px) {
    .kirbo-reviews-section {
        padding: 32px 0 34px !important;
    }

    .kirbo-reviews-inner {
        width: calc(100% - 24px);
    }

    .kirbo-reviews-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .kirbo-review-card {
        min-height: 0 !important;
    }

    .kirbo-footer-section {
        padding-bottom: 12px !important;
    }

    .kirbo-footer-inner {
        width: calc(100% - 16px);
        min-height: 0;
        padding: 34px 22px 38px;
    }

    .kirbo-footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .kirbo-footer-logo {
        width: 135px;
        margin-bottom: 26px;
    }

    .kirbo-footer-logo img {
        width: 135px !important;
        max-width: 135px !important;
    }

    .kirbo-footer-column,
    .kirbo-footer-contact {
        padding-top: 0;
    }

    .kirbo-footer-column li {
        margin-bottom: 13px !important;
    }

    .kirbo-newsletter-form {
        max-width: 100%;
    }
}


/* ================================================================
   KIRBO — FOOTER FULL WIDTH + HORIZONTAL OVERFLOW FIX
   Keeps the existing 4-review layout intact.
   ================================================================ */

/* The homepage already has four review cards when four records exist.
   No review Blade/data changes are required here. */

/* Remove the visible left/right white gutters from the footer background. */
.kirbo-footer-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 67% 18%, rgba(230,238,245,.80) 0, rgba(230,238,245,0) 38%),
        linear-gradient(105deg, #eef3f6 0%, #e7eef3 52%, #edf3f7 100%) !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
}

.kirbo-footer-inner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: clamp(28px, 4.4vw, 72px) !important;
    padding-right: clamp(28px, 4.4vw, 72px) !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* Prevent viewport-unit full-bleed helpers from creating a horizontal scrollbar.
   This fixes the bottom-left horizontal scrollbar without changing visible widths. */
html,
body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
}

#app,
main,
.kirbo-hero-section,
.kirbo-shopnow-section,
.kirbo-category-slider-section,
.kirbo-bestsellers-section,
.kirbo-reviews-section,
.kirbo-footer-section {
    max-width: 100% !important;
    overflow-x: clip !important;
}

/* These earlier 100vw rules can exceed the layout viewport by the scrollbar width.
   Use the containing viewport width safely and remove compensating negative margins. */
.kirbo-shopnow-card,
.kirbo-promo-banner {
    max-width: 100% !important;
}

.kirbo-promo-banner {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Footer remains edge-to-edge on tablet/mobile as well. */
@media (max-width: 767.98px) {
    .kirbo-footer-inner {
        width: 100% !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}


/* ================================================================
   KIRBO — COMPANY / ABOUT PAGE
   Scoped to .kirbo-company-page so finalized homepage components are untouched.
   Target: Kirboba-Profile reference.
   ================================================================ */

.kirbo-company-page {
    --kirbo-company-font: "Century Gothic", "Avenir Next", "Onest", "Trebuchet MS", Arial, sans-serif;
    width: 100%;
    max-width: 100%;
    color: #111;
    overflow-x: clip;
}

/* Hero: contained banner with small outer margins, matching target proportions */
.kirbo-company-hero {
    width: calc(100% - 56px);
    max-width: none;
    margin: 38px auto 0;
    display: grid;
    grid-template-columns: 58% 42%;
    min-height: clamp(430px, 36vw, 690px);
    background: #dfe7ec;
    overflow: hidden;
}

.kirbo-company-hero-art {
    position: relative;
    overflow: hidden;
    background: #eef1f3;
}

.kirbo-company-hero-art img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.kirbo-company-hero-copy {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 4% 7.5%;
    background: #dfe7ec;
    box-sizing: border-box;
}

.kirbo-company-hero-copy h1 {
    margin: 0;
    color: #111;
    font-family: var(--kirbo-company-font);
    font-size: clamp(31px, 2.8vw, 54px);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

/* Main page content */
.kirbo-company-content {
    width: calc(100% - 56px);
    max-width: none;
    margin: 34px auto 0;
}

.kirbo-company-strip {
    width: 100%;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 12px 24px;
    box-sizing: border-box;
    background: var(--kirboPink);
    color: #111;
    font-family: var(--kirbo-company-font);
    font-size: clamp(24px, 2vw, 36px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: .11em;
    text-align: center;
    text-transform: uppercase;
}

.kirbo-company-copy {
    width: 100%;
    margin: 0;
    padding: 28px 8px 30px;
    box-sizing: border-box;
    color: #111;
    font-family: var(--kirbo-company-font);
    font-size: clamp(12px, .84vw, 15px);
    font-weight: 400;
    line-height: 1.48;
}

.kirbo-company-copy p {
    margin: 0 0 18px;
    color: #111;
    font: inherit;
}

.kirbo-company-copy h3 {
    margin: 23px 0 4px;
    color: #111;
    font-family: var(--kirbo-company-font);
    font-size: 1em;
    font-weight: 700;
    line-height: 1.25;
    text-transform: none;
}

.kirbo-company-copy h4 {
    margin: 8px 0 3px;
    color: #111;
    font-family: var(--kirbo-company-font);
    font-size: .98em;
    font-weight: 700;
    line-height: 1.25;
}

.kirbo-company-copy ul {
    margin: 3px 0 14px 20px;
    padding: 0;
}

.kirbo-company-copy li {
    margin: 1px 0;
    padding: 0;
    line-height: 1.42;
}

.kirbo-company-products-copy {
    padding-top: 24px;
    padding-bottom: 38px;
}

/* The target has a thin pink divider before the shared Best Sellers block */
.kirbo-company-page .kirbo-bestsellers-section {
    border-top: 2px solid var(--kirboPink);
    padding-top: 34px;
}

/* Tablet */
@media (max-width: 991.98px) {
    .kirbo-company-hero,
    .kirbo-company-content {
        width: calc(100% - 28px);
    }

    .kirbo-company-hero {
        grid-template-columns: 56% 44%;
        min-height: clamp(360px, 48vw, 520px);
        margin-top: 22px;
    }

    .kirbo-company-hero-copy h1 {
        font-size: clamp(24px, 3.8vw, 36px);
    }

    .kirbo-company-strip {
        min-height: 58px;
        font-size: clamp(21px, 3vw, 28px);
    }

    .kirbo-company-copy {
        font-size: 13px;
        padding-left: 2px;
        padding-right: 2px;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .kirbo-company-hero,
    .kirbo-company-content {
        width: calc(100% - 16px);
    }

    .kirbo-company-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        margin-top: 12px;
    }

    .kirbo-company-hero-art {
        aspect-ratio: 1.15 / 1;
    }

    .kirbo-company-hero-copy {
        min-height: 210px;
        padding: 28px 24px;
    }

    .kirbo-company-hero-copy h1 {
        font-size: clamp(25px, 8vw, 36px);
        line-height: 1.12;
    }

    .kirbo-company-content {
        margin-top: 18px;
    }

    .kirbo-company-strip {
        min-height: 52px;
        padding: 10px 14px;
        font-size: 20px;
        letter-spacing: .08em;
    }

    .kirbo-company-copy {
        padding: 22px 0 26px;
        font-size: 12.5px;
        line-height: 1.48;
    }

    .kirbo-company-copy p {
        margin-bottom: 14px;
    }
}


/* ================================================================
   KIRBO — COMPANY HERO FULL BACKGROUND FIX
   The supplied Kirbo-Start-6 artwork is the full hero background.
   Text overlays on the right; no separate right-side background panel.
   ================================================================ */

.kirbo-company-hero {
    position: relative !important;
    display: block !important;
    width: calc(100% - 56px) !important;
    max-width: none !important;
    margin: 38px auto 0 !important;
    min-height: 0 !important;
    aspect-ratio: 1920 / 788 !important;
    overflow: hidden !important;
    background: transparent !important;
}

.kirbo-company-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove the previous split-panel styling completely */
.kirbo-company-hero-art {
    display: none !important;
}

.kirbo-company-hero-copy {
    position: absolute !important;
    z-index: 2 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: 44% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 7% 0 5% !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

.kirbo-company-hero-copy h1 {
    margin: 0 !important;
    color: #111 !important;
    font-family: var(--kirbo-company-font) !important;
    font-size: clamp(30px, 2.55vw, 50px) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
}

@media (max-width: 991.98px) {
    .kirbo-company-hero {
        width: calc(100% - 28px) !important;
        margin-top: 22px !important;
        aspect-ratio: 1920 / 788 !important;
    }

    .kirbo-company-hero-copy {
        width: 46% !important;
        padding: 0 5% 0 4% !important;
    }

    .kirbo-company-hero-copy h1 {
        font-size: clamp(22px, 3.7vw, 34px) !important;
    }
}

@media (max-width: 767.98px) {
    .kirbo-company-hero {
        width: calc(100% - 16px) !important;
        margin-top: 12px !important;
        aspect-ratio: auto !important;
        min-height: 430px !important;
    }

    .kirbo-company-hero-bg {
        object-position: 37% center !important;
    }

    .kirbo-company-hero-copy {
        width: 54% !important;
        padding: 0 18px !important;
        align-items: center !important;
        background: rgba(223, 231, 236, .48) !important;
    }

    .kirbo-company-hero-copy h1 {
        font-size: clamp(21px, 6vw, 30px) !important;
        line-height: 1.12 !important;
    }
}


/* ================================================================
   KIRBO — PRODUCT CATALOG FINAL SAFE UI
   Keeps desktop left filter + four view controls + existing filter logic.
   Scoped to product listing selectors only.
   ================================================================ */

/* Overall catalogue balance */
.kirbo-catalog-row {
    align-items: stretch !important;
}

.kirbo-filter-column,
.kirbo-products-column {
    display: flex !important;
    flex-direction: column !important;
}

.kirbo-products-column > * {
    width: 100% !important;
}

/* ---------- LEFT FILTER ---------- */
.kirbo-filter-column .filter-offcanvas,
.kirbo-filter-column .offcanvas-body,
.kirbo-filter-column .kirbo-filter-panel {
    height: 100% !important;
}

@media (min-width: 992px) {
    .kirbo-filter-column .filter-offcanvas {
        position: relative !important;
        visibility: visible !important;
        transform: none !important;
        border: 0 !important;
        background: transparent !important;
    }

    .kirbo-filter-column .offcanvas-header {
        display: none !important;
    }

    .kirbo-filter-column .offcanvas-body {
        display: block !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .kirbo-filter-panel {
        min-height: 100% !important;
        padding: 22px 22px 28px !important;
        border: 1px solid #ececf0 !important;
        border-radius: 12px !important;
        background: #fbfbfc !important;
        box-sizing: border-box !important;
    }
}

/* Fix invisible/white filter text */
.kirbo-filter-panel,
.kirbo-filter-panel h4,
.kirbo-filter-panel p,
.kirbo-filter-panel span,
.kirbo-filter-panel a,
.kirbo-filter-panel label,
.kirbo-filter-panel .form-check-label,
.kirbo-filter-panel .form-checkbox-label,
.kirbo-filter-panel .al-title-18px,
.kirbo-filter-panel .al-subtitle-14px,
.kirbo-filter-panel .category-nav-link {
    color: #111111 !important;
}

.kirbo-filter-panel .category-nav-link {
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

.kirbo-filter-panel .category-nav-link.active {
    font-weight: 700 !important;
}

.kirbo-filter-panel .mb-common {
    margin-bottom: 22px !important;
    padding-bottom: 22px !important;
}

.kirbo-filter-panel .mb-25px {
    margin-bottom: 16px !important;
}

.kirbo-filter-panel .fsh-border-bottom {
    border-color: #dedee4 !important;
}

/* Existing Shade/Color attributes are already dynamic in filter_sidebar.blade.php.
   Make swatches clear and premium-looking. */
.kirbo-filter-panel .color-checkbox2-btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    border-radius: 50% !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 0 0 1px #c8c8ce !important;
    cursor: pointer !important;
}

.kirbo-filter-panel .color-checkbox2-input:checked + *,
.kirbo-filter-panel .color-checkbox2-input:checked ~ .color-checkbox2-btn {
    box-shadow: 0 0 0 2px #111111 !important;
}

.kirbo-filter-panel .size-checkbox2-btn {
    color: #111111 !important;
    border-color: #d6d6dc !important;
    background: #ffffff !important;
}

/* ---------- PRODUCT GRID ---------- */
.kirbo-products-column .tab-pane .row > [class*="col-"] {
    display: flex !important;
    align-items: stretch !important;
}

.kirbo-products-column .kirbo-catalog-card {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    text-decoration: none !important;
}

.kirbo-products-column .kirbo-catalog-card .product-card-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
}

/* Exact same image stage for every card: bottles, boxes, kits, tools */
.kirbo-products-column .kirbo-catalog-card .product-card-inner > img.banner {
    display: block !important;
    width: 100% !important;
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding: 18px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border-radius: 10px !important;
    background: #eef2f6 !important;
}

/* Keep titles/prices/buttons perfectly aligned */
.kirbo-products-column .kirbo-catalog-card .product-card-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 122px !important;
    padding: 13px 2px 2px !important;
}

.kirbo-products-column .kirbo-catalog-card .kirbo-card-subtext {
    min-height: 18px !important;
    margin-bottom: 4px !important;
}

.kirbo-products-column .kirbo-catalog-card .product-card-title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    min-height: 42px !important;
    margin: 0 0 12px !important;
    line-height: 1.3 !important;
}

.kirbo-products-column .kirbo-catalog-card .product-card-content > .d-flex:last-child {
    width: 100% !important;
    margin-top: auto !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
}

.kirbo-products-column .kirbo-catalog-card .card-product-price {
    margin: 0 !important;
}

.kirbo-products-column .kirbo-catalog-card .sm-btn-outline-white {
    flex: 0 0 auto !important;
    margin: 0 0 0 auto !important;
    white-space: nowrap !important;
}

/* Larger visual stages in the user's existing 3-col and 2-col views */
.kirbo-products-column #pills-filter2 .kirbo-catalog-card .product-card-inner > img.banner {
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
}

.kirbo-products-column #pills-filter1 .kirbo-catalog-card .product-card-inner > img.banner {
    height: 440px !important;
    min-height: 440px !important;
    max-height: 440px !important;
}

/* Existing list view remains functional; just normalize its image stage. */
.kirbo-products-column #pills-filter4 .product-list-view {
    width: 100% !important;
    min-height: 250px !important;
    padding: 22px !important;
    border: 1px solid #ececf0 !important;
    border-radius: 12px !important;
}

.kirbo-products-column #pills-filter4 .product-list-banner {
    flex: 0 0 240px !important;
    width: 240px !important;
    height: 240px !important;
    background: #eef2f6 !important;
    border-radius: 10px !important;
}

.kirbo-products-column #pills-filter4 .product-list-banner img.banner {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 16px !important;
    box-sizing: border-box !important;
}

/* ---------- CATEGORY BANNER AFTER LISTING ---------- */
.kirbo-listing-category-banner {
    width: 100% !important;
    margin: 30px 0 42px !important;
    overflow: hidden !important;
}

.kirbo-listing-category-banner-link {
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
}

.kirbo-listing-category-banner img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

.kirbo-listing-category-banner .kirbo-blue-divider {
    width: 100% !important;
    height: 10px !important;
    margin: 0 !important;
    background: var(--kirboBlue) !important;
}

/* Tablet */
@media (max-width: 991.98px) {
    .kirbo-filter-column {
        display: block !important;
    }

    .kirbo-filter-panel {
        color: #111111 !important;
    }

    .kirbo-products-column .kirbo-catalog-card .product-card-inner > img.banner,
    .kirbo-products-column #pills-filter2 .kirbo-catalog-card .product-card-inner > img.banner,
    .kirbo-products-column #pills-filter1 .kirbo-catalog-card .product-card-inner > img.banner {
        height: 320px !important;
        min-height: 320px !important;
        max-height: 320px !important;
    }
}

/* Mobile */
@media (max-width: 575.98px) {
    .kirbo-products-column .kirbo-catalog-card .product-card-inner > img.banner,
    .kirbo-products-column #pills-filter2 .kirbo-catalog-card .product-card-inner > img.banner,
    .kirbo-products-column #pills-filter1 .kirbo-catalog-card .product-card-inner > img.banner {
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
    }

    .kirbo-products-column #pills-filter4 .product-list-banner {
        width: 100% !important;
        height: 300px !important;
        flex-basis: auto !important;
    }
}


/* ================================================================
   KIRBO — PRODUCT LISTING FINISH PASS
   Keep current UI/sidebar. Make catalogue nearly full-content width,
   refine spacing, and keep equal product cards/images.
   ================================================================ */

.kirbo-catalog-shell {
    width: calc(100% - 36px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.kirbo-catalog-shell .breadcrumb-area {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 26px 28px !important;
    border-radius: 12px !important;
}

.kirbo-catalog-shell .breadcrumb-area .al-title-42px {
    margin: 0 !important;
    font-size: clamp(34px, 3vw, 46px) !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
}

.kirbo-catalog-shell .breadcrumb-area .breadcrumb {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
}

.kirbo-catalog-shell .kirbo-category-tabs {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 14px !important;
}

/* Better balance between filter and products while preserving the left filter */
@media (min-width: 1200px) {
    .kirbo-catalog-main .kirbo-filter-column {
        flex: 0 0 21.5% !important;
        max-width: 21.5% !important;
    }

    .kirbo-catalog-main .kirbo-products-column {
        flex: 0 0 78.5% !important;
        max-width: 78.5% !important;
    }
}

.kirbo-catalog-main .kirbo-catalog-row {
    --bs-gutter-x: 20px !important;
}

.kirbo-products-column .filter-tab-header {
    margin-bottom: 20px !important;
    padding: 0 2px !important;
}

/* Refine the 4-column cards */
.kirbo-products-column #pills-filter3 .row {
    --bs-gutter-x: 18px !important;
    --bs-gutter-y: 24px !important;
}

.kirbo-products-column #pills-filter3 .kirbo-catalog-card .product-card-inner > img.banner {
    height: 310px !important;
    min-height: 310px !important;
    max-height: 310px !important;
    padding: 16px !important;
}

.kirbo-products-column .kirbo-catalog-card .product-card-content {
    min-height: 136px !important;
    padding: 13px 2px 4px !important;
}

.kirbo-products-column .kirbo-catalog-card .kirbo-card-subtext {
    font-size: 12px !important;
    line-height: 1.2 !important;
}

.kirbo-products-column .kirbo-catalog-card .product-card-title {
    min-height: 44px !important;
    font-size: 17px !important;
    line-height: 1.28 !important;
}

.kirbo-products-column .kirbo-catalog-card .card-product-price {
    font-size: 18px !important;
    font-weight: 700 !important;
}

.kirbo-products-column .kirbo-catalog-card .sm-btn-outline-white {
    min-height: 36px !important;
    padding: 8px 15px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Sidebar visual balance to match the grid height better */
@media (min-width: 992px) {
    .kirbo-filter-panel {
        height: 100% !important;
        min-height: 100% !important;
        border-radius: 12px !important;
        padding: 20px 18px 26px !important;
        background: #fbfbfc !important;
    }

    .kirbo-filter-column {
        align-self: stretch !important;
    }
}

/* Tablet/mobile retain the same structure cleanly */
@media (max-width: 991.98px) {
    .kirbo-catalog-shell {
        width: calc(100% - 24px) !important;
    }

    .kirbo-catalog-shell .breadcrumb-area {
        padding: 22px 18px !important;
    }
}

@media (max-width: 575.98px) {
    .kirbo-catalog-shell {
        width: calc(100% - 16px) !important;
    }

    .kirbo-catalog-shell .breadcrumb-area .al-title-42px {
        font-size: 30px !important;
    }
}


/* ================================================================
   KIRBO — PRODUCT PAGE WIDTH RESTORE
   Product/filter content, Best Sellers and Reviews = centered ~1400px.
   Pink heading bar, category artwork, Results banner and Footer = full width.
   ================================================================ */

/* Current-category pink heading: true full width */
.kirbo-products-heading-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 24px 0 0 !important;
}

.kirbo-products-heading-section .breadcrumb-area {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 16px !important;
    padding: 26px 24px !important;
    border-radius: 0 !important;
    background: var(--kirboPink) !important;
}

.kirbo-products-heading-section .breadcrumb-area .al-title-42px {
    margin: 0 !important;
    font-size: clamp(34px, 3vw, 46px) !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
}

.kirbo-products-heading-section .breadcrumb {
    margin-top: 9px !important;
    margin-bottom: 0 !important;
}

/* Normal content width — the store should not stretch across the entire screen */
.kirbo-products-centered {
    width: calc(100% - 40px) !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Keep category tabs aligned with the same centered content width */
.kirbo-products-centered .kirbo-category-tabs {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Balanced filter + product content */
@media (min-width: 1200px) {
    .kirbo-catalog-main .kirbo-filter-column {
        flex: 0 0 24% !important;
        max-width: 24% !important;
    }

    .kirbo-catalog-main .kirbo-products-column {
        flex: 0 0 76% !important;
        max-width: 76% !important;
    }
}

.kirbo-catalog-main .kirbo-catalog-row {
    --bs-gutter-x: 24px !important;
}

/* Keep the equal-card work intact */
.kirbo-products-column #pills-filter3 .row {
    --bs-gutter-x: 18px !important;
    --bs-gutter-y: 26px !important;
}

.kirbo-products-column #pills-filter3 .kirbo-catalog-card .product-card-inner > img.banner {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    object-fit: contain !important;
}

.kirbo-products-column .kirbo-catalog-card .product-card-content {
    min-height: 136px !important;
}

/* Full-width category artwork, using the category banner as the actual background */
.kirbo-listing-category-banner {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: clamp(360px, 31vw, 610px) !important;
    margin: 42px 0 46px !important;
    background-image: var(--kirbo-category-banner-image) !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
    overflow: hidden !important;
}

.kirbo-listing-category-banner-link {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: inherit !important;
    color: #111 !important;
    text-decoration: none !important;
}

/* Text belongs on the right side, as in the supplied Kirbo artwork references */
.kirbo-listing-category-banner-copy {
    position: absolute !important;
    z-index: 2 !important;
    top: 50% !important;
    right: clamp(32px, 5.5vw, 110px) !important;
    width: min(36%, 560px) !important;
    transform: translateY(-50%) !important;
    text-align: left !important;
}

.kirbo-listing-category-banner-copy h2 {
    margin: 0 0 18px !important;
    font-family: "Century Gothic", "Avenir Next", "Onest", Arial, sans-serif !important;
    font-size: clamp(27px, 2.35vw, 46px) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: .01em !important;
    color: #111 !important;
}

.kirbo-listing-category-banner-description,
.kirbo-listing-category-banner-description p {
    margin: 0 !important;
    font-family: "Century Gothic", "Avenir Next", "Onest", Arial, sans-serif !important;
    font-size: clamp(13px, .92vw, 17px) !important;
    line-height: 1.55 !important;
    color: #111 !important;
}

.kirbo-listing-category-signature {
    margin: 24px 0 0 !important;
    font-family: "Century Gothic", "Avenir Next", "Onest", Arial, sans-serif !important;
    font-size: clamp(15px, 1.2vw, 22px) !important;
    font-weight: 400 !important;
    letter-spacing: .03em !important;
    color: #111 !important;
}

.kirbo-listing-category-banner .kirbo-blue-divider {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 10px !important;
    margin: 0 !important;
    background: var(--kirboBlue) !important;
}

/* Best Sellers = centered content again */
.kirbo-product-bestsellers-wrap {
    width: calc(100% - 40px) !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    overflow: visible !important;
}

.kirbo-product-bestsellers-wrap .kirbo-bestsellers-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Perfect / Professional Results = genuine full-width visual banner */
.kirbo-product-results-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.kirbo-product-results-wrap .kirbo-results-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Reviews = centered content */
.kirbo-product-reviews-wrap {
    width: calc(100% - 40px) !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    overflow: visible !important;
}

.kirbo-product-reviews-wrap .kirbo-reviews-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Footer remains full width through the existing global footer implementation */

@media (max-width: 991.98px) {
    .kirbo-products-centered,
    .kirbo-product-bestsellers-wrap,
    .kirbo-product-reviews-wrap {
        width: calc(100% - 24px) !important;
    }

    .kirbo-listing-category-banner {
        min-height: 390px !important;
        background-position: center center !important;
    }

    .kirbo-listing-category-banner-copy {
        right: 24px !important;
        width: 42% !important;
    }
}

@media (max-width: 767.98px) {
    .kirbo-products-heading-section {
        padding-top: 12px !important;
    }

    .kirbo-listing-category-banner {
        min-height: 420px !important;
        background-position: 58% center !important;
    }

    .kirbo-listing-category-banner-copy {
        top: auto !important;
        right: 14px !important;
        bottom: 28px !important;
        width: calc(100% - 28px) !important;
        transform: none !important;
        padding: 18px !important;
        background: rgba(255,255,255,.72) !important;
        box-sizing: border-box !important;
    }
}


/* ================================================================
   KIRBO PDP CATEGORY BANNER — EXACT HOMEPAGE CATEGORY SLIDER STYLING
   Reuses .kirbo-category-slide-copy / .kirbo-category-credit rules.
   ================================================================ */
.kirbo-pdp-category-banner-section {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.kirbo-pdp-category-banner {
    width: 100% !important;
    margin: 0 !important;
}

/* Admin category description may be plain text or WYSIWYG HTML.
   Give it exactly the same typography as the homepage category-slide paragraph. */
.kirbo-pdp-category-description,
.kirbo-pdp-category-description p,
.kirbo-pdp-category-description div,
.kirbo-pdp-category-description span {
    max-width: 650px !important;
    margin: 0 !important;
    font-family: "Avenir Next", "Onest", "Century Gothic", "Trebuchet MS", Arial, sans-serif !important;
    font-size: clamp(15px, 1.14vw, 21px) !important;
    line-height: 1.62 !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
    color: #222 !important;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .kirbo-pdp-category-description,
    .kirbo-pdp-category-description p,
    .kirbo-pdp-category-description div,
    .kirbo-pdp-category-description span {
        font-size: clamp(12px, 1.75vw, 15px) !important;
        line-height: 1.48 !important;
    }
}

@media (max-width: 767.98px) {
    .kirbo-pdp-category-description,
    .kirbo-pdp-category-description p,
    .kirbo-pdp-category-description div,
    .kirbo-pdp-category-description span {
        font-size: 13px !important;
        line-height: 1.42 !important;
    }
}


/* KIRBO BLOG — full-width title + featured background hero */
.kirbo-blog-title-section{width:100%;margin:30px 0 24px;padding:0}
.kirbo-blog-title-bar{width:100%;min-height:104px;background:var(--kirboPink);display:flex;align-items:center;justify-content:center;padding:20px 24px}
.kirbo-blog-title-bar h1{margin:0;color:#000;text-align:center;font-family:inherit;font-size:42px;line-height:1.1;font-weight:400}
.kirbo-blog-hero-section{width:100%;margin:0 0 40px;padding:0}
.kirbo-featured-article{position:relative;width:100%;min-height:420px;margin:0;background-color:var(--kirboGray);background-size:cover;background-position:center 28%;background-repeat:no-repeat;overflow:hidden}
.kirbo-featured-article-text{position:absolute;top:50%;right:7%;transform:translateY(-50%);width:min(38%,560px);padding:36px;background:rgba(213,222,226,.90);display:flex;flex-direction:column;align-items:flex-start}
.kirbo-featured-article-text h2{margin:0 0 12px;color:#000;font-family:'Onest',Arial,Helvetica,sans-serif;font-size:26px;line-height:1.15;font-weight:400;text-transform:uppercase}
.kirbo-featured-article-text p{margin:0 0 18px;color:#000;font-family:'Onest',Arial,Helvetica,sans-serif}
.kirbo-featured-article-text .kirbo-btn-black{width:fit-content}
.kirbo-blog-hero-divider{width:100%;height:10px;background:var(--kirboBlue)}
@media(max-width:767.98px){
.kirbo-blog-title-section{margin-top:16px}.kirbo-blog-title-bar{min-height:82px}.kirbo-blog-title-bar h1{font-size:32px}
.kirbo-featured-article{min-height:430px}.kirbo-featured-article-text{top:auto;right:5%;bottom:5%;left:5%;width:90%;transform:none;padding:22px}
.kirbo-featured-article-text h2{font-size:21px}.kirbo-blog-hero-divider{height:7px}}


/* ================================================================
   KIRBO WHOLESALE — TARGET LAYOUT
   Centered artwork/title (~1400px), exact two-panel image composition,
   form placed over the existing right pink panel.
   ================================================================ */
.kirbo-wholesale-page-shell{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}

.kirbo-wholesale-title-section{
    width:100%;
    margin:30px 0 14px;
    padding:0;
}
.kirbo-wholesale-title-bar{
    width:100%;
    min-height:96px;
    background:var(--kirboPink);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px 24px;
}
.kirbo-wholesale-title-bar h1{
    margin:0;
    color:#111;
    text-align:center;
    font-family:'Onest','Century Gothic','Trebuchet MS',Arial,sans-serif;
    font-size:clamp(30px,2.35vw,42px);
    line-height:1;
    font-weight:400;
    text-transform:uppercase;
    letter-spacing:.075em;
}

.kirbo-wholesale-hero-section{
    width:100%;
    margin:0 0 34px;
    padding:0;
}
.kirbo-wholesale-hero{
    position:relative;
    width:100%;
    aspect-ratio:2.45 / 1;
    min-height:0;
    margin:0;
    padding:0;
    background-color:var(--kirboPink);
    background-size:100% 100%;
    background-position:center;
    background-repeat:no-repeat;
    overflow:hidden;
}

/* The artwork already contains the portrait and pink panel.
   Keep the form transparent and place it where the target shows it. */
.kirbo-wholesale-hero-form{
    position:absolute;
    top:50%;
    left:47.5%;
    transform:translateY(-50%);
    width:34%;
    max-width:none;
    margin:0;
    padding:0;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}
.kirbo-wholesale-hero-form h2{
    max-width:520px;
    margin:0 0 8px;
    color:#111;
    font-family:'Onest','Century Gothic','Trebuchet MS',Arial,sans-serif;
    font-size:clamp(28px,2vw,38px);
    line-height:1.06;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.01em;
}
.kirbo-wholesale-hero-form > p{
    max-width:500px;
    margin:0 0 15px !important;
    color:#111;
    font-family:'Onest','Century Gothic','Trebuchet MS',Arial,sans-serif;
    font-size:clamp(15px,1vw,18px);
    line-height:1.3;
    font-weight:400;
}

.kirbo-wholesale-hero .kirbo-contact-form{
    width:100%;
    max-width:500px;
    margin:0;
}
.kirbo-wholesale-field{
    width:100%;
    margin:0 0 8px;
}
.kirbo-wholesale-field label{
    display:block;
    margin:0 0 4px;
    color:#111;
    font-family:Arial,Helvetica,sans-serif;
    font-size:13px;
    line-height:1.1;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.025em;
}
.kirbo-wholesale-hero .kirbo-contact-form .form-control{
    display:block;
    width:100%;
    height:38px;
    margin:0;
    padding:8px 10px;
    background:#fff;
    border:0;
    border-radius:3px;
    box-shadow:none;
    color:#222;
    font-family:'Onest',Arial,sans-serif;
    font-size:16px;
}
.kirbo-wholesale-hero .kirbo-contact-form textarea.form-control{
    height:82px;
    min-height:82px;
    resize:vertical;
}
.kirbo-wholesale-hero .kirbo-btn-black{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:74px;
    height:31px;
    margin:3px 0 0;
    padding:0 14px;
    border-radius:2px !important;
    font-family:Arial,Helvetica,sans-serif;
    font-size:12px;
    line-height:1;
    font-weight:600;
    text-transform:uppercase;
}

.kirbo-wholesale-hero-divider{
    width:100%;
    height:10px;
    background:var(--kirboBlue);
}

/* Contact icons visually continue the same centered target width. */
.kirbo-wholesale-page-shell + .container{
    max-width:1400px;
}

@media (max-width:1199.98px){
    .kirbo-wholesale-page-shell{padding:0}
    .kirbo-wholesale-hero-form{
        left:46.5%;
        width:38%;
    }
    .kirbo-wholesale-hero-form h2{font-size:22px}
    .kirbo-wholesale-hero-form > p{font-size:12px}
    .kirbo-wholesale-hero .kirbo-contact-form .form-control{height:34px}
    .kirbo-wholesale-hero .kirbo-contact-form textarea.form-control{
        height:70px;
        min-height:70px;
    }
}

@media (max-width:767.98px){
    .kirbo-wholesale-page-shell{padding:0}
    .kirbo-wholesale-title-section{margin:16px 0 10px}
    .kirbo-wholesale-title-bar{
        min-height:76px;
        padding:14px 16px;
    }
    .kirbo-wholesale-title-bar h1{font-size:27px}

    .kirbo-wholesale-hero{
        aspect-ratio:auto;
        min-height:760px;
        background-size:auto 100%;
        background-position:29% center;
    }
    .kirbo-wholesale-hero-form{
        top:auto;
        left:5%;
        right:5%;
        bottom:4%;
        width:90%;
        transform:none;
        padding:20px;
        background:rgba(239,194,207,.94) !important;
    }
    .kirbo-wholesale-hero-form h2{font-size:21px}
    .kirbo-wholesale-hero-form > p{font-size:13px}
    .kirbo-wholesale-hero .kirbo-contact-form{max-width:none}
    .kirbo-wholesale-field label{font-size:9px}
    .kirbo-wholesale-hero-divider{height:7px}
}
/* =========================================================
   KIRBO — FINAL GLOBAL TYPOGRAPHY
   ========================================================= */

/* Global frontend font */
html,
body,
button,
input,
select,
textarea,
a,
p,
span,
div,
label,
li,
ul,
ol,
table,
th,
td,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: Helvetica, Arial, sans-serif !important;
}

/* Best Sellers section title */
.section-title.bestsellers-section-title,
.bestsellers-section-title {
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 35px !important;
    line-height: 1.1 !important;
	margin-top: 20px; !important;
}
/* ================================================================
   KIRBO — COMPANY / ABOUT PAGE PREMIUM WYSIWYG V2
   2026-09-13
   Visual-only refinement. Scoped to .kirbo-company-page-v2.
   ================================================================ */

.kirbo-company-page-v2 {
    --kirboAboutPinkSoft: #f8e4ea;
    --kirboAboutPinkPale: #fff7f9;
    --kirboAboutWarm: #f4eee9;
    --kirboAboutInk: #111111;
    --kirboAboutMuted: #6f6f73;
    --kirboAboutLine: rgba(17, 17, 17, .12);
}

/* Hero refinement */
.kirbo-company-page-v2 .kirbo-company-hero-copy-inner {
    width: 100%;
    max-width: 620px;
}

.kirbo-company-page-v2 .kirbo-company-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    font-family: var(--kirbo-company-font);
    font-size: clamp(10px, .72vw, 13px);
    font-weight: 600;
    letter-spacing: .18em;
    color: #2a2a2a;
}

.kirbo-company-page-v2 .kirbo-company-kicker::after {
    content: '';
    width: 58px;
    height: 1px;
    background: var(--kirboPink);
}

.kirbo-company-page-v2 .kirbo-company-hero-copy h1 {
    max-width: 570px;
    font-size: clamp(34px, 3.05vw, 60px) !important;
    line-height: 1.08 !important;
    letter-spacing: .025em !important;
}

.kirbo-company-page-v2 .kirbo-company-hero-line {
    display: block;
    width: 88px;
    height: 3px;
    margin-top: 24px;
    background: var(--kirboPink);
}

/* Premium title strips */
.kirbo-company-page-v2 .kirbo-company-strip-premium {
    min-height: 86px;
    margin-top: 0;
    padding: 15px 24px 13px;
    flex-direction: column;
    gap: 8px;
    background: linear-gradient(90deg, #f7dce4 0%, var(--kirboPink) 50%, #f7dce4 100%);
    border: 1px solid rgba(220, 146, 169, .18);
}

.kirbo-company-page-v2 .kirbo-company-strip-premium > span {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
}

.kirbo-company-page-v2 .kirbo-company-strip-premium > span::before,
.kirbo-company-page-v2 .kirbo-company-strip-premium > span::after {
    content: '';
    width: clamp(38px, 5vw, 90px);
    height: 1px;
    background: rgba(151, 64, 88, .45);
}

.kirbo-company-page-v2 .kirbo-company-strip-premium small {
    display: block;
    font-size: clamp(9px, .65vw, 12px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: .16em;
    color: #b85f79;
}

/* Founder story */
.kirbo-company-page-v2 .kirbo-company-story-grid {
    display: grid;
    grid-template-columns: minmax(300px, 35%) minmax(0, 1fr);
    gap: clamp(34px, 5vw, 88px);
    align-items: stretch;
    padding: clamp(42px, 5vw, 82px) clamp(24px, 4vw, 72px);
    background: #fff;
}

.kirbo-company-page-v2 .kirbo-company-story-visual {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    background: #efefef;
}

.kirbo-company-page-v2 .kirbo-company-story-visual img {
    width: 100%;
    height: 100%;
    min-height: 560px;
    display: block;
    object-fit: cover;
    object-position: 21% center;
    filter: grayscale(1) contrast(.96);
    transform: scale(1.08);
}

.kirbo-company-page-v2 .kirbo-company-story-visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.22) 100%);
    pointer-events: none;
}

.kirbo-company-page-v2 .kirbo-company-story-signature {
    position: absolute;
    z-index: 2;
    left: 26px;
    bottom: 22px;
    color: #fff;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(34px, 3.6vw, 64px);
    font-style: italic;
    letter-spacing: .02em;
    text-shadow: 0 2px 18px rgba(0,0,0,.18);
}

.kirbo-company-page-v2 .kirbo-company-story-copy {
    padding: 4px 0 0;
    align-self: center;
}

.kirbo-company-page-v2 .kirbo-company-section-eyebrow {
    margin-bottom: 18px;
    color: #c46b84;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .17em;
}

.kirbo-company-page-v2 .kirbo-company-story-item {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
    align-items: start;
    padding: 22px 0;
    border-top: 1px solid var(--kirboAboutLine);
}

.kirbo-company-page-v2 .kirbo-company-story-item:first-of-type {
    border-top: 0;
    padding-top: 6px;
}

.kirbo-company-page-v2 .kirbo-company-story-number {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--kirboAboutPinkSoft);
    color: #a84f69;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
}

.kirbo-company-page-v2 .kirbo-company-story-item p {
    margin: 0;
    color: #29292b;
    font-size: clamp(13px, .87vw, 16px);
    line-height: 1.75;
}

/* Product section */
.kirbo-company-page-v2 .kirbo-products-strip {
    margin-top: 0;
}

.kirbo-company-page-v2 .kirbo-company-products-copy {
    padding: clamp(34px, 4vw, 68px) 0 clamp(44px, 5vw, 78px);
}

.kirbo-company-page-v2 .kirbo-pigment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2.1vw, 34px);
}

.kirbo-company-page-v2 .kirbo-pigment-card {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    padding: clamp(28px, 3vw, 50px);
    border: 1px solid rgba(0,0,0,.055);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(0,0,0,.055);
}

.kirbo-company-page-v2 .kirbo-pigment-card::before {
    content: '';
    position: absolute;
    top: -90px;
    right: -75px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    opacity: .45;
}

.kirbo-company-page-v2 .kirbo-pigment-card-organic {
    background: linear-gradient(145deg, #fffafb 0%, #f9e6eb 100%);
}

.kirbo-company-page-v2 .kirbo-pigment-card-organic::before {
    background: radial-gradient(circle at 35% 35%, #d97896 0%, #f4bdcc 45%, transparent 72%);
}

.kirbo-company-page-v2 .kirbo-pigment-card-mineral {
    background: linear-gradient(145deg, #fffdfb 0%, #efe9e3 100%);
}

.kirbo-company-page-v2 .kirbo-pigment-card-mineral::before {
    background: radial-gradient(circle at 35% 35%, #9d897a 0%, #d8c9bd 45%, transparent 72%);
}

.kirbo-company-page-v2 .kirbo-pigment-card-head {
    position: relative;
    z-index: 1;
    padding-right: 76px;
    margin-bottom: 22px;
}

.kirbo-company-page-v2 .kirbo-pigment-label {
    display: block;
    margin-bottom: 8px;
    color: #bd6680;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
}

.kirbo-company-page-v2 .kirbo-pigment-card h3 {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(26px, 2vw, 38px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.02em;
}

.kirbo-company-page-v2 .kirbo-pigment-card > p {
    position: relative;
    z-index: 1;
    margin: 0 0 25px;
    color: #333;
    font-size: clamp(13px, .82vw, 15px);
    line-height: 1.68;
}

.kirbo-company-page-v2 .kirbo-pigment-card h4 {
    position: relative;
    z-index: 1;
    margin: 0 0 13px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.kirbo-company-page-v2 .kirbo-check-list {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 11px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.kirbo-company-page-v2 .kirbo-check-list li {
    position: relative;
    margin: 0;
    padding-left: 32px;
    line-height: 1.45;
}

.kirbo-company-page-v2 .kirbo-check-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: -1px;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.76);
    box-shadow: 0 2px 8px rgba(0,0,0,.07);
    color: #a84f69;
    font-size: 12px;
    font-weight: 800;
}

.kirbo-company-page-v2 .kirbo-pigment-card-mineral .kirbo-check-list li::before {
    color: #736255;
}

.kirbo-company-page-v2 .kirbo-important-note {
    position: relative;
    z-index: 1;
    margin-top: 28px;
    padding: 18px 20px 17px 58px;
    border: 1px solid rgba(201, 94, 127, .13);
    border-radius: 12px;
    background: rgba(255,255,255,.58);
}

.kirbo-company-page-v2 .kirbo-important-note::before {
    content: '!';
    position: absolute;
    left: 18px;
    top: 20px;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #d56888;
    color: #fff;
    font-weight: 800;
}

.kirbo-company-page-v2 .kirbo-important-note strong {
    display: block;
    margin-bottom: 5px;
    color: #ba607a;
    font-size: 10px;
    letter-spacing: .12em;
}

.kirbo-company-page-v2 .kirbo-important-note p {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.55;
}

/* Approach + lips */
.kirbo-company-page-v2 .kirbo-company-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2.1vw, 34px);
    margin-top: clamp(24px, 3vw, 44px);
}

.kirbo-company-page-v2 .kirbo-company-detail-card {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
    padding: clamp(24px, 2.4vw, 38px);
    border-top: 2px solid var(--kirboPink);
    background: #fff;
    box-shadow: 0 14px 38px rgba(0,0,0,.045);
}

.kirbo-company-page-v2 .kirbo-company-detail-index {
    color: #cf738e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
}

.kirbo-company-page-v2 .kirbo-company-detail-card h3 {
    margin: 0 0 14px;
    font-family: var(--kirbo-company-font);
    font-size: clamp(18px, 1.45vw, 26px);
    font-weight: 700;
    line-height: 1.2;
}

.kirbo-company-page-v2 .kirbo-company-detail-card p {
    margin: 0;
    color: #3e3e40;
    font-size: 13px;
    line-height: 1.65;
}

.kirbo-company-page-v2 .kirbo-lips-list {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.kirbo-company-page-v2 .kirbo-lips-list li {
    position: relative;
    margin: 8px 0;
    padding-left: 17px;
    font-size: 12.5px;
    line-height: 1.5;
}

.kirbo-company-page-v2 .kirbo-lips-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .58em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--kirboPink);
}

/* Keep shared Best Sellers visually separated */
.kirbo-company-page-v2 .kirbo-bestsellers-section {
    border-top: 1px solid #eee;
    padding-top: 48px;
}

/* Tablet */
@media (max-width: 991.98px) {
    .kirbo-company-page-v2 .kirbo-company-hero-copy h1 {
        font-size: clamp(25px, 4vw, 38px) !important;
    }

    .kirbo-company-page-v2 .kirbo-company-story-grid {
        grid-template-columns: 36% 1fr;
        gap: 34px;
        padding-left: 26px;
        padding-right: 26px;
    }

    .kirbo-company-page-v2 .kirbo-company-story-visual,
    .kirbo-company-page-v2 .kirbo-company-story-visual img {
        min-height: 500px;
    }

    .kirbo-company-page-v2 .kirbo-pigment-card-head {
        padding-right: 20px;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .kirbo-company-page-v2 .kirbo-company-hero-copy {
        width: 58% !important;
        padding: 0 15px !important;
    }

    .kirbo-company-page-v2 .kirbo-company-kicker {
        margin-bottom: 12px;
        font-size: 8px;
        letter-spacing: .12em;
    }

    .kirbo-company-page-v2 .kirbo-company-kicker::after {
        width: 30px;
    }

    .kirbo-company-page-v2 .kirbo-company-hero-copy h1 {
        font-size: clamp(20px, 5.8vw, 29px) !important;
    }

    .kirbo-company-page-v2 .kirbo-company-hero-line {
        width: 54px;
        height: 2px;
        margin-top: 14px;
    }

    .kirbo-company-page-v2 .kirbo-company-strip-premium {
        min-height: 72px;
        gap: 7px;
    }

    .kirbo-company-page-v2 .kirbo-company-strip-premium > span {
        gap: 10px;
        font-size: 19px;
    }

    .kirbo-company-page-v2 .kirbo-company-strip-premium > span::before,
    .kirbo-company-page-v2 .kirbo-company-strip-premium > span::after {
        width: 22px;
    }

    .kirbo-company-page-v2 .kirbo-company-strip-premium small {
        font-size: 8px;
        letter-spacing: .10em;
    }

    .kirbo-company-page-v2 .kirbo-company-story-grid,
    .kirbo-company-page-v2 .kirbo-pigment-grid,
    .kirbo-company-page-v2 .kirbo-company-detail-grid {
        grid-template-columns: 1fr;
    }

    .kirbo-company-page-v2 .kirbo-company-story-grid {
        gap: 28px;
        padding: 26px 14px 38px;
    }

    .kirbo-company-page-v2 .kirbo-company-story-visual,
    .kirbo-company-page-v2 .kirbo-company-story-visual img {
        min-height: 420px;
    }

    .kirbo-company-page-v2 .kirbo-company-story-visual img {
        object-position: 19% center;
    }

    .kirbo-company-page-v2 .kirbo-company-story-item {
        grid-template-columns: 40px 1fr;
        gap: 12px;
        padding: 17px 0;
    }

    .kirbo-company-page-v2 .kirbo-company-story-number {
        width: 34px;
        height: 34px;
        font-size: 9px;
    }

    .kirbo-company-page-v2 .kirbo-company-story-item p {
        font-size: 13px;
        line-height: 1.62;
    }

    .kirbo-company-page-v2 .kirbo-company-products-copy {
        padding: 24px 0 42px;
    }

    .kirbo-company-page-v2 .kirbo-pigment-grid,
    .kirbo-company-page-v2 .kirbo-company-detail-grid {
        gap: 18px;
    }

    .kirbo-company-page-v2 .kirbo-pigment-card {
        padding: 26px 22px;
        border-radius: 14px;
    }

    .kirbo-company-page-v2 .kirbo-pigment-card h3 {
        font-size: 28px;
    }

    .kirbo-company-page-v2 .kirbo-company-detail-card {
        grid-template-columns: 36px 1fr;
        gap: 10px;
        padding: 24px 20px;
    }
}
