/* ProFrameCo standalone test v0.1.8 */
/* ProFrameCo standalone test v0.1.5 pfc-landing.css loaded */
:root {
    --pfc-navy: #0b213d;
    --pfc-navy-2: #07182d;
    --pfc-gold: #b88400;
    --pfc-gold-dark: #8f6700;
    --pfc-cream: #f5f7f8;
    --pfc-soft: #eef2f4;
    --pfc-line: #c9d1d8;
    --pfc-text: #101c2d;
    --pfc-muted: #5c6875;
    --pfc-green: #dff4ec;
    --pfc-white: #ffffff;
    --pfc-container: 1180px;
    --pfc-hero-desktop: url('../images/masthead-desktop.png');
    --pfc-hero-main: url('../images/masthead-hero.png');
    --pfc-hero-alt: url('../images/masthead-alt.png');
    --pfc-hero-mobile: url('../images/masthead-mobile.png');
    --pfc-hero-achievement: url('../images/masthead-achievement.png');
    --pfc-shadow: 0 10px 24px rgba(7, 24, 45, .12);
}
.pfc-page, .pfc-page * { box-sizing: border-box; }
.pfc-page { color: var(--pfc-text); background: var(--pfc-cream); font-size: 16px; line-height: 1.55; overflow-x: hidden; overflow-y: visible; }
.pfc-page h1, .pfc-page h2, .pfc-page h3 { font-family: 'DM Sans', sans-serif; font-weight: 400; line-height: 1.05; color: var(--pfc-text); margin: 0 0 18px; }
.pfc-page h1 { font-size: clamp(42px, 5.1vw, 78px); letter-spacing: -.035em; }
.pfc-page h2 { font-size: clamp(34px, 3.2vw, 54px); letter-spacing: -.035em; }
.pfc-page h3 { font-size: 22px; }
.pfc-page p { margin: 0 0 18px; color: var(--pfc-muted); }
.pfc-page em { font-style: italic; }
.pfc-container { width: min(var(--pfc-container), calc(100% - 48px)); margin: 0 auto; }
.pfc-figma-landing-page #header { display: none !important; }
.pfc-site-header { background: #fff; border-bottom: 1px solid #d9dee4; position: relative; z-index: 99990; overflow: visible; }
.pfc-site-header__top { min-height: 24px; background: var(--pfc-gold); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 12px; line-height: 1.2; padding: 4px 16px; }
.pfc-site-header__main { min-height: 74px; display: grid; grid-template-columns: 210px minmax(240px, 1fr) auto; gap: 28px; align-items: center; }
.pfc-site-header__logo img { display: block; width: 190px; max-width: 100%; height: auto; }
.pfc-site-header__search input { width: 100%; min-height: 38px; border: 1px solid #c9d1d8; padding: 0 14px; background: #fff; font-size: 14px; }
.pfc-site-header__links { display: flex; gap: 18px; align-items: center; white-space: nowrap; }
.pfc-site-header__links a { color: var(--pfc-text); font-size: 13px; text-decoration: none; }
.pfc-site-header__nav { background: var(--pfc-navy); color: #fff; position: relative; z-index: 99991; overflow: visible; }
.pfc-site-header__nav .pfc-container { min-height: 34px; display: flex; align-items: center; gap: 30px; overflow: visible; }
.pfc-site-header__nav a { color: #fff; text-decoration: none; font-size: 13px; }
.pfc-site-header__nav a:hover, .pfc-site-header__links a:hover { color: var(--pfc-gold); }
.pfc-section { padding: 78px 0; }
.pfc-hero { min-height: 575px; position: relative; background: #d4d2c8; display: flex; align-items: center; }
.pfc-hero__media { position: absolute; inset: 0; background-image: linear-gradient(90deg, rgba(7,24,45,.72), rgba(7,24,45,.08)), var(--pfc-hero-desktop); background-position: center; background-size: cover; }
.pfc-hero__wrap { position: relative; z-index: 2; }
.pfc-hero__panel { max-width: 560px; background: rgba(11,33,61,.96); color: var(--pfc-white); padding: 58px 58px 50px; }
.pfc-hero__panel h1, .pfc-process h2, .pfc-process h3, .pfc-final-cta h2 { color: var(--pfc-white); }
.pfc-hero__panel p { color: rgba(255,255,255,.78); }
.pfc-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 24px; }
.pfc-search input { min-height: 46px; border: 0; padding: 0 14px; font-size: 14px; background: #fff; color: var(--pfc-text); }
.pfc-search button, .pfc-btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 0; cursor: pointer; text-decoration: none; padding: 0 20px; font-size: 13px; font-weight: 700; letter-spacing: .01em; }
.pfc-search button, .pfc-btn--solid { background: var(--pfc-gold); color: #fff; }
.pfc-btn--solid:hover, .pfc-search button:hover { background: var(--pfc-gold-dark); color: #fff; }
.pfc-btn--dark { background: var(--pfc-navy); color: #fff; }
.pfc-link { color: var(--pfc-gold); font-weight: 700; text-decoration: none; }
.pfc-button-row { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; margin-top: 24px; }
.pfc-button-row--right { justify-content: flex-end; }
.pfc-split { display: grid; grid-template-columns: 1fr 1fr; gap: 68px; align-items: center; }
.pfc-split--intro { grid-template-columns: .9fr 1.1fr; }
.pfc-card-grid { display: grid; gap: 18px; }
.pfc-card-grid--2 { grid-template-columns: repeat(2, 1fr); }
.pfc-info-card, .pfc-stat-card, .pfc-process-card, .pfc-tick-card, .pfc-review-card { background: #fff; border: 1px solid var(--pfc-line); box-shadow: var(--pfc-shadow); padding: 26px; }
.pfc-info-card h3 { font-size: 19px; margin-bottom: 10px; }
.pfc-info-card p, .pfc-stat-card p, .pfc-process-card p, .pfc-tick-card p { font-size: 14px; margin: 0; }
.pfc-icon { display: inline-flex; color: var(--pfc-gold); margin-bottom: 16px; font-size: 22px; line-height: 1; }
.pfc-products { background: #f8fafb; padding-top: 58px; }
.pfc-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.pfc-product-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px; }
.pfc-product-card { min-width: 0; }
.pfc-product-card__image { background: #dce2e7; display: grid; place-items: center; aspect-ratio: 1 / 1; padding: 16px; margin-bottom: 14px; }
.pfc-product-card__image img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }
.pfc-product-card h3 { font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.3; min-height: 34px; margin: 0 0 6px; }
.pfc-product-card h3 a { color: var(--pfc-text); text-decoration: none; }
.pfc-product-price { font-size: 13px; margin: 0 0 10px; color: var(--pfc-muted); }
.pfc-product-select { display: block; border: 1px solid var(--pfc-text); color: var(--pfc-text); text-align: center; padding: 7px 8px; font-size: 12px; text-decoration: none; background: #fff; }
.pfc-story { background: #fff; }
.pfc-image-stack img { width: 100%; display: block; box-shadow: var(--pfc-shadow); }
.pfc-image-placeholder { min-height: 330px; background: linear-gradient(135deg,#c7d0d8,#e8e3d7); box-shadow: var(--pfc-shadow); }
.pfc-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 46px; }
.pfc-stat-card { min-height: 130px; }
.pfc-process { background: var(--pfc-navy); background-image: linear-gradient(135deg, rgba(255,255,255,.035) 25%, transparent 25%), linear-gradient(225deg, rgba(255,255,255,.035) 25%, transparent 25%); background-size: 18px 18px; }
.pfc-centre-heading { max-width: 780px; margin: 0 auto 42px; text-align: center; }
.pfc-centre-heading p { color: rgba(255,255,255,.72); }
.pfc-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pfc-process-card { background: #fff; border-color: #fff; box-shadow: none; min-height: 170px; }
.pfc-process-card h3 { color: var(--pfc-text); font-size: 20px; }
.pfc-match { background: var(--pfc-cream); }
.pfc-badges { color: var(--pfc-gold); text-transform: uppercase; letter-spacing: .04em; font-weight: 700; font-size: 14px; margin-bottom: 18px; }
.pfc-tick-card { display: flex; gap: 12px; align-items: flex-start; box-shadow: var(--pfc-shadow); padding: 18px; }
.pfc-tick-card span, .pfc-tick-list li::before { color: var(--pfc-gold); font-weight: 700; }
.pfc-success { background: #f8fafb; }
.pfc-image-stack--offset { position: relative; }
.pfc-tick-list { list-style: none; margin: 24px 0 0; padding: 0; }
.pfc-tick-list li { border-top: 1px solid var(--pfc-line); padding: 12px 0 12px 24px; position: relative; }
.pfc-tick-list li::before { content: '✓'; position: absolute; left: 0; }
.pfc-quote-band { background: var(--pfc-gold); color: #fff; padding: 68px 0; text-align: center; background-image: linear-gradient(135deg, rgba(255,255,255,.05) 25%, transparent 25%); background-size: 18px 18px; }
.pfc-quote-band blockquote { max-width: 850px; margin: 0 auto 24px; font-family: 'DM Sans', sans-serif; font-size: clamp(22px, 2.2vw, 34px); line-height: 1.15; }
.pfc-logo-band { background: var(--pfc-navy); color: #fff; padding: 44px 0; text-align: center; }
.pfc-logo-band p { color: rgba(255,255,255,.7); margin-bottom: 22px; }
.pfc-logos { display: flex; gap: 48px; justify-content: center; align-items: center; flex-wrap: wrap; color: rgba(255,255,255,.78); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.pfc-reviews { background: #fff; }
.pfc-review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.pfc-review-card { box-shadow: none; border-width: 0 0 1px; padding-left: 0; padding-right: 0; }
.pfc-stars { color: #008a43; letter-spacing: .16em; margin-bottom: 14px; }
.pfc-review-card strong { color: var(--pfc-text); font-size: 13px; }
.pfc-final-cta { min-height: 360px; background: linear-gradient(rgba(7,24,45,.15), rgba(7,24,45,.15)), radial-gradient(circle at 60% 45%, #d2a25c, #10243e); background-size: cover; background-position: center; display: grid; place-items: center; padding: 48px 24px; }
.pfc-final-cta__panel { width: min(520px, 100%); background: rgba(11,33,61,.96); color: #fff; padding: 42px; text-align: center; }
.pfc-final-cta__panel p { color: rgba(255,255,255,.78); }
.pfc-theme-footer { background: var(--pfc-navy); color: #fff; padding: 54px 0 28px; }
.pfc-theme-footer p, .pfc-theme-footer a { color: rgba(255,255,255,.75); }
.pfc-theme-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 42px; }
.pfc-footer-logo { width: 215px; max-width: 100%; height: auto; display: block; margin: 0 0 22px; background: #fff; }
.pfc-theme-footer h3 { color: #fff; font-family: inherit; font-size: 14px; text-transform: uppercase; letter-spacing: .08em; }
.pfc-theme-footer ul { list-style:none; margin:0; padding:0; }
.pfc-theme-footer li { margin: 0 0 8px; }
@media (max-width: 980px) {
    .pfc-site-header__main { grid-template-columns: 1fr; gap: 12px; padding-top: 14px; padding-bottom: 14px; text-align: center; }
    .pfc-site-header__logo { justify-self: center; }
    .pfc-site-header__links { justify-content: center; }
    .pfc-site-header__nav .pfc-container { overflow-x: auto; justify-content: flex-start; gap: 22px; white-space: nowrap; }
    .pfc-container { width: min(100% - 36px, var(--pfc-container)); }
    .pfc-hero { min-height: auto; display: block; padding: 0; }
    .pfc-hero__media { position: relative; min-height: 310px; display: block; background-image: linear-gradient(180deg, rgba(7,24,45,.25), rgba(7,24,45,.05)), var(--pfc-hero-mobile); background-position: center; }
    .pfc-hero__wrap { margin-top: -90px; padding-bottom: 46px; }
    .pfc-hero__panel { padding: 34px 28px; max-width: none; }
    .pfc-split, .pfc-split--intro { grid-template-columns: 1fr; gap: 34px; }
    .pfc-card-grid--2, .pfc-proof-grid, .pfc-process-grid, .pfc-review-grid, .pfc-theme-footer__grid { grid-template-columns: 1fr; }
    .pfc-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pfc-section { padding: 56px 0; }
}
@media (max-width: 560px) {
    .pfc-page h1 { font-size: 36px; }
    .pfc-page h2 { font-size: 31px; }
    .pfc-search { grid-template-columns: 1fr; }
    .pfc-product-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .pfc-product-card h3 { font-size: 12px; }
    .pfc-info-card, .pfc-stat-card, .pfc-process-card, .pfc-tick-card, .pfc-review-card { padding: 20px; }
    .pfc-final-cta__panel { padding: 30px 22px; }
}

/* v1.0.2 supplied Figma badge/icon assets */
.pfc-icon-img {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
    margin: 0 0 16px;
}

.pfc-process-card .pfc-icon-img {
    width: 30px;
    height: 30px;
}

.pfc-trust-badges,
.pfc-footer-badges {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.pfc-trust-badges {
    margin: 0 0 22px;
}

.pfc-footer-badges {
    margin-top: 24px;
}

.pfc-badge {
    display: block;
    object-fit: contain;
    height: auto;
}

.pfc-badge--lifetime {
    width: 82px;
    max-width: 82px;
}

.pfc-badge--mib {
    width: 146px;
    max-width: 146px;
}

.pfc-theme-footer .pfc-badge--lifetime {
    width: 68px;
    max-width: 68px;
}

.pfc-theme-footer .pfc-badge--mib {
    width: 132px;
    max-width: 132px;
}

@media (max-width: 560px) {
    .pfc-trust-badges,
    .pfc-footer-badges {
        gap: 14px;
    }

    .pfc-badge--lifetime {
        width: 70px;
        max-width: 70px;
    }

    .pfc-badge--mib {
        width: 132px;
        max-width: 132px;
    }
}


/* v1.0.3 Popular products carousel */
.pfc-products--slider {
    background: #f8fafb;
    padding-top: 82px;
    padding-bottom: 86px;
}

.pfc-products--slider .pfc-section-heading {
    margin-bottom: 40px;
}

.pfc-product-slider {
    position: relative;
}

.pfc-product-slider__viewport {
    overflow: hidden;
    width: 100%;
    outline: none;
}

.pfc-product-slider__track {
    display: flex;
    gap: 28px;
    transition: transform .35s ease;
    will-change: transform;
}

.pfc-product-slider .pfc-product-card {
    flex: 0 0 calc((100% - 112px) / 5);
    min-width: 0;
}

.pfc-product-card__image-wrap {
    position: relative;
    margin-bottom: 18px;
}

.pfc-product-slider .pfc-product-card__image {
    background: #dce2e7;
    display: grid;
    place-items: center;
    aspect-ratio: 1 / 1;
    padding: 28px;
    margin: 0;
}

.pfc-product-slider .pfc-product-card__image img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

.pfc-sale-badge {
    position: absolute;
    z-index: 2;
    top: 18px;
    left: 18px;
    width: 74px;
    height: 74px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #287a55;
    color: #fff;
    font-family: 'DM Sans', sans-serif;
    font-size: 22px;
    line-height: 1;
}

.pfc-product-slider .pfc-product-card h3 {
    font-family: inherit;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    min-height: 48px;
    margin: 0 0 8px;
}

.pfc-product-slider .pfc-product-card h3 a {
    color: var(--pfc-text);
    text-decoration: none;
}

.pfc-product-slider .pfc-product-price {
    color: #245aa0;
    font-size: 18px;
    font-weight: 700;
    min-height: 26px;
    margin: 0 0 16px;
}

.pfc-product-slider .pfc-product-price del {
    color: #697789;
    font-weight: 400;
    margin-right: 6px;
    opacity: 1;
}

.pfc-product-slider .pfc-product-price ins {
    text-decoration: none;
}

.pfc-product-slider .pfc-product-select {
    display: block;
    width: 100%;
    border: 1px solid #1c2430;
    color: #1c2430;
    text-align: center;
    padding: 10px 12px;
    font-size: 15px;
    line-height: 1.2;
    text-decoration: none;
    background: transparent;
    transition: background .2s ease, color .2s ease;
}

.pfc-product-slider .pfc-product-select:hover {
    background: #1c2430;
    color: #fff;
}

.pfc-product-slider__footer {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 28px;
    margin-top: 42px;
}

.pfc-product-slider__arrows {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pfc-slider-btn {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 34px;
    line-height: 1;
    font-family: Arial, sans-serif;
    background: #b18100;
    color: #fff;
    padding: 0 0 4px;
}

.pfc-slider-btn--prev {
    background: #eadbb7;
    color: #fff;
}

.pfc-slider-btn[disabled] {
    opacity: .5;
    cursor: default;
}

.pfc-product-slider__dots {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

.pfc-product-slider__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    border: 0;
    background: #e3d3aa;
    padding: 0;
    cursor: pointer;
}

.pfc-product-slider__dot.is-active {
    background: #b18100;
}

.pfc-product-slider__all {
    min-height: 50px;
    padding-left: 28px;
    padding-right: 28px;
    font-size: 16px;
}

@media (max-width: 1180px) {
    .pfc-product-slider .pfc-product-card {
        flex-basis: calc((100% - 56px) / 3);
    }
}

@media (max-width: 760px) {
    .pfc-products--slider {
        padding-top: 56px;
        padding-bottom: 60px;
    }

    .pfc-product-slider .pfc-product-card {
        flex-basis: calc((100% - 16px) / 2);
    }

    .pfc-product-slider__track {
        gap: 16px;
    }

    .pfc-product-slider .pfc-product-card__image {
        padding: 16px;
    }

    .pfc-product-slider .pfc-product-card h3,
    .pfc-product-slider .pfc-product-price {
        font-size: 14px;
    }

    .pfc-product-slider .pfc-product-select {
        font-size: 12px;
        padding: 8px 8px;
    }

    .pfc-sale-badge {
        width: 54px;
        height: 54px;
        font-size: 17px;
        top: 10px;
        left: 10px;
    }

    .pfc-product-slider__footer {
        grid-template-columns: auto 1fr;
        gap: 18px;
        margin-top: 28px;
    }

    .pfc-product-slider__all {
        grid-column: 1 / -1;
        width: 100%;
    }
}

/* v1.0.4 closer Home Desktop Figma match */
.pfc-home-figma {
    --pfc-container: 1216px;
    background: #f4f7f9;
}

.pfc-home-figma .pfc-site-header__top {
    min-height: 22px;
    background: #a87900;
    font-size: 11px;
}

.pfc-home-figma .pfc-site-header__main {
    min-height: 58px;
    grid-template-columns: 190px minmax(320px, 1fr) auto;
}

.pfc-home-figma .pfc-site-header__logo img {
    width: 154px;
}

.pfc-home-figma .pfc-site-header__nav .pfc-container {
    min-height: 31px;
}

.pfc-home-figma .pfc-site-header__nav a,
.pfc-home-figma .pfc-site-header__links a {
    font-size: 12px;
}

.pfc-home-hero {
    min-height: 520px;
}

.pfc-home-hero .pfc-hero__media {
    background-position: center center;
}

.pfc-home-hero .pfc-hero__panel {
    max-width: 470px;
    padding: 48px 44px 42px;
    margin-left: 0;
}

.pfc-home-hero .pfc-hero__panel h1 {
    font-size: clamp(42px, 4vw, 64px);
    letter-spacing: -.045em;
    margin-bottom: 18px;
}

.pfc-home-hero .pfc-hero__panel p {
    font-size: 15px;
    line-height: 1.55;
    max-width: 390px;
}

.pfc-btn--ghost-light {
    color: #fff;
    background: transparent;
    border: 1px solid rgba(255,255,255,.5);
}

.pfc-value-strip {
    background: #fff;
    border-bottom: 1px solid #d7dde2;
    padding: 28px 0;
}

.pfc-value-strip__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.pfc-value-strip__item {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 58px;
    padding: 0 24px;
    border-left: 1px solid #b99025;
    border-right: 1px solid #b99025;
    color: var(--pfc-text);
    background: #fff;
}

.pfc-value-strip__item .pfc-icon-img {
    margin: 0;
    width: 28px;
    height: 28px;
}

.pfc-value-strip__item strong {
    font-size: 16px;
    font-weight: 600;
}

.pfc-home-figma .pfc-section {
    padding: 74px 0;
}

.pfc-everything {
    background: #fff;
}

.pfc-everything .pfc-split {
    grid-template-columns: .94fr 1.06fr;
    gap: 62px;
}

.pfc-everything .pfc-image-stack img,
.pfc-story--home .pfc-image-stack img,
.pfc-success .pfc-image-stack img {
    box-shadow: none;
}

.pfc-tick-list--gold li::before {
    color: var(--pfc-gold);
}

.pfc-frame-types {
    background: var(--pfc-navy);
    background-image: linear-gradient(135deg, rgba(255,255,255,.035) 25%, transparent 25%), linear-gradient(225deg, rgba(255,255,255,.035) 25%, transparent 25%);
    background-size: 18px 18px;
}

.pfc-frame-types .pfc-centre-heading h2,
.pfc-frame-types .pfc-centre-heading p {
    color: #fff;
}

.pfc-frame-types .pfc-centre-heading {
    margin-bottom: 36px;
}

.pfc-category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.pfc-category-card {
    background: #fff;
    border: 1px solid rgba(255,255,255,.28);
}

.pfc-category-card a {
    display: block;
    color: var(--pfc-text);
    text-decoration: none;
}

.pfc-category-card img {
    display: block;
    width: 100%;
    aspect-ratio: 1.42 / 1;
    object-fit: cover;
    background: #dce2e7;
}

.pfc-category-card__body {
    display: block;
    padding: 22px;
}

.pfc-category-card__body strong {
    display: block;
    font-family: 'DM Sans', sans-serif;
    font-size: 20px;
    line-height: 1.08;
    margin-bottom: 8px;
    font-weight: 400;
}

.pfc-category-card__body small {
    display: block;
    font-size: 13px;
    line-height: 1.45;
    min-height: 38px;
    color: var(--pfc-muted);
    margin-bottom: 16px;
}

.pfc-category-card__body b {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    background: var(--pfc-gold);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.pfc-memories {
    background: #eef2f4;
}

.pfc-split--memories {
    grid-template-columns: .85fr 1.15fr;
}

.pfc-split--memories .pfc-card-grid {
    align-self: start;
}

.pfc-story--home {
    background: #fff;
}

.pfc-story--home .pfc-split {
    grid-template-columns: .96fr 1.04fr;
}

.pfc-story--home .pfc-proof-grid {
    margin-top: 52px;
}

.pfc-home-figma .pfc-products--slider {
    background: #f4f7f9;
    padding-top: 54px;
    padding-bottom: 62px;
}

.pfc-home-figma .pfc-products--slider .pfc-section-heading h2 {
    font-size: 30px;
}

.pfc-home-figma .pfc-product-slider .pfc-product-card h3 {
    font-size: 14px;
    min-height: 38px;
}

.pfc-home-figma .pfc-product-slider .pfc-product-price {
    font-size: 14px;
    min-height: 22px;
}

.pfc-home-figma .pfc-product-slider .pfc-product-select {
    font-size: 13px;
    padding: 8px 10px;
}

.pfc-home-figma .pfc-product-slider .pfc-product-card__image {
    padding: 22px;
}

.pfc-home-figma .pfc-process {
    padding-top: 74px;
    padding-bottom: 82px;
}

.pfc-home-figma .pfc-process .pfc-centre-heading h2 {
    font-size: clamp(36px, 3vw, 48px);
}

.pfc-home-figma .pfc-match {
    background: #f4f7f9;
}

.pfc-home-figma .pfc-match .pfc-split,
.pfc-home-figma .pfc-success .pfc-split {
    grid-template-columns: .9fr 1.1fr;
}

.pfc-home-figma .pfc-quote-band {
    padding: 72px 0;
}

.pfc-home-figma .pfc-quote-band blockquote {
    font-size: clamp(24px, 2vw, 32px);
}

.pfc-home-figma .pfc-logo-band {
    padding: 36px 0;
}

.pfc-home-figma .pfc-reviews {
    background: #fff;
    padding-top: 72px;
    padding-bottom: 64px;
}

.pfc-home-figma .pfc-reviews h2 {
    max-width: 560px;
}

.pfc-home-figma .pfc-final-cta {
    min-height: 356px;
}

.pfc-home-figma .pfc-final-cta__panel {
    transform: translateY(-2px);
}

.pfc-home-figma .pfc-theme-footer {
    padding-top: 50px;
}

@media (max-width: 980px) {
    .pfc-home-figma .pfc-site-header__main {
        grid-template-columns: 1fr;
    }

    .pfc-value-strip__grid,
    .pfc-category-grid {
        grid-template-columns: 1fr;
    }

    .pfc-value-strip__item {
        border: 1px solid #b99025;
    }

    .pfc-home-figma .pfc-section,
    .pfc-home-figma .pfc-products--slider {
        padding: 54px 0;
    }
}

@media (max-width: 560px) {
    .pfc-home-hero .pfc-hero__panel h1 {
        font-size: 34px;
    }

    .pfc-category-card__body strong {
        font-size: 18px;
    }
}


/* v1.0.5 - Figma header dropdown support */
.pfc-site-header,
.pfc-site-header__nav,
.pfc-site-header__nav-inner,
.pfc-primary-menu,
.pfc-primary-menu li {
    overflow: visible;
}

.pfc-primary-menu {
    display: flex;
    align-items: center;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
}

.pfc-primary-menu li {
    position: relative;
    margin: 0;
    list-style: none;
}

.pfc-primary-menu > li > a {
    display: flex;
    align-items: center;
    min-height: 34px;
}

.pfc-primary-menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 245px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: #fff;
    border: 1px solid rgba(0,0,0,.12);
    box-shadow: 0 14px 34px rgba(7,24,45,.22);
    z-index: 99999;
}

.pfc-primary-menu li:hover > .sub-menu,
.pfc-primary-menu li:focus-within > .sub-menu {
    display: block;
}

.pfc-primary-menu .sub-menu .sub-menu {
    top: -8px;
    left: 100%;
}

.pfc-primary-menu .sub-menu a {
    display: block;
    color: var(--pfc-text) !important;
    background: #fff;
    padding: 11px 15px;
    font-size: 13px;
    line-height: 1.3;
    white-space: nowrap;
}

.pfc-primary-menu .sub-menu a:hover,
.pfc-primary-menu .sub-menu a:focus {
    background: #f4f7f9;
    color: var(--pfc-gold) !important;
}

@media (max-width: 900px) {
    .pfc-primary-menu {
        gap: 22px;
        width: max-content;
    }
    .pfc-primary-menu .sub-menu {
        display: none !important;
    }
}

/* v1.0.6 - force popular product slider controls to remain perfectly circular.
   Some parent theme button/input styles add line-height, min-width, padding or borders. */
.pfc-home-figma .pfc-product-slider__arrows .pfc-slider-btn,
.pfc-product-slider__arrows .pfc-slider-btn,
.pfc-product-slider button.pfc-slider-btn,
button.pfc-slider-btn {
    appearance: none !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
    inline-size: 46px !important;
    block-size: 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    flex: 0 0 46px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 999px !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-align: center !important;
    overflow: hidden !important;
}

.pfc-home-figma .pfc-product-slider__dots .pfc-product-slider__dot,
.pfc-product-slider__dots .pfc-product-slider__dot,
.pfc-product-slider button.pfc-product-slider__dot,
button.pfc-product-slider__dot {
    appearance: none !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
    inline-size: 9px !important;
    block-size: 9px !important;
    width: 9px !important;
    min-width: 9px !important;
    max-width: 9px !important;
    height: 9px !important;
    min-height: 9px !important;
    max-height: 9px !important;
    flex: 0 0 9px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 999px !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    line-height: 1 !important;
    overflow: hidden !important;
}

/* v1.0.7 - correct carousel arrow centring and prevent product buttons being clipped. */
.pfc-product-slider__viewport {
    padding-bottom: 14px !important;
    margin-bottom: -14px !important;
}

.pfc-product-slider__track {
    align-items: stretch !important;
}

.pfc-product-slider .pfc-product-card {
    padding-bottom: 2px !important;
}

.pfc-product-slider .pfc-product-select {
    box-sizing: border-box !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    overflow: visible !important;
}

.pfc-home-figma .pfc-product-slider__arrows .pfc-slider-btn,
.pfc-product-slider__arrows .pfc-slider-btn,
.pfc-product-slider button.pfc-slider-btn,
button.pfc-slider-btn {
    position: relative !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

.pfc-home-figma .pfc-product-slider__arrows .pfc-slider-btn::before,
.pfc-product-slider__arrows .pfc-slider-btn::before,
.pfc-product-slider button.pfc-slider-btn::before,
button.pfc-slider-btn::before {
    content: "" !important;
    box-sizing: border-box !important;
    display: block !important;
    width: 12px !important;
    height: 12px !important;
    border-top: 3px solid currentColor !important;
    border-right: 3px solid currentColor !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pfc-home-figma .pfc-product-slider__arrows .pfc-slider-btn--next::before,
.pfc-product-slider__arrows .pfc-slider-btn--next::before,
.pfc-product-slider button.pfc-slider-btn--next::before,
button.pfc-slider-btn--next::before {
    transform: translate(-62%, -50%) rotate(45deg) !important;
}

.pfc-home-figma .pfc-product-slider__arrows .pfc-slider-btn--prev::before,
.pfc-product-slider__arrows .pfc-slider-btn--prev::before,
.pfc-product-slider button.pfc-slider-btn--prev::before,
button.pfc-slider-btn--prev::before {
    transform: translate(-38%, -50%) rotate(225deg) !important;
}

/* v1.0.8 - header rebuilt to match the live-site primary/secondary menu layout */
.pfc-header-container {
    width: min(1000px, calc(100% - 48px));
    margin-left: auto;
    margin-right: auto;
}

.pfc-home-figma .pfc-site-header {
    border-bottom: 0;
    background: #fff;
    box-shadow: none;
}

.pfc-home-figma .pfc-site-header__top {
    min-height: 24px;
    padding: 0;
    background: #b99a64;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .01em;
    text-transform: uppercase;
}

.pfc-site-header__top-inner {
    min-height: 24px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 24px;
}

.pfc-site-header__top-inner a {
    color: #fff;
    text-decoration: none;
}

.pfc-home-figma .pfc-site-header__main,
.pfc-site-header__main.pfc-header-container {
    min-height: 66px;
    padding: 12px 0;
    display: grid;
    grid-template-columns: 200px minmax(300px, 1fr) auto;
    gap: 34px;
    align-items: center;
}

.pfc-home-figma .pfc-site-header__logo img,
.pfc-site-header__logo img {
    width: 155px;
    height: auto;
    display: block;
}

.pfc-site-header__search {
    display: grid;
    grid-template-columns: 1fr 42px;
    align-items: stretch;
    margin: 0;
}

.pfc-site-header__search input[type="search"] {
    min-height: 40px;
    width: 100%;
    border: 1px solid #d8dce0;
    border-right: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    padding: 0 16px;
    font-size: 14px;
    color: #1a2535;
}

.pfc-site-header__search button {
    appearance: none;
    -webkit-appearance: none;
    width: 42px;
    min-width: 42px;
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid #d8dce0;
    border-radius: 0;
    background: #f4f4f2;
    color: #0b213d;
    position: relative;
    cursor: pointer;
}

.pfc-site-header__search button::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 12px;
    height: 12px;
    border: 2px solid currentColor;
    border-radius: 999px;
    transform: translate(-57%, -57%);
}

.pfc-site-header__search button::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 7px;
    height: 2px;
    background: currentColor;
    transform: translate(1px, 6px) rotate(45deg);
    transform-origin: left center;
}

.pfc-home-figma .pfc-site-header__links,
.pfc-site-header__links {
    display: flex;
    align-items: center;
    gap: 14px;
    white-space: nowrap;
    text-transform: uppercase;
}

.pfc-home-figma .pfc-site-header__links a,
.pfc-site-header__links a {
    font-size: 12px;
    font-weight: 700;
    color: #0b213d;
    text-decoration: none;
}

.pfc-site-header__cart-icon {
    width: 31px;
    height: 34px;
    border: 2px solid #41658c;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 0 !important;
    line-height: 1;
}

.pfc-site-header__cart-icon::before {
    content: '';
    position: absolute;
    width: 12px;
    height: 7px;
    border: 2px solid #41658c;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    left: 50%;
    top: -8px;
    transform: translateX(-50%);
    background: #fff;
}

.pfc-site-header__cart-icon span {
    font-size: 12px;
    color: #0b213d;
}

.pfc-home-figma .pfc-site-header__nav,
.pfc-site-header__nav {
    position: relative;
    z-index: 99991;
    overflow: visible;
}

.pfc-home-figma .pfc-site-header__nav--primary,
.pfc-site-header__nav--primary {
    background: #41658c;
}

.pfc-home-figma .pfc-site-header__nav--secondary,
.pfc-site-header__nav--secondary {
    background: #3c5a7d;
    border-top: 1px solid #a37100;
}

.pfc-home-figma .pfc-site-header__nav-inner,
.pfc-site-header__nav-inner.pfc-header-container {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.pfc-site-header__nav--secondary .pfc-site-header__nav-inner {
    min-height: 38px;
}

.pfc-home-figma .pfc-primary-menu,
.pfc-primary-menu {
    justify-content: center;
    gap: 0;
    width: auto;
    max-width: 100%;
}

.pfc-home-figma .pfc-primary-menu > li > a,
.pfc-primary-menu > li > a {
    min-height: 42px;
    padding: 0 13px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    border-right: 1px solid rgba(255,255,255,.22);
}

.pfc-site-header__nav--secondary .pfc-primary-menu > li > a {
    min-height: 38px;
    padding: 0 10px;
    font-size: 12px;
}

.pfc-home-figma .pfc-primary-menu > li:first-child > a,
.pfc-primary-menu > li:first-child > a {
    border-left: 0;
}

.pfc-home-figma .pfc-primary-menu > li > a:hover,
.pfc-home-figma .pfc-primary-menu > li.current-menu-item > a,
.pfc-home-figma .pfc-primary-menu > li.current-menu-ancestor > a,
.pfc-primary-menu > li > a:hover,
.pfc-primary-menu > li.current-menu-item > a,
.pfc-primary-menu > li.current-menu-ancestor > a {
    color: #d1a300 !important;
}

.pfc-site-header__nav--secondary .pfc-primary-menu > li:first-child > a {
    color: #d1a300 !important;
}

.pfc-site-header__nav .pfc-primary-menu .sub-menu {
    top: 100%;
    z-index: 100000;
}

@media (max-width: 1100px) {
    .pfc-header-container {
        width: min(100% - 36px, 1000px);
    }

    .pfc-home-figma .pfc-site-header__main,
    .pfc-site-header__main.pfc-header-container {
        grid-template-columns: 160px 1fr auto;
        gap: 22px;
    }

    .pfc-home-figma .pfc-site-header__logo img,
    .pfc-site-header__logo img {
        width: 145px;
    }
}

@media (max-width: 850px) {
    .pfc-site-header__top-inner {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 0;
        padding: 4px 0;
    }

    .pfc-site-header__top-inner a {
        display: none;
    }

    .pfc-home-figma .pfc-site-header__main,
    .pfc-site-header__main.pfc-header-container {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 12px;
        padding: 14px 0;
    }

    .pfc-site-header__search {
        width: min(100%, 480px);
    }

    .pfc-home-figma .pfc-site-header__nav-inner,
    .pfc-site-header__nav-inner.pfc-header-container {
        justify-content: flex-start;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .pfc-home-figma .pfc-primary-menu,
    .pfc-primary-menu {
        width: max-content;
        justify-content: flex-start;
    }
}


/* v1.0.9 - menu dropdown usability and consistent primary/secondary nav typography */
.pfc-home-figma .pfc-site-header,
.pfc-site-header {
    position: relative;
    z-index: 100000;
    overflow: visible !important;
}

.pfc-home-figma .pfc-site-header__nav--primary,
.pfc-site-header__nav--primary {
    position: relative;
    z-index: 100030;
    overflow: visible !important;
}

.pfc-home-figma .pfc-site-header__nav--secondary,
.pfc-site-header__nav--secondary {
    position: relative;
    z-index: 100010;
    overflow: visible !important;
}

.pfc-home-figma .pfc-site-header__nav--primary .pfc-primary-menu .sub-menu,
.pfc-site-header__nav--primary .pfc-primary-menu .sub-menu {
    z-index: 100050 !important;
}

/* Make both navigation rows use the same menu typography and clickable proportions. */
.pfc-home-figma .pfc-site-header__nav--primary .pfc-primary-menu > li > a,
.pfc-home-figma .pfc-site-header__nav--secondary .pfc-primary-menu > li > a,
.pfc-site-header__nav--primary .pfc-primary-menu > li > a,
.pfc-site-header__nav--secondary .pfc-primary-menu > li > a {
    min-height: 42px !important;
    padding: 0 13px !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
}

.pfc-home-figma .pfc-site-header__nav--secondary .pfc-site-header__nav-inner,
.pfc-site-header__nav--secondary .pfc-site-header__nav-inner {
    min-height: 42px !important;
}

/* Sub-menu indicator arrows for parent menu items. */
.pfc-primary-menu > li.menu-item-has-children > a::after,
.pfc-primary-menu > li.page_item_has_children > a::after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 2px;
    border-right: 1.7px solid currentColor;
    border-bottom: 1.7px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    flex: 0 0 auto;
}

.pfc-primary-menu .sub-menu li.menu-item-has-children > a,
.pfc-primary-menu .sub-menu li.page_item_has_children > a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.pfc-primary-menu .sub-menu li.menu-item-has-children > a::after,
.pfc-primary-menu .sub-menu li.page_item_has_children > a::after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 1.7px solid currentColor;
    border-bottom: 1.7px solid currentColor;
    transform: rotate(-45deg);
    flex: 0 0 auto;
}

/* Keep dropdowns directly beneath the hovered primary menu item and above the secondary row. */
.pfc-site-header__nav--primary .pfc-primary-menu > li > .sub-menu {
    top: 100% !important;
}

.pfc-site-header__nav--primary .pfc-primary-menu .sub-menu {
    pointer-events: auto;
}

/* Remove the previous forced gold styling from the first secondary item unless it is active/hovered. */
.pfc-site-header__nav--secondary .pfc-primary-menu > li:first-child > a {
    color: #fff !important;
}

.pfc-site-header__nav--secondary .pfc-primary-menu > li:first-child > a:hover,
.pfc-site-header__nav--secondary .pfc-primary-menu > li.current-menu-item:first-child > a,
.pfc-site-header__nav--secondary .pfc-primary-menu > li.current-menu-ancestor:first-child > a {
    color: #d1a300 !important;
}

@media (max-width: 900px) {
    .pfc-primary-menu > li.menu-item-has-children > a::after,
    .pfc-primary-menu > li.page_item_has_children > a::after {
        display: none;
    }
}


/* v1.0.10 - use the ProFrameCo/Figma header site-wide, including WooCommerce archives. */
body.pfc-use-custom-global-header #header,
body.pfc-use-custom-global-header .header-wrapper,
body.pfc-use-custom-global-header #masthead,
body.pfc-use-custom-global-header .sticky-wrapper:has(#header) {
    display: none !important;
}

body.pfc-use-custom-global-header .pfc-site-header--global {
    display: block !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 100000 !important;
    background: #fff !important;
    overflow: visible !important;
}

body.pfc-use-custom-global-header .pfc-site-header--global + * {
    clear: both;
}

body.pfc-use-custom-global-header .pfc-site-header--global .pfc-header-container,
.pfc-site-header--global .pfc-header-container {
    width: min(1000px, calc(100% - 48px)) !important;
    max-width: 1000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.pfc-site-header--global .pfc-site-header__top {
    min-height: 24px !important;
    background: #b99a64 !important;
    color: #fff !important;
}

.pfc-site-header--global .pfc-site-header__main {
    min-height: 72px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

.pfc-site-header--global .pfc-site-header__logo img {
    width: 155px !important;
    max-width: 155px !important;
    height: auto !important;
}

.pfc-site-header--global .pfc-site-header__divider {
    width: 1px;
    height: 20px;
    background: #d8dce0;
    display: inline-block;
}

.pfc-site-header--global .pfc-site-header__nav--primary,
.pfc-site-header--global .pfc-site-header__nav--secondary {
    display: block !important;
    overflow: visible !important;
}

.pfc-site-header--global .pfc-primary-menu,
.pfc-site-header--global .pfc-primary-menu ul {
    list-style: none !important;
}

.pfc-site-header--global .pfc-primary-menu > li > a {
    text-decoration: none !important;
}

.pfc-site-header--global .pfc-site-header__nav--primary .pfc-primary-menu .sub-menu {
    z-index: 100060 !important;
}

@media (max-width: 900px) {
    body.pfc-use-custom-global-header .pfc-site-header--global .pfc-header-container,
    .pfc-site-header--global .pfc-header-container {
        width: min(100% - 28px, 1000px) !important;
    }

    .pfc-site-header--global .pfc-site-header__main {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        text-align: center;
    }

    .pfc-site-header--global .pfc-site-header__logo img {
        margin-left: auto;
        margin-right: auto;
    }
}

/* v1.0.11 - header/top bar and hero benefit strip matched to supplied Figma reference. */
:root {
    --pfc-nav-reference: #16223a;
    --pfc-benefit-border: #c4b162;
}

.pfc-home-figma .pfc-site-header__top,
.pfc-site-header--global .pfc-site-header__top,
.pfc-site-header__top {
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    background: #a27100 !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
}

.pfc-site-header__top-inner,
.pfc-home-figma .pfc-site-header__top-inner,
.pfc-site-header--global .pfc-site-header__top-inner {
    width: 100% !important;
    max-width: none !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 24px !important;
    text-align: center !important;
}

.pfc-site-header__top-inner > a {
    display: none !important;
}

.pfc-delivery-message,
.pfc-site-header__top-inner strong,
.pfc-site-header__top-inner span {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 58px;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.pfc-delivery-message::before,
.pfc-delivery-message::after,
.pfc-site-header__top-inner strong::before,
.pfc-site-header__top-inner strong::after,
.pfc-site-header__top-inner span::before,
.pfc-site-header__top-inner span::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 26px;
    height: 18px;
    border-color: #d1a300;
    transform: translateY(-50%);
    pointer-events: none;
}

.pfc-delivery-message::before,
.pfc-site-header__top-inner strong::before,
.pfc-site-header__top-inner span::before {
    left: 12px;
    border-left: 3px solid #d1a300;
    border-top: 3px solid #d1a300;
}

.pfc-delivery-message::after,
.pfc-site-header__top-inner strong::after,
.pfc-site-header__top-inner span::after {
    right: 12px;
    border-right: 3px solid #d1a300;
    border-top: 3px solid #d1a300;
}

.pfc-home-figma .pfc-site-header__main,
.pfc-site-header__main.pfc-header-container,
.pfc-site-header--global .pfc-site-header__main {
    min-height: 96px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    grid-template-columns: 155px auto minmax(300px, 430px) auto !important;
    gap: 26px !important;
    align-items: center !important;
}

.pfc-home-figma .pfc-site-header__logo img,
.pfc-site-header__logo img,
.pfc-site-header--global .pfc-site-header__logo img {
    width: 150px !important;
    max-width: 150px !important;
}

.pfc-site-header__tagline {
    display: inline-flex;
    align-items: center;
    min-width: 250px;
    color: #16223a;
    font-family: 'DM Sans', sans-serif;
    font-size: 22px;
    font-style: italic;
    line-height: 1.1;
    white-space: nowrap;
}

.pfc-home-figma .pfc-site-header__nav--primary,
.pfc-home-figma .pfc-site-header__nav--secondary,
.pfc-site-header__nav--primary,
.pfc-site-header__nav--secondary,
.pfc-site-header--global .pfc-site-header__nav--primary,
.pfc-site-header--global .pfc-site-header__nav--secondary {
    background: var(--pfc-nav-reference) !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
}

.pfc-home-figma .pfc-site-header__nav--primary .pfc-primary-menu > li > a,
.pfc-home-figma .pfc-site-header__nav--secondary .pfc-primary-menu > li > a,
.pfc-site-header__nav--primary .pfc-primary-menu > li > a,
.pfc-site-header__nav--secondary .pfc-primary-menu > li > a {
    color: #fff !important;
    border-color: transparent !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    min-height: 52px !important;
    padding: 0 15px !important;
}

.pfc-site-header__nav--primary .pfc-primary-menu > li > a:hover,
.pfc-site-header__nav--secondary .pfc-primary-menu > li > a:hover,
.pfc-site-header__nav--primary .pfc-primary-menu > li.current-menu-item > a,
.pfc-site-header__nav--secondary .pfc-primary-menu > li.current-menu-item > a,
.pfc-site-header__nav--primary .pfc-primary-menu > li.current-menu-ancestor > a,
.pfc-site-header__nav--secondary .pfc-primary-menu > li.current-menu-ancestor > a {
    color: #d1a300 !important;
}

.pfc-site-header__nav--primary .pfc-site-header__nav-inner,
.pfc-site-header__nav--secondary .pfc-site-header__nav-inner {
    min-height: 52px !important;
}

.pfc-value-strip {
    background: var(--pfc-cream) !important;
    border: 0 !important;
    padding: 52px 0 54px !important;
}

.pfc-value-strip__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 32px !important;
}

.pfc-value-strip__item {
    min-height: 106px !important;
    padding: 0 34px !important;
    border: 1px solid var(--pfc-benefit-border) !important;
    background: transparent !important;
    color: #16223a !important;
    display: flex !important;
    align-items: center !important;
    gap: 26px !important;
    box-shadow: none !important;
}

.pfc-value-strip__item .pfc-icon-img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
    flex: 0 0 34px !important;
}

.pfc-value-strip__item strong {
    color: #16223a !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
}

@media (max-width: 1100px) {
    .pfc-home-figma .pfc-site-header__main,
    .pfc-site-header__main.pfc-header-container,
    .pfc-site-header--global .pfc-site-header__main {
        grid-template-columns: 145px auto minmax(260px, 1fr) auto !important;
        gap: 18px !important;
    }

    .pfc-site-header__tagline {
        min-width: 190px;
        font-size: 18px;
    }

    .pfc-value-strip__item strong {
        font-size: 22px !important;
    }
}

@media (max-width: 850px) {
    .pfc-home-figma .pfc-site-header__main,
    .pfc-site-header__main.pfc-header-container,
    .pfc-site-header--global .pfc-site-header__main {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        min-height: auto !important;
    }

    .pfc-site-header__tagline {
        justify-content: center;
        min-width: 0;
        white-space: normal;
        text-align: center;
    }

    .pfc-value-strip__grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .pfc-value-strip__item {
        min-height: 86px !important;
    }
}

/* v1.0.12 - exact uploaded delivery frame + hero benefit icons. */
.pfc-home-figma .pfc-site-header__top,
.pfc-site-header--global .pfc-site-header__top,
.pfc-site-header__top {
    min-height: 34px !important;
    height: 34px !important;
    background: #a27100 !important;
    overflow: hidden !important;
}

.pfc-site-header__top-inner,
.pfc-home-figma .pfc-site-header__top-inner,
.pfc-site-header--global .pfc-site-header__top-inner {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 !important;
}

.pfc-delivery-message,
.pfc-site-header__top-inner strong.pfc-delivery-message,
.pfc-site-header__top-inner span.pfc-delivery-message {
    width: 100% !important;
    max-width: 1276px !important;
    min-height: 26px !important;
    height: 26px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
}

.pfc-delivery-message::before,
.pfc-delivery-message::after,
.pfc-site-header__top-inner strong.pfc-delivery-message::before,
.pfc-site-header__top-inner strong.pfc-delivery-message::after,
.pfc-site-header__top-inner span.pfc-delivery-message::before,
.pfc-site-header__top-inner span.pfc-delivery-message::after {
    content: none !important;
    display: none !important;
}

.pfc-delivery-message img {
    display: block !important;
    width: min(1276px, 100vw) !important;
    max-width: 100% !important;
    height: 26px !important;
    object-fit: contain !important;
    object-position: center center !important;
}

.pfc-value-strip__item .pfc-icon-img {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
}


/* v1.0.13 header/hero refinements */
.pfc-site-header__top,
.pfc-home-figma .pfc-site-header__top,
.pfc-site-header--global .pfc-site-header__top {
    background: #a67300;
    min-height: 36px;
    padding: 0;
}

.pfc-site-header__top-inner,
.pfc-home-figma .pfc-site-header__top-inner,
.pfc-site-header--global .pfc-site-header__top-inner {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}

.pfc-site-header__top-inner > a {
    display: none !important;
}

.pfc-delivery-message,
.pfc-site-header__top-inner strong.pfc-delivery-message,
.pfc-site-header__top-inner span.pfc-delivery-message {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    max-width: 520px;
}

.pfc-delivery-message::before,
.pfc-delivery-message::after,
.pfc-site-header__top-inner strong::before,
.pfc-site-header__top-inner strong::after,
.pfc-site-header__top-inner span::before,
.pfc-site-header__top-inner span::after {
    content: none !important;
    display: none !important;
}

.pfc-delivery-message img {
    display: block;
    width: 100%;
    max-width: 503px;
    height: auto;
}

.pfc-hero__panel {
    max-width: 650px;
    width: 100%;
    background: rgba(11, 33, 61, .92);
    padding: 50px 52px 46px;
    box-shadow: none;
}

.pfc-home-hero .pfc-hero__wrap {
    padding-left: 84px;
}

.pfc-hero__panel h1 {
    font-size: 74px;
    line-height: 0.94;
    letter-spacing: -0.045em;
    margin: 0 0 22px;
    color: #fff;
}

.pfc-hero__panel h1 em {
    display: block;
    font-style: italic;
}

.pfc-hero__panel p {
    max-width: 520px;
    color: rgba(255,255,255,.86);
    font-size: 21px;
    line-height: 1.55;
    margin: 0 0 26px;
}

.pfc-hero__panel .pfc-button-row {
    margin-top: 0;
}

.pfc-hero__panel .pfc-btn--solid {
    min-height: 54px;
    padding: 0 26px;
    font-size: 16px;
    font-weight: 700;
    background: #b88400;
    color: #fff;
}

.pfc-hero__panel .pfc-btn--ghost-light {
    display: none !important;
}

@media (max-width: 980px) {
    .pfc-home-hero .pfc-hero__wrap {
        padding-left: 0;
    }

    .pfc-hero__panel {
        padding: 34px 28px;
        max-width: none;
    }

    .pfc-hero__panel h1 {
        font-size: 52px;
    }

    .pfc-hero__panel p {
        font-size: 18px;
    }
}

@media (max-width: 560px) {
    .pfc-delivery-message img {
        max-width: 330px;
    }

    .pfc-hero__panel h1 {
        font-size: 42px;
    }

    .pfc-hero__panel p {
        font-size: 16px;
    }
}


/* v1.0.14 masthead/header search refinements */
.pfc-site-header__nav--secondary,
.pfc-home-figma .pfc-site-header__nav--secondary,
.pfc-site-header--global .pfc-site-header__nav--secondary {
    border-top: 1px solid #a37100 !important;
}

.pfc-site-header__search--shortcode {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 430px;
}

.pfc-site-header__search--shortcode form,
.pfc-site-header__search--shortcode .is-search-form,
.pfc-site-header__search--shortcode .is-ajax-search-form {
    width: 100%;
    margin: 0;
}

.pfc-site-header__search--shortcode input[type="search"],
.pfc-site-header__search--shortcode .is-search-input {
    width: 100% !important;
    min-height: 44px !important;
    border: 1px solid #b9c3cf !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 15px !important;
}

.pfc-site-header__search--shortcode button,
.pfc-site-header__search--shortcode .is-search-submit {
    min-height: 44px !important;
    border-radius: 0 !important;
}

.pfc-home-hero.pfc-hero {
    min-height: 642px;
    align-items: center;
}

.pfc-home-hero .pfc-hero__media {
    background-image: linear-gradient(90deg, rgba(7,24,45,.10), rgba(7,24,45,0)), var(--pfc-hero-main);
    background-position: center center;
    background-size: cover;
}

.pfc-home-hero .pfc-hero__wrap {
    padding-left: 24px;
    padding-top: 66px;
    padding-bottom: 66px;
}

.pfc-home-hero .pfc-hero__panel {
    max-width: 640px;
    min-height: 496px;
    padding: 66px 64px 62px;
    background: rgba(22,34,58,.94);
}

.pfc-home-hero .pfc-hero__panel h1 {
    font-size: 60px;
    line-height: 1.02;
    letter-spacing: -0.035em;
    margin-bottom: 24px;
}

.pfc-home-hero .pfc-hero__panel p {
    max-width: 495px;
    font-size: 21px;
    line-height: 1.55;
    margin-bottom: 34px;
}

.pfc-home-hero .pfc-hero__panel .pfc-btn--solid {
    min-height: 48px;
    padding-left: 24px;
    padding-right: 24px;
}

@media (min-width: 1280px) {
    .pfc-home-hero .pfc-hero__wrap {
        padding-left: 40px;
    }
}

@media (max-width: 980px) {
    .pfc-site-header__search--shortcode {
        max-width: none;
        margin: 0 auto;
    }

    .pfc-home-hero.pfc-hero {
        min-height: auto;
    }

    .pfc-home-hero .pfc-hero__wrap {
        padding-left: 0;
        padding-top: 0;
        padding-bottom: 46px;
    }

    .pfc-home-hero .pfc-hero__panel {
        min-height: 0;
        padding: 38px 30px;
    }

    .pfc-home-hero .pfc-hero__panel h1 {
        font-size: 44px;
    }
}

@media (max-width: 560px) {
    .pfc-home-hero .pfc-hero__panel h1 {
        font-size: 38px;
    }

    .pfc-home-hero .pfc-hero__panel p {
        font-size: 16px;
    }
}


/* v1.0.15 keep Ivory Search on one line in the header */
.pfc-header-container {
    width: min(1440px, calc(100% - 48px));
}

.pfc-site-header__main,
.pfc-home-figma .pfc-site-header__main,
.pfc-site-header--global .pfc-site-header__main {
    grid-template-columns: 250px 280px minmax(360px, 520px) auto;
    gap: 30px;
    justify-content: center;
}

.pfc-site-header__search--shortcode,
.pfc-site-header__search--shortcode form,
.pfc-site-header__search--shortcode .is-search-form,
.pfc-site-header__search--shortcode .is-ajax-search-form,
.pfc-site-header__search--shortcode .aws-container,
.pfc-site-header__search--shortcode .aws-search-form {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    white-space: nowrap !important;
}

.pfc-site-header__search--shortcode .is-search-form > *,
.pfc-site-header__search--shortcode .is-ajax-search-form > *,
.pfc-site-header__search--shortcode .aws-search-form > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.pfc-site-header__search--shortcode input[type="search"],
.pfc-site-header__search--shortcode input[type="text"],
.pfc-site-header__search--shortcode .is-search-input,
.pfc-site-header__search--shortcode .aws-search-field {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
}

.pfc-site-header__search--shortcode button,
.pfc-site-header__search--shortcode input[type="submit"],
.pfc-site-header__search--shortcode .is-search-submit,
.pfc-site-header__search--shortcode .aws-search-btn {
    flex: 0 0 52px !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pfc-site-header__search--shortcode .is-search-submit input,
.pfc-site-header__search--shortcode .is-search-submit button {
    width: 52px !important;
    height: 44px !important;
}

@media (max-width: 1180px) {
    .pfc-site-header__main,
    .pfc-home-figma .pfc-site-header__main,
    .pfc-site-header--global .pfc-site-header__main {
        grid-template-columns: 220px minmax(280px, 1fr) auto;
    }

    .pfc-site-header__tagline {
        display: none;
    }
}

@media (max-width: 980px) {
    .pfc-site-header__main,
    .pfc-home-figma .pfc-site-header__main,
    .pfc-site-header--global .pfc-site-header__main {
        grid-template-columns: 1fr;
    }

    .pfc-site-header__search--shortcode {
        max-width: 560px !important;
    }
}


/* v1.0.16 header alignment and Ivory Search cleanup */
.pfc-site-header__main,
.pfc-home-figma .pfc-site-header__main,
.pfc-site-header--global .pfc-site-header__main {
    width: min(1780px, calc(100% - 96px));
    grid-template-columns: auto auto minmax(420px, 560px) auto;
    justify-content: start;
    align-items: center;
    column-gap: 36px;
}

.pfc-site-header__logo {
    justify-self: start;
}

.pfc-site-header__tagline {
    justify-self: start;
    white-space: nowrap;
    margin-right: auto;
}

.pfc-site-header__search--shortcode {
    justify-self: end;
    margin-left: auto;
}

.pfc-site-header__links {
    justify-self: end;
}

/* Hide the additional theme-added search button/icon.
   Ivory Search already outputs its own submit icon. */
.pfc-site-header__search--shortcode > button,
.pfc-site-header__search--shortcode > .pfc-search-button,
.pfc-site-header__search--shortcode::after {
    display: none !important;
}

/* Remove spacing/gaps introduced by Ivory Search/theme wrappers */
.pfc-site-header__search--shortcode,
.pfc-site-header__search--shortcode form,
.pfc-site-header__search--shortcode .is-search-form,
.pfc-site-header__search--shortcode .is-ajax-search-form,
.pfc-site-header__search--shortcode .aws-container,
.pfc-site-header__search--shortcode .aws-search-form {
    gap: 0 !important;
    column-gap: 0 !important;
}

.pfc-site-header__search--shortcode input[type="search"],
.pfc-site-header__search--shortcode input[type="text"],
.pfc-site-header__search--shortcode .is-search-input,
.pfc-site-header__search--shortcode .aws-search-field {
    border-right-width: 0 !important;
}

.pfc-site-header__search--shortcode .is-search-submit,
.pfc-site-header__search--shortcode .aws-search-btn,
.pfc-site-header__search--shortcode button[type="submit"],
.pfc-site-header__search--shortcode input[type="submit"] {
    margin-left: 0 !important;
    border-left-width: 1px !important;
}

/* Do not let any extra empty button area appear between input and icon */
.pfc-site-header__search--shortcode .is-search-form > div:empty,
.pfc-site-header__search--shortcode .is-ajax-search-form > div:empty,
.pfc-site-header__search--shortcode .aws-search-form > div:empty {
    display: none !important;
}

@media (max-width: 1320px) {
    .pfc-site-header__main,
    .pfc-home-figma .pfc-site-header__main,
    .pfc-site-header--global .pfc-site-header__main {
        width: min(1440px, calc(100% - 56px));
        grid-template-columns: auto minmax(360px, 1fr) auto;
        column-gap: 28px;
    }

    .pfc-site-header__tagline {
        display: none;
    }
}

@media (max-width: 980px) {
    .pfc-site-header__main,
    .pfc-home-figma .pfc-site-header__main,
    .pfc-site-header--global .pfc-site-header__main {
        width: min(100% - 36px, 720px);
        grid-template-columns: 1fr;
        justify-content: center;
    }

    .pfc-site-header__logo,
    .pfc-site-header__search--shortcode,
    .pfc-site-header__links {
        justify-self: center;
        margin-left: 0;
    }
}


/* v1.0.17 - make Ivory Search look like a single joined header search box */
.pfc-site-header__main,
.pfc-home-figma .pfc-site-header__main,
.pfc-site-header--global .pfc-site-header__main {
    grid-template-columns: auto auto minmax(410px, 500px) auto;
    column-gap: 28px;
}

.pfc-site-header__search--shortcode {
    width: 500px !important;
    max-width: 500px !important;
    min-width: 410px !important;
    display: block !important;
    justify-self: end;
    margin-left: auto;
}

/* Reset Ivory Search/table/flex layouts that were creating the visual gap */
.pfc-site-header__search--shortcode form,
.pfc-site-header__search--shortcode .is-search-form,
.pfc-site-header__search--shortcode .is-ajax-search-form,
.pfc-site-header__search--shortcode .is-form-style,
.pfc-site-header__search--shortcode .aws-container,
.pfc-site-header__search--shortcode .aws-search-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    align-items: stretch !important;
    gap: 0 !important;
    column-gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-collapse: collapse !important;
    white-space: nowrap !important;
}

/* Some Ivory Search layouts wrap the input in a label */
.pfc-site-header__search--shortcode label {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-column: 1 !important;
}

.pfc-site-header__search--shortcode input[type="search"],
.pfc-site-header__search--shortcode input[type="text"],
.pfc-site-header__search--shortcode .is-search-input,
.pfc-site-header__search--shortcode .aws-search-field {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 1px solid #c7d0da !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    color: #16223a !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 44px !important;
}

.pfc-site-header__search--shortcode button,
.pfc-site-header__search--shortcode button[type="submit"],
.pfc-site-header__search--shortcode input[type="submit"],
.pfc-site-header__search--shortcode .is-search-submit,
.pfc-site-header__search--shortcode .aws-search-btn {
    grid-column: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #c7d0da !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    background: #f0f2f4 !important;
    box-shadow: none !important;
    line-height: 1 !important;
}

/* Stop icon spans/SVGs from adding extra dimensions or offsets */
.pfc-site-header__search--shortcode .is-search-icon,
.pfc-site-header__search--shortcode .aws-search-btn_icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.pfc-site-header__search--shortcode svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
}

/* Hide any empty layout cells or accidental extra submit wrappers */
.pfc-site-header__search--shortcode form > :empty,
.pfc-site-header__search--shortcode .is-search-form > :empty,
.pfc-site-header__search--shortcode .is-ajax-search-form > :empty,
.pfc-site-header__search--shortcode .aws-search-form > :empty {
    display: none !important;
}

@media (max-width: 1320px) {
    .pfc-site-header__main,
    .pfc-home-figma .pfc-site-header__main,
    .pfc-site-header--global .pfc-site-header__main {
        grid-template-columns: auto minmax(360px, 500px) auto;
    }

    .pfc-site-header__search--shortcode {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 980px) {
    .pfc-site-header__search--shortcode {
        width: 100% !important;
        max-width: 560px !important;
        min-width: 0 !important;
        justify-self: center;
    }
}


/* v1.0.18 - centre and space the header to match the live-site proportions */
.pfc-header-container,
.pfc-site-header__main,
.pfc-home-figma .pfc-site-header__main,
.pfc-site-header--global .pfc-site-header__main,
.pfc-site-header__nav-inner,
.pfc-home-figma .pfc-site-header__nav-inner,
.pfc-site-header--global .pfc-site-header__nav-inner {
    width: min(1260px, calc(100% - 72px));
    margin-left: auto;
    margin-right: auto;
}

.pfc-site-header__main,
.pfc-home-figma .pfc-site-header__main,
.pfc-site-header--global .pfc-site-header__main {
    display: grid;
    grid-template-columns: auto auto minmax(380px, 430px) auto;
    align-items: center;
    justify-content: center;
    column-gap: 34px;
    min-height: 118px;
}

.pfc-site-header__logo {
    justify-self: start;
}

.pfc-site-header__logo img {
    width: 174px;
}

.pfc-site-header__tagline {
    justify-self: start;
    white-space: nowrap;
    font-size: 25px;
    line-height: 1.1;
    margin: 0 8px 0 0;
}

.pfc-site-header__search--shortcode {
    position: relative !important;
    display: block !important;
    width: 430px !important;
    max-width: 430px !important;
    min-width: 380px !important;
    height: 46px !important;
    margin: 0 !important;
    justify-self: end;
    overflow: visible !important;
}

.pfc-site-header__links {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: max-content;
    white-space: nowrap;
}

/* Make the Ivory Search shortcode look like the live-site search: one joined box */
.pfc-site-header__search--shortcode form,
.pfc-site-header__search--shortcode .is-search-form,
.pfc-site-header__search--shortcode .is-ajax-search-form,
.pfc-site-header__search--shortcode .is-form-style,
.pfc-site-header__search--shortcode .aws-container,
.pfc-site-header__search--shortcode .aws-search-form {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border: 0 !important;
    background: transparent !important;
}

.pfc-site-header__search--shortcode label {
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pfc-site-header__search--shortcode input[type="search"],
.pfc-site-header__search--shortcode input[type="text"],
.pfc-site-header__search--shortcode .is-search-input,
.pfc-site-header__search--shortcode .aws-search-field {
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 0 62px 0 18px !important;
    border: 1px solid #d4d9df !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #16223a !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 46px !important;
}

.pfc-site-header__search--shortcode button,
.pfc-site-header__search--shortcode button[type="submit"],
.pfc-site-header__search--shortcode input[type="submit"],
.pfc-site-header__search--shortcode .is-search-submit,
.pfc-site-header__search--shortcode .aws-search-btn {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 5 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d4d9df !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    background: #eef0f2 !important;
    box-shadow: none !important;
    line-height: 1 !important;
    transform: none !important;
}

.pfc-site-header__search--shortcode .is-search-icon,
.pfc-site-header__search--shortcode .aws-search-btn_icon {
    width: 52px !important;
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Remove any extra/empty cells that Ivory Search or old theme styling may add */
.pfc-site-header__search--shortcode form > :empty,
.pfc-site-header__search--shortcode .is-search-form > :empty,
.pfc-site-header__search--shortcode .is-ajax-search-form > :empty,
.pfc-site-header__search--shortcode .aws-search-form > :empty {
    display: none !important;
}

/* Keep both menu rows centred within the same page width */
.pfc-site-header__nav .pfc-header-container,
.pfc-site-header__nav-inner,
.pfc-home-figma .pfc-site-header__nav-inner,
.pfc-site-header--global .pfc-site-header__nav-inner {
    justify-content: center;
}

@media (max-width: 1320px) {
    .pfc-site-header__main,
    .pfc-home-figma .pfc-site-header__main,
    .pfc-site-header--global .pfc-site-header__main {
        grid-template-columns: auto minmax(360px, 430px) auto;
        column-gap: 28px;
    }

    .pfc-site-header__tagline {
        display: none;
    }
}

@media (max-width: 980px) {
    .pfc-header-container,
    .pfc-site-header__main,
    .pfc-home-figma .pfc-site-header__main,
    .pfc-site-header--global .pfc-site-header__main,
    .pfc-site-header__nav-inner,
    .pfc-home-figma .pfc-site-header__nav-inner,
    .pfc-site-header--global .pfc-site-header__nav-inner {
        width: min(100% - 36px, 720px);
    }

    .pfc-site-header__main,
    .pfc-home-figma .pfc-site-header__main,
    .pfc-site-header--global .pfc-site-header__main {
        grid-template-columns: 1fr;
        row-gap: 16px;
        min-height: auto;
        padding-top: 18px;
        padding-bottom: 18px;
    }

    .pfc-site-header__logo,
    .pfc-site-header__search--shortcode,
    .pfc-site-header__links {
        justify-self: center;
    }

    .pfc-site-header__search--shortcode {
        width: min(100%, 430px) !important;
        max-width: 430px !important;
        min-width: 0 !important;
    }
}


/* v1.0.19 - prevent global/non-home header tagline being overlapped by search */
.pfc-site-header--global .pfc-site-header__tagline {
    display: inline-flex !important;
    justify-self: start !important;
}

.pfc-site-header--global .pfc-site-header__main {
    grid-template-columns: auto auto minmax(320px, 1fr) auto !important;
    justify-content: normal !important;
    column-gap: 36px !important;
}

.pfc-site-header--global .pfc-site-header__search--shortcode {
    justify-self: center !important;
    margin-left: 0 !important;
}

.pfc-site-header--global .pfc-site-header__links {
    justify-self: end !important;
}

@media (max-width: 1180px) {
    /* Not enough room for the tagline once the search narrows — hide it and
       fall back to the logo | search | links layout. */
    .pfc-site-header--global .pfc-site-header__tagline {
        display: none !important;
    }
    .pfc-site-header--global .pfc-site-header__main {
        grid-template-columns: auto minmax(340px, 1fr) auto !important;
        column-gap: 34px !important;
    }
}

@media (max-width: 980px) {
    .pfc-site-header--global .pfc-site-header__main {
        grid-template-columns: 1fr !important;
    }
}


/* v1.0.20 WooCommerce category redesign */
.pfc-category-page {
    background: #f5f7f8;
}

.pfc-category-hero {
    position: relative;
    min-height: 390px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #16223a;
}

.pfc-category-hero__media {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}

.pfc-category-hero__inner {
    position: relative;
    z-index: 2;
    padding-top: 64px;
    padding-bottom: 64px;
}

.pfc-category-hero__panel {
    width: min(660px, 100%);
    background: rgba(22,34,58,.94);
    padding: 44px 48px;
    color: #fff;
}

.pfc-category-hero__panel .woocommerce-breadcrumb,
.pfc-category-hero__panel .woocommerce-breadcrumb a {
    color: rgba(255,255,255,.75);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin: 0 0 18px;
}

.pfc-category-hero__panel h1 {
    color: #fff;
    font-size: clamp(42px, 4.2vw, 64px);
    margin-bottom: 18px;
}

.pfc-category-hero__panel p,
.pfc-category-hero__description,
.pfc-category-hero__description p {
    color: rgba(255,255,255,.84);
    font-size: 18px;
    line-height: 1.55;
}

.pfc-category-values {
    padding: 44px 0;
    background: #f5f7f8;
}

.pfc-category-featured {
    background: #16223a;
    color: #fff;
}

.pfc-category-featured .pfc-section-heading h2 {
    color: #fff;
}

.pfc-category-featured .pfc-link {
    color: #c4b162;
}

.pfc-category-grid--archive {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}

.pfc-category-grid--archive .pfc-category-card {
    background: #fff;
    border: 1px solid rgba(255,255,255,.25);
    box-shadow: none;
}

.pfc-category-grid--archive .pfc-category-card a {
    display: block;
    color: #16223a;
    text-decoration: none;
}

.pfc-category-card__image {
    display: block;
    aspect-ratio: 1.35 / 1;
    background-size: cover;
    background-position: center;
}

.pfc-category-card__body {
    display: block;
    padding: 22px;
}

.pfc-category-card__body strong {
    display: block;
    font-size: 20px;
    line-height: 1.2;
    margin-bottom: 10px;
}

.pfc-category-card__body span {
    display: block;
    color: #5c6875;
    font-size: 14px;
    margin-bottom: 16px;
}

.pfc-category-card__body em {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 0 16px;
    background: #b88400;
    color: #fff;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
}

.pfc-category-products {
    background: #f5f7f8;
    padding-top: 76px;
}

.pfc-category-products__top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 34px;
}

.pfc-category-products__top h2 {
    margin-bottom: 8px;
}

.pfc-category-result-count,
.pfc-category-result-count .woocommerce-result-count {
    color: #5c6875;
    font-size: 15px;
}

.pfc-category-ordering .woocommerce-ordering {
    margin: 0;
}

.pfc-category-ordering select {
    min-height: 46px;
    border: 1px solid #c9d1d8;
    background: #fff;
    padding: 0 46px 0 14px;
    color: #16223a;
}

.pfc-category-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 34px 28px;
    margin: 0 !important;
    padding: 0 !important;
}

.pfc-category-products ul.products::before,
.pfc-category-products ul.products::after {
    display: none !important;
    content: none !important;
}

.pfc-category-products ul.products li.product,
.pfc-archive-product-card {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    background: transparent;
}

.pfc-archive-product-card__image-wrap {
    position: relative;
    margin-bottom: 18px;
}

.pfc-archive-product-card__image {
    display: grid;
    place-items: center;
    aspect-ratio: 1 / 1;
    padding: 26px;
    background: #dce2e7;
    text-decoration: none;
}

.pfc-archive-product-card__image img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 100% !important;
    object-fit: contain;
    margin: 0 !important;
}

.pfc-archive-product-card__title {
    font-family: inherit !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    min-height: 50px;
    margin: 0 0 10px !important;
}

.pfc-archive-product-card__title a {
    color: #16223a;
    text-decoration: none;
}

.pfc-archive-product-card__price {
    min-height: 28px;
    color: #245aa0;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
}

.pfc-archive-product-card__price del {
    color: #697789;
    font-weight: 400;
    margin-right: 7px;
}

.pfc-archive-product-card__price ins {
    text-decoration: none;
}

.pfc-archive-product-card__button {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid #16223a;
    color: #16223a;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.2;
    transition: background .2s ease, color .2s ease;
}

.pfc-archive-product-card__button:hover {
    color: #fff;
    background: #16223a;
}

.pfc-category-pagination {
    margin-top: 56px;
    text-align: center;
}

.pfc-category-cta {
    background: #b88400;
    color: #fff;
    padding: 64px 0;
    text-align: center;
}

.pfc-category-cta__panel {
    max-width: 760px;
    margin: 0 auto;
}

.pfc-category-cta h2 {
    color: #fff;
}

.pfc-category-cta p {
    color: rgba(255,255,255,.82);
}

.pfc-category-cta .pfc-btn {
    background: #16223a;
}

@media (max-width: 1100px) {
    .pfc-category-products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pfc-category-grid--archive {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 760px) {
    .pfc-category-hero__panel {
        padding: 34px 28px;
    }

    .pfc-category-products__top {
        display: block;
    }

    .pfc-category-ordering {
        margin-top: 18px;
    }

    .pfc-category-products ul.products,
    .pfc-category-grid--archive {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px 18px;
    }

    .pfc-archive-product-card__title {
        font-size: 15px !important;
    }
}

@media (max-width: 480px) {
    .pfc-category-products ul.products,
    .pfc-category-grid--archive {
        grid-template-columns: 1fr;
    }
}


/* v1.0.21 category slider + 3-column product grid */
.pfc-category-top-slider {
    background: #f5f7f8;
    padding: 56px 0 24px;
}

.pfc-category-slider {
    position: relative;
    width: min(980px, 100%);
    margin: 0 auto;
}

.pfc-category-slider__viewport {
    overflow: hidden;
    background: #16223a;
}

.pfc-category-slider__track {
    display: flex;
    transition: transform .35s ease;
    will-change: transform;
}

.pfc-category-slider__slide {
    flex: 0 0 100%;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    min-height: 320px;
    background: #16223a;
    color: #fff;
}

.pfc-category-slider__image {
    display: grid;
    place-items: center;
    background: #dce2e7;
    padding: 28px;
    min-height: 320px;
}

.pfc-category-slider__image img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 270px;
    object-fit: contain;
}

.pfc-category-slider__content {
    padding: 48px 52px;
    align-self: center;
}

.pfc-category-slider__content h2 {
    color: #fff;
    font-size: clamp(32px, 3vw, 48px);
    margin-bottom: 14px;
}

.pfc-category-slider__content p {
    color: rgba(255,255,255,.78);
    font-size: 16px;
}

.pfc-category-slider__price {
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 22px;
}

.pfc-category-slider__price del {
    color: rgba(255,255,255,.58);
    font-weight: 400;
    margin-right: 8px;
}

.pfc-category-slider__price ins {
    text-decoration: none;
}

.pfc-category-slider__arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border-radius: 50% !important;
    border: 0 !important;
    background: rgba(22,34,58,.72) !important;
    transform: translateY(-50%);
    cursor: pointer;
    padding: 0 !important;
}

.pfc-category-slider__arrow::before {
    content: '';
    display: block;
    width: 13px;
    height: 13px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
}

.pfc-category-slider__arrow--prev {
    left: -24px;
}

.pfc-category-slider__arrow--prev::before {
    transform: translate(-38%, -50%) rotate(-135deg);
}

.pfc-category-slider__arrow--next {
    right: -24px;
}

.pfc-category-slider__arrow--next::before {
    transform: translate(-62%, -50%) rotate(45deg);
}

.pfc-category-slider__arrow:disabled {
    opacity: .35;
    cursor: default;
}

/* Override the earlier 4-column category grid and Flatsome widths */
.pfc-category-products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 44px 32px !important;
}

.pfc-category-products ul.products li.product,
.pfc-category-products ul.products li.pfc-archive-product-card,
.pfc-archive-product-card {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
}

.pfc-archive-product-card__image {
    aspect-ratio: 1 / 1;
    padding: 30px;
}

.pfc-archive-product-card__title {
    min-height: 54px;
}

@media (max-width: 980px) {
    .pfc-category-slider {
        width: min(100%, 720px);
    }

    .pfc-category-slider__slide {
        grid-template-columns: 1fr;
    }

    .pfc-category-slider__content {
        padding: 34px 30px;
    }

    .pfc-category-slider__arrow--prev {
        left: 12px;
    }

    .pfc-category-slider__arrow--next {
        right: 12px;
    }

    .pfc-category-products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .pfc-category-products ul.products {
        grid-template-columns: 1fr !important;
    }
}


/* v1.0.22 category page fixes: robust carousel + strict 3-column grid */
body.tax-product_cat .pfc-category-top-slider,
body.post-type-archive-product .pfc-category-top-slider {
    clear: both;
    display: block;
}

body.tax-product_cat .pfc-category-slider {
    width: min(1040px, calc(100% - 48px));
    margin-left: auto;
    margin-right: auto;
}

body.tax-product_cat .pfc-category-slider__viewport {
    overflow: hidden !important;
}

body.tax-product_cat .pfc-category-slider__track {
    display: flex !important;
    flex-wrap: nowrap !important;
}

body.tax-product_cat .pfc-category-slider__slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
}

/* Force any Woo category loop using our content-product.php into a clean 3-column grid */
body.tax-product_cat ul.products,
body.tax-product_cat .products.row,
body.tax-product_cat .shop-container ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 42px 32px !important;
    align-items: start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after,
body.tax-product_cat .products.row::before,
body.tax-product_cat .products.row::after {
    content: none !important;
    display: none !important;
}

body.tax-product_cat ul.products > li.product,
body.tax-product_cat .products.row > li.product,
body.tax-product_cat .shop-container ul.products > li.product,
body.tax-product_cat li.pfc-archive-product-card {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: initial !important;
    flex-basis: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    transform: none !important;
}

body.tax-product_cat .pfc-archive-product-card__image-wrap {
    width: 100% !important;
    margin: 0 0 18px !important;
}

body.tax-product_cat .pfc-archive-product-card__image {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    display: grid !important;
    place-items: center !important;
    padding: 26px !important;
    background: #dce2e7 !important;
}

body.tax-product_cat .pfc-archive-product-card__title,
body.tax-product_cat .pfc-archive-product-card__price,
body.tax-product_cat .pfc-archive-product-card__button {
    width: 100% !important;
}

@media (max-width: 980px) {
    body.tax-product_cat ul.products,
    body.tax-product_cat .products.row,
    body.tax-product_cat .shop-container ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    body.tax-product_cat ul.products,
    body.tax-product_cat .products.row,
    body.tax-product_cat .shop-container ul.products {
        grid-template-columns: 1fr !important;
    }
}


/* v1.0.23 category breadcrumb and carousel price fixes */
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb a,
body.tax-product_cat .breadcrumbs,
body.tax-product_cat .breadcrumbs a,
.pfc-category-hero__panel .woocommerce-breadcrumb,
.pfc-category-hero__panel .woocommerce-breadcrumb a {
    font-size: 14px !important;
    line-height: 1.35 !important;
}

body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_cat .breadcrumbs,
.pfc-category-hero__panel .woocommerce-breadcrumb {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
}

body.tax-product_cat .woocommerce-result-count,
.pfc-category-result-count,
.pfc-category-result-count .woocommerce-result-count {
    font-size: 14px !important;
    line-height: 1.35 !important;
}

.pfc-category-slider__price,
.pfc-category-slider__price *,
.pfc-category-slider__price .amount,
.pfc-category-slider__price bdi,
.pfc-category-slider__price ins,
.pfc-category-slider__price ins .amount,
.pfc-category-slider__price ins bdi {
    color: #ffffff !important;
}

.pfc-category-slider__price del,
.pfc-category-slider__price del *,
.pfc-category-slider__price del .amount,
.pfc-category-slider__price del bdi {
    color: rgba(255,255,255,.62) !important;
}


/* v1.0.24 site-wide Figma footer */
#footer,
.footer-wrapper,
.absolute-footer,
.footer-1,
.footer-2,
.pfc-theme-footer {
    display: none !important;
}

.pfc-global-footer,
.pfc-global-footer * {
    box-sizing: border-box;
}

.pfc-global-footer {
    background: #16223a;
    color: #ffffff;
    font-family: inherit;
    position: relative;
    z-index: 2;
}

.pfc-global-footer__container {
    width: min(1240px, calc(100% - 96px));
    margin: 0 auto;
}

.pfc-global-footer__main {
    background: #16223a;
    padding: 58px 0 54px;
}

.pfc-global-footer__brand-row {
    display: flex;
    align-items: center;
    gap: 28px;
}

.pfc-global-footer__logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.pfc-global-footer__logo img {
    display: block;
    width: 132px;
    height: auto;
}

.pfc-global-footer__tagline {
    color: #ffffff;
    font-family: 'DM Sans', sans-serif;
    font-size: 26px;
    font-style: italic;
    line-height: 1.1;
}

.pfc-global-footer__rule {
    height: 1px;
    background: rgba(78, 117, 163, .8);
    margin: 38px 0 42px;
}

.pfc-global-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(180px, .8fr) minmax(220px, .85fr);
    gap: 96px;
    align-items: start;
}

.pfc-global-footer p,
.pfc-global-footer li,
.pfc-global-footer a {
    color: rgba(255,255,255,.84);
    font-size: 16px;
    line-height: 1.65;
}

.pfc-global-footer a {
    text-decoration: none;
}

.pfc-global-footer a:hover {
    color: #d0a100;
}

.pfc-global-footer__about p {
    max-width: 520px;
    margin: 0 0 26px;
}

.pfc-global-footer__email {
    font-size: 18px !important;
}

.pfc-global-footer__email strong {
    color: #ffffff;
    margin-right: 8px;
}

.pfc-global-footer__email a {
    color: #d0a100;
    text-decoration: underline;
}

.pfc-global-footer__badges {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 68px;
}

.pfc-global-footer__badge {
    display: block;
    height: auto;
    object-fit: contain;
}

.pfc-global-footer__badge--lifetime {
    width: 78px;
}

.pfc-global-footer__badge--made {
    width: 172px;
}

.pfc-global-footer__nav h2 {
    color: #d0a100;
    font-family: inherit;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 24px;
}

.pfc-global-footer__nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pfc-global-footer__nav li {
    margin: 0 0 11px;
}

.pfc-global-footer__socials {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 72px;
}

.pfc-global-footer__socials a {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
}

.pfc-global-footer__socials img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.pfc-global-footer__bottom {
    background: #111d32;
    padding: 28px 0;
}

.pfc-global-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.pfc-global-footer__bottom p {
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 13px;
    line-height: 1.5;
}

.pfc-global-footer__payments {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    flex-wrap: wrap;
}

.pfc-global-footer__payments img {
    display: block;
    width: auto;
    max-height: 22px;
    object-fit: contain;
}

@media (max-width: 980px) {
    .pfc-global-footer__container {
        width: min(100% - 40px, 720px);
    }

    .pfc-global-footer__grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .pfc-global-footer__badges,
    .pfc-global-footer__socials {
        margin-top: 32px;
    }

    .pfc-global-footer__bottom-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .pfc-global-footer__payments {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .pfc-global-footer__main {
        padding: 42px 0;
    }

    .pfc-global-footer__brand-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .pfc-global-footer__tagline {
        font-size: 22px;
    }

    .pfc-global-footer__badges {
        gap: 18px;
    }

    .pfc-global-footer__badge--made {
        width: 148px;
    }
}


/* v1.0.25 sticky header + uploaded header logo */
.pfc-site-header,
.pfc-site-header--global,
.pfc-home-figma .pfc-site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 999999 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
}

.admin-bar .pfc-site-header,
.admin-bar .pfc-site-header--global,
.admin-bar .pfc-home-figma .pfc-site-header {
    top: 32px !important;
}

.pfc-site-header__logo,
.pfc-site-header--global .pfc-site-header__logo {
    background: #16223a;
    padding: 10px 12px;
    display: inline-flex;
    align-items: center;
}

.pfc-site-header__logo img,
.pfc-site-header--global .pfc-site-header__logo img {
    width: 170px;
    max-width: 170px;
    height: auto;
    display: block;
}

@media (max-width: 782px) {
    .admin-bar .pfc-site-header,
    .admin-bar .pfc-site-header--global,
    .admin-bar .pfc-home-figma .pfc-site-header {
        top: 46px !important;
    }
}

@media (max-width: 560px) {
    .pfc-site-header__logo img,
    .pfc-site-header--global .pfc-site-header__logo img {
        width: 140px;
        max-width: 140px;
    }
}


/* v1.0.26 footer-only logo correction */
.pfc-global-footer__logo img {
    width: 161px;
    max-width: 161px;
    background: transparent !important;
}

/* Restore normal header logo presentation after v1.0.25 footer-logo mix-up */
.pfc-site-header__logo,
.pfc-site-header--global .pfc-site-header__logo {
    background: transparent;
    padding: 0;
}

.pfc-site-header__logo img,
.pfc-site-header--global .pfc-site-header__logo img {
    width: 174px;
    max-width: 174px;
}


/* v1.0.27 full-width product archive grid: 4 desktop / 2 mobile */
body.tax-product_cat .pfc-category-products .pfc-container,
body.post-type-archive-product .pfc-category-products .pfc-container,
body.tax-product_cat .shop-container,
body.tax-product_cat .shop-page-title,
body.tax-product_cat .woocommerce .row,
body.tax-product_cat .woocommerce-page .row {
    width: min(1540px, calc(100% - 72px)) !important;
    max-width: 1540px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.tax-product_cat .pfc-category-products {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.tax-product_cat .pfc-category-products ul.products,
body.tax-product_cat ul.products,
body.tax-product_cat .products.row,
body.tax-product_cat .shop-container ul.products,
body.post-type-archive-product .pfc-category-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 44px 32px !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.tax-product_cat ul.products > li.product,
body.tax-product_cat .products.row > li.product,
body.tax-product_cat .shop-container ul.products > li.product,
body.tax-product_cat li.pfc-archive-product-card,
body.post-type-archive-product .pfc-category-products ul.products > li.product {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

body.tax-product_cat .pfc-archive-product-card__image,
body.post-type-archive-product .pfc-archive-product-card__image {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
}

body.tax-product_cat .pfc-archive-product-card__title {
    min-height: 52px;
}

@media (max-width: 1180px) {
    body.tax-product_cat .pfc-category-products .pfc-container,
    body.post-type-archive-product .pfc-category-products .pfc-container,
    body.tax-product_cat .shop-container,
    body.tax-product_cat .shop-page-title,
    body.tax-product_cat .woocommerce .row,
    body.tax-product_cat .woocommerce-page .row {
        width: min(100% - 48px, 1180px) !important;
    }

    body.tax-product_cat .pfc-category-products ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_cat .products.row,
    body.tax-product_cat .shop-container ul.products,
    body.post-type-archive-product .pfc-category-products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body.tax-product_cat .pfc-category-products .pfc-container,
    body.post-type-archive-product .pfc-category-products .pfc-container,
    body.tax-product_cat .shop-container,
    body.tax-product_cat .shop-page-title,
    body.tax-product_cat .woocommerce .row,
    body.tax-product_cat .woocommerce-page .row {
        width: min(100% - 32px, 720px) !important;
    }

    body.tax-product_cat .pfc-category-products ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_cat .products.row,
    body.tax-product_cat .shop-container ul.products,
    body.post-type-archive-product .pfc-category-products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 30px 18px !important;
    }
}

@media (max-width: 420px) {
    body.tax-product_cat .pfc-archive-product-card__title {
        font-size: 14px !important;
        min-height: 0;
    }

    body.tax-product_cat .pfc-archive-product-card__price {
        font-size: 16px;
    }

    body.tax-product_cat .pfc-archive-product-card__button {
        font-size: 13px;
    }
}


/* v1.0.28 sticky header and spacing below menu rows */
.pfc-site-header,
.pfc-site-header--global,
.pfc-home-figma .pfc-site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 999999 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
}

.admin-bar .pfc-site-header,
.admin-bar .pfc-site-header--global,
.admin-bar .pfc-home-figma .pfc-site-header {
    top: 32px !important;
}

/* Add breathing space between the two-row menu block and the page content. */
.pfc-site-header::after,
.pfc-site-header--global::after,
.pfc-home-figma .pfc-site-header::after {
    content: '';
    display: block;
    height: 34px;
    background: #f5f7f8;
}

/* Do not add the grey spacer where the homepage hero should sit directly below the nav. */
.pfc-home-figma .pfc-site-header::after {
    height: 0;
}

/* On Woo/category pages, stop the breadcrumb/result row from sitting hard against the nav. */
body.tax-product_cat .pfc-category-hero,
body.post-type-archive-product .pfc-category-hero {
    margin-top: 0 !important;
}

body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_cat .breadcrumbs {
    margin-top: 0 !important;
}

/* If the theme/template outputs the breadcrumb/result strip immediately after the menu,
   give it proper vertical padding instead of touching the menu. */
body.tax-product_cat .shop-page-title,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .pfc-category-products__top {
    padding-top: 18px !important;
}

@media (max-width: 782px) {
    .admin-bar .pfc-site-header,
    .admin-bar .pfc-site-header--global,
    .admin-bar .pfc-home-figma .pfc-site-header {
        top: 46px !important;
    }
}

@media (max-width: 760px) {
    .pfc-site-header::after,
    .pfc-site-header--global::after {
        height: 22px;
    }
}


/* v1.0.29 header fixes: remove top grey bar, remove spacer, stronger sticky */
html,
body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove the grey/placeholder strip that can appear above the custom header */
body::before,
#wrapper::before,
#main::before,
.page-wrapper::before {
    display: none !important;
    content: none !important;
}

body > .skip-link,
body > .skip-link.screen-reader-text,
#wpadminbar + .skip-link {
    display: none !important;
}

/* Hide any leftover Flatsome/admin placeholder bars above the custom header */
.header-wrapper,
#header,
.header-bg-container,
.header-bg-color,
.header-bg-image,
.header-shadow,
#aw-extra-header-row {
    display: none !important;
}

/* Make the whole custom header stick reliably */
.pfc-site-header,
.pfc-site-header--global,
.pfc-home-figma .pfc-site-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 2147483000 !important;
    width: 100% !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
    transform: translateZ(0);
}

.admin-bar .pfc-site-header,
.admin-bar .pfc-site-header--global,
.admin-bar .pfc-home-figma .pfc-site-header {
    top: 32px !important;
}

/* Remove the off-white spacer row added below the menus */
.pfc-site-header::after,
.pfc-site-header--global::after,
.pfc-home-figma .pfc-site-header::after {
    display: none !important;
    height: 0 !important;
    content: none !important;
}

/* Remove additional blank spacing before breadcrumbs/category hero */
body.tax-product_cat .shop-page-title,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .pfc-category-products__top,
body.tax-product_cat .pfc-category-hero,
body.post-type-archive-product .pfc-category-hero {
    margin-top: 0 !important;
}

body.tax-product_cat .shop-page-title,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .pfc-category-products__top {
    padding-top: 0 !important;
}

/* Ensure the breadcrumb/result row sits directly under the navy menu block */
body.tax-product_cat .shop-page-title {
    border-top: 0 !important;
}

body.tax-product_cat .pfc-category-hero {
    clear: both;
}

/* If the site has sticky containers with overflow hidden, keep dropdowns visible */
.pfc-site-header,
.pfc-site-header *,
.pfc-site-header--global,
.pfc-site-header--global * {
    overflow: visible;
}

.pfc-site-header__top,
.pfc-site-header__main,
.pfc-site-header__nav {
    overflow: visible !important;
}

@media (max-width: 782px) {
    .admin-bar .pfc-site-header,
    .admin-bar .pfc-site-header--global,
    .admin-bar .pfc-home-figma .pfc-site-header {
        top: 46px !important;
    }
}


/* v1.0.30 fixed sticky header + breadcrumb row padding */
:root {
    --pfc-sticky-header-height: 0px;
}

/* Use fixed rather than sticky so it works reliably with Flatsome/customizer wrappers. */
.pfc-site-header,
.pfc-site-header--global,
.pfc-home-figma .pfc-site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2147483000 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
}

.admin-bar .pfc-site-header,
.admin-bar .pfc-site-header--global,
.admin-bar .pfc-home-figma .pfc-site-header {
    top: 32px !important;
}

/* Offset normal site content by the measured fixed-header height. */
body.pfc-fixed-header-active:not(.pfc-figma-landing-page) #wrapper,
body.pfc-fixed-header-active:not(.pfc-figma-landing-page) .wrapper {
    padding-top: var(--pfc-sticky-header-height) !important;
}

/* Offset the Figma homepage hero, where the header is inside the landing markup. */
body.pfc-fixed-header-active.pfc-figma-landing-page .pfc-home-figma .pfc-site-header + .pfc-hero {
    margin-top: var(--pfc-sticky-header-height) !important;
}

/* Keep the unwanted spacer rows removed. */
.pfc-site-header::after,
.pfc-site-header--global::after,
.pfc-home-figma .pfc-site-header::after {
    display: none !important;
    height: 0 !important;
    content: none !important;
}

/* Breadcrumb/result row balancing as requested. */
body.tax-product_cat .shop-page-title,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .pfc-category-products__top {
    padding-top: 10px !important;
    padding-bottom: 5px !important;
    margin-top: 0 !important;
}

body.tax-product_cat .shop-page-title {
    min-height: 0 !important;
}

@media (max-width: 782px) {
    .admin-bar .pfc-site-header,
    .admin-bar .pfc-site-header--global,
    .admin-bar .pfc-home-figma .pfc-site-header {
        top: 46px !important;
    }
}


/* v1.0.31 sticky/header correction
   Use CSS sticky instead of fixed, so the header stays in document flow and
   does not create the large blank gap above breadcrumbs/category content. */
.pfc-custom-sticky-header,
.pfc-site-header.pfc-custom-sticky-header,
.pfc-site-header--global.pfc-custom-sticky-header,
.pfc-home-figma .pfc-site-header.pfc-custom-sticky-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 2147483000 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
    transform: none !important;
}

.admin-bar .pfc-custom-sticky-header,
.admin-bar .pfc-site-header.pfc-custom-sticky-header,
.admin-bar .pfc-site-header--global.pfc-custom-sticky-header,
.admin-bar .pfc-home-figma .pfc-site-header.pfc-custom-sticky-header {
    top: 32px !important;
}

/* Remove the fixed-header page offset from v1.0.30. It caused the large
   white gap because the sticky header remains in normal document flow. */
body.pfc-fixed-header-active:not(.pfc-figma-landing-page) #wrapper,
body.pfc-fixed-header-active:not(.pfc-figma-landing-page) .wrapper,
body:not(.pfc-figma-landing-page) #wrapper,
body:not(.pfc-figma-landing-page) .wrapper {
    padding-top: 0 !important;
}

body.pfc-fixed-header-active.pfc-figma-landing-page .pfc-home-figma .pfc-site-header + .pfc-hero,
body.pfc-figma-landing-page .pfc-home-figma .pfc-site-header + .pfc-hero {
    margin-top: 0 !important;
}

/* Breadcrumb/result row padding requested by the user. */
body.tax-product_cat .shop-page-title,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .pfc-category-products__top {
    padding-top: 10px !important;
    padding-bottom: 5px !important;
    margin-top: 0 !important;
}

/* Keep the extra spacer rows removed. */
.pfc-site-header::after,
.pfc-site-header--global::after,
.pfc-home-figma .pfc-site-header::after {
    display: none !important;
    height: 0 !important;
    content: none !important;
}

/* Flatsome sticky settings compatibility note:
   The native Flatsome sticky controls apply to Flatsome's own header elements.
   This custom Figma header now uses normal sticky positioning and stays in flow,
   so it will no longer fight with Flatsome's fixed/jump-down offset calculations. */
body.header-shadow .pfc-custom-sticky-header {
    box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
}

@media (max-width: 782px) {
    .admin-bar .pfc-custom-sticky-header,
    .admin-bar .pfc-site-header.pfc-custom-sticky-header,
    .admin-bar .pfc-site-header--global.pfc-custom-sticky-header,
    .admin-bar .pfc-home-figma .pfc-site-header.pfc-custom-sticky-header {
        top: 46px !important;
    }
}


/* v1.0.32 force sticky/fixed header across all pages without breadcrumb gaps */
:root {
    --pfc-adminbar-offset: 0px;
    --pfc-sticky-header-height: 0px;
}

.pfc-custom-sticky-header,
.pfc-site-header.pfc-custom-sticky-header,
.pfc-site-header--global.pfc-custom-sticky-header,
.pfc-home-figma .pfc-site-header.pfc-custom-sticky-header,
.pfc-site-header,
.pfc-site-header--global {
    position: fixed !important;
    top: var(--pfc-adminbar-offset) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2147483000 !important;
    transform: none !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
}

body.pfc-fixed-header-enabled {
    padding-top: var(--pfc-sticky-header-height) !important;
}

/* Prevent earlier versions from adding a second offset. */
body.pfc-fixed-header-enabled #wrapper,
body.pfc-fixed-header-enabled .wrapper,
body.pfc-fixed-header-enabled:not(.pfc-figma-landing-page) #wrapper,
body.pfc-fixed-header-enabled:not(.pfc-figma-landing-page) .wrapper,
body.pfc-fixed-header-active:not(.pfc-figma-landing-page) #wrapper,
body.pfc-fixed-header-active:not(.pfc-figma-landing-page) .wrapper {
    padding-top: 0 !important;
}

body.pfc-fixed-header-enabled.pfc-figma-landing-page .pfc-home-figma .pfc-site-header + .pfc-hero,
body.pfc-fixed-header-active.pfc-figma-landing-page .pfc-home-figma .pfc-site-header + .pfc-hero,
body.pfc-figma-landing-page .pfc-home-figma .pfc-site-header + .pfc-hero {
    margin-top: 0 !important;
}

/* Keep the breadcrumb/result row compact. */
body.tax-product_cat .shop-page-title,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .pfc-category-products__top {
    padding-top: 10px !important;
    padding-bottom: 5px !important;
    margin-top: 0 !important;
}

body.tax-product_cat .shop-page-title {
    min-height: 0 !important;
}

/* Keep spacer rows removed. */
.pfc-site-header::after,
.pfc-site-header--global::after,
.pfc-home-figma .pfc-site-header::after {
    display: none !important;
    height: 0 !important;
    content: none !important;
}


/* v1.0.33 remove grey top gap and use scroll-fixed header */
:root {
    --pfc-adminbar-offset: 0px;
    --pfc-sticky-header-height: 0px;
}

html,
body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.pfc-fixed-header-enabled,
body.pfc-fixed-header-active {
    padding-top: 0 !important;
}

body.pfc-fixed-header-enabled #wrapper,
body.pfc-fixed-header-enabled .wrapper,
body.pfc-fixed-header-active #wrapper,
body.pfc-fixed-header-active .wrapper,
body:not(.pfc-figma-landing-page) #wrapper,
body:not(.pfc-figma-landing-page) .wrapper {
    padding-top: 0 !important;
}

.pfc-sticky-header-placeholder {
    display: block;
    height: 0;
    padding: 0;
    margin: 0;
    background: transparent !important;
}

/* Default state must stay in document flow, otherwise the header offset creates a grey top gap. */
.pfc-custom-sticky-header,
.pfc-site-header.pfc-custom-sticky-header,
.pfc-site-header--global.pfc-custom-sticky-header,
.pfc-home-figma .pfc-site-header.pfc-custom-sticky-header,
.pfc-site-header,
.pfc-site-header--global {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 2147483000 !important;
    transform: none !important;
}

/* Active sticky state applied by JS while scrolling. */
.pfc-custom-sticky-header.pfc-header-is-fixed,
.pfc-site-header.pfc-header-is-fixed,
.pfc-site-header--global.pfc-header-is-fixed,
.pfc-home-figma .pfc-site-header.pfc-header-is-fixed {
    position: fixed !important;
    top: var(--pfc-adminbar-offset) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
}

/* Remove unwanted top/after spacer bars. */
body::before,
#wrapper::before,
#main::before,
.page-wrapper::before,
.pfc-site-header::after,
.pfc-site-header--global::after,
.pfc-home-figma .pfc-site-header::after {
    display: none !important;
    content: none !important;
    height: 0 !important;
}

/* Keep breadcrumb/result row compact. */
body.tax-product_cat .shop-page-title,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .pfc-category-products__top {
    padding-top: 10px !important;
    padding-bottom: 5px !important;
    margin-top: 0 !important;
}


/* v1.0.34 definitive fixed header cleanup
   Removes the old placeholder/scroll-sticky behaviour that caused the grey top bar. */
:root {
    --pfc-adminbar-offset: 0px;
    --pfc-sticky-header-height: 0px;
}

html,
body {
    margin-top: 0 !important;
}

/* Old placeholder from previous versions must never create visible space. */
.pfc-sticky-header-placeholder {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Remove old classes/offsets from previous versions. */
body.pfc-fixed-header-active,
body.pfc-fixed-header-enabled {
    padding-top: 0 !important;
}

body.pfc-fixed-header-active #wrapper,
body.pfc-fixed-header-active .wrapper,
body.pfc-fixed-header-enabled #wrapper,
body.pfc-fixed-header-enabled .wrapper {
    padding-top: 0 !important;
}

/* Fixed header across all pages. */
.pfc-site-header,
.pfc-site-header--global,
.pfc-custom-sticky-header,
.pfc-site-header.pfc-custom-sticky-header,
.pfc-site-header--global.pfc-custom-sticky-header,
.pfc-home-figma .pfc-site-header,
.pfc-home-figma .pfc-site-header.pfc-custom-sticky-header {
    position: fixed !important;
    top: var(--pfc-adminbar-offset) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2147483000 !important;
    transform: none !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
}

/* Offset the page once, using body padding only. */
body.pfc-fixed-header-live {
    padding-top: var(--pfc-sticky-header-height) !important;
}

/* Do not add any extra wrapper/hero offsets. */
body.pfc-fixed-header-live #wrapper,
body.pfc-fixed-header-live .wrapper,
body.pfc-fixed-header-live:not(.pfc-figma-landing-page) #wrapper,
body.pfc-fixed-header-live:not(.pfc-figma-landing-page) .wrapper {
    padding-top: 0 !important;
}

body.pfc-fixed-header-live.pfc-figma-landing-page .pfc-home-figma .pfc-site-header + .pfc-hero,
body.pfc-figma-landing-page .pfc-home-figma .pfc-site-header + .pfc-hero {
    margin-top: 0 !important;
}

/* Kill any generated top/off-white/grey bars. */
body::before,
#wrapper::before,
#main::before,
.page-wrapper::before,
.pfc-site-header::before,
.pfc-site-header::after,
.pfc-site-header--global::before,
.pfc-site-header--global::after,
.pfc-home-figma .pfc-site-header::before,
.pfc-home-figma .pfc-site-header::after {
    display: none !important;
    content: none !important;
    height: 0 !important;
}

/* Keep the compact breadcrumb/result row. */
body.tax-product_cat .shop-page-title,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .pfc-category-products__top {
    padding-top: 10px !important;
    padding-bottom: 5px !important;
    margin-top: 0 !important;
    min-height: 0 !important;
}

/* Customizer preview can add wrappers; keep the header pinned there too. */
.customize-preview .pfc-site-header,
.customize-preview .pfc-site-header--global {
    position: fixed !important;
}


/* v1.0.35 clean fixed header: no grey bars above/below */
:root { --pfc-adminbar-offset: 0px; --pfc-sticky-header-height: 0px; }
html, body { margin-top: 0 !important; padding-top: 0 !important; background: #ffffff !important; }
body.pfc-fixed-header-live, body.pfc-fixed-header-active, body.pfc-fixed-header-enabled { padding-top: 0 !important; }
body.pfc-fixed-header-live #wrapper, body.pfc-fixed-header-live .wrapper, body.pfc-fixed-header-active #wrapper, body.pfc-fixed-header-active .wrapper, body.pfc-fixed-header-enabled #wrapper, body.pfc-fixed-header-enabled .wrapper, body:not(.pfc-figma-landing-page) #wrapper, body:not(.pfc-figma-landing-page) .wrapper { padding-top: 0 !important; }
.pfc-sticky-header-placeholder { display: none !important; height: 0 !important; min-height: 0 !important; max-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; }
.pfc-fixed-header-spacer { display: block !important; width: 100% !important; height: var(--pfc-sticky-header-height) !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: #ffffff !important; border: 0 !important; line-height: 0 !important; font-size: 0 !important; }
.pfc-site-header, .pfc-site-header--global, .pfc-custom-sticky-header, .pfc-site-header.pfc-custom-sticky-header, .pfc-site-header--global.pfc-custom-sticky-header, .pfc-home-figma .pfc-site-header, .pfc-home-figma .pfc-site-header.pfc-custom-sticky-header { position: fixed !important; top: var(--pfc-adminbar-offset) !important; left: 0 !important; right: 0 !important; width: 100% !important; z-index: 2147483000 !important; transform: none !important; box-shadow: 0 2px 12px rgba(0,0,0,.08) !important; }
body::before, body::after, #wrapper::before, #wrapper::after, #main::before, #main::after, .page-wrapper::before, .page-wrapper::after, .pfc-site-header::before, .pfc-site-header::after, .pfc-site-header--global::before, .pfc-site-header--global::after, .pfc-home-figma .pfc-site-header::before, .pfc-home-figma .pfc-site-header::after { display: none !important; content: none !important; height: 0 !important; min-height: 0 !important; background: transparent !important; }
#page, #wrapper, #main, .page-wrapper, .shop-page-title, .woocommerce-products-header { margin-top: 0 !important; }
body.tax-product_cat .shop-page-title, body.tax-product_cat .woocommerce-products-header, body.tax-product_cat .pfc-category-products__top { padding-top: 10px !important; padding-bottom: 5px !important; margin-top: 0 !important; min-height: 0 !important; }
body.page .page-wrapper, body.page #main, body.woocommerce-page #main { background: #ffffff !important; }


/* v1.0.36 final sticky fix for home, standard pages, categories and product pages */
:root {
    --pfc-adminbar-offset: 0px;
    --pfc-sticky-header-height: 0px;
}

html,
body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.pfc-fixed-header-live,
body.pfc-fixed-header-active,
body.pfc-fixed-header-enabled,
body.pfc-fixed-header-clean {
    padding-top: 0 !important;
}

body.pfc-fixed-header-live #wrapper,
body.pfc-fixed-header-live .wrapper,
body.pfc-fixed-header-active #wrapper,
body.pfc-fixed-header-active .wrapper,
body.pfc-fixed-header-enabled #wrapper,
body.pfc-fixed-header-enabled .wrapper,
body.pfc-fixed-header-clean #wrapper,
body.pfc-fixed-header-clean .wrapper {
    padding-top: 0 !important;
}

.pfc-sticky-header-placeholder {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.pfc-fixed-header-spacer {
    display: block !important;
    width: 100% !important;
    height: var(--pfc-sticky-header-height) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
}

/* Force the custom Figma header fixed on every template type. */
.pfc-site-header,
.pfc-site-header--global,
.pfc-custom-sticky-header,
.pfc-site-header.pfc-custom-sticky-header,
.pfc-site-header--global.pfc-custom-sticky-header,
.pfc-home-figma .pfc-site-header,
.pfc-home-figma .pfc-site-header.pfc-custom-sticky-header,
.pfc-header-fixed-live {
    position: fixed !important;
    top: var(--pfc-adminbar-offset) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2147483000 !important;
    transform: translateZ(0) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
}

/* Remove generated/legacy bars around the header. */
body::before,
body::after,
#wrapper::before,
#wrapper::after,
#main::before,
#main::after,
.page-wrapper::before,
.page-wrapper::after,
.pfc-site-header::before,
.pfc-site-header::after,
.pfc-site-header--global::before,
.pfc-site-header--global::after,
.pfc-home-figma .pfc-site-header::before,
.pfc-home-figma .pfc-site-header::after {
    display: none !important;
    content: none !important;
    height: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
}

/* Preserve compact category breadcrumb/result spacing. */
body.tax-product_cat .shop-page-title,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .pfc-category-products__top {
    padding-top: 10px !important;
    padding-bottom: 5px !important;
    margin-top: 0 !important;
    min-height: 0 !important;
}

/* Keep dropdowns above all page content while fixed. */
.pfc-site-header,
.pfc-site-header *,
.pfc-site-header--global,
.pfc-site-header--global * {
    overflow: visible !important;
}


/* v1.0.37 remove sticky header completely */
:root {
    --pfc-adminbar-offset: 0px;
    --pfc-sticky-header-height: 0px;
}

/* Remove all fixed/sticky behaviour and keep header in normal page flow. */
.pfc-site-header,
.pfc-site-header--global,
.pfc-custom-sticky-header,
.pfc-site-header.pfc-custom-sticky-header,
.pfc-site-header--global.pfc-custom-sticky-header,
.pfc-home-figma .pfc-site-header,
.pfc-home-figma .pfc-site-header.pfc-custom-sticky-header,
.pfc-header-fixed-live {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 99990 !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Remove any spacer/padding created by previous sticky attempts. */
.pfc-sticky-header-placeholder,
.pfc-fixed-header-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

body,
body.pfc-fixed-header-live,
body.pfc-fixed-header-active,
body.pfc-fixed-header-enabled,
body.pfc-fixed-header-clean {
    padding-top: 0 !important;
}

body.pfc-fixed-header-live #wrapper,
body.pfc-fixed-header-live .wrapper,
body.pfc-fixed-header-active #wrapper,
body.pfc-fixed-header-active .wrapper,
body.pfc-fixed-header-enabled #wrapper,
body.pfc-fixed-header-enabled .wrapper,
body.pfc-fixed-header-clean #wrapper,
body.pfc-fixed-header-clean .wrapper,
body:not(.pfc-figma-landing-page) #wrapper,
body:not(.pfc-figma-landing-page) .wrapper {
    padding-top: 0 !important;
}

/* Keep the compact breadcrumb/result row. */
body.tax-product_cat .shop-page-title,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .pfc-category-products__top {
    padding-top: 10px !important;
    padding-bottom: 5px !important;
    margin-top: 0 !important;
    min-height: 0 !important;
}

/* Keep any generated header spacer bars removed. */
body::before,
body::after,
#wrapper::before,
#wrapper::after,
#main::before,
#main::after,
.page-wrapper::before,
.page-wrapper::after,
.pfc-site-header::before,
.pfc-site-header::after,
.pfc-site-header--global::before,
.pfc-site-header--global::after,
.pfc-home-figma .pfc-site-header::before,
.pfc-home-figma .pfc-site-header::after {
    display: none !important;
    content: none !important;
    height: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
}


/* v1.0.38 home popular-products slider repair */
.pfc-product-slider__viewport {
    overflow: hidden !important;
    width: 100% !important;
}

.pfc-product-slider__track {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 28px !important;
    transition: transform .35s ease !important;
    will-change: transform;
}

.pfc-product-slider .pfc-product-card {
    flex: 0 0 calc((100% - 112px) / 5) !important;
    width: calc((100% - 112px) / 5) !important;
    max-width: none !important;
    min-width: 0 !important;
}

.pfc-slider-btn,
.pfc-product-slider__dot {
    pointer-events: auto !important;
}

.pfc-slider-btn[disabled],
.pfc-product-slider__dot[disabled] {
    pointer-events: none !important;
}

@media (max-width: 1180px) {
    .pfc-product-slider .pfc-product-card {
        flex-basis: calc((100% - 56px) / 3) !important;
        width: calc((100% - 56px) / 3) !important;
    }
}

@media (max-width: 760px) {
    .pfc-product-slider__track {
        gap: 16px !important;
    }

    .pfc-product-slider .pfc-product-card {
        flex-basis: calc((100% - 16px) / 2) !important;
        width: calc((100% - 16px) / 2) !important;
    }
}


/* v1.0.39 mobile homepage and mobile menu improvements */
.pfc-mobile-menu-toggle {
    display: none;
}

@media (max-width: 760px) {
    html,
    body {
        overflow-x: hidden !important;
    }

    .pfc-site-header,
    .pfc-site-header--global,
    .pfc-home-figma .pfc-site-header {
        position: relative !important;
        top: auto !important;
        box-shadow: none !important;
    }

    .pfc-site-header__top {
        height: 26px !important;
        min-height: 26px !important;
        padding: 0 10px !important;
    }

    .pfc-site-header__delivery {
        font-size: 9px !important;
        line-height: 1 !important;
        padding: 0 18px !important;
        white-space: nowrap !important;
    }

    .pfc-site-header__main {
        min-height: 72px !important;
        padding: 10px 14px !important;
    }

    .pfc-site-header__inner,
    .pfc-site-header__main-inner,
    .pfc-site-header__brand {
        width: 100% !important;
    }

    .pfc-site-header__main-inner {
        display: grid !important;
        grid-template-columns: auto 1fr auto !important;
        gap: 10px !important;
        align-items: center !important;
    }

    .pfc-site-header__brand {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-width: 0 !important;
    }

    .pfc-site-header__logo img {
        width: 118px !important;
        max-width: 118px !important;
        height: auto !important;
    }

    .pfc-site-header__tagline {
        display: none !important;
    }

    .pfc-mobile-menu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        border: 1px solid #16223a !important;
        background: #ffffff !important;
        color: #16223a !important;
        min-height: 34px !important;
        padding: 6px 9px !important;
        border-radius: 0 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        line-height: 1 !important;
        margin-left: auto !important;
        cursor: pointer !important;
    }

    .pfc-mobile-menu-toggle__icon {
        display: inline-flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        width: 15px !important;
    }

    .pfc-mobile-menu-toggle__icon span {
        display: block !important;
        height: 2px !important;
        width: 15px !important;
        background: currentColor !important;
    }

    .pfc-site-header__search {
        grid-column: 1 / -1 !important;
        order: 5 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 4px 0 0 !important;
    }

    .pfc-site-header__search form,
    .pfc-site-header__search .is-search-form,
    .pfc-site-header__search .is-form-style {
        width: 100% !important;
    }

    .pfc-site-header__search input[type="search"],
    .pfc-site-header__search input.is-search-input {
        height: 42px !important;
        font-size: 13px !important;
    }

    .pfc-site-header__actions {
        justify-self: end !important;
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
        font-size: 0 !important;
        min-width: auto !important;
    }

    .pfc-site-header__login,
    .pfc-site-header__account,
    .pfc-site-header__basket-text {
        display: none !important;
    }

    .pfc-site-header__cart,
    .pfc-site-header__basket,
    .pfc-cart-link {
        font-size: 12px !important;
    }

    .pfc-site-header__cart-icon {
        width: 31px !important;
        height: 36px !important;
    }

    .pfc-site-header__nav {
        display: none !important;
        background: #16223a !important;
        border-top: 1px solid rgba(255,255,255,.16) !important;
    }

    .pfc-site-header.pfc-mobile-menu-open .pfc-site-header__nav {
        display: block !important;
    }

    .pfc-site-header__nav-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        display: block !important;
    }

    .pfc-site-header__nav ul,
    .pfc-site-header__nav .menu {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pfc-site-header__nav li,
    .pfc-site-header__nav .menu-item {
        display: block !important;
        width: 100% !important;
        border-top: 1px solid rgba(255,255,255,.12) !important;
        position: relative !important;
    }

    .pfc-site-header__nav a {
        display: block !important;
        width: 100% !important;
        padding: 13px 18px !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        text-align: left !important;
        color: #ffffff !important;
    }

    .pfc-site-header__nav .sub-menu {
        position: static !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0 !important;
        background: rgba(0,0,0,.18) !important;
        box-shadow: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pfc-site-header__nav .sub-menu a {
        padding-left: 34px !important;
        font-size: 12px !important;
    }

    .pfc-hero {
        min-height: auto !important;
        padding: 0 !important;
        background-position: center top !important;
    }

    .pfc-hero__inner {
        width: 100% !important;
        padding: 22px 18px 28px !important;
        display: block !important;
    }

    .pfc-hero__panel {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 28px 24px !important;
    }

    .pfc-hero__title,
    .pfc-hero h1 {
        font-size: clamp(34px, 11vw, 48px) !important;
        line-height: .98 !important;
        letter-spacing: -.02em !important;
    }

    .pfc-hero__copy,
    .pfc-hero p {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    .pfc-benefits,
    .pfc-benefit-strip,
    .pfc-trust-strip {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .pfc-benefits__grid,
    .pfc-benefit-strip__grid,
    .pfc-trust-strip__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .pfc-section,
    .pfc-popular,
    .pfc-story,
    .pfc-success,
    .pfc-testimonials,
    .pfc-faq,
    .pfc-cta {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .pfc-section__title,
    .pfc-popular h2,
    .pfc-story h2,
    .pfc-success h2,
    .pfc-testimonials h2,
    .pfc-faq h2 {
        font-size: 28px !important;
        line-height: 1.05 !important;
    }

    .pfc-product-slider__track {
        gap: 16px !important;
    }

    .pfc-product-slider .pfc-product-card {
        flex: 0 0 calc((100% - 16px) / 2) !important;
        width: calc((100% - 16px) / 2) !important;
    }

    .pfc-product-card__image {
        min-height: 150px !important;
    }

    .pfc-story__grid,
    .pfc-success__grid,
    .pfc-cta__grid,
    .pfc-footer__grid,
    .pfc-footer__bottom {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .pfc-story img,
    .pfc-success img,
    .pfc-cta img {
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }

    .pfc-footer {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .pfc-footer__logo img {
        max-width: 170px !important;
    }
}

@media (max-width: 430px) {
    .pfc-site-header__main {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .pfc-site-header__main-inner {
        grid-template-columns: auto 1fr auto !important;
        gap: 7px !important;
    }

    .pfc-site-header__logo img {
        width: 104px !important;
        max-width: 104px !important;
    }

    .pfc-mobile-menu-toggle__text {
        display: none !important;
    }

    .pfc-mobile-menu-toggle {
        padding: 8px !important;
        min-width: 36px !important;
        justify-content: center !important;
    }

    .pfc-hero__panel {
        padding: 24px 20px !important;
    }
}


/* v1.0.40 mobile header/menu repair and remove mobile top gap */
@media (max-width: 760px) {
    html,
    body {
        margin-top: 0 !important;
        padding-top: 0 !important;
        overflow-x: hidden !important;
    }

    .pfc-sticky-header-placeholder,
    .pfc-fixed-header-spacer {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pfc-site-header,
    .pfc-site-header--global,
    .pfc-home-figma .pfc-site-header {
        position: relative !important;
        top: auto !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    body,
    body.pfc-fixed-header-live,
    body.pfc-fixed-header-active,
    body.pfc-fixed-header-enabled,
    body.pfc-fixed-header-clean {
        padding-top: 0 !important;
    }

    #wrapper,
    .wrapper,
    #main,
    .page-wrapper,
    .pfc-page,
    .pfc-home-figma {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body::before,
    #wrapper::before,
    #main::before,
    .page-wrapper::before {
        display: none !important;
        content: none !important;
        height: 0 !important;
    }

    .pfc-site-header__top {
        margin-top: 0 !important;
        height: 24px !important;
        min-height: 24px !important;
        padding: 0 8px !important;
    }

    .pfc-site-header__main {
        width: 100% !important;
        max-width: none !important;
        display: grid !important;
        grid-template-columns: auto auto 1fr auto !important;
        align-items: center !important;
        gap: 8px !important;
        min-height: 0 !important;
        padding: 9px 12px !important;
        margin: 0 !important;
    }

    .pfc-site-header__logo {
        display: block !important;
        grid-column: 1 !important;
        min-width: 0 !important;
    }

    .pfc-site-header__logo img {
        width: 108px !important;
        max-width: 108px !important;
        height: auto !important;
        display: block !important;
    }

    .pfc-mobile-menu-toggle {
        display: inline-flex !important;
        grid-column: 2 !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        min-width: 38px !important;
        min-height: 34px !important;
        padding: 7px 9px !important;
        margin: 0 !important;
        border: 1px solid #16223a !important;
        background: #ffffff !important;
        color: #16223a !important;
        border-radius: 0 !important;
        cursor: pointer !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
        z-index: 20 !important;
    }

    .pfc-mobile-menu-toggle__icon {
        display: inline-flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        width: 16px !important;
    }

    .pfc-mobile-menu-toggle__icon span {
        display: block !important;
        width: 16px !important;
        height: 2px !important;
        background: currentColor !important;
    }

    .pfc-site-header__tagline {
        display: none !important;
    }

    .pfc-site-header__links {
        grid-column: 4 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 6px !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    .pfc-site-header__links > a:not(.pfc-site-header__cart-icon),
    .pfc-site-header__divider {
        display: none !important;
    }

    .pfc-site-header__cart-icon {
        display: inline-flex !important;
        width: 30px !important;
        height: 34px !important;
        min-width: 30px !important;
    }

    .pfc-site-header__search {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 6px 0 0 !important;
        padding: 0 !important;
    }

    .pfc-site-header__search form,
    .pfc-site-header__search .is-search-form,
    .pfc-site-header__search .is-form-style {
        width: 100% !important;
        max-width: none !important;
    }

    .pfc-site-header__search input[type="search"],
    .pfc-site-header__search input.is-search-input {
        height: 40px !important;
        font-size: 13px !important;
    }

    .pfc-site-header__nav {
        display: none !important;
        width: 100% !important;
        background: #16223a !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pfc-site-header.pfc-mobile-menu-open .pfc-site-header__nav {
        display: block !important;
    }

    .pfc-site-header__nav-inner {
        width: 100% !important;
        max-width: none !important;
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .pfc-site-header__nav ul,
    .pfc-site-header__nav .menu {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pfc-site-header__nav li {
        display: block !important;
        width: 100% !important;
        border-top: 1px solid rgba(255,255,255,.12) !important;
    }

    .pfc-site-header__nav a {
        display: block !important;
        width: 100% !important;
        padding: 13px 16px !important;
        color: #ffffff !important;
        text-align: left !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    .pfc-site-header__nav .sub-menu {
        position: static !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0 !important;
        box-shadow: none !important;
        background: rgba(0,0,0,.18) !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pfc-site-header__nav .sub-menu a {
        padding-left: 32px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 430px) {
    .pfc-mobile-menu-toggle__text {
        display: none !important;
    }

    .pfc-site-header__main {
        grid-template-columns: auto auto 1fr auto !important;
        gap: 7px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .pfc-site-header__logo img {
        width: 100px !important;
        max-width: 100px !important;
    }
}


/* v1.0.41 mobile top-gap, centred search, and stacked split sections */
@media (max-width: 760px) {
    /* Remove the white space above the custom header on mobile */
    html,
    body,
    body.home,
    body.page,
    body.woocommerce,
    body.woocommerce-page {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    #page,
    #wrapper,
    .wrapper,
    #main,
    .main,
    .page-wrapper,
    .pfc-page,
    .pfc-home-figma,
    .pfc-home-figma > *:first-child {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .pfc-sticky-header-placeholder,
    .pfc-fixed-header-spacer,
    .pfc-home-figma::before,
    .pfc-page::before,
    #wrapper::before,
    #main::before,
    .page-wrapper::before {
        display: none !important;
        content: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pfc-site-header,
    .pfc-site-header--global,
    .pfc-home-figma .pfc-site-header {
        margin-top: 0 !important;
        padding-top: 0 !important;
        top: auto !important;
    }

    .pfc-site-header__top {
        margin-top: 0 !important;
    }

    /* Centre the search bar under the logo/menu row */
    .pfc-site-header__search {
        grid-column: 1 / -1 !important;
        width: min(100%, 430px) !important;
        max-width: 430px !important;
        justify-self: center !important;
        margin: 10px auto 0 !important;
        padding: 0 !important;
    }

    .pfc-site-header__search form,
    .pfc-site-header__search .is-search-form,
    .pfc-site-header__search .is-form-style,
    .pfc-site-header__search .is-form-style form,
    .pfc-site-header__search .is-search-form label {
        width: 100% !important;
        max-width: 100% !important;
    }

    .pfc-site-header__search input[type="search"],
    .pfc-site-header__search input.is-search-input {
        width: 100% !important;
        text-align: left !important;
    }

    /* Stack all homepage split/two-column sections vertically on mobile */
    .pfc-story,
    .pfc-success,
    .pfc-why,
    .pfc-about,
    .pfc-content,
    .pfc-feature,
    .pfc-frame,
    .pfc-guide,
    .pfc-showcase {
        overflow: hidden !important;
    }

    .pfc-story__inner,
    .pfc-success__inner,
    .pfc-why__inner,
    .pfc-about__inner,
    .pfc-content__inner,
    .pfc-feature__inner,
    .pfc-frame__inner,
    .pfc-guide__inner,
    .pfc-showcase__inner,
    .pfc-story__grid,
    .pfc-success__grid,
    .pfc-why__grid,
    .pfc-about__grid,
    .pfc-content__grid,
    .pfc-feature__grid,
    .pfc-frame__grid,
    .pfc-guide__grid,
    .pfc-showcase__grid,
    .pfc-two-col,
    .pfc-two-column,
    .pfc-split,
    .pfc-split__inner,
    .pfc-split__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .pfc-story__media,
    .pfc-success__media,
    .pfc-why__media,
    .pfc-about__media,
    .pfc-content__media,
    .pfc-feature__media,
    .pfc-frame__media,
    .pfc-guide__media,
    .pfc-showcase__media,
    .pfc-story__image,
    .pfc-success__image,
    .pfc-why__image,
    .pfc-about__image,
    .pfc-content__image,
    .pfc-feature__image,
    .pfc-frame__image,
    .pfc-guide__image,
    .pfc-showcase__image {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .pfc-story__content,
    .pfc-success__content,
    .pfc-why__content,
    .pfc-about__content,
    .pfc-content__content,
    .pfc-feature__content,
    .pfc-frame__content,
    .pfc-guide__content,
    .pfc-showcase__content,
    .pfc-story__text,
    .pfc-success__text,
    .pfc-why__text,
    .pfc-about__text,
    .pfc-content__text,
    .pfc-feature__text,
    .pfc-frame__text,
    .pfc-guide__text,
    .pfc-showcase__text {
        order: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .pfc-story img,
    .pfc-success img,
    .pfc-why img,
    .pfc-about img,
    .pfc-content img,
    .pfc-feature img,
    .pfc-frame img,
    .pfc-guide img,
    .pfc-showcase img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }

    /* Specific section shown in the screenshot: image/collage above heading and bullet rows */
    .pfc-success {
        padding-top: 36px !important;
        padding-bottom: 36px !important;
    }

    .pfc-success__grid {
        align-items: start !important;
    }

    .pfc-success__content h2,
    .pfc-success h2 {
        font-size: clamp(34px, 11vw, 48px) !important;
        line-height: 1.05 !important;
        margin: 0 0 26px !important;
        max-width: 100% !important;
    }

    .pfc-success__list,
    .pfc-success ul,
    .pfc-check-list {
        width: 100% !important;
        max-width: 100% !important;
    }

    .pfc-success__list li,
    .pfc-check-list li {
        display: grid !important;
        grid-template-columns: 24px 1fr !important;
        gap: 12px !important;
        padding: 22px 0 !important;
        border-top: 1px solid rgba(183, 139, 0, .28) !important;
    }

    .pfc-success__list li:last-child,
    .pfc-check-list li:last-child {
        border-bottom: 1px solid rgba(183, 139, 0, .28) !important;
    }

    /* Prevent mobile text from clipping horizontally */
    .pfc-home-figma h1,
    .pfc-home-figma h2,
    .pfc-home-figma h3,
    .pfc-home-figma p,
    .pfc-home-figma li {
        overflow-wrap: anywhere !important;
    }
}


/* v1.0.42 mobile fixes: remove top gap, centre search, constrain hero */
@media (max-width: 980px) {
    /* Remove parent Flatsome/mobile header placeholders that can leave a blank white block above our header. */
    body.pfc-figma-landing-page #header,
    body.pfc-figma-landing-page .header-wrapper,
    body.pfc-figma-landing-page .sticky-wrapper,
    body.pfc-figma-landing-page .header-placeholder,
    body.pfc-figma-landing-page .header-bg-container,
    body.pfc-figma-landing-page .header-bg-color,
    body.pfc-figma-landing-page .header-bg-image,
    body.pfc-figma-landing-page .header-shadow,
    body.pfc-use-custom-global-header #header,
    body.pfc-use-custom-global-header .header-wrapper,
    body.pfc-use-custom-global-header .sticky-wrapper,
    body.pfc-use-custom-global-header .header-placeholder,
    body.pfc-use-custom-global-header .header-bg-container,
    body.pfc-use-custom-global-header .header-bg-color,
    body.pfc-use-custom-global-header .header-bg-image,
    body.pfc-use-custom-global-header .header-shadow {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
    }

    html,
    body,
    body.pfc-figma-landing-page,
    body.pfc-figma-landing-page #wrapper,
    body.pfc-figma-landing-page #main,
    body.pfc-figma-landing-page .page-wrapper,
    body.pfc-figma-landing-page .pfc-page,
    body.pfc-figma-landing-page .pfc-home-figma {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.pfc-figma-landing-page .pfc-home-figma,
    body.pfc-figma-landing-page .pfc-home-figma > .pfc-site-header:first-child,
    body.pfc-figma-landing-page .pfc-site-header {
        margin-top: 0 !important;
        padding-top: 0 !important;
        top: auto !important;
        transform: none !important;
    }

    /* Make the mobile header use the full available width and remove desktop container offsets. */
    .pfc-home-figma .pfc-header-container,
    .pfc-site-header .pfc-header-container,
    .pfc-site-header__main.pfc-header-container {
        width: 100% !important;
        max-width: none !important;
    }

    .pfc-site-header__main {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        display: grid !important;
        grid-template-columns: auto 1fr auto !important;
        align-items: center !important;
        column-gap: 14px !important;
        row-gap: 12px !important;
        padding: 18px 22px 22px !important;
        margin: 0 !important;
    }

    .pfc-site-header__logo {
        grid-column: 1 !important;
        justify-self: start !important;
    }

    .pfc-mobile-menu-toggle {
        grid-column: 2 !important;
        justify-self: end !important;
    }

    .pfc-site-header__links {
        grid-column: 3 !important;
        justify-self: end !important;
    }

    /* Centre the search box below the logo/menu/basket row. */
    .pfc-site-header__search,
    .pfc-site-header__search.pfc-site-header__search--shortcode {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
        align-self: center !important;
        width: min(100%, 430px) !important;
        max-width: 430px !important;
        margin: 12px auto 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .pfc-site-header__search form,
    .pfc-site-header__search .is-search-form,
    .pfc-site-header__search .is-form-style,
    .pfc-site-header__search .is-form-style form,
    .pfc-site-header__search .is-search-form label {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .pfc-site-header__search input[type="search"],
    .pfc-site-header__search input.is-search-input {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Hero: stop the image/text panel spilling off the mobile viewport. */
    .pfc-home-hero,
    .pfc-hero {
        display: block !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        background: #d4d2c8 !important;
    }

    .pfc-home-hero .pfc-hero__media,
    .pfc-hero__media {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        min-height: 330px !important;
        height: 56vw !important;
        max-height: 430px !important;
        background-size: cover !important;
        background-position: center top !important;
    }

    .pfc-home-hero .pfc-hero__wrap,
    .pfc-hero__wrap,
    .pfc-container.pfc-hero__wrap {
        position: relative !important;
        z-index: 2 !important;
        width: min(100% - 36px, 620px) !important;
        max-width: calc(100% - 36px) !important;
        margin: -72px auto 0 !important;
        padding: 0 0 28px !important;
        box-sizing: border-box !important;
    }

    .pfc-home-hero .pfc-hero__panel,
    .pfc-hero__panel {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
        padding: 30px 24px 32px !important;
        transform: none !important;
        overflow: visible !important;
    }

    .pfc-home-hero .pfc-hero__panel h1,
    .pfc-hero__panel h1,
    .pfc-hero h1 {
        font-size: clamp(38px, 10vw, 64px) !important;
        line-height: .98 !important;
        letter-spacing: -.035em !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .pfc-home-hero .pfc-hero__panel p,
    .pfc-hero__panel p,
    .pfc-hero p {
        font-size: 15px !important;
        line-height: 1.45 !important;
        max-width: 100% !important;
    }

    .pfc-hero__panel .pfc-button-row {
        margin-top: 18px !important;
    }
}

@media (max-width: 430px) {
    .pfc-site-header__main {
        grid-template-columns: auto auto auto !important;
        column-gap: 10px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .pfc-site-header__search,
    .pfc-site-header__search.pfc-site-header__search--shortcode {
        width: min(100%, 360px) !important;
        max-width: 360px !important;
    }

    .pfc-home-hero .pfc-hero__media,
    .pfc-hero__media {
        min-height: 300px !important;
        height: 72vw !important;
    }

    .pfc-home-hero .pfc-hero__wrap,
    .pfc-hero__wrap,
    .pfc-container.pfc-hero__wrap {
        width: min(100% - 28px, 390px) !important;
        max-width: calc(100% - 28px) !important;
        margin-top: -54px !important;
    }

    .pfc-home-hero .pfc-hero__panel,
    .pfc-hero__panel {
        padding: 26px 20px 28px !important;
    }

    .pfc-home-hero .pfc-hero__panel h1,
    .pfc-hero__panel h1,
    .pfc-hero h1 {
        font-size: clamp(34px, 12vw, 50px) !important;
    }
}


/* =====================================================================
   v1.0.44 — Mobile fixes (must remain LAST in this file)
   1) Home hero: the desktop masthead is a pre-composited image with the
      navy text panel baked into its LEFT half. On mobile the old rules
      cropped through that panel (cut-off duplicate text). Re-anchor the
      crop to the photo side so only the photograph shows; the live HTML
      panel below supplies the heading/copy.
   2) Header search: guarantee it spans the full row and is genuinely
      centred, independent of the Ivory Search markup's intrinsic width.
   ===================================================================== */
@media (max-width: 980px) {

    /* --- 1. Hero image: show the photo, not the baked-in text panel --- */
    .pfc-home-hero .pfc-hero__media {
        background-position: right center !important;
    }

    /* --- 2. Search: centre on mobile, defeating Ivory Search's wrapper divs ---
       Root cause: the header grid's auto first column inflated to the spanning
       search's content width, so the wrapper never filled the row. Fix: give the
       home header an explicit grid (1fr keeps the logo column from inflating) and
       drop the search onto its own full-width second row. Then neutralise the
       right-push and dissolve Ivory's extra wrapper <div>s (display:contents) so
       the form centres directly. Scoped to the home header. */
    .pfc-home-figma .pfc-site-header__main {
        display: grid !important;
        grid-template-columns: 1fr auto auto !important;
        grid-auto-rows: auto !important;
        align-items: center !important;
        column-gap: 12px !important;
        row-gap: 0 !important;
    }
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__logo {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
    }
    .pfc-home-figma .pfc-site-header__main .pfc-mobile-menu-toggle {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
    }
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__links {
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: end !important;
    }
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__tagline {
        display: none !important;
    }

    .pfc-home-figma .pfc-site-header__main .pfc-site-header__search,
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__search.pfc-site-header__search--shortcode {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        justify-self: stretch !important;
        align-self: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 12px 0 0 !important;
        padding: 0 !important;
        float: none !important;
        text-align: center !important;
    }

    /* Make Ivory's extra wrapper div(s) span the full width so they don't
       constrain the form (less invasive than dissolving them) */
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__search > div,
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__search [class*="search-form-container"],
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__search [class*="is-search-form-"]:not(form),
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__search [class*="ivory-search"]:not(form),
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__search .aws-container,
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__search .aws-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        float: none !important;
        box-sizing: border-box !important;
    }

    /* The form: full width up to a sensible cap, centred. Ivory's own
       input/submit layout inside the form is left untouched. */
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__search form,
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__search .is-search-form,
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__search .is-ajax-search-form,
    .pfc-home-figma .pfc-site-header__main .pfc-site-header__search .aws-search-form {
        width: 100% !important;
        max-width: 460px !important;
        margin: 0 auto !important;
        float: none !important;
        box-sizing: border-box !important;
    }
}


/* =====================================================================
   v1.0.45 — Desktop hero: remove the duplicated/baked-in panel "ghost"
   The desktop masthead (masthead-desktop.png) has the navy panel + text
   baked into its left half, and the live HTML panel sits over it without
   aligning — so the baked text and a second button ghost through on the
   left (present since v1.0.42). Swap the desktop home-hero photo for the
   clean, panel-free masthead-alt.png and let the live panel supply the
   copy. Desktop only (min-width:981px) — the approved mobile hero is
   untouched. Must remain LAST in this file. */
@media (min-width: 981px) {
    .pfc-home-hero .pfc-hero__media {
        background-image:
            linear-gradient(90deg, rgba(7,24,45,.55), rgba(7,24,45,.12) 46%, rgba(7,24,45,0) 70%),
            var(--pfc-hero-main) !important;
        background-position: right center !important;
        background-size: cover !important;
    }
}


/* =====================================================================
   v1.0.46 — Memories + Since-1986 sections rebuilt to match Figma
   (Frame 3555 / Frame 3557). New components only; no hero/header overlap.
   ===================================================================== */

/* ---- Memories section (Frame 3555): intro left, two pill cards right ---- */
.pfc-split--memories { align-items: start; }
.pfc-memories__intro p strong { font-weight: 700; color: var(--pfc-text); }
.pfc-memories__intro .pfc-btn { margin-top: 24px; }

.pfc-pill-card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    align-self: start;
}
.pfc-pill-card {
    background: #fff;
    border: 1px solid var(--pfc-line);
    box-shadow: var(--pfc-shadow);
    padding: 24px 26px 28px;
}
.pfc-pill-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #dcefe1;
    color: #2f6b41;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1;
    padding: 6px 13px 6px 11px;
    border-radius: 999px;
}
.pfc-pill-card__badge svg { flex: 0 0 auto; }
.pfc-pill-card p {
    margin: 18px 0 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--pfc-muted);
}

/* ---- Since-1986 section (Frame 3557): photo + four icon proof cards ---- */
.pfc-image-stack--story img { border-radius: 6px; }

.pfc-story--home .pfc-proof-grid { gap: 22px; }
.pfc-proof-card {
    background: #fff;
    border: 1px solid var(--pfc-line);
    box-shadow: var(--pfc-shadow);
    padding: 26px 26px 30px;
    display: flex;
    flex-direction: column;
    min-height: 168px;
}
.pfc-proof-card .pfc-icon-img {
    width: 34px;
    height: 34px;
    margin: 0 0 28px;
    object-fit: contain;
}
.pfc-proof-card p {
    margin: 0;
    font-family: 'DM Sans', sans-serif;
    font-size: 17px;
    line-height: 1.35;
    color: var(--pfc-text);
}

@media (max-width: 980px) {
    .pfc-split--memories { align-items: stretch; }
    .pfc-pill-card-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 28px; }

    /* Since-1986 proof cards: horizontal (icon left, text right), stacked.
       The icon width is pinned with !important to override the broad
       ".pfc-story img { width:100% !important }" mobile rule, which would
       otherwise blow the small icon up to full width. */
    .pfc-story--home .pfc-proof-grid { gap: 14px; margin-top: 30px; }
    .pfc-story--home .pfc-proof-card {
        flex-direction: row;
        align-items: center;
        gap: 18px;
        min-height: 0;
        padding: 18px 20px;
    }
    .pfc-story--home .pfc-proof-card .pfc-icon-img {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px;
        max-width: 34px !important;
        margin: 0 !important;
        object-fit: contain !important;
        flex: 0 0 auto;
    }
    .pfc-story--home .pfc-proof-card p { font-size: 16px; line-height: 1.35; }
}


/* =====================================================================
   v1.0.47 — "Not all frames are made equal" section to match Figma
   (Frame 3558): intro left (badges, heading, copy, CTA); 2-column grid
   of six cards on the right, each a green pill badge + gold tick + text.
   ===================================================================== */
.pfc-split--match { align-items: start; grid-template-columns: .9fr 1.1fr; }
.pfc-match__intro .pfc-trust-badges { margin-bottom: 26px; }
.pfc-match__intro .pfc-btn { margin-top: 26px; }

.pfc-match-card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    align-self: start;
}
.pfc-match-card {
    background: #fff;
    border: 1px solid var(--pfc-line);
    box-shadow: var(--pfc-shadow);
    padding: 22px 26px 26px;
}
.pfc-match-card__row {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-top: 18px;
}
.pfc-match-card__tick {
    flex: 0 0 auto;
    display: inline-flex;
    color: var(--pfc-gold);
    margin-top: 3px;
}
.pfc-match-card__row p {
    margin: 0;
    font-size: 17px;
    line-height: 1.45;
    color: #45515e;
}
.pfc-match-card__row p em {
    font-family: 'DM Sans', sans-serif;
    font-style: italic;
    color: var(--pfc-gold);
}

@media (max-width: 980px) {
    .pfc-split--match { align-items: stretch; grid-template-columns: 1fr; }
    .pfc-match-card-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 28px; }
    .pfc-match-card { padding: 20px 22px 22px; }
}


/* =====================================================================
   v1.0.52 — DM Sans typeface for headings and paragraph text (strict)
   DM Sans (SIL Open Font License) is bundled self-hosted in
   assets/fonts/dm-sans/ — no external CDN / Google Fonts dependency
   (better performance and GDPR-friendly). Weights: 400, 500, 700 + italics.
   ===================================================================== */
@font-face { font-family: 'DM Sans'; src: url('../fonts/dm-sans/dm-sans-400-normal.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('../fonts/dm-sans/dm-sans-400-italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('../fonts/dm-sans/dm-sans-500-normal.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('../fonts/dm-sans/dm-sans-500-italic.woff2') format('woff2'); font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('../fonts/dm-sans/dm-sans-700-normal.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('../fonts/dm-sans/dm-sans-700-italic.woff2') format('woff2'); font-weight: 700; font-style: italic; font-display: swap; }

:root { --pfc-dmsans: 'DM Sans', sans-serif; }

/* Headings + paragraph / body copy strictly in DM Sans */
.pfc-page,
.pfc-page h1, .pfc-page h2, .pfc-page h3, .pfc-page h4,
.pfc-page p,
.pfc-page li,
.pfc-page blockquote,
.pfc-pill-card p,
.pfc-proof-card p,
.pfc-match-card__row p {
    font-family: var(--pfc-dmsans);
}


/* =====================================================================
   v1.0.50 — "Trusted by leading UK universities and royal societies"
   logo band to match the uploaded design (Testimonials.png): navy band,
   six university logos spread evenly across the container.
   ===================================================================== */
.pfc-home-figma .pfc-logo-band { background: #152239; padding: 40px 0; }
.pfc-home-figma .pfc-logo-band p { margin-bottom: 30px; }
.pfc-home-figma .pfc-logos {
    gap: 28px;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.pfc-home-figma .pfc-logos img {
    height: 38px;
    width: auto;
    max-width: 100%;
    flex: 0 0 auto;
    opacity: .92;
}

@media (max-width: 980px) {
    .pfc-home-figma .pfc-logos { justify-content: center; gap: 26px 40px; }
    .pfc-home-figma .pfc-logos img { height: 30px; }
}


/* =====================================================================
   v1.0.51 — Customer reviews slider (pulls from YITH Advanced Reviews)
   Matches the uploaded design: heading + sub, three review cards in a
   slider, prev/next arrows + dots + "See all reviews" controls row.
   ===================================================================== */
.pfc-reviews--slider .pfc-reviews__head { margin-bottom: 42px; }
.pfc-reviews--slider .pfc-reviews__head h2 { max-width: 640px; margin-bottom: 14px; }
.pfc-reviews--slider .pfc-reviews__head p { color: var(--pfc-muted); margin: 0; font-size: 16px; }

.pfc-review-slider__viewport { overflow: hidden; }
.pfc-review-slider__track {
    display: flex;
    gap: 32px;
    transition: transform .45s cubic-bezier(.4, 0, .2, 1);
    will-change: transform;
}

.pfc-reviews--slider .pfc-review-card {
    flex: 0 0 calc((100% - 64px) / 3);
    max-width: calc((100% - 64px) / 3);
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    display: flex;
    flex-direction: column;
}
.pfc-reviews--slider .pfc-stars {
    color: #1f8a4c;
    font-size: 18px;
    letter-spacing: .18em;
    margin-bottom: 18px;
}
.pfc-review-card__text {
    font-size: 17px;
    line-height: 1.5;
    color: var(--pfc-text);
    margin: 0 0 24px;
}
.pfc-review-card__foot { margin-top: auto; }
.pfc-review-card__meta { font-size: 14px; }
.pfc-review-card__author { font-weight: 700; color: var(--pfc-text); }
.pfc-review-card__date { color: var(--pfc-muted); margin-left: 6px; }
.pfc-review-card__verified {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 14px;
    background: #dcefe1;
    color: #2f6b41;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1;
    padding: 6px 12px 6px 10px;
    border-radius: 999px;
    align-self: flex-start;
}

/* Controls row */
.pfc-review-slider__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 36px;
    padding-top: 26px;
    border-top: 1px solid var(--pfc-line);
}
.pfc-review-slider__arrows { display: inline-flex; gap: 12px; }
.pfc-review-slider__arrow {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity .2s, background .2s;
}
.pfc-review-slider__arrow.pfc-slider-btn--prev { background: #e7dec9; color: #8a7a52; }
.pfc-review-slider__arrow.pfc-slider-btn--next { background: var(--pfc-gold); color: #fff; }
.pfc-review-slider__arrow:disabled { opacity: .45; cursor: default; }

.pfc-review-slider__end { display: inline-flex; align-items: center; gap: 26px; }
.pfc-review-slider__dots { display: inline-flex; align-items: center; gap: 8px; }
.pfc-reviews--slider .pfc-review-slider__dot {
    width: 9px;
    height: 9px;
    min-width: 9px;
    min-height: 9px;
    max-width: 9px;
    max-height: 9px;
    flex: 0 0 auto;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: #cfd6dd;
    line-height: 0;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
    cursor: pointer;
}
.pfc-reviews--slider .pfc-review-slider__dot.is-active { background: #7a6a3f; }
.pfc-review-slider__all { white-space: nowrap; }
.pfc-review-slider__all span { margin-left: 6px; }

@media (max-width: 1180px) {
    .pfc-review-slider__track { gap: 28px; }
    .pfc-reviews--slider .pfc-review-card {
        flex-basis: calc((100% - 28px) / 2);
        max-width: calc((100% - 28px) / 2);
    }
}
@media (max-width: 760px) {
    .pfc-review-slider__track { gap: 24px; }
    .pfc-reviews--slider .pfc-review-card { flex-basis: 100%; max-width: 100%; }
    .pfc-review-slider__controls { flex-direction: column; align-items: stretch; gap: 18px; }
    .pfc-review-slider__end { justify-content: space-between; }
}


/* =====================================================================
   v1.0.55 — Fix product grids embedded outside category archives
   The custom card template (woocommerce/content-product.php) renders
   li.pfc-archive-product-card for EVERY product loop, but the grid/card
   CSS earlier in this file is scoped to body.tax-product_cat. So grids
   embedded in regular pages via the [products] shortcode (e.g.
   /university-certificate-frames/), search results and up-sells fell back
   to the default float layout and staggered/overlapped when cards had
   unequal heights. These rules apply the same equal-height grid + card
   styling to ANY ul.products that holds our cards, regardless of page
   type. The related-products carousel uses a Flatsome .row (not
   ul.products), so it stays a slider and is untouched.
   ===================================================================== */
ul.products:has(> li.pfc-archive-product-card) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 42px 32px !important;
    align-items: start !important;
    margin: 28px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
ul.products:has(> li.pfc-archive-product-card)::before,
ul.products:has(> li.pfc-archive-product-card)::after {
    content: none !important;
    display: none !important;
}
ul.products > li.pfc-archive-product-card {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    list-style: none !important;
}
ul.products > li.pfc-archive-product-card .pfc-archive-product-card__image-wrap {
    width: 100% !important;
    margin: 0 0 18px !important;
    position: relative;
}
ul.products > li.pfc-archive-product-card .pfc-archive-product-card__image {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    display: grid !important;
    place-items: center !important;
    padding: 26px !important;
    background: #dce2e7 !important;
}
ul.products > li.pfc-archive-product-card .pfc-archive-product-card__image img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
}
ul.products > li.pfc-archive-product-card .pfc-archive-product-card__title,
ul.products > li.pfc-archive-product-card .pfc-archive-product-card__price {
    width: 100% !important;
}
ul.products > li.pfc-archive-product-card .pfc-archive-product-card__button {
    width: 100% !important;
    margin-top: auto !important;
}

@media (max-width: 980px) {
    ul.products:has(> li.pfc-archive-product-card) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
    ul.products:has(> li.pfc-archive-product-card) { grid-template-columns: 1fr !important; }
}


/* =====================================================================
   v1.0.56 — Home page button typography: larger, lighter
   ===================================================================== */
.pfc-home-figma .pfc-btn {
    font-size: 16px;
    font-weight: 400;
}


/* =====================================================================
   v1.0.57 — "What would you like to frame" card buttons match the
   larger, lighter button style (16px / 400).
   ===================================================================== */
.pfc-home-figma .pfc-category-card__body b {
    font-size: 16px;
    font-weight: 400;
}


/* =====================================================================
   v1.0.61 — Category-page product slider now reuses the home slider
   (compact .pfc-product-card, 5 desktop / 3 tablet). Take it to 1 per
   view on mobile (the home sliders stay at 2). The --category modifier
   keeps the home sliders untouched.
   ===================================================================== */
@media (max-width: 760px) {
    .pfc-product-slider--category .pfc-product-card {
        flex-basis: 100% !important;
        flex-grow: 0;
        flex-shrink: 0;
    }
}


/* =====================================================================
   v1.0.62 — Category hero description: make the middle heading line just
   slightly larger than the body copy (which is 18px) and left-align the
   whole description on all viewports. The breadcrumb, H1 and button were
   already left-aligned; the description heading + paragraph were centred
   via inline styles in the term description, so !important is required to
   override them.
   ===================================================================== */
.pfc-category-hero__description,
.pfc-category-hero__description > * {
    text-align: left !important;
}
.pfc-category-hero__description h1,
.pfc-category-hero__description h2,
.pfc-category-hero__description h3,
.pfc-category-hero__description h4,
.pfc-category-hero__description h5,
.pfc-category-hero__description h6,
.pfc-category-hero__description p:first-of-type:not(:last-of-type) {
    font-size: 22px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    margin: 0 0 14px !important;
}


/* =====================================================================
   v1.0.63 — Final CTA "Frame it once. Enjoy it for life." rebuilt to
   match the CTA mockup: navy panel over the certificate photo, serif
   two-line heading, a centred feature row separated by the gold icon,
   and the gold "Find Your Frame" button (links to the omnisearch overlay
   like the other home CTAs).
   ===================================================================== */
.pfc-home-figma .pfc-final-cta {
    min-height: 480px;
    padding: 44px 24px;
    background-size: cover;
    background-position: center;
}
.pfc-home-figma .pfc-final-cta__panel {
    width: min(660px, 100%);
    background: rgba(11, 33, 61, .94);
    padding: 50px 56px;
    text-align: center;
    transform: none;
}
.pfc-home-figma .pfc-final-cta__panel h2 {
    font-family: Georgia, 'Times New Roman', 'Times', serif;
    font-weight: 400;
    font-size: clamp(34px, 3.4vw, 46px);
    line-height: 1.12;
    letter-spacing: .005em;
    margin: 0 0 22px;
    color: #fff;
}
.pfc-home-figma .pfc-final-cta__panel h2 em {
    display: block;
    font-style: italic;
}
.pfc-final-cta__features {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 16px;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, .92);
    font-size: 16px;
    line-height: 1.4;
}
.pfc-final-cta__features span { white-space: nowrap; }
.pfc-final-cta__features .pfc-final-cta__sep {
    width: 13px;
    height: 13px;
    flex: 0 0 auto;
    display: inline-block;
}

@media (max-width: 760px) {
    .pfc-home-figma .pfc-final-cta { min-height: 0; padding: 40px 18px; }
    .pfc-home-figma .pfc-final-cta__panel { padding: 34px 24px; }
    .pfc-final-cta__features { gap: 6px 12px; font-size: 15px; }
}

/* v1.0.67 — Hero search bar (Figma landing hero: "Search Universities..." + gold "Find frames") */
.pfc-home-figma .pfc-hero-search {
    display: flex;
    gap: 10px;
    align-items: stretch;
    max-width: 480px;
    margin-top: 28px;
    flex-wrap: wrap;
}
.pfc-home-figma .pfc-hero-search__field {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1 1 240px;
    background: #fff;
    border-radius: 8px;
}
.pfc-home-figma .pfc-hero-search__icon {
    position: absolute;
    left: 15px;
    display: flex;
    align-items: center;
    color: #7c8698;
    pointer-events: none;
}
.pfc-home-figma .pfc-hero-search__input {
    flex: 1 1 auto;
    width: 100%;
    height: 54px;
    border: 0;
    background: transparent;
    padding: 0 16px 0 43px;
    font-size: 15px;
    line-height: 54px;
    color: #16223a;
    border-radius: 8px;
    cursor: pointer;
}
.pfc-home-figma .pfc-hero-search__input::placeholder { color: #7c8698; opacity: 1; }
.pfc-home-figma .pfc-hero-search__input:focus { outline: none; }
.pfc-home-figma .pfc-hero-search__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 54px;
    min-height: 54px;
    border-radius: 8px;
    padding: 0 22px;
    white-space: nowrap;
    flex: 0 0 auto;
}
@media (max-width: 600px) {
    .pfc-home-figma .pfc-hero-search { flex-direction: column; gap: 12px; }
    .pfc-home-figma .pfc-hero-search__field { flex-basis: auto; }
    .pfc-home-figma .pfc-hero-search__btn { width: 100%; }
}

/* =====================================================================
   v1.0.68 — Category / frame-type landing layout (Figma "University Page").
   Scoped to .pfc-category-landing so the home page is never affected. The
   header, hero, product slider, proof/match/success cards, quote + logo
   bands, reviews slider and CTA all reuse the existing .pfc-home-figma
   styling; only the "Your achievement deserves better..." pain-point
   section, the quote attribution and the search-bar CTA are new here.
   ===================================================================== */

/* "Your achievement deserves better..." pain-point section */
.pfc-category-landing .pfc-pain { background: #eceff2; }
.pfc-category-landing .pfc-split--pain { align-items: start; grid-template-columns: .95fr 1.05fr; }
.pfc-category-landing .pfc-pain__intro .pfc-button-row { margin-top: 28px; }
.pfc-category-landing .pfc-pain__intro h2 {
    font-family: Georgia, 'Times New Roman', 'Times', serif;
    font-weight: 400;
    font-size: clamp(34px, 3.4vw, 46px);
    line-height: 1.08;
    letter-spacing: .002em;
    color: #15223a;
    margin: 0 0 18px;
    max-width: 12ch;
}
.pfc-category-landing .pfc-pain__intro p {
    font-size: 17px;
    line-height: 1.5;
    color: #45515e;
    max-width: 46ch;
    margin: 0;
}
.pfc-category-landing .pfc-pain__intro p strong { color: #15223a; font-weight: 700; }

.pfc-category-landing .pfc-pain-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    align-self: start;
}
.pfc-category-landing .pfc-pain-card {
    background: #fff;
    border: 1px solid var(--pfc-line);
    box-shadow: var(--pfc-shadow);
    padding: 26px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 150px;
}
.pfc-category-landing .pfc-pain-card .pfc-icon-img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    display: block;
}
.pfc-category-landing .pfc-pain-card p {
    margin: 0;
    font-size: 17px;
    line-height: 1.4;
    color: #15223a;
    font-weight: 500;
}

/* Process heading gets a supporting button on category pages */
.pfc-category-landing .pfc-process--category .pfc-centre-heading .pfc-btn { margin-top: 8px; }

/* Quote-band attribution */
.pfc-category-landing .pfc-quote-band__cite {
    display: block;
    font-style: normal;
    font-weight: 700;
    color: #fff;
    margin: 0 0 26px;
    font-size: 15px;
    letter-spacing: .01em;
}
.pfc-category-landing .pfc-quote-band__cite span {
    font-weight: 400;
    opacity: .85;
    margin-left: 8px;
}

/* Final CTA with a search bar instead of a single button */
.pfc-category-landing .pfc-final-cta--search .pfc-hero-search {
    width: 100%;
    margin-top: 4px;
}

@media (max-width: 980px) {
    .pfc-category-landing .pfc-split--pain { align-items: stretch; grid-template-columns: 1fr; }
    .pfc-category-landing .pfc-pain-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 28px; }
    .pfc-category-landing .pfc-pain-card { padding: 22px; min-height: 0; }
}

/* =====================================================================
   v1.0.69 — Masthead search: field + "Find frames" button same height.
   The hero-panel solid-button rule
   ( .pfc-home-hero .pfc-hero__panel .pfc-btn--solid { min-height: 48px } )
   is 3 classes and was overriding the 2-class search-button height, so the
   input field (54px) and the button (pulled toward 48px) rendered at
   different heights. Pin both to a single --pfc-hero-search-h with matching
   (or higher) specificity. Also covers the final-CTA search bar, which
   reuses the same markup. Home page never renders .pfc-hero-search, so this
   cannot affect it.
   ===================================================================== */
.pfc-home-figma .pfc-hero-search {
    --pfc-hero-search-h: 54px;
    align-items: stretch;
}
.pfc-home-figma .pfc-hero-search__field {
    height: var(--pfc-hero-search-h);
}
.pfc-home-figma .pfc-hero-search__input {
    height: var(--pfc-hero-search-h);
    line-height: var(--pfc-hero-search-h);
}
/* 3-class selectors so they beat/tie-and-follow the min-height:48px rule */
.pfc-home-hero .pfc-hero__panel .pfc-hero-search__btn,
.pfc-home-figma .pfc-hero-search .pfc-hero-search__btn {
    height: var(--pfc-hero-search-h);
    min-height: var(--pfc-hero-search-h);
    line-height: normal;
}
@media (max-width: 600px) {
    /* Stacked layout: keep both controls full-width but equal height */
    .pfc-home-figma .pfc-hero-search__field,
    .pfc-home-figma .pfc-hero-search__btn { width: 100%; }
}


/* =====================================================================
   v1.0.71 — Landing / category hero image must NOT inherit the HOME
   masthead. The landing hero reuses .pfc-home-hero, and the v1.0.45
   desktop rule paints .pfc-home-hero .pfc-hero__media with
   var(--pfc-hero-main) (masthead-hero.png) using !important — which
   overrode the inline masthead we set per page, so the frame-type pages
   always showed the home photo no matter what.

   The hero now also carries .pfc-hero--landing on those pages. This rule
   (3 classes + !important, and placed last) outranks the v1.0.45 rule, so:
     - the inline background-image we print (Featured image, else the
       default masthead-achievement.png) wins, because an inline !important
       declaration outranks any selector; and
     - if that inline style is ever stripped (aggressive optimiser/cache),
       the landing hero still falls back to the default achievement photo
       here — never the home masthead.
   The home hero (no .pfc-hero--landing) is completely unaffected.
   ===================================================================== */
.pfc-home-hero.pfc-hero--landing .pfc-hero__media {
    background-image:
        linear-gradient(90deg, rgba(7,24,45,.72), rgba(7,24,45,.08)),
        var(--pfc-hero-achievement) !important;
    background-position: center center !important;
    background-size: cover !important;
}

/* =====================================================================
   v1.0.74 — University/category pain-point section matched to Figma
   Frame 3555. Scoped to category landing pages only.
   ===================================================================== */
.pfc-category-landing .pfc-pain {
    background: #eceff2;
    padding: 104px 0;
}

.pfc-category-landing .pfc-pain > .pfc-container {
    width: min(1268px, calc(100% - 48px));
}

.pfc-category-landing .pfc-split--pain {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(0, 594px) minmax(0, 606px);
    gap: 68px;
}

.pfc-category-landing .pfc-pain__intro h2 {
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-weight: 400;
    font-size: clamp(44px, 4.15vw, 60px);
    line-height: 1.02;
    letter-spacing: -0.02em;
    color: #152239;
    margin: 52px 0 22px;
    max-width: 610px;
}

.pfc-category-landing .pfc-pain__intro p {
    font-size: 18px;
    line-height: 1.65;
    color: #45515e;
    max-width: 610px;
    margin: 0;
}

.pfc-category-landing .pfc-pain__intro p strong {
    color: #344050;
    font-weight: 700;
}

.pfc-category-landing .pfc-pain__intro .pfc-button-row {
    margin-top: 30px;
    gap: 25px;
    align-items: center;
}

.pfc-category-landing .pfc-pain__intro .pfc-btn--solid {
    min-height: 49px;
    height: 49px;
    padding: 0 18px;
    min-width: 190px;
    justify-content: center;
    font-size: 16px;
    line-height: 49px;
    font-weight: 500;
    letter-spacing: 0;
    background: #a47404;
    color: #fff;
}

.pfc-category-landing .pfc-pain__intro .pfc-link {
    font-size: 16px;
    line-height: 49px;
    font-weight: 400;
    color: #a47404;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

.pfc-category-landing .pfc-pain__intro .pfc-link span {
    display: inline-block;
    margin-left: 10px;
    font-size: 28px;
    line-height: 0;
    vertical-align: -3px;
    text-decoration: none;
}

.pfc-category-landing .pfc-pain-grid {
    width: 100%;
    max-width: 606px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 283px));
    column-gap: 40px;
    row-gap: 35px;
    align-self: start;
    justify-content: start;
}

.pfc-category-landing .pfc-pain-card {
    background: #fff;
    border: 1px solid #8797a9;
    box-shadow: 8px 8px 0 rgba(255,255,255,.82), 0 16px 28px rgba(7,24,45,.12);
    padding: 36px 31px 32px;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 34px;
}

.pfc-category-landing .pfc-pain-card .pfc-icon-img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    display: block;
    margin: 0;
}

.pfc-category-landing .pfc-pain-card p {
    margin: 0;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: 22px;
    line-height: 1.27;
    font-weight: 400;
    letter-spacing: -0.015em;
    color: #152239;
}

@media (max-width: 1250px) {
    .pfc-category-landing .pfc-pain > .pfc-container {
        width: min(100% - 48px, 1160px);
    }

    .pfc-category-landing .pfc-split--pain {
        grid-template-columns: minmax(0, 1fr) minmax(520px, 606px);
        gap: clamp(36px, 5vw, 68px);
    }

    .pfc-category-landing .pfc-pain-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 28px;
    }
}

@media (max-width: 980px) {
    .pfc-category-landing .pfc-pain {
        padding: 72px 0;
    }

    .pfc-category-landing .pfc-split--pain {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .pfc-category-landing .pfc-pain__intro h2 {
        margin-top: 0;
        font-size: clamp(38px, 8vw, 54px);
    }

    .pfc-category-landing .pfc-pain-grid {
        max-width: none;
        grid-template-columns: 1fr 1fr;
        row-gap: 22px;
    }
}

@media (max-width: 640px) {
    .pfc-category-landing .pfc-pain {
        padding: 56px 0;
    }

    .pfc-category-landing .pfc-pain > .pfc-container {
        width: min(100% - 36px, var(--pfc-container));
    }

    .pfc-category-landing .pfc-pain__intro h2 {
        font-size: 38px;
        line-height: 1.08;
    }

    .pfc-category-landing .pfc-pain__intro p {
        font-size: 16px;
        line-height: 1.55;
    }

    .pfc-category-landing .pfc-pain__intro .pfc-button-row {
        gap: 14px;
    }

    .pfc-category-landing .pfc-pain__intro .pfc-btn--solid,
    .pfc-category-landing .pfc-pain__intro .pfc-link {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .pfc-category-landing .pfc-pain-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .pfc-category-landing .pfc-pain-card {
        padding: 28px;
        gap: 24px;
    }
}



/* =====================================================================
   v1.0.75 — Exact Figma Frame 3553 pain-card box treatment.
   Scoped only to the four "Your achievement deserves better..." boxes on
   category landing pages. Keeps the surrounding Frame 3555 section layout.
   ===================================================================== */
.pfc-category-landing .pfc-pain-grid {
    width: 606px;
    max-width: 606px;
    display: grid;
    grid-template-columns: 283px 283px;
    column-gap: 40px;
    row-gap: 35px;
    align-items: start;
    justify-content: start;
}

.pfc-category-landing .pfc-pain-card {
    box-sizing: border-box;
    width: 283px;
    background: #fff;
    border: 1px solid #8797a9;
    border-radius: 0;
    padding: 36px 30px 31px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 34px;
    box-shadow:
        8px 8px 0 rgba(255,255,255,.96),
        14px 14px 28px rgba(0,0,0,.28);
}

.pfc-category-landing .pfc-pain-card:nth-child(1),
.pfc-category-landing .pfc-pain-card:nth-child(2) {
    height: 192px;
}

.pfc-category-landing .pfc-pain-card:nth-child(3),
.pfc-category-landing .pfc-pain-card:nth-child(4) {
    height: 220px;
}

.pfc-category-landing .pfc-pain-card .pfc-icon-img {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    object-fit: contain;
    display: block;
    margin: 0;
}

.pfc-category-landing .pfc-pain-card p {
    margin: 0;
    padding: 0;
    max-width: 222px;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: 22px;
    line-height: 1.32;
    font-weight: 400;
    letter-spacing: -0.015em;
    color: #101b33;
}

@media (max-width: 1250px) {
    .pfc-category-landing .pfc-pain-grid {
        width: min(100%, 606px);
        max-width: 606px;
        grid-template-columns: repeat(2, minmax(0, 283px));
        column-gap: 40px;
    }
}

@media (max-width: 720px) {
    .pfc-category-landing .pfc-pain-grid {
        width: 100%;
        max-width: none;
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .pfc-category-landing .pfc-pain-card,
    .pfc-category-landing .pfc-pain-card:nth-child(1),
    .pfc-category-landing .pfc-pain-card:nth-child(2),
    .pfc-category-landing .pfc-pain-card:nth-child(3),
    .pfc-category-landing .pfc-pain-card:nth-child(4) {
        width: 100%;
        height: auto;
        min-height: 192px;
    }
}

/* =====================================================================
   v1.0.76 — Pain cards: white panel with inset border only.
   Matches the supplied single-card reference: no drop shadow, no offset
   duplicate panel, just a white outer panel and a thin inner border.
   ===================================================================== */
.pfc-category-landing .pfc-pain-grid {
    width: 623px;
    max-width: 623px;
    display: grid;
    grid-template-columns: 299px 299px;
    column-gap: 25px;
    row-gap: 19px;
    align-items: start;
    justify-content: start;
}

.pfc-category-landing .pfc-pain-card {
    box-sizing: border-box;
    position: relative;
    isolation: isolate;
    width: 299px;
    background: #fff;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
    filter: none !important;
    padding: 45px 40px 34px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 34px;
    overflow: hidden;
}

.pfc-category-landing .pfc-pain-card::before {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid #8797a9;
    pointer-events: none;
    z-index: 0;
}

.pfc-category-landing .pfc-pain-card > * {
    position: relative;
    z-index: 1;
}

.pfc-category-landing .pfc-pain-card:nth-child(1),
.pfc-category-landing .pfc-pain-card:nth-child(2) {
    height: 208px;
}

.pfc-category-landing .pfc-pain-card:nth-child(3),
.pfc-category-landing .pfc-pain-card:nth-child(4) {
    height: 236px;
}

.pfc-category-landing .pfc-pain-card .pfc-icon-img {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    object-fit: contain;
    display: block;
    margin: 0;
}

.pfc-category-landing .pfc-pain-card p {
    margin: 0;
    padding: 0;
    max-width: 222px;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: 22px;
    line-height: 1.32;
    font-weight: 400;
    letter-spacing: -0.015em;
    color: #101b33;
}

@media (max-width: 1250px) {
    .pfc-category-landing .pfc-pain-grid {
        width: min(100%, 623px);
        max-width: 623px;
        grid-template-columns: repeat(2, minmax(0, 299px));
        column-gap: 25px;
        row-gap: 19px;
    }
}

@media (max-width: 720px) {
    .pfc-category-landing .pfc-pain-grid {
        width: 100%;
        max-width: none;
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .pfc-category-landing .pfc-pain-card,
    .pfc-category-landing .pfc-pain-card:nth-child(1),
    .pfc-category-landing .pfc-pain-card:nth-child(2),
    .pfc-category-landing .pfc-pain-card:nth-child(3),
    .pfc-category-landing .pfc-pain-card:nth-child(4) {
        width: 100%;
        height: auto;
        min-height: 208px;
    }
}


/* =====================================================================
   v1.0.78 — Pain-card text wrapping refined.
   Removes manual line breaks from the card copy. The cards now use natural
   wrapping with per-card text widths so the four captions sit like the
   supplied reference: top cards use two balanced lines, bottom cards use
   three balanced lines.
   ===================================================================== */
.pfc-category-landing .pfc-pain-card {
    padding: 45px 11px 34px 40px !important;
    gap: 34px !important;
}

.pfc-category-landing .pfc-pain-card p {
    margin: 0 !important;
    padding: 0 !important;
    font-family: Georgia, 'Times New Roman', Times, serif !important;
    font-size: 20px !important;
    line-height: 1.36 !important;
    font-weight: 400 !important;
    letter-spacing: -0.015em !important;
    color: #101b33 !important;
    white-space: normal !important;
}

.pfc-category-landing .pfc-pain-card:nth-child(1) p,
.pfc-category-landing .pfc-pain-card:nth-child(2) p {
    width: 248px !important;
    max-width: 248px !important;
}

.pfc-category-landing .pfc-pain-card:nth-child(3) p {
    width: 220px !important;
    max-width: 220px !important;
}

.pfc-category-landing .pfc-pain-card:nth-child(4) p {
    width: 200px !important;
    max-width: 200px !important;
}

.pfc-category-landing .pfc-pain-card .pfc-icon-img {
    margin: 0 !important;
}

@media (max-width: 720px) {
    .pfc-category-landing .pfc-pain-card {
        padding: 42px 36px 32px !important;
        gap: 30px !important;
    }

    .pfc-category-landing .pfc-pain-card p,
    .pfc-category-landing .pfc-pain-card:nth-child(1) p,
    .pfc-category-landing .pfc-pain-card:nth-child(2) p,
    .pfc-category-landing .pfc-pain-card:nth-child(3) p,
    .pfc-category-landing .pfc-pain-card:nth-child(4) p {
        width: auto !important;
        max-width: 100% !important;
        font-size: 20px !important;
    }
}


/* v1.0.82 — final CTA button-only layout */
.pfc-final-cta--search .pfc-final-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 28px;
}


/* v1.0.83 — header USP bar under secondary menu */
.pfc-site-header .pfc-site-header__top {
    display: none !important;
}

.pfc-site-header__usp-bar,
.pfc-home-figma .pfc-site-header__usp-bar {
    width: 100% !important;
    background: #a27100 !important;
    color: #fff !important;
    border: 0 !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
}

.pfc-site-header__usp-inner {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 34px !important;
    padding: 8px 24px !important;
    max-width: 1380px !important;
    margin: 0 auto !important;
    line-height: 1.25 !important;
}

.pfc-site-header__usp-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #fff !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}

.pfc-site-header__usp-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    border: 1.5px solid rgba(255,255,255,.9) !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

@media (max-width: 1180px) {
    .pfc-site-header__usp-inner {
        gap: 20px !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .pfc-site-header__usp-inner::-webkit-scrollbar {
        display: none !important;
    }

    .pfc-site-header__usp-item {
        font-size: 13px !important;
    }
}

@media (max-width: 640px) {
    .pfc-site-header__usp-bar,
    .pfc-home-figma .pfc-site-header__usp-bar {
        min-height: 40px !important;
    }

    .pfc-site-header__usp-inner {
        min-height: 40px !important;
        padding: 8px 16px !important;
        gap: 18px !important;
    }
}


/* v1.0.84 — refine header USP bar styling */
.pfc-site-header__usp-bar,
.pfc-home-figma .pfc-site-header__usp-bar {
    background: #a77709 !important;
    padding: 8px 0 !important;
}

.pfc-site-header__usp-inner {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 18px !important;
    padding: 10px 28px !important;
    max-width: 1440px !important;
    width: 100% !important;
}

.pfc-site-header__usp-item {
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    justify-content: center !important;
}

.pfc-site-header__usp-icon {
    color: #ffffff !important;
    border-color: rgba(255,255,255,.92) !important;
}

@media (max-width: 1180px) {
    .pfc-site-header__usp-inner {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 24px !important;
        padding: 10px 20px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .pfc-site-header__usp-item {
        font-size: 15px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 640px) {
    .pfc-site-header__usp-bar,
    .pfc-home-figma .pfc-site-header__usp-bar {
        padding: 6px 0 !important;
    }

    .pfc-site-header__usp-inner {
        padding: 8px 16px !important;
        gap: 18px !important;
    }

    .pfc-site-header__usp-item {
        font-size: 14px !important;
    }
}


/* v1.0.85 — use flex layout for header USP bar instead of grid */
.pfc-site-header__usp-inner {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: space-evenly !important;
    gap: clamp(18px, 2.4vw, 44px) !important;
    width: 100% !important;
    max-width: none !important;
    padding: 12px 42px !important;
    box-sizing: border-box !important;
}

.pfc-site-header__usp-item {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    text-align: center !important;
}

@media (max-width: 1280px) {
    .pfc-site-header__usp-inner {
        justify-content: flex-start !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .pfc-site-header__usp-inner::-webkit-scrollbar {
        display: none !important;
    }
}


/* v1.0.86 — sticky header with collapsed top/bottom sections on scroll */
.pfc-site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: #ffffff !important;
}

body.admin-bar .pfc-site-header {
    top: 32px !important;
}

.pfc-site-header__main,
.pfc-site-header__usp-bar {
    transition:
        max-height .24s ease,
        opacity .18s ease,
        padding .24s ease,
        margin .24s ease,
        visibility .18s ease !important;
    overflow: hidden !important;
}

body.pfc-header-is-scrolled .pfc-site-header__main,
body.pfc-header-is-scrolled .pfc-site-header__usp-bar {
    max-height: 0 !important;
    opacity: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body.pfc-header-is-scrolled .pfc-site-header__usp-inner {
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.pfc-header-is-scrolled .pfc-site-header__nav--primary,
body.pfc-header-is-scrolled .pfc-site-header__nav--secondary {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.pfc-header-is-scrolled .pfc-site-header__nav-inner {
    min-height: 42px !important;
}

@media (max-width: 782px) {
    body.admin-bar .pfc-site-header {
        top: 46px !important;
    }
}

@media (max-width: 640px) {
    body.pfc-header-is-scrolled .pfc-site-header__nav-inner {
        min-height: 40px !important;
    }
}


/* v1.0.87 — make header reliably fixed and reserve space above content */
.pfc-site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 100000 !important;
    background: #ffffff !important;
}

body.admin-bar .pfc-site-header {
    top: 32px !important;
}

body.pfc-fixed-header-enabled {
    padding-top: var(--pfc-fixed-header-offset, 0px) !important;
}

html {
    scroll-padding-top: var(--pfc-fixed-header-offset, 0px) !important;
}

body.pfc-header-is-scrolled .pfc-site-header {
    box-shadow: 0 8px 20px rgba(10, 25, 48, .12) !important;
}

body.pfc-header-measuring .pfc-site-header__main,
body.pfc-header-measuring .pfc-site-header__usp-bar {
    transition: none !important;
}

@media (max-width: 782px) {
    body.admin-bar .pfc-site-header {
        top: 46px !important;
    }
}


/* v1.0.88 — reliable sticky menus only on scroll */
.pfc-sticky-menu-clone {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 100001 !important;
    display: none !important;
    background: #14223b !important;
    box-shadow: 0 8px 20px rgba(10, 25, 48, .18) !important;
}

body.admin-bar .pfc-sticky-menu-clone {
    top: 32px !important;
}

body.pfc-header-is-scrolled .pfc-sticky-menu-clone {
    display: block !important;
}

body.pfc-header-is-scrolled .pfc-site-header {
    display: none !important;
}

.pfc-sticky-menu-clone .pfc-site-header__nav {
    display: block !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.pfc-sticky-menu-clone .pfc-site-header__nav-inner {
    min-height: 42px !important;
}

body.pfc-header-is-scrolled {
    padding-top: var(--pfc-sticky-menu-offset, 86px) !important;
}

@media (max-width: 782px) {
    body.admin-bar .pfc-sticky-menu-clone {
        top: 46px !important;
    }
}

@media (max-width: 640px) {
    body.pfc-header-is-scrolled {
        padding-top: var(--pfc-sticky-menu-offset, 80px) !important;
    }
}


/* v1.0.89 — bypass parent Flatsome header/footer and keep only ProFrameCo header/footer */
body.pfc-has-global-figma-header #header,
body.pfc-has-global-figma-header .header-wrapper,
body.pfc-has-global-figma-header .sticky-wrapper,
body.pfc-has-global-figma-header .header-placeholder,
body.pfc-has-global-figma-header #masthead,
body.pfc-has-global-figma-header .footer-wrapper,
body.pfc-has-global-figma-header #footer,
body.pfc-has-global-figma-header .absolute-footer,
body.pfc-has-global-figma-header .footer-1,
body.pfc-has-global-figma-header .footer-2,
#aw-extra-header-row {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.pfc-header-is-scrolled .pfc-sticky-menu-clone,
.pfc-sticky-menu-clone--v89 {
    background: #14223b !important;
}

.pfc-sticky-menu-clone {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2147483640 !important;
    width: 100% !important;
    display: none !important;
    box-shadow: 0 8px 20px rgba(10, 25, 48, .18) !important;
}

body.admin-bar .pfc-sticky-menu-clone {
    top: 32px !important;
}

body.pfc-header-is-scrolled .pfc-sticky-menu-clone {
    display: block !important;
}

body.pfc-header-is-scrolled .pfc-site-header {
    display: none !important;
}

body.pfc-header-is-scrolled {
    padding-top: var(--pfc-sticky-menu-offset, 86px) !important;
}

.pfc-sticky-menu-clone .pfc-site-header__nav {
    display: block !important;
    position: static !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.pfc-sticky-menu-clone .pfc-site-header__nav-inner {
    min-height: 42px !important;
}

@media (max-width: 782px) {
    body.admin-bar .pfc-sticky-menu-clone {
        top: 46px !important;
    }
}


/* v1.0.90 — remove top-load gap and grey spacer before custom header */
body.pfc-fixed-header-enabled:not(.pfc-header-is-scrolled) {
    padding-top: 0 !important;
}

body:not(.pfc-header-is-scrolled) .pfc-site-header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 9999 !important;
}

body.admin-bar:not(.pfc-header-is-scrolled) .pfc-site-header {
    top: auto !important;
}

body:not(.pfc-header-is-scrolled) .pfc-sticky-menu-clone {
    display: none !important;
}

body.pfc-header-is-scrolled .pfc-site-header {
    display: none !important;
}

/* Remove any inherited Flatsome/spacer/header placeholder remnants above the custom header */
body.pfc-has-global-figma-header,
body.pfc-has-global-figma-header #wrapper,
body.pfc-has-global-figma-header #main {
    margin-top: 0 !important;
}

body.pfc-has-global-figma-header .header-placeholder,
body.pfc-has-global-figma-header .sticky-wrapper,
body.pfc-has-global-figma-header .pfc-header-spacer,
body.pfc-has-global-figma-header .pfc-header-placeholder {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Remove the thin grey separator that was showing before the first custom header row */
.pfc-site-header,
.pfc-site-header::before,
.pfc-site-header__main,
.pfc-site-header__main::before {
    border-top: 0 !important;
    margin-top: 0 !important;
}

.pfc-site-header__main {
    box-shadow: none !important;
}


/* Standalone experimental baseline — removes reliance on Flatsome layout wrappers */
html {
    box-sizing: border-box;
}

*, *::before, *::after {
    box-sizing: inherit;
}

body {
    margin: 0;
    background: #ffffff;
    color: #14223b;
    font-family: 'DM Sans', Arial, sans-serif;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
}

/* Basic WordPress/WooCommerce containers for standalone mode */
.woocommerce-page #main,
.woocommerce #main,
#main {
    width: 100%;
}

.woocommerce .products ul,
.woocommerce ul.products {
    list-style: none;
    padding: 0;
}

.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.woocommerce ul.products li.product {
    margin: 0 !important;
    width: auto !important;
}

.woocommerce div.product {
    max-width: 1180px;
    margin: 0 auto;
    padding: 48px 24px;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
    float: none;
    width: auto;
}

.woocommerce div.product .product_title {
    margin-top: 0;
}

.pfc-related-products {
    max-width: 1180px;
    margin: 0 auto;
    padding: 32px 24px 64px;
}

@media (max-width: 900px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }

    .woocommerce div.product {
        padding: 32px 18px;
    }
}


/* v0.1.3 standalone template fallbacks */
.pfc-standalone-main {
    width: 100%;
    min-height: 50vh;
}

.pfc-standalone-entry {
    max-width: 1180px;
    margin: 0 auto;
    padding: 56px 24px;
}

.pfc-standalone-entry__title {
    margin: 0 0 24px;
    color: #14223b;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.05;
}

.pfc-standalone-entry__content {
    color: #14223b;
}


/* v0.1.5 standalone: make sure custom header CSS wins without Flatsome */
.pfc-site-header,
.pfc-site-header * {
    box-sizing: border-box;
}

.pfc-site-header__brand img,
.pfc-site-header img.pfc-site-header__logo,
.pfc-site-header .pfc-site-header__logo img {
    max-width: 180px !important;
    height: auto !important;
}

.pfc-primary-menu,
.pfc-secondary-menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* v0.1.6 standalone — dropdown menus */
.pfc-site-header__nav,
.pfc-site-header__nav-inner,
.pfc-primary-menu,
.pfc-primary-menu > li {
    overflow: visible !important;
}

.pfc-primary-menu > li {
    position: relative !important;
}

.pfc-primary-menu .sub-menu,
.pfc-primary-menu .children {
    position: absolute !important;
    top: calc(100% - 1px) !important;
    left: 0 !important;
    min-width: 270px !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    list-style: none !important;
    background: #ffffff !important;
    border: 1px solid rgba(20,34,59,.16) !important;
    box-shadow: 0 18px 38px rgba(7,24,45,.24) !important;
    z-index: 2147483000 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(8px) !important;
    pointer-events: none !important;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
}

.pfc-primary-menu li:hover > .sub-menu,
.pfc-primary-menu li:focus-within > .sub-menu,
.pfc-primary-menu li.pfc-dropdown-open > .sub-menu,
.pfc-primary-menu li:hover > .children,
.pfc-primary-menu li:focus-within > .children,
.pfc-primary-menu li.pfc-dropdown-open > .children {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.pfc-primary-menu .sub-menu .sub-menu,
.pfc-primary-menu .children .children {
    top: -8px !important;
    left: 100% !important;
}

.pfc-primary-menu .sub-menu li,
.pfc-primary-menu .children li {
    display: block !important;
    width: 100% !important;
}

.pfc-primary-menu .sub-menu a,
.pfc-primary-menu .children a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 0 !important;
    width: 100% !important;
    padding: 12px 16px !important;
    color: #14223b !important;
    background: #ffffff !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

.pfc-primary-menu .sub-menu a:hover,
.pfc-primary-menu .sub-menu a:focus,
.pfc-primary-menu .children a:hover,
.pfc-primary-menu .children a:focus {
    background: #f4f6f8 !important;
    color: #a77709 !important;
}

.pfc-dropdown-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    margin-left: -6px !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    cursor: pointer !important;
    padding: 0 !important;
}

.pfc-dropdown-toggle::before {
    content: '';
    width: 7px;
    height: 7px;
    border-right: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
}

/* v0.1.6 standalone — legacy Flatsome shortcode fallback styling */
.pfc-legacy-page-header {
    max-width: 1180px;
    margin: 0 auto;
    padding: 48px 24px 20px;
    text-align: center;
}

.pfc-legacy-page-header h1 {
    margin: 0;
    color: #14223b;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.05;
}

.pfc-legacy-divider {
    max-width: 1180px;
    margin: 24px auto;
    border: 0;
    border-top: 1px solid rgba(20,34,59,.16);
}

.pfc-legacy-row,
.pfc-legacy-section__inner {
    max-width: 1180px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.pfc-legacy-row {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    align-items: stretch;
}

.pfc-legacy-col {
    flex: 1 1 0;
    min-width: min(100%, 260px);
}

.pfc-legacy-section {
    padding: 40px 0;
}

/* v0.1.6 standalone — WooCommerce single product styling */
.pfc-single-product-main,
.single-product .site-main,
.woocommerce.single-product .site-main {
    background: #ffffff;
}

.woocommerce div.product {
    max-width: 1220px !important;
    margin: 0 auto !important;
    padding: 56px 24px 72px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 52%) minmax(320px, 1fr) !important;
    gap: 56px !important;
    align-items: start !important;
}

.woocommerce div.product::before,
.woocommerce div.product::after {
    content: none !important;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
    float: none !important;
    width: auto !important;
    clear: none !important;
}

.woocommerce div.product div.images {
    margin: 0 !important;
}

.woocommerce div.product div.images img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    border: 1px solid rgba(20,34,59,.12) !important;
    background: #fff !important;
}

.woocommerce div.product div.summary {
    margin: 0 !important;
    color: #14223b !important;
}

.woocommerce div.product .product_title {
    margin: 0 0 16px !important;
    color: #14223b !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(32px, 4vw, 52px) !important;
    line-height: 1.08 !important;
    font-weight: 400 !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: #14223b !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    margin: 0 0 20px !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: #405066 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    margin: 0 0 24px !important;
}

.woocommerce div.product form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 28px 0 !important;
}

.woocommerce .quantity .qty,
.woocommerce div.product form.cart .quantity input.qty {
    width: 76px !important;
    min-height: 46px !important;
    border: 1px solid rgba(20,34,59,.24) !important;
    border-radius: 0 !important;
    text-align: center !important;
    color: #14223b !important;
}

.woocommerce div.product form.cart .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    min-height: 46px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #a77709 !important;
    color: #ffffff !important;
    padding: 0 24px !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 46px !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: #14223b !important;
    color: #ffffff !important;
}

.woocommerce div.product .product_meta {
    margin-top: 24px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(20,34,59,.14) !important;
    color: #405066 !important;
    font-size: 14px !important;
}

.woocommerce div.product .woocommerce-tabs {
    grid-column: 1 / -1 !important;
    max-width: 100% !important;
    margin-top: 28px !important;
    border-top: 1px solid rgba(20,34,59,.14) !important;
    padding-top: 34px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    list-style: none !important;
    border: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
    content: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(20,34,59,.16) !important;
    border-radius: 0 !important;
    background: #f5f7f9 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block !important;
    padding: 12px 18px !important;
    color: #14223b !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: #14223b !important;
    border-color: #14223b !important;
}

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

.woocommerce div.product .woocommerce-Tabs-panel {
    color: #14223b !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.woocommerce div.product .related,
.woocommerce div.product .upsells {
    grid-column: 1 / -1 !important;
    margin-top: 48px !important;
}

.woocommerce .woocommerce-breadcrumb {
    max-width: 1220px !important;
    margin: 0 auto !important;
    padding: 24px 24px 0 !important;
    color: #6a7483 !important;
    font-size: 14px !important;
}

.woocommerce .woocommerce-breadcrumb a {
    color: #14223b !important;
    text-decoration: none !important;
}

.woocommerce-notices-wrapper {
    max-width: 1220px;
    margin: 0 auto;
    padding: 18px 24px 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-top-color: #a77709 !important;
    background: #f6f7f9 !important;
    color: #14223b !important;
}

.woocommerce table.shop_attributes {
    border-collapse: collapse !important;
    width: 100% !important;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
    border: 1px solid rgba(20,34,59,.12) !important;
    padding: 12px !important;
    text-align: left !important;
}

@media (max-width: 900px) {
    .woocommerce div.product {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
        padding: 36px 18px 56px !important;
    }

    .pfc-legacy-row {
        display: block;
    }

    .pfc-legacy-col + .pfc-legacy-col {
        margin-top: 24px;
    }
}


/* v0.1.7 standalone — robust menu dropdowns without Flatsome */
.pfc-site-header,
.pfc-site-header__nav,
.pfc-site-header__nav-inner,
.pfc-primary-menu,
.pfc-secondary-menu,
.pfc-primary-menu li,
.pfc-secondary-menu li {
    overflow: visible !important;
}

.pfc-primary-menu,
.pfc-secondary-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    list-style: none !important;
}

.pfc-primary-menu li,
.pfc-secondary-menu li {
    position: relative !important;
}

.pfc-primary-menu > li,
.pfc-secondary-menu > li {
    display: inline-flex !important;
    align-items: center !important;
}

.pfc-primary-menu > li > a,
.pfc-secondary-menu > li > a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.pfc-primary-menu .sub-menu,
.pfc-secondary-menu .sub-menu,
.pfc-primary-menu .children,
.pfc-secondary-menu .children,
.pfc-sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    min-width: 285px !important;
    max-width: min(360px, 90vw) !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    list-style: none !important;
    background: #ffffff !important;
    border: 1px solid rgba(20,34,59,.18) !important;
    box-shadow: 0 18px 38px rgba(7,24,45,.25) !important;
    z-index: 2147483500 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(8px) !important;
    pointer-events: none !important;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
}

.pfc-primary-menu li:hover > .sub-menu,
.pfc-primary-menu li:focus-within > .sub-menu,
.pfc-primary-menu li.pfc-dropdown-open > .sub-menu,
.pfc-primary-menu li:hover > .children,
.pfc-primary-menu li:focus-within > .children,
.pfc-primary-menu li.pfc-dropdown-open > .children,
.pfc-secondary-menu li:hover > .sub-menu,
.pfc-secondary-menu li:focus-within > .sub-menu,
.pfc-secondary-menu li.pfc-dropdown-open > .sub-menu,
.pfc-secondary-menu li:hover > .children,
.pfc-secondary-menu li:focus-within > .children,
.pfc-secondary-menu li.pfc-dropdown-open > .children {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.pfc-primary-menu .sub-menu .sub-menu,
.pfc-secondary-menu .sub-menu .sub-menu,
.pfc-primary-menu .children .children,
.pfc-secondary-menu .children .children {
    top: -8px !important;
    left: 100% !important;
}

.pfc-primary-menu .sub-menu li,
.pfc-secondary-menu .sub-menu li,
.pfc-primary-menu .children li,
.pfc-secondary-menu .children li {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
}

.pfc-primary-menu .sub-menu a,
.pfc-secondary-menu .sub-menu a,
.pfc-primary-menu .children a,
.pfc-secondary-menu .children a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 0 !important;
    width: 100% !important;
    padding: 12px 16px !important;
    color: #14223b !important;
    background: #ffffff !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

.pfc-primary-menu .sub-menu a:hover,
.pfc-primary-menu .sub-menu a:focus,
.pfc-primary-menu .children a:hover,
.pfc-primary-menu .children a:focus,
.pfc-secondary-menu .sub-menu a:hover,
.pfc-secondary-menu .sub-menu a:focus,
.pfc-secondary-menu .children a:hover,
.pfc-secondary-menu .children a:focus {
    background: #f4f6f8 !important;
    color: #a77709 !important;
}

.pfc-dropdown-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    margin-left: -4px !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    cursor: pointer !important;
    padding: 0 !important;
}

.pfc-dropdown-toggle::before {
    content: '';
    width: 7px;
    height: 7px;
    border-right: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
}

.pfc-primary-menu li.pfc-menu-item-has-children > a::after,
.pfc-primary-menu li.menu-item-has-children > a::after,
.pfc-secondary-menu li.pfc-menu-item-has-children > a::after,
.pfc-secondary-menu li.menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-left: 8px;
    border-right: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
}

/* Do not show two chevrons when JS has added a touch toggle button */
.pfc-primary-menu li.pfc-has-js-toggle > a::after,
.pfc-secondary-menu li.pfc-has-js-toggle > a::after {
    content: none !important;
}

@media (max-width: 900px) {
    .pfc-primary-menu,
    .pfc-secondary-menu {
        align-items: stretch !important;
    }

    .pfc-primary-menu .sub-menu,
    .pfc-secondary-menu .sub-menu,
    .pfc-primary-menu .children,
    .pfc-secondary-menu .children {
        position: static !important;
        min-width: 100% !important;
        max-width: none !important;
        box-shadow: none !important;
        border: 0 !important;
        border-top: 1px solid rgba(255,255,255,.14) !important;
        background: rgba(255,255,255,.06) !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
        display: none !important;
        padding: 0 !important;
    }

    .pfc-primary-menu li.pfc-dropdown-open > .sub-menu,
    .pfc-secondary-menu li.pfc-dropdown-open > .sub-menu,
    .pfc-primary-menu li.pfc-dropdown-open > .children,
    .pfc-secondary-menu li.pfc-dropdown-open > .children {
        display: block !important;
    }

    .pfc-primary-menu .sub-menu a,
    .pfc-secondary-menu .sub-menu a,
    .pfc-primary-menu .children a,
    .pfc-secondary-menu .children a {
        background: transparent !important;
        color: #fff !important;
        padding-left: 28px !important;
    }
}


/* v0.1.8 standalone — final dropdown safety layer */
.pfc-site-header {
    isolation: isolate !important;
}

.pfc-site-header__nav {
    z-index: 2147482000 !important;
}

.pfc-site-header__nav--primary {
    z-index: 2147482600 !important;
}

.pfc-site-header__nav--secondary {
    z-index: 2147482400 !important;
}

.pfc-primary-menu .sub-menu,
.pfc-primary-menu .children,
.pfc-secondary-menu .sub-menu,
.pfc-secondary-menu .children,
.pfc-sub-menu {
    display: block !important;
    z-index: 2147483640 !important;
}

.pfc-primary-menu > li.menu-item-has-children:hover > .sub-menu,
.pfc-primary-menu > li.pfc-menu-item-has-children:hover > .sub-menu,
.pfc-primary-menu > li.pfc-dropdown-open > .sub-menu,
.pfc-secondary-menu > li.menu-item-has-children:hover > .sub-menu,
.pfc-secondary-menu > li.pfc-menu-item-has-children:hover > .sub-menu,
.pfc-secondary-menu > li.pfc-dropdown-open > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}


/* v0.1.9 standalone — menu dropdown arrow cleanup */
.pfc-primary-menu li.menu-item-has-children > a::after,
.pfc-primary-menu li.page_item_has_children > a::after,
.pfc-primary-menu li.pfc-menu-item-has-children > a::after,
.pfc-secondary-menu li.menu-item-has-children > a::after,
.pfc-secondary-menu li.page_item_has_children > a::after,
.pfc-secondary-menu li.pfc-menu-item-has-children > a::after,
.pfc-sticky-menu-clone .pfc-primary-menu li.menu-item-has-children > a::after,
.pfc-sticky-menu-clone .pfc-secondary-menu li.menu-item-has-children > a::after {
    content: none !important;
    display: none !important;
}

.pfc-dropdown-toggle {
    margin-left: 2px !important;
}

.pfc-dropdown-toggle::before {
    width: 7px !important;
    height: 7px !important;
    border-right: 1.8px solid currentColor !important;
    border-bottom: 1.8px solid currentColor !important;
    transform: rotate(45deg) translateY(-2px) !important;
}

/* v0.1.9 standalone — product page layout to match existing ProFrameCo product template */
body.single-product,
body.single-product .site-main,
body.single-product .pfc-single-product-main {
    background: #ffffff !important;
}

body.single-product .pfc-single-product-main {
    padding: 0 !important;
}

/* Hide any accidental category/archive hero introduced by fallback templates on product pages */
body.single-product .pfc-category-landing,
body.single-product .pfc-category-hero,
body.single-product .pfc-category-masthead,
body.single-product .pfc-archive-hero,
body.single-product .pfc-hero:not(.pfc-home-hero) {
    display: none !important;
}

.woocommerce.single-product .woocommerce-notices-wrapper,
body.single-product .woocommerce-notices-wrapper {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 18px 24px 0 !important;
}

.woocommerce.single-product div.product,
body.single-product .woocommerce div.product,
body.single-product div.product {
    max-width: 1180px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 90px 24px 74px !important;
    display: grid !important;
    grid-template-columns: minmax(430px, 520px) minmax(430px, 1fr) !important;
    column-gap: 48px !important;
    row-gap: 36px !important;
    align-items: start !important;
    color: #334964 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
}

.woocommerce.single-product div.product::before,
.woocommerce.single-product div.product::after,
body.single-product div.product::before,
body.single-product div.product::after {
    content: none !important;
    display: none !important;
}

.woocommerce.single-product div.product div.images,
.woocommerce.single-product div.product div.summary,
body.single-product div.product div.images,
body.single-product div.product div.summary {
    float: none !important;
    width: auto !important;
    clear: none !important;
    margin: 0 !important;
}

.woocommerce.single-product div.product div.images,
body.single-product div.product div.images {
    position: relative !important;
    background: #d9d9d9 !important;
    min-height: 520px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 36px !important;
}

.woocommerce.single-product div.product div.images .woocommerce-product-gallery__wrapper,
body.single-product div.product div.images .woocommerce-product-gallery__wrapper {
    margin: 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.woocommerce.single-product div.product div.images .woocommerce-product-gallery__image,
body.single-product div.product div.images .woocommerce-product-gallery__image {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.woocommerce.single-product div.product div.images img,
body.single-product div.product div.images img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: 470px !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger,
body.single-product div.product div.images .woocommerce-product-gallery__trigger {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #12213b !important;
    box-shadow: 0 8px 18px rgba(16, 31, 53, .14) !important;
    z-index: 12 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
}

.woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger::before,
body.single-product div.product div.images .woocommerce-product-gallery__trigger::before {
    content: '' !important;
    position: absolute !important;
    left: 14px !important;
    top: 13px !important;
    width: 13px !important;
    height: 13px !important;
    border: 3px solid currentColor !important;
    border-radius: 50% !important;
}

.woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger::after,
body.single-product div.product div.images .woocommerce-product-gallery__trigger::after {
    content: '' !important;
    position: absolute !important;
    left: 27px !important;
    top: 28px !important;
    width: 10px !important;
    height: 3px !important;
    background: currentColor !important;
    border-radius: 2px !important;
    transform: rotate(45deg) !important;
}

.woocommerce.single-product div.product div.summary,
body.single-product div.product div.summary {
    padding-top: 8px !important;
    color: #334964 !important;
}

.woocommerce.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb {
    display: block !important;
    max-width: none !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: #61728a !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
}

.woocommerce.single-product .woocommerce-breadcrumb a,
body.single-product .woocommerce-breadcrumb a {
    color: #61728a !important;
    text-decoration: none !important;
}

.woocommerce.single-product div.product .product_title,
body.single-product div.product .product_title {
    margin: 0 0 14px !important;
    max-width: 560px !important;
    color: #415b80 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 29px !important;
    line-height: 1.22 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

.woocommerce.single-product div.product .product_title::after,
body.single-product div.product .product_title::after {
    content: '' !important;
    display: block !important;
    width: 32px !important;
    height: 3px !important;
    margin-top: 18px !important;
    background: #d8dde4 !important;
}

.woocommerce.single-product div.product .woocommerce-product-rating,
body.single-product div.product .woocommerce-product-rating {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 16px !important;
    color: #415b80 !important;
    font-size: 15px !important;
}

.woocommerce.single-product div.product .star-rating,
body.single-product div.product .star-rating {
    color: #f2a400 !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce.single-product div.product .woocommerce-review-link,
body.single-product div.product .woocommerce-review-link {
    color: #415b80 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.woocommerce.single-product div.product p.price,
.woocommerce.single-product div.product span.price,
body.single-product div.product p.price,
body.single-product div.product span.price {
    margin: 0 0 16px !important;
    color: #0e1930 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

.woocommerce.single-product div.product .woocommerce-product-details__short-description,
body.single-product div.product .woocommerce-product-details__short-description {
    margin: 0 0 24px !important;
    color: #334964 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

body.single-product .pfc-product-delivery,
body.single-product .delivery-message,
body.single-product .woocommerce-product-details__short-description + p {
    color: #415b80 !important;
    font-weight: 800 !important;
}

.woocommerce.single-product div.product form.variations_form,
body.single-product div.product form.variations_form {
    margin: 0 0 26px !important;
}

.woocommerce.single-product div.product form.cart,
body.single-product div.product form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 24px 0 26px !important;
}

.woocommerce.single-product div.product table.variations,
body.single-product div.product table.variations {
    width: 100% !important;
    margin: 18px 0 22px !important;
    border: 0 !important;
    border-collapse: collapse !important;
}

.woocommerce.single-product div.product table.variations tr,
.woocommerce.single-product div.product table.variations th,
.woocommerce.single-product div.product table.variations td,
body.single-product div.product table.variations tr,
body.single-product div.product table.variations th,
body.single-product div.product table.variations td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
}

.woocommerce.single-product div.product table.variations th.label,
body.single-product div.product table.variations th.label {
    margin: 0 0 8px !important;
    color: #152640 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.woocommerce.single-product div.product table.variations select,
body.single-product div.product table.variations select {
    width: 100% !important;
    min-height: 45px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1px solid #e5e8ee !important;
    border-radius: 0 !important;
    background-color: #ffffff !important;
    color: #334964 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

.woocommerce.single-product div.product table.variations .reset_variations,
body.single-product div.product table.variations .reset_variations {
    display: block !important;
    margin: 8px 0 0 auto !important;
    color: #9aa4b1 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-align: right !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.woocommerce.single-product div.product .woocommerce-variation-description,
body.single-product div.product .woocommerce-variation-description,
.woocommerce.single-product div.product .woocommerce-variation-price,
body.single-product div.product .woocommerce-variation-price {
    color: #334964 !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    margin: 0 0 20px !important;
}

.woocommerce.single-product div.product .quantity,
body.single-product div.product .quantity {
    display: inline-flex !important;
    align-items: stretch !important;
    height: 43px !important;
    margin: 0 !important;
    border: 1px solid #e7ebf0 !important;
    background: #ffffff !important;
}

.woocommerce.single-product div.product .quantity .qty,
body.single-product div.product .quantity .qty {
    width: 48px !important;
    min-height: 41px !important;
    height: 41px !important;
    margin: 0 !important;
    border: 0 !important;
    border-left: 1px solid #e7ebf0 !important;
    border-right: 1px solid #e7ebf0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #152640 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-align: center !important;
    box-shadow: none !important;
    appearance: textfield !important;
}

body.single-product .pfc-qty-btn {
    width: 35px !important;
    height: 41px !important;
    border: 0 !important;
    background: #ffffff !important;
    color: #728198 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

body.single-product .pfc-qty-btn:hover {
    color: #14223b !important;
    background: #f4f6f8 !important;
}

.woocommerce.single-product div.product form.cart .single_add_to_cart_button,
body.single-product div.product form.cart .single_add_to_cart_button,
.woocommerce.single-product div.product form.cart .button,
body.single-product div.product form.cart .button {
    min-height: 43px !important;
    height: 43px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #6ed542 !important;
    color: #ffffff !important;
    padding: 0 31px !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 43px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    box-shadow: none !important;
}

.woocommerce.single-product div.product form.cart .single_add_to_cart_button:hover,
body.single-product div.product form.cart .single_add_to_cart_button:hover {
    background: #57c631 !important;
    color: #ffffff !important;
}

.woocommerce.single-product div.product .product_meta,
body.single-product div.product .product_meta {
    display: none !important;
}

.woocommerce.single-product div.product .summary .yith-wcwl-add-to-wishlist,
body.single-product div.product .summary .yith-wcwl-add-to-wishlist {
    margin-top: 18px !important;
}

.woocommerce.single-product div.product .summary p,
body.single-product div.product .summary p {
    color: #334964 !important;
    line-height: 1.55 !important;
}

.woocommerce.single-product div.product .summary .paypal-buttons,
body.single-product div.product .summary .paypal-buttons,
.woocommerce.single-product div.product .summary iframe[src*="paypal"],
body.single-product div.product .summary iframe[src*="paypal"] {
    margin-top: 8px !important;
}

.woocommerce.single-product div.product .woocommerce-tabs,
body.single-product div.product .woocommerce-tabs {
    grid-column: 1 / -1 !important;
    margin: 44px 0 0 !important;
    padding: 0 !important;
    border-top: 1px solid #e8ebef !important;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs,
body.single-product div.product .woocommerce-tabs ul.tabs {
    display: flex !important;
    gap: 0 !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    list-style: none !important;
    border: 0 !important;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li,
body.single-product div.product .woocommerce-tabs ul.tabs li {
    border: 0 !important;
    border-right: 1px solid #e8ebef !important;
    background: #f7f8fa !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a,
body.single-product div.product .woocommerce-tabs ul.tabs li a {
    padding: 15px 22px !important;
    color: #415b80 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active,
body.single-product div.product .woocommerce-tabs ul.tabs li.active {
    background: #ffffff !important;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product div.product .woocommerce-tabs ul.tabs li.active a {
    color: #14223b !important;
}

.woocommerce.single-product div.product .woocommerce-Tabs-panel,
body.single-product div.product .woocommerce-Tabs-panel {
    color: #334964 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

body.single-product .pfc-related-products,
.woocommerce.single-product div.product .related,
body.single-product div.product .related {
    grid-column: 1 / -1 !important;
    max-width: 1180px !important;
    width: 100% !important;
    margin: 52px auto 0 !important;
    padding: 0 !important;
}

.woocommerce.single-product div.product .related > h2,
body.single-product div.product .related > h2 {
    color: #14223b !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 34px !important;
    line-height: 1.15 !important;
    font-weight: 400 !important;
}

body.single-product .share-icons,
body.single-product .social-icons,
body.single-product .product-share,
body.single-product .woocommerce-product-details__short-description + .social-icons {
    margin-top: 14px !important;
}

body.single-product .social-icons a,
body.single-product .share-icons a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border: 1px solid #cfd5dc !important;
    border-radius: 999px !important;
    color: #a7b0bc !important;
    margin-right: 4px !important;
    text-decoration: none !important;
}

@media (max-width: 1024px) {
    .woocommerce.single-product div.product,
    body.single-product .woocommerce div.product,
    body.single-product div.product {
        grid-template-columns: minmax(0, 1fr) !important;
        max-width: 720px !important;
        padding-top: 44px !important;
        gap: 28px !important;
    }

    .woocommerce.single-product div.product div.images,
    body.single-product div.product div.images {
        min-height: 0 !important;
    }
}

@media (max-width: 560px) {
    .woocommerce.single-product div.product,
    body.single-product .woocommerce div.product,
    body.single-product div.product {
        padding: 30px 16px 52px !important;
    }

    .woocommerce.single-product div.product .product_title,
    body.single-product div.product .product_title {
        font-size: 25px !important;
    }

    .woocommerce.single-product div.product form.cart,
    body.single-product div.product form.cart {
        align-items: stretch !important;
    }

    .woocommerce.single-product div.product form.cart .single_add_to_cart_button,
    body.single-product div.product form.cart .single_add_to_cart_button {
        flex: 1 1 100% !important;
    }
}


/* v0.2.0 standalone — uploaded Flatsome single-product template compatibility */
body.single-product .product.type-product {
    display: block !important;
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product .product-container {
    width: 100% !important;
    background: #ffffff !important;
}

body.single-product .product-main {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 88px 24px 56px !important;
}

body.single-product .product-main .content-row {
    display: grid !important;
    grid-template-columns: minmax(430px, 520px) minmax(430px, 1fr) !important;
    gap: 48px !important;
    align-items: start !important;
    margin: 0 !important;
}

body.single-product .product-main .row::before,
body.single-product .product-main .row::after,
body.single-product .product-main .content-row::before,
body.single-product .product-main .content-row::after {
    content: none !important;
    display: none !important;
}

body.single-product .product-gallery,
body.single-product .product-info {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.single-product .product-gallery {
    grid-column: 1 !important;
}

body.single-product .product-info {
    grid-column: 2 !important;
    padding-top: 6px !important;
}

body.single-product #product-sidebar,
body.single-product .product-sidebar-small,
body.single-product .mfp-hide {
    display: none !important;
}

body.single-product .pfc-flatsome-sticky-col {
    display: block !important;
    width: 100% !important;
}

/* Left image panel */
body.single-product .product-images,
body.single-product .product-gallery-default,
body.single-product .woocommerce-product-gallery.images {
    position: relative !important;
    width: 100% !important;
    min-height: 520px !important;
    margin: 0 !important;
    padding: 36px !important;
    background: #d9d9d9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
}

body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .product-gallery-slider {
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.single-product .woocommerce-product-gallery__image,
body.single-product .product-gallery-slider > div {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.single-product .woocommerce-product-gallery__image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

body.single-product .woocommerce-product-gallery__image img,
body.single-product .product-images img,
body.single-product .product-gallery img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: 470px !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.single-product .image-tools,
body.single-product .absolute.top.show-on-hover.right {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    z-index: 20 !important;
}

body.single-product .woocommerce-product-gallery__trigger {
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #12213b !important;
    box-shadow: 0 8px 18px rgba(16,31,53,.14) !important;
}

/* Summary typography */
body.single-product .product-info .woocommerce-breadcrumb {
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: #61728a !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
}

body.single-product .product-info .product-title,
body.single-product .product-info .product_title {
    margin: 0 0 14px !important;
    max-width: 570px !important;
    color: #415b80 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 29px !important;
    line-height: 1.22 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

body.single-product .product-info .is-divider.small {
    width: 32px !important;
    height: 3px !important;
    margin: 18px 0 !important;
    background: #d8dde4 !important;
    border: 0 !important;
}

body.single-product .product-info .woocommerce-product-rating {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 16px !important;
    color: #415b80 !important;
    font-size: 15px !important;
}

body.single-product .product-info .star-rating {
    color: #f2a400 !important;
    float: none !important;
    margin: 0 !important;
}

body.single-product .product-info .woocommerce-review-link {
    color: #415b80 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

body.single-product .price-wrapper,
body.single-product .product-page-price,
body.single-product .product-info p.price,
body.single-product .product-info span.price {
    margin: 0 0 16px !important;
    color: #0e1930 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

body.single-product .product-short-description,
body.single-product .woocommerce-product-details__short-description {
    margin: 0 0 24px !important;
    color: #334964 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

/* Variations and add-to-cart */
body.single-product .product-info table.variations {
    width: 100% !important;
    margin: 18px 0 22px !important;
    border: 0 !important;
    border-collapse: collapse !important;
}

body.single-product .product-info table.variations tr,
body.single-product .product-info table.variations th,
body.single-product .product-info table.variations td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
}

body.single-product .product-info table.variations th.label {
    margin: 0 0 8px !important;
    color: #152640 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

body.single-product .product-info table.variations select {
    width: 100% !important;
    min-height: 45px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1px solid #e5e8ee !important;
    border-radius: 0 !important;
    background-color: #ffffff !important;
    color: #334964 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

body.single-product .product-info table.variations .reset_variations {
    display: block !important;
    margin: 8px 0 0 auto !important;
    color: #9aa4b1 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-align: right !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

body.single-product .product-info form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 24px 0 26px !important;
}

body.single-product .product-info .quantity {
    display: inline-flex !important;
    align-items: stretch !important;
    height: 43px !important;
    margin: 0 !important;
    border: 1px solid #e7ebf0 !important;
    background: #ffffff !important;
}

body.single-product .product-info .quantity .qty {
    width: 48px !important;
    min-height: 41px !important;
    height: 41px !important;
    margin: 0 !important;
    border: 0 !important;
    border-left: 1px solid #e7ebf0 !important;
    border-right: 1px solid #e7ebf0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #152640 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-align: center !important;
    box-shadow: none !important;
}

body.single-product .single_add_to_cart_button,
body.single-product .product-info form.cart .button {
    min-height: 43px !important;
    height: 43px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #6ed542 !important;
    color: #ffffff !important;
    padding: 0 31px !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 43px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    box-shadow: none !important;
}

body.single-product .single_add_to_cart_button:hover,
body.single-product .product-info form.cart .button:hover {
    background: #57c631 !important;
    color: #ffffff !important;
}

body.single-product .product_meta {
    display: none !important;
}

/* Footer / tabs / related */
body.single-product .product-footer {
    width: 100% !important;
    background: #ffffff !important;
}

body.single-product .product-footer > .container {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 24px 72px !important;
}

body.single-product .woocommerce-tabs {
    margin: 0 !important;
    padding-top: 34px !important;
    border-top: 1px solid #e8ebef !important;
}

body.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    gap: 0 !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    list-style: none !important;
    border: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
    border: 0 !important;
    border-right: 1px solid #e8ebef !important;
    background: #f7f8fa !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
    display: block !important;
    padding: 15px 22px !important;
    color: #415b80 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active {
    background: #ffffff !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
    color: #14223b !important;
}

body.single-product .woocommerce-Tabs-panel {
    color: #334964 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

body.single-product .related-products-wrapper,
body.single-product .related,
body.single-product .upsells {
    margin-top: 52px !important;
}

body.single-product .product-section-title {
    color: #14223b !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 34px !important;
    line-height: 1.15 !important;
    font-weight: 400 !important;
}

body.single-product .pfc-flatsome-repeater {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

/* Responsive */
@media (max-width: 1024px) {
    body.single-product .product-main {
        max-width: 720px !important;
        padding-top: 44px !important;
    }

    body.single-product .product-main .content-row {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    body.single-product .product-gallery,
    body.single-product .product-info {
        grid-column: 1 !important;
    }

    body.single-product .product-images,
    body.single-product .product-gallery-default,
    body.single-product .woocommerce-product-gallery.images {
        min-height: 0 !important;
    }

    body.single-product .pfc-flatsome-repeater {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    body.single-product .product-main,
    body.single-product .product-footer > .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.single-product .product-info .product-title,
    body.single-product .product-info .product_title {
        font-size: 25px !important;
    }

    body.single-product .product-info form.cart {
        align-items: stretch !important;
    }

    body.single-product .single_add_to_cart_button {
        flex: 1 1 100% !important;
    }

    body.single-product .pfc-flatsome-repeater {
        grid-template-columns: 1fr !important;
    }
}


/* v0.2.1 standalone — closer emulation of active Flatsome single-product layout */
body.single-product .woocommerce div.product,
body.single-product div.product.product,
.woocommerce.single-product div.product.product {
    display: block !important;
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #334964 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
}

body.single-product .product-container,
body.single-product .product-main,
body.single-product .product-footer {
    display: block !important;
    width: 100% !important;
}

body.single-product .product-main {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 64px 24px 46px !important;
}

body.single-product .product-main .row.content-row,
body.single-product .product-main .content-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 38px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.single-product .product-main .row.content-row::before,
body.single-product .product-main .row.content-row::after {
    content: none !important;
    display: none !important;
}

body.single-product .product-main .col {
    float: none !important;
    position: relative !important;
    min-height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

body.single-product .product-gallery.col {
    flex: 0 0 43.5% !important;
    max-width: 43.5% !important;
    width: 43.5% !important;
}

body.single-product .product-info.summary {
    flex: 1 1 auto !important;
    max-width: 39.5% !important;
    width: auto !important;
    padding-top: 6px !important;
}

body.single-product #product-sidebar.product-sidebar-small {
    display: block !important;
    flex: 0 0 150px !important;
    max-width: 150px !important;
    width: 150px !important;
    font-size: 14px !important;
    color: #415b80 !important;
}

body.single-product #product-sidebar ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.single-product #product-sidebar li {
    margin: 0 0 7px !important;
}

body.single-product #product-sidebar a {
    color: #415b80 !important;
    text-decoration: none !important;
}

body.single-product #product-sidebar a:hover {
    color: #a77709 !important;
}

body.single-product .product-images,
body.single-product .woocommerce-product-gallery.images {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    opacity: 1 !important;
}

body.single-product .product-images .woocommerce-product-gallery__wrapper,
body.single-product .product-images .product-gallery-slider {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    background: #d8d8d8 !important;
}

body.single-product .product-images .woocommerce-product-gallery__image,
body.single-product .product-gallery-default .woocommerce-product-gallery__image {
    display: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 36px !important;
    min-height: 520px !important;
    align-items: center !important;
    justify-content: center !important;
}

body.single-product .product-images .woocommerce-product-gallery__image:first-child,
body.single-product .product-gallery-default .woocommerce-product-gallery__image:first-child {
    display: flex !important;
}

body.single-product .product-images .woocommerce-product-gallery__image a,
body.single-product .product-gallery-default .woocommerce-product-gallery__image a {
    display: flex !important;
    width: 100% !important;
    min-height: 448px !important;
    align-items: center !important;
    justify-content: center !important;
}

body.single-product .product-images .woocommerce-product-gallery__image img,
body.single-product .product-gallery-default .woocommerce-product-gallery__image img {
    width: auto !important;
    max-width: 100% !important;
    max-height: 448px !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
}

body.single-product .product-thumbnails,
body.single-product .thumbnails {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
}

body.single-product .product-thumbnails .col,
body.single-product .thumbnails .col {
    flex: 0 0 64px !important;
    max-width: 64px !important;
    padding: 0 !important;
}

body.single-product .product-thumbnails a,
body.single-product .thumbnails a {
    display: block !important;
    border: 1px solid #dfe4ea !important;
    background: #fff !important;
    padding: 3px !important;
}

body.single-product .product-thumbnails img,
body.single-product .thumbnails img {
    display: block !important;
    width: 56px !important;
    height: 56px !important;
    object-fit: contain !important;
}

body.single-product .image-tools.absolute.top.show-on-hover.right,
body.single-product .image-tools.top.right {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    z-index: 30 !important;
}

body.single-product .pfc-product-gallery-zoom {
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    color: #12213b !important;
    box-shadow: 0 8px 18px rgba(16,31,53,.14) !important;
    text-decoration: none !important;
}

body.single-product .pfc-product-gallery-zoom span {
    position: relative !important;
    width: 18px !important;
    height: 18px !important;
    display: block !important;
}

body.single-product .pfc-product-gallery-zoom span::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 12px !important;
    height: 12px !important;
    border: 3px solid currentColor !important;
    border-radius: 50% !important;
}

body.single-product .pfc-product-gallery-zoom span::after {
    content: '' !important;
    position: absolute !important;
    left: 12px !important;
    top: 14px !important;
    width: 9px !important;
    height: 3px !important;
    background: currentColor !important;
    border-radius: 2px !important;
    transform: rotate(45deg) !important;
}

body.single-product .product-info .woocommerce-breadcrumb {
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #61728a !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
}

body.single-product .product-info .product-title,
body.single-product .product-info .product_title {
    margin: 0 !important;
    max-width: 100% !important;
    color: #415b80 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 29px !important;
    line-height: 1.22 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

body.single-product .product-info .is-divider.small {
    display: block !important;
    width: 32px !important;
    height: 3px !important;
    margin: 18px 0 !important;
    background: #d8dde4 !important;
    border: 0 !important;
}

body.single-product .product-info .woocommerce-product-rating {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 15px !important;
    color: #415b80 !important;
    font-size: 15px !important;
}

body.single-product .product-info .star-rating,
body.single-product .product-info .star-rating::before,
body.single-product .product-info .star-rating span::before {
    color: #f2a400 !important;
}

body.single-product .product-info .star-rating {
    float: none !important;
    margin: 0 !important;
}

body.single-product .product-info .woocommerce-review-link {
    color: #415b80 !important;
    text-decoration: none !important;
}

body.single-product .product-info .price-wrapper,
body.single-product .product-info .product-page-price,
body.single-product .product-info p.price,
body.single-product .product-info span.price {
    margin: 0 0 14px !important;
    color: #0e1930 !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

body.single-product .product-short-description,
body.single-product .woocommerce-product-details__short-description {
    margin: 0 0 22px !important;
    color: #334964 !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

body.single-product .product-info table.variations {
    margin: 18px 0 22px !important;
}

body.single-product .product-info table.variations label {
    color: #152640 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

body.single-product .product-info table.variations select {
    min-height: 45px !important;
    border: 1px solid #e5e8ee !important;
    border-radius: 0 !important;
    background-color: #fff !important;
    color: #334964 !important;
    box-shadow: none !important;
}

body.single-product .product-info .reset_variations {
    color: #9aa4b1 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

body.single-product .product-info form.cart {
    margin: 24px 0 24px !important;
}

body.single-product .product-info .quantity {
    height: 43px !important;
}

body.single-product .single_add_to_cart_button,
body.single-product .product-info form.cart .button {
    background: #6ed542 !important;
    color: #fff !important;
    min-height: 43px !important;
    height: 43px !important;
    padding: 0 31px !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 15px !important;
    line-height: 43px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

body.single-product .product-footer > .container {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 24px 72px !important;
}

body.single-product .woocommerce-tabs {
    margin-top: 0 !important;
}

@media (max-width: 1100px) {
    body.single-product .product-main .row.content-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    body.single-product .product-gallery.col,
    body.single-product .product-info.summary,
    body.single-product #product-sidebar.product-sidebar-small {
        flex: none !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    body.single-product #product-sidebar.product-sidebar-small {
        display: none !important;
    }
}

@media (max-width: 560px) {
    body.single-product .product-main {
        padding: 34px 16px 40px !important;
    }

    body.single-product .product-images .woocommerce-product-gallery__image,
    body.single-product .product-gallery-default .woocommerce-product-gallery__image {
        padding: 24px !important;
        min-height: 0 !important;
    }

    body.single-product .product-info .product-title,
    body.single-product .product-info .product_title {
        font-size: 25px !important;
    }
}


/* v0.2.2 standalone — product page fixes from side-by-side comparison */

/* Breadcrumb belongs inside the product summary, not above the product layout. */
body.single-product .pfc-single-product-main > .woocommerce-breadcrumb,
body.single-product #main > .woocommerce-breadcrumb,
body.single-product .site-main > .woocommerce-breadcrumb {
    display: none !important;
}

body.single-product .product-info .pfc-product-summary-breadcrumb {
    display: block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: #61728a !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
}

body.single-product .product-info .pfc-product-summary-breadcrumb a {
    color: #61728a !important;
    text-decoration: none !important;
}

/* Use the same visual scale as the active Flatsome product page. */
body.single-product .product-main {
    max-width: 1120px !important;
    padding-top: 52px !important;
}

body.single-product .product-main .row.content-row,
body.single-product .product-main .content-row {
    display: grid !important;
    grid-template-columns: 520px minmax(430px, 1fr) !important;
    gap: 36px !important;
    align-items: start !important;
}

body.single-product .product-gallery.col,
body.single-product .product-info.summary {
    max-width: none !important;
    width: auto !important;
    flex: none !important;
}

body.single-product #product-sidebar.product-sidebar-small {
    display: none !important;
}

/* Force the product image to scale up — the previous shim could output thumbnail-sized images. */
body.single-product .product-gallery,
body.single-product .product-images,
body.single-product .woocommerce-product-gallery,
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .product-gallery-slider {
    overflow: visible !important;
}

body.single-product .product-images .woocommerce-product-gallery__wrapper,
body.single-product .product-images .product-gallery-slider,
body.single-product .product-gallery-default .woocommerce-product-gallery {
    background: #d8d8d8 !important;
}

body.single-product .product-images .woocommerce-product-gallery__image,
body.single-product .product-gallery-default .woocommerce-product-gallery__image {
    min-height: 520px !important;
    padding: 34px !important;
}

body.single-product .product-images .woocommerce-product-gallery__image a,
body.single-product .product-gallery-default .woocommerce-product-gallery__image a {
    min-height: 452px !important;
}

body.single-product .product-images .woocommerce-product-gallery__image img,
body.single-product .product-gallery-default .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery__image img.wp-post-image {
    width: 100% !important;
    max-width: 430px !important;
    min-width: 320px !important;
    height: auto !important;
    max-height: 460px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

/* If the product image is landscape, allow it to use more width. */
body.single-product .product-images .woocommerce-product-gallery__image img[width][height] {
    object-fit: contain !important;
}

body.single-product .product-info .product-title,
body.single-product .product-info .product_title {
    font-size: 30px !important;
    line-height: 1.16 !important;
    margin-bottom: 0 !important;
}

body.single-product .product-info .is-divider.small {
    width: 35px !important;
    height: 3px !important;
    margin: 18px 0 20px !important;
}

body.single-product .product-info .woocommerce-product-rating {
    display: none !important;
}

body.single-product .product-info .price-wrapper,
body.single-product .product-info .product-page-price,
body.single-product .product-info p.price,
body.single-product .product-info span.price {
    font-size: 26px !important;
    margin: 0 0 14px !important;
}

body.single-product .product-short-description,
body.single-product .woocommerce-product-details__short-description {
    max-width: 560px !important;
    margin-bottom: 25px !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
}

/* Variation labels inline with the dropdowns, like the Flatsome page. */
body.single-product .product-info table.variations {
    width: 100% !important;
    max-width: 520px !important;
    margin: 20px 0 18px !important;
    display: table !important;
    border-collapse: separate !important;
    border-spacing: 0 14px !important;
}

body.single-product .product-info table.variations tbody {
    display: table-row-group !important;
}

body.single-product .product-info table.variations tr {
    display: table-row !important;
}

body.single-product .product-info table.variations th,
body.single-product .product-info table.variations td {
    display: table-cell !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    vertical-align: middle !important;
    text-align: left !important;
}

body.single-product .product-info table.variations th.label {
    width: 120px !important;
    padding-right: 20px !important;
    margin: 0 !important;
}

body.single-product .product-info table.variations th.label label {
    margin: 0 !important;
    color: #14223b !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

body.single-product .product-info table.variations td.value {
    width: auto !important;
    position: relative !important;
}

body.single-product .product-info table.variations select {
    width: 100% !important;
    min-height: 44px !important;
    padding: 0 38px 0 15px !important;
    border: 1px solid #e6e9ee !important;
    color: #263d5a !important;
    font-size: 15px !important;
    background-color: #fff !important;
}

body.single-product .product-info table.variations .reset_variations {
    position: absolute !important;
    right: 0 !important;
    top: -25px !important;
    margin: 0 !important;
    color: #a6adb7 !important;
}

/* Add-to-basket row spacing */
body.single-product .product-info form.cart {
    max-width: 520px !important;
    margin-top: 24px !important;
    padding-top: 22px !important;
    border-top: 1px solid #eceff3 !important;
}

body.single-product .product-info .single_variation_wrap {
    width: 100% !important;
}

body.single-product .product-info .woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

body.single-product .product-info .quantity {
    flex: 0 0 auto !important;
}

body.single-product .single_add_to_cart_button,
body.single-product .product-info form.cart .button {
    width: auto !important;
    min-width: 165px !important;
}

/* Product social icons below PayPal/summary area. */
body.single-product .pfc-product-share-icons {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 12px !important;
}

body.single-product .pfc-product-share-icons a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border: 2px solid #d0d5dc !important;
    border-radius: 999px !important;
    color: #a5aeb9 !important;
    background: #ffffff !important;
    text-decoration: none !important;
}

body.single-product .pfc-product-share-icons a:hover {
    color: #415b80 !important;
    border-color: #415b80 !important;
}

body.single-product .pfc-product-share-icons svg {
    width: 15px !important;
    height: 15px !important;
    fill: currentColor !important;
}

/* Tabs align under the image/summary block like Flatsome. */
body.single-product .product-footer > .container {
    max-width: 1120px !important;
}

body.single-product .woocommerce-tabs {
    border-top: 1px solid #edf0f3 !important;
    padding-top: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs {
    border-top: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border-right: 0 !important;
    margin-right: 24px !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
    padding: 14px 0 !important;
    color: #263d5a !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active {
    border-top: 3px solid #415b80 !important;
    background: transparent !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
    color: #14223b !important;
}

@media (max-width: 1100px) {
    body.single-product .product-main .row.content-row,
    body.single-product .product-main .content-row {
        grid-template-columns: 1fr !important;
    }

    body.single-product .product-main {
        max-width: 720px !important;
    }

    body.single-product .product-info table.variations,
    body.single-product .product-info form.cart {
        max-width: none !important;
    }
}

@media (max-width: 560px) {
    body.single-product .product-images .woocommerce-product-gallery__image img,
    body.single-product .product-gallery-default .woocommerce-product-gallery__image img,
    body.single-product .woocommerce-product-gallery__image img.wp-post-image {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.single-product .product-info table.variations,
    body.single-product .product-info table.variations tbody,
    body.single-product .product-info table.variations tr,
    body.single-product .product-info table.variations th,
    body.single-product .product-info table.variations td {
        display: block !important;
        width: 100% !important;
    }

    body.single-product .product-info table.variations th.label {
        width: 100% !important;
        padding-right: 0 !important;
        margin-bottom: 8px !important;
    }
}


/* v0.2.3 standalone — final product page corrections */

/* Product image: use a large main image and a visible gallery. */
body.single-product .pfc-product-gallery-shell {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    background: #d8d8d8 !important;
    padding: 34px !important;
    min-height: 520px !important;
    margin: 0 !important;
}

body.single-product .pfc-product-main-gallery {
    position: relative !important;
    width: 100% !important;
    min-height: 452px !important;
    display: block !important;
    background: transparent !important;
}

body.single-product .pfc-product-gallery-shell .pfc-gallery-slide {
    display: none !important;
    width: 100% !important;
    min-height: 452px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

body.single-product .pfc-product-gallery-shell .pfc-gallery-slide--active {
    display: flex !important;
}

body.single-product .pfc-product-gallery-shell .pfc-gallery-slide a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 452px !important;
}

body.single-product .pfc-product-gallery-shell .pfc-gallery-slide img {
    display: block !important;
    width: 100% !important;
    max-width: 455px !important;
    min-width: 340px !important;
    height: auto !important;
    max-height: 470px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.single-product .pfc-product-thumbnails {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
}

body.single-product .pfc-product-thumb {
    width: 66px !important;
    height: 66px !important;
    padding: 4px !important;
    border: 1px solid #dfe4ea !important;
    background: #fff !important;
    cursor: pointer !important;
    opacity: .72 !important;
}

body.single-product .pfc-product-thumb--active,
body.single-product .pfc-product-thumb:hover {
    opacity: 1 !important;
    border-color: #415b80 !important;
}

body.single-product .pfc-product-thumb img {
    display: block !important;
    width: 56px !important;
    height: 56px !important;
    object-fit: contain !important;
}

/* Only one divider below the product title. */
body.single-product .product_title::after,
body.single-product .product-title::after,
body.single-product .product-info .product_title::after,
body.single-product .product-info .product-title::after {
    content: none !important;
    display: none !important;
}

/* Delivery note below price. */
body.single-product .pfc-product-delivery-note {
    margin: 0 0 18px !important;
    color: #334964 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
}

body.single-product .pfc-product-delivery-note strong {
    display: block !important;
    margin: 0 0 6px !important;
    color: #415b80 !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
}

body.single-product .pfc-product-delivery-note p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

body.single-product .pfc-product-delivery-note mark {
    background: #fff200 !important;
    color: #000 !important;
    padding: 0 2px !important;
}

/* Reassurance text after Add to Basket. */
body.single-product .pfc-after-cart-reassurance {
    flex: 0 0 100% !important;
    max-width: 560px !important;
    margin: 22px 0 0 !important;
    color: #334964 !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

/* Ensure variable product add-to-cart row remains inline after the reassurance text. */
body.single-product .product-info .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
}

/* Shipping tab should appear alongside the normal tabs. */
body.single-product .shipping_tab {
    display: list-item !important;
}

/* Keep inline variation labels/dropdowns. */
body.single-product .product-info table.variations {
    display: table !important;
    width: 100% !important;
    max-width: 520px !important;
    border-spacing: 0 14px !important;
}

body.single-product .product-info table.variations tbody {
    display: table-row-group !important;
}

body.single-product .product-info table.variations tr {
    display: table-row !important;
}

body.single-product .product-info table.variations th,
body.single-product .product-info table.variations td {
    display: table-cell !important;
    vertical-align: middle !important;
}

body.single-product .product-info table.variations th.label {
    width: 120px !important;
    padding-right: 20px !important;
}

/* Larger image on the exact two-column layout. */
body.single-product .product-main .row.content-row,
body.single-product .product-main .content-row {
    grid-template-columns: 520px minmax(430px, 1fr) !important;
}

@media (max-width: 560px) {
    body.single-product .pfc-product-gallery-shell .pfc-gallery-slide img {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.single-product .pfc-product-gallery-shell,
    body.single-product .pfc-product-gallery-shell .pfc-gallery-slide,
    body.single-product .pfc-product-gallery-shell .pfc-gallery-slide a,
    body.single-product .pfc-product-main-gallery {
        min-height: 0 !important;
    }
}


/* v0.2.4 standalone — force product image to use the available gallery space */

/*
 * Previous versions still allowed the image to render at intrinsic/thumbnail
 * size on some products. These rules deliberately override all earlier
 * max-width/min-width combinations and make the image fill the grey gallery
 * panel like the Flatsome page.
 */
body.single-product .product-gallery.col {
    flex-basis: 520px !important;
    max-width: 520px !important;
    width: 520px !important;
}

body.single-product .pfc-product-gallery-shell,
body.single-product .product-images.pfc-product-gallery-shell,
body.single-product .woocommerce-product-gallery.pfc-product-gallery-shell {
    width: 520px !important;
    max-width: 100% !important;
    min-height: 520px !important;
    padding: 24px !important;
    background: #d8d8d8 !important;
}

body.single-product .pfc-product-main-gallery,
body.single-product .pfc-product-gallery-shell .pfc-gallery-slide,
body.single-product .pfc-product-gallery-shell .pfc-gallery-slide a {
    width: 100% !important;
    min-height: 472px !important;
}

body.single-product .pfc-product-gallery-shell .pfc-gallery-slide--active {
    display: flex !important;
}

body.single-product .pfc-product-gallery-shell .pfc-gallery-slide a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.single-product .pfc-product-gallery-shell .pfc-gallery-slide img,
body.single-product .pfc-product-gallery-shell img.wp-post-image,
body.single-product .product-images.pfc-product-gallery-shell img,
body.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    max-width: 472px !important;
    max-height: none !important;
    min-width: 0 !important;
    object-fit: contain !important;
    display: block !important;
}

/* Landscape product images should fill the panel width; portrait images still scale safely. */
body.single-product .pfc-product-gallery-shell .pfc-gallery-slide img[width][height] {
    width: 100% !important;
    max-width: 472px !important;
}

/* Always show the thumbnail/gallery strip, including when there is only one image. */
body.single-product .pfc-product-thumbnails {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    max-width: 520px !important;
}

body.single-product .pfc-product-thumb {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Make sure only one divider appears below the product title. */
body.single-product .product-info .product-title::after,
body.single-product .product-info .product_title::after,
body.single-product .summary .product-title::after,
body.single-product .summary .product_title::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
}

body.single-product .product-info .is-divider.small:nth-of-type(n+2),
body.single-product .summary .is-divider.small:nth-of-type(n+2),
body.single-product .product-info .is-divider.small + .is-divider.small,
body.single-product .summary .is-divider.small + .is-divider.small {
    display: none !important;
}

/* Keep the layout close to the reference Flatsome product page. */
body.single-product .product-main {
    max-width: 1120px !important;
}

body.single-product .product-main .row.content-row,
body.single-product .product-main .content-row {
    grid-template-columns: 520px minmax(440px, 1fr) !important;
    column-gap: 36px !important;
}

@media (max-width: 1100px) {
    body.single-product .product-gallery.col,
    body.single-product .pfc-product-gallery-shell,
    body.single-product .product-images.pfc-product-gallery-shell,
    body.single-product .woocommerce-product-gallery.pfc-product-gallery-shell {
        width: 100% !important;
        max-width: 520px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.single-product .product-main .row.content-row,
    body.single-product .product-main .content-row {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 560px) {
    body.single-product .pfc-product-gallery-shell,
    body.single-product .product-images.pfc-product-gallery-shell,
    body.single-product .woocommerce-product-gallery.pfc-product-gallery-shell {
        padding: 16px !important;
        min-height: 0 !important;
    }

    body.single-product .pfc-product-main-gallery,
    body.single-product .pfc-product-gallery-shell .pfc-gallery-slide,
    body.single-product .pfc-product-gallery-shell .pfc-gallery-slide a {
        min-height: 0 !important;
    }

    body.single-product .pfc-product-gallery-shell .pfc-gallery-slide img,
    body.single-product .pfc-product-gallery-shell img.wp-post-image,
    body.single-product .product-images.pfc-product-gallery-shell img,
    body.single-product .woocommerce-product-gallery__image img {
        max-width: 100% !important;
    }
}


/* v0.2.5 — rebuilt single product template from scratch */
body.single-product .pfc-sp-product,
body.single-product .woocommerce div.product.pfc-sp-product,
body.single-product div.product.pfc-sp-product {
    display: block !important;
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #263d5a !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    background: #ffffff !important;
}

body.single-product .pfc-sp-main {
    display: grid !important;
    grid-template-columns: 520px minmax(430px, 1fr) !important;
    gap: 36px !important;
    align-items: start !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 56px 24px 62px !important;
}

body.single-product .pfc-sp-gallery {
    width: 520px !important;
    max-width: 100% !important;
}

body.single-product .pfc-sp-gallery__stage {
    position: relative !important;
    width: 520px !important;
    max-width: 100% !important;
    min-height: 520px !important;
    background: #d8d8d8 !important;
    padding: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.single-product .pfc-sp-gallery__slide {
    display: none !important;
    width: 100% !important;
    margin: 0 !important;
}

body.single-product .pfc-sp-gallery__slide.is-active {
    display: block !important;
}

body.single-product .pfc-sp-gallery__link,
body.single-product .pfc-sp-gallery__slide > img {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 472px !important;
}

body.single-product .pfc-sp-gallery__slide img {
    display: block !important;
    width: 100% !important;
    max-width: 472px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.single-product .pfc-sp-gallery__zoom {
    position: absolute !important;
    top: 22px !important;
    right: 22px !important;
    z-index: 3 !important;
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #12213b !important;
    box-shadow: 0 8px 18px rgba(16,31,53,.14) !important;
    text-decoration: none !important;
}

body.single-product .pfc-sp-gallery__zoom span {
    position: relative !important;
    width: 18px !important;
    height: 18px !important;
}

body.single-product .pfc-sp-gallery__zoom span::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 12px !important;
    height: 12px !important;
    border: 3px solid currentColor !important;
    border-radius: 50% !important;
}

body.single-product .pfc-sp-gallery__zoom span::after {
    content: '' !important;
    position: absolute !important;
    left: 12px !important;
    top: 14px !important;
    width: 9px !important;
    height: 3px !important;
    background: currentColor !important;
    border-radius: 2px !important;
    transform: rotate(45deg) !important;
}

body.single-product .pfc-sp-gallery__thumbs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 12px 0 0 !important;
}

body.single-product .pfc-sp-gallery__thumb {
    width: 66px !important;
    height: 66px !important;
    padding: 4px !important;
    border: 1px solid #dfe4ea !important;
    background: #fff !important;
    cursor: pointer !important;
    opacity: .72 !important;
}

body.single-product .pfc-sp-gallery__thumb.is-active,
body.single-product .pfc-sp-gallery__thumb:hover {
    opacity: 1 !important;
    border-color: #415b80 !important;
}

body.single-product .pfc-sp-gallery__thumb img {
    display: block !important;
    width: 56px !important;
    height: 56px !important;
    object-fit: contain !important;
}

body.single-product .pfc-sp-summary {
    max-width: 560px !important;
    padding-top: 8px !important;
}

body.single-product .pfc-sp-breadcrumb {
    display: block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: #61728a !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
}

body.single-product .pfc-sp-breadcrumb a {
    color: #61728a !important;
    text-decoration: none !important;
}

body.single-product .pfc-sp-title {
    margin: 0 !important;
    color: #415b80 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 1.16 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

body.single-product .pfc-sp-title::after,
body.single-product .pfc-sp-product .product_title::after {
    content: none !important;
    display: none !important;
}

body.single-product .pfc-sp-divider {
    width: 35px !important;
    height: 3px !important;
    margin: 18px 0 20px !important;
    background: #d8dde4 !important;
}

body.single-product .pfc-sp-rating {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 15px !important;
    color: #415b80 !important;
    font-size: 15px !important;
}

body.single-product .pfc-sp-rating .star-rating,
body.single-product .pfc-sp-rating .star-rating::before,
body.single-product .pfc-sp-rating .star-rating span::before {
    color: #f2a400 !important;
}

body.single-product .pfc-sp-price,
body.single-product .pfc-sp-price p.price,
body.single-product .pfc-sp-price span.price {
    margin: 0 0 14px !important;
    color: #0e1930 !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

body.single-product .pfc-sp-delivery {
    margin: 0 0 18px !important;
    color: #334964 !important;
}

body.single-product .pfc-sp-delivery strong {
    display: block !important;
    margin: 0 0 6px !important;
    color: #415b80 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

body.single-product .pfc-sp-delivery p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

body.single-product .pfc-sp-delivery mark {
    background: #fff200 !important;
    color: #000 !important;
    padding: 0 2px !important;
}

body.single-product .pfc-sp-short-description {
    margin: 0 0 24px !important;
    color: #334964 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
}

body.single-product .pfc-sp-cart {
    max-width: 520px !important;
}

body.single-product .pfc-sp-cart form.cart {
    margin: 0 0 0 !important;
    padding-top: 22px !important;
    border-top: 1px solid #eceff3 !important;
}

body.single-product .pfc-sp-cart table.variations {
    display: table !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    border-collapse: separate !important;
    border-spacing: 0 14px !important;
}

body.single-product .pfc-sp-cart table.variations tbody {
    display: table-row-group !important;
}

body.single-product .pfc-sp-cart table.variations tr {
    display: table-row !important;
}

body.single-product .pfc-sp-cart table.variations th,
body.single-product .pfc-sp-cart table.variations td {
    display: table-cell !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    vertical-align: middle !important;
    text-align: left !important;
}

body.single-product .pfc-sp-cart table.variations th.label {
    width: 120px !important;
    padding-right: 20px !important;
}

body.single-product .pfc-sp-cart table.variations th.label label {
    margin: 0 !important;
    color: #14223b !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

body.single-product .pfc-sp-cart table.variations td.value {
    position: relative !important;
}

body.single-product .pfc-sp-cart table.variations select {
    width: 100% !important;
    min-height: 44px !important;
    padding: 0 38px 0 15px !important;
    border: 1px solid #e6e9ee !important;
    border-radius: 0 !important;
    color: #263d5a !important;
    font-size: 15px !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

body.single-product .pfc-sp-cart .reset_variations {
    position: absolute !important;
    right: 0 !important;
    top: -25px !important;
    color: #a6adb7 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

body.single-product .pfc-sp-cart .woocommerce-variation-add-to-cart,
body.single-product .pfc-sp-cart form.cart:not(.variations_form) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
}

body.single-product .pfc-sp-cart .quantity {
    display: inline-flex !important;
    align-items: stretch !important;
    height: 43px !important;
    margin: 0 !important;
    border: 1px solid #e7ebf0 !important;
    background: #fff !important;
}

body.single-product .pfc-sp-cart .quantity .qty {
    width: 48px !important;
    height: 41px !important;
    min-height: 41px !important;
    border: 0 !important;
    border-left: 1px solid #e7ebf0 !important;
    border-right: 1px solid #e7ebf0 !important;
    text-align: center !important;
    color: #152640 !important;
    font-size: 16px !important;
    box-shadow: none !important;
}

body.single-product .pfc-sp-cart .single_add_to_cart_button,
body.single-product .pfc-sp-cart button.button {
    width: auto !important;
    min-width: 165px !important;
    min-height: 43px !important;
    height: 43px !important;
    padding: 0 31px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #6ed542 !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 43px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
}

body.single-product .pfc-sp-cart .single_add_to_cart_button:hover,
body.single-product .pfc-sp-cart button.button:hover {
    background: #57c631 !important;
}

body.single-product .pfc-sp-reassurance {
    max-width: 560px !important;
    margin: 22px 0 0 !important;
    color: #334964 !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

body.single-product .pfc-sp-share {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 12px !important;
}

body.single-product .pfc-sp-share a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border: 2px solid #d0d5dc !important;
    border-radius: 999px !important;
    color: #a5aeb9 !important;
    background: #fff !important;
}

body.single-product .pfc-sp-share svg {
    width: 15px !important;
    height: 15px !important;
    fill: currentColor !important;
}

body.single-product .pfc-sp-tabs,
body.single-product .pfc-sp-related {
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 0 24px 72px !important;
}

body.single-product .pfc-sp-tabs .woocommerce-tabs {
    border-top: 1px solid #edf0f3 !important;
}

body.single-product .pfc-sp-tabs .woocommerce-tabs ul.tabs {
    display: flex !important;
    gap: 24px !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    list-style: none !important;
}

body.single-product .pfc-sp-tabs .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
}

body.single-product .pfc-sp-tabs .woocommerce-tabs ul.tabs li a {
    display: block !important;
    padding: 14px 0 !important;
    color: #263d5a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

body.single-product .pfc-sp-tabs .woocommerce-tabs ul.tabs li.active {
    border-top: 3px solid #415b80 !important;
}

body.single-product .pfc-sp-tabs .woocommerce-Tabs-panel {
    color: #334964 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

@media (max-width: 1100px) {
    body.single-product .pfc-sp-main {
        grid-template-columns: 1fr !important;
        max-width: 720px !important;
    }

    body.single-product .pfc-sp-gallery,
    body.single-product .pfc-sp-gallery__stage {
        width: 100% !important;
    }

    body.single-product .pfc-sp-summary {
        max-width: none !important;
    }
}

@media (max-width: 560px) {
    body.single-product .pfc-sp-main,
    body.single-product .pfc-sp-tabs,
    body.single-product .pfc-sp-related {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.single-product .pfc-sp-gallery__stage {
        min-height: 0 !important;
        padding: 16px !important;
    }

    body.single-product .pfc-sp-gallery__link,
    body.single-product .pfc-sp-gallery__slide > img {
        min-height: 0 !important;
    }

    body.single-product .pfc-sp-title {
        font-size: 25px !important;
    }

    body.single-product .pfc-sp-cart table.variations,
    body.single-product .pfc-sp-cart table.variations tbody,
    body.single-product .pfc-sp-cart table.variations tr,
    body.single-product .pfc-sp-cart table.variations th,
    body.single-product .pfc-sp-cart table.variations td {
        display: block !important;
        width: 100% !important;
    }

    body.single-product .pfc-sp-cart table.variations th.label {
        padding-right: 0 !important;
        margin-bottom: 8px !important;
    }
}


/* v0.2.6 — rebuilt contact page to replace Flatsome/UX Builder layout */
.pfc-contact-page {
    background: #ffffff !important;
    color: #14223b !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
}

.pfc-contact-container {
    width: min(1180px, calc(100% - 48px)) !important;
    margin: 0 auto !important;
}

.pfc-contact-hero {
    background: #f4f6f8 !important;
    border-bottom: 1px solid rgba(20,34,59,.08) !important;
    padding: 34px 0 38px !important;
}

.pfc-contact-breadcrumb {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 0 12px !important;
    color: #61728a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
}

.pfc-contact-breadcrumb a {
    color: #61728a !important;
    text-decoration: none !important;
}

.pfc-contact-breadcrumb a:hover {
    color: #a77709 !important;
}

.pfc-contact-hero h1 {
    margin: 0 !important;
    color: #14223b !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(42px, 5vw, 68px) !important;
    line-height: 1.05 !important;
    font-weight: 400 !important;
}

.pfc-contact-main {
    padding: 58px 0 76px !important;
}

.pfc-contact-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr) !important;
    gap: 36px !important;
    align-items: start !important;
}

.pfc-contact-form-card,
.pfc-contact-panel {
    background: #ffffff !important;
    border: 1px solid rgba(20,34,59,.13) !important;
    box-shadow: 0 16px 34px rgba(20,34,59,.08) !important;
}

.pfc-contact-form-card {
    padding: 36px !important;
}

.pfc-contact-form-card h2,
.pfc-contact-panel h2 {
    margin: 0 0 18px !important;
    color: #14223b !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 400 !important;
}

.pfc-contact-email {
    margin: 0 0 28px !important;
    color: #405066 !important;
    font-size: 16px !important;
}

.pfc-contact-email a,
.pfc-contact-panel a,
.pfc-contact-details a {
    color: #a77709 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
}

.pfc-contact-email a:hover,
.pfc-contact-panel a:hover,
.pfc-contact-details a:hover {
    text-decoration: underline !important;
}

/* Contact Form 7 / WPForms / generic form styling */
.pfc-contact-form-wrap form {
    margin: 0 !important;
}

.pfc-contact-form-wrap p {
    margin: 0 0 18px !important;
}

.pfc-contact-form-wrap label,
.pfc-contact-form-wrap .wpforms-field-label,
.pfc-contact-form-wrap .gfield_label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #14223b !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.pfc-contact-form-wrap input[type="text"],
.pfc-contact-form-wrap input[type="email"],
.pfc-contact-form-wrap input[type="tel"],
.pfc-contact-form-wrap input[type="url"],
.pfc-contact-form-wrap input[type="number"],
.pfc-contact-form-wrap select,
.pfc-contact-form-wrap textarea,
.pfc-contact-form-wrap .wpcf7-text,
.pfc-contact-form-wrap .wpcf7-email,
.pfc-contact-form-wrap .wpcf7-tel,
.pfc-contact-form-wrap .wpcf7-textarea,
.pfc-contact-form-wrap .wpforms-field input,
.pfc-contact-form-wrap .wpforms-field textarea {
    width: 100% !important;
    min-height: 46px !important;
    border: 1px solid #e3e7ed !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #14223b !important;
    padding: 0 14px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    outline: none !important;
}

.pfc-contact-form-wrap textarea,
.pfc-contact-form-wrap .wpcf7-textarea,
.pfc-contact-form-wrap .wpforms-field textarea {
    min-height: 150px !important;
    padding-top: 12px !important;
    resize: vertical !important;
}

.pfc-contact-form-wrap input:focus,
.pfc-contact-form-wrap textarea:focus,
.pfc-contact-form-wrap select:focus {
    border-color: #a77709 !important;
    box-shadow: 0 0 0 3px rgba(167,119,9,.11) !important;
}

.pfc-contact-form-wrap input[type="submit"],
.pfc-contact-form-wrap button[type="submit"],
.pfc-contact-form-wrap .wpcf7-submit,
.pfc-contact-form-wrap .wpforms-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #a77709 !important;
    color: #ffffff !important;
    padding: 0 28px !important;
    font-size: 15px !important;
    line-height: 46px !important;
    font-weight: 900 !important;
    text-transform: none !important;
    cursor: pointer !important;
}

.pfc-contact-form-wrap input[type="submit"]:hover,
.pfc-contact-form-wrap button[type="submit"]:hover,
.pfc-contact-form-wrap .wpcf7-submit:hover,
.pfc-contact-form-wrap .wpforms-submit:hover {
    background: #14223b !important;
}

.pfc-contact-form-wrap .wpcf7-not-valid-tip,
.pfc-contact-form-wrap .wpforms-error {
    margin-top: 6px !important;
    color: #b00020 !important;
    font-size: 13px !important;
}

.pfc-contact-form-wrap .wpcf7-response-output,
.pfc-contact-form-wrap .wpforms-confirmation-container-full {
    margin: 18px 0 0 !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(20,34,59,.16) !important;
    color: #14223b !important;
    background: #f6f7f9 !important;
}

.pfc-contact-side {
    display: grid !important;
    gap: 24px !important;
}

.pfc-contact-panel {
    padding: 30px !important;
    color: #405066 !important;
    font-size: 15.5px !important;
    line-height: 1.65 !important;
}

.pfc-contact-panel p {
    margin: 0 0 15px !important;
}

.pfc-contact-panel p:last-child {
    margin-bottom: 0 !important;
}

.pfc-contact-about img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin-top: 20px !important;
    border: 0 !important;
}

.pfc-contact-read-more {
    display: inline-block !important;
    margin-top: 2px !important;
}

.pfc-contact-details {
    margin: 0 !important;
}

.pfc-contact-details div {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 8px !important;
    margin: 0 0 12px !important;
}

.pfc-contact-details dt {
    color: #14223b !important;
    font-weight: 900 !important;
}

.pfc-contact-details dd {
    margin: 0 !important;
}

/* If the old Flatsome/UX Builder contact content is still emitted anywhere, make it less raw-looking. */
body.page-template-page-contact .pfc-legacy-row,
body.page-template-page-contact .pfc-legacy-section__inner,
body.page-id-contact .pfc-legacy-row,
body.page-id-contact .pfc-legacy-section__inner {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 900px) {
    .pfc-contact-container {
        width: min(100% - 36px, 1180px) !important;
    }

    .pfc-contact-grid {
        grid-template-columns: 1fr !important;
    }

    .pfc-contact-form-card,
    .pfc-contact-panel {
        padding: 26px !important;
    }
}

@media (max-width: 560px) {
    .pfc-contact-hero {
        padding: 26px 0 30px !important;
    }

    .pfc-contact-main {
        padding: 36px 0 52px !important;
    }

    .pfc-contact-form-card,
    .pfc-contact-panel {
        padding: 22px !important;
    }

    .pfc-contact-form-card h2,
    .pfc-contact-panel h2 {
        font-size: 26px !important;
    }
}


/* v0.2.7 — vertically align product-slider buttons on all landing/category sliders */

/*
 * The product carousel cards have variable title heights. Make each visible
 * card the same height and push the CTA button to the bottom so every
 * "Configure your frame" button lines up horizontally.
 */
.pfc-product-slider__track {
    align-items: stretch !important;
}

.pfc-product-slider .pfc-product-card {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 100% !important;
}

.pfc-product-slider .pfc-product-card__image-wrap {
    flex: 0 0 auto !important;
}

.pfc-product-slider .pfc-product-card h3 {
    flex: 0 0 auto !important;
    min-height: 92px !important;
    margin-bottom: 10px !important;
}

.pfc-product-slider .pfc-product-price {
    flex: 0 0 auto !important;
    min-height: 30px !important;
    margin-bottom: 16px !important;
}

.pfc-product-slider .pfc-product-select {
    margin-top: auto !important;
    flex: 0 0 auto !important;
    width: 100% !important;
}

/* Home page had smaller card text overrides; keep alignment there too. */
.pfc-home-figma .pfc-product-slider .pfc-product-card {
    display: flex !important;
    flex-direction: column !important;
}

.pfc-home-figma .pfc-product-slider .pfc-product-card h3 {
    min-height: 70px !important;
}

.pfc-home-figma .pfc-product-slider .pfc-product-price {
    min-height: 26px !important;
}

.pfc-home-figma .pfc-product-slider .pfc-product-select {
    margin-top: auto !important;
}

/*
 * Apply the same behaviour to WooCommerce archive/product cards where these
 * cards appear in sliders or product sections.
 */
.pfc-archive-product-card,
.woocommerce ul.products li.product.pfc-archive-product-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.pfc-archive-product-card__image-wrap {
    flex: 0 0 auto !important;
}

.pfc-archive-product-card__title {
    flex: 0 0 auto !important;
    min-height: 86px !important;
}

.pfc-archive-product-card__price {
    flex: 0 0 auto !important;
    min-height: 30px !important;
}

.pfc-archive-product-card__button {
    margin-top: auto !important;
    flex: 0 0 auto !important;
    width: 100% !important;
}

/* If a carousel/slider wrapper contains archive cards, stretch the cards. */
.pfc-product-slider .pfc-archive-product-card,
.pfc-product-slider__track .pfc-archive-product-card,
.pfc-category-products ul.products li.product {
    align-self: stretch !important;
}

/* Tighter title heights on narrow screens where cards stack/wrap differently. */
@media (max-width: 760px) {
    .pfc-product-slider .pfc-product-card h3 {
        min-height: 74px !important;
    }

    .pfc-archive-product-card__title {
        min-height: 70px !important;
    }
}

@media (max-width: 480px) {
    .pfc-product-slider .pfc-product-card h3,
    .pfc-archive-product-card__title {
        min-height: 0 !important;
    }
}


/* v0.2.8 — category hero breadcrumb visibility and no truncation */

/*
 * Category/landing hero breadcrumbs sit on a dark navy panel. Some inherited
 * WooCommerce/breadcrumb styles were forcing part of the breadcrumb trail to
 * dark text and/or limiting the width, causing it to disappear or truncate.
 */
.pfc-category-hero .woocommerce-breadcrumb,
.pfc-category-hero .pfc-category-breadcrumb,
.pfc-category-hero .pfc-hero-breadcrumb,
.pfc-category-hero .pfc-breadcrumb,
.pfc-category-hero nav[aria-label="Breadcrumb"],
.pfc-category-masthead .woocommerce-breadcrumb,
.pfc-category-masthead .pfc-category-breadcrumb,
.pfc-category-masthead .pfc-hero-breadcrumb,
.pfc-category-masthead .pfc-breadcrumb,
.pfc-category-masthead nav[aria-label="Breadcrumb"],
.pfc-archive-hero .woocommerce-breadcrumb,
.pfc-archive-hero .pfc-category-breadcrumb,
.pfc-archive-hero .pfc-hero-breadcrumb,
.pfc-archive-hero .pfc-breadcrumb,
.pfc-archive-hero nav[aria-label="Breadcrumb"],
.pfc-product-category-hero .woocommerce-breadcrumb,
.pfc-product-category-hero .pfc-category-breadcrumb,
.pfc-product-category-hero .pfc-hero-breadcrumb,
.pfc-product-category-hero .pfc-breadcrumb,
.pfc-product-category-hero nav[aria-label="Breadcrumb"] {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: rgba(255,255,255,.72) !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.pfc-category-hero .woocommerce-breadcrumb *,
.pfc-category-hero .pfc-category-breadcrumb *,
.pfc-category-hero .pfc-hero-breadcrumb *,
.pfc-category-hero .pfc-breadcrumb *,
.pfc-category-hero nav[aria-label="Breadcrumb"] *,
.pfc-category-masthead .woocommerce-breadcrumb *,
.pfc-category-masthead .pfc-category-breadcrumb *,
.pfc-category-masthead .pfc-hero-breadcrumb *,
.pfc-category-masthead .pfc-breadcrumb *,
.pfc-category-masthead nav[aria-label="Breadcrumb"] *,
.pfc-archive-hero .woocommerce-breadcrumb *,
.pfc-archive-hero .pfc-category-breadcrumb *,
.pfc-archive-hero .pfc-hero-breadcrumb *,
.pfc-archive-hero .pfc-breadcrumb *,
.pfc-archive-hero nav[aria-label="Breadcrumb"] *,
.pfc-product-category-hero .woocommerce-breadcrumb *,
.pfc-product-category-hero .pfc-category-breadcrumb *,
.pfc-product-category-hero .pfc-hero-breadcrumb *,
.pfc-product-category-hero .pfc-breadcrumb *,
.pfc-product-category-hero nav[aria-label="Breadcrumb"] * {
    color: inherit !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.pfc-category-hero .woocommerce-breadcrumb a,
.pfc-category-hero .pfc-category-breadcrumb a,
.pfc-category-hero .pfc-hero-breadcrumb a,
.pfc-category-hero .pfc-breadcrumb a,
.pfc-category-hero nav[aria-label="Breadcrumb"] a,
.pfc-category-masthead .woocommerce-breadcrumb a,
.pfc-category-masthead .pfc-category-breadcrumb a,
.pfc-category-masthead .pfc-hero-breadcrumb a,
.pfc-category-masthead .pfc-breadcrumb a,
.pfc-category-masthead nav[aria-label="Breadcrumb"] a,
.pfc-archive-hero .woocommerce-breadcrumb a,
.pfc-archive-hero .pfc-category-breadcrumb a,
.pfc-archive-hero .pfc-hero-breadcrumb a,
.pfc-archive-hero .pfc-breadcrumb a,
.pfc-archive-hero nav[aria-label="Breadcrumb"] a,
.pfc-product-category-hero .woocommerce-breadcrumb a,
.pfc-product-category-hero .pfc-category-breadcrumb a,
.pfc-product-category-hero .pfc-hero-breadcrumb a,
.pfc-product-category-hero .pfc-breadcrumb a,
.pfc-product-category-hero nav[aria-label="Breadcrumb"] a {
    color: rgba(255,255,255,.72) !important;
    text-decoration: none !important;
}

.pfc-category-hero .woocommerce-breadcrumb a:hover,
.pfc-category-hero .pfc-category-breadcrumb a:hover,
.pfc-category-hero .pfc-hero-breadcrumb a:hover,
.pfc-category-hero .pfc-breadcrumb a:hover,
.pfc-category-hero nav[aria-label="Breadcrumb"] a:hover,
.pfc-category-masthead .woocommerce-breadcrumb a:hover,
.pfc-category-masthead .pfc-category-breadcrumb a:hover,
.pfc-category-masthead .pfc-hero-breadcrumb a:hover,
.pfc-category-masthead .pfc-breadcrumb a:hover,
.pfc-category-masthead nav[aria-label="Breadcrumb"] a:hover,
.pfc-archive-hero .woocommerce-breadcrumb a:hover,
.pfc-archive-hero .pfc-category-breadcrumb a:hover,
.pfc-archive-hero .pfc-hero-breadcrumb a:hover,
.pfc-archive-hero .pfc-breadcrumb a:hover,
.pfc-archive-hero nav[aria-label="Breadcrumb"] a:hover,
.pfc-product-category-hero .woocommerce-breadcrumb a:hover,
.pfc-product-category-hero .pfc-category-breadcrumb a:hover,
.pfc-product-category-hero .pfc-hero-breadcrumb a:hover,
.pfc-product-category-hero .pfc-breadcrumb a:hover,
.pfc-product-category-hero nav[aria-label="Breadcrumb"] a:hover {
    color: #ffffff !important;
}

/*
 * The dark content box itself also needs to allow the breadcrumb to wrap
 * instead of clipping long category paths.
 */
.pfc-category-hero__content,
.pfc-category-hero__box,
.pfc-category-masthead__content,
.pfc-category-masthead__box,
.pfc-archive-hero__content,
.pfc-archive-hero__box,
.pfc-product-category-hero__content,
.pfc-product-category-hero__box {
    overflow: visible !important;
}

/* Fallback for the exact visible breadcrumb line if the template uses custom spans. */
.pfc-category-hero__content > :first-child,
.pfc-category-hero__box > :first-child,
.pfc-category-masthead__content > :first-child,
.pfc-category-masthead__box > :first-child,
.pfc-archive-hero__content > :first-child,
.pfc-archive-hero__box > :first-child,
.pfc-product-category-hero__content > :first-child,
.pfc-product-category-hero__box > :first-child {
    max-width: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* Keep it readable on smaller screens too. */
@media (max-width: 760px) {
    .pfc-category-hero .woocommerce-breadcrumb,
    .pfc-category-hero .pfc-category-breadcrumb,
    .pfc-category-hero .pfc-hero-breadcrumb,
    .pfc-category-hero .pfc-breadcrumb,
    .pfc-category-hero nav[aria-label="Breadcrumb"],
    .pfc-category-masthead .woocommerce-breadcrumb,
    .pfc-category-masthead .pfc-category-breadcrumb,
    .pfc-category-masthead .pfc-hero-breadcrumb,
    .pfc-category-masthead .pfc-breadcrumb,
    .pfc-category-masthead nav[aria-label="Breadcrumb"],
    .pfc-archive-hero .woocommerce-breadcrumb,
    .pfc-archive-hero .pfc-category-breadcrumb,
    .pfc-archive-hero .pfc-hero-breadcrumb,
    .pfc-archive-hero .pfc-breadcrumb,
    .pfc-archive-hero nav[aria-label="Breadcrumb"],
    .pfc-product-category-hero .woocommerce-breadcrumb,
    .pfc-product-category-hero .pfc-category-breadcrumb,
    .pfc-product-category-hero .pfc-hero-breadcrumb,
    .pfc-product-category-hero .pfc-breadcrumb,
    .pfc-product-category-hero nav[aria-label="Breadcrumb"] {
        font-size: 12px !important;
        line-height: 1.45 !important;
    }
}


/* v0.2.9 — tidy product subcategory cards on parent category pages */

/*
 * WooCommerce outputs product subcategories in the same products loop. These
 * rules turn the old unstyled text/buttons into proper equal-height cards.
 */
.woocommerce ul.products li.product-category,
.woocommerce-page ul.products li.product-category,
.pfc-category-products ul.products li.product-category,
.pfc-subcategory-card {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.woocommerce ul.products li.product-category::before,
.woocommerce ul.products li.product-category::after,
.pfc-subcategory-card::before,
.pfc-subcategory-card::after {
    content: none !important;
    display: none !important;
}

.pfc-subcategory-card__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 220px !important;
    padding: 34px !important;
    background: #dfe4e9 !important;
    text-decoration: none !important;
    overflow: hidden !important;
}

.pfc-subcategory-card__img {
    display: block !important;
    width: auto !important;
    max-width: 82% !important;
    height: auto !important;
    max-height: 82% !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.pfc-subcategory-card__placeholder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 96px !important;
    height: 96px !important;
    border: 2px solid rgba(20,34,59,.18) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.42) !important;
    color: #415b80 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 46px !important;
    line-height: 1 !important;
}

.pfc-subcategory-card__body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    padding: 24px 0 0 !important;
}

.pfc-subcategory-card__title {
    margin: 0 0 16px !important;
    min-height: 88px !important;
    color: #14223b !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: clamp(21px, 1.45vw, 27px) !important;
    line-height: 1.22 !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
}

.pfc-subcategory-card__title a {
    color: inherit !important;
    text-decoration: none !important;
}

.pfc-subcategory-card__title a:hover {
    color: #a77709 !important;
}

.pfc-subcategory-card__count {
    margin: 0 0 22px !important;
    min-height: 28px !important;
    color: #415b80 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    text-transform: none !important;
}

.pfc-subcategory-card__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 56px !important;
    width: 100% !important;
    margin-top: auto !important;
    padding: 0 18px !important;
    border: 1.5px solid #14223b !important;
    background: transparent !important;
    color: #14223b !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.pfc-subcategory-card__button:hover,
.pfc-subcategory-card__button:focus {
    background: #a77709 !important;
    border-color: #a77709 !important;
    color: #ffffff !important;
}

/*
 * Remove old Flatsome category-card fragments if any cached template output
 * remains for category cards.
 */
.woocommerce ul.products li.product-category .col-inner,
.woocommerce ul.products li.product-category .box,
.woocommerce ul.products li.product-category .box-image,
.woocommerce ul.products li.product-category .box-text,
.woocommerce ul.products li.product-category .text-center {
    width: 100% !important;
}

.woocommerce ul.products li.product-category .button.primary:not(.pfc-subcategory-card__button) {
    display: none !important;
}

/* Parent category pages benefit from slightly more space between category cards. */
.pfc-category-products ul.products:has(li.product-category),
.woocommerce ul.products:has(li.product-category) {
    align-items: stretch !important;
    row-gap: 64px !important;
}

/* Browsers without :has() still receive spacing from the normal product grid gap. */
@supports not selector(:has(*)) {
    .pfc-category-products ul.products,
    .woocommerce ul.products {
        align-items: stretch !important;
    }
}

@media (max-width: 1180px) {
    .pfc-subcategory-card__title {
        min-height: 76px !important;
        font-size: 23px !important;
    }

    .pfc-subcategory-card__image {
        min-height: 190px !important;
        padding: 28px !important;
    }
}

@media (max-width: 760px) {
    .pfc-subcategory-card__title {
        min-height: 0 !important;
        font-size: 22px !important;
    }

    .pfc-subcategory-card__image {
        min-height: 210px !important;
    }
}

@media (max-width: 480px) {
    .pfc-subcategory-card__button {
        font-size: 16px !important;
    }
}


/* v0.3.3 — reverse sticky header using a dedicated fixed clone
 *
 * This avoids the unreliable older approach where the real header was made
 * fixed. On scroll, a fixed clone containing only the logo/search/basket row
 * and the benefits bar is displayed. The original menu rows still collapse.
 */

/* Hide the old sticky menu clone that used to show the two menu rows. */
.pfc-sticky-menu-clone,
body .pfc-sticky-menu-clone,
body.pfc-header-is-scrolled .pfc-sticky-menu-clone {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* The real/original header stays in the document flow. */
body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 1 !important;
    display: block !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

/* Collapse only the two menu rows in the original header on scroll. */
body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav,
body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav--primary,
body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav--secondary,
body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav-inner {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* The fixed scrolled header: logo/search/basket + benefits bar only. */
.pfc-reverse-sticky-clone {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2147483500 !important;
    width: 100% !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    background: #ffffff !important;
    box-shadow: 0 8px 20px rgba(10,25,48,.16) !important;
    pointer-events: none !important;
}

body.admin-bar .pfc-reverse-sticky-clone {
    top: 32px !important;
}

@media (max-width: 782px) {
    body.admin-bar .pfc-reverse-sticky-clone {
        top: 46px !important;
    }
}

body.pfc-header-is-scrolled .pfc-reverse-sticky-clone,
.pfc-reverse-sticky-clone.is-visible {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* There should be no menu rows inside the fixed reverse clone. */
.pfc-reverse-sticky-clone .pfc-site-header__nav,
.pfc-reverse-sticky-clone .pfc-site-header__nav--primary,
.pfc-reverse-sticky-clone .pfc-site-header__nav--secondary {
    display: none !important;
}

/* Keep the cloned logo/search/basket row compact but visible. */
.pfc-reverse-sticky-clone .pfc-site-header__main,
.pfc-reverse-sticky-clone .pfc-header-container.pfc-site-header__main {
    display: flex !important;
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    min-height: 64px !important;
    margin: 0 auto !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    overflow: visible !important;
    pointer-events: auto !important;
    background: #ffffff !important;
}

.pfc-reverse-sticky-clone .pfc-site-header__logo img {
    max-height: 56px !important;
    width: auto !important;
}

.pfc-reverse-sticky-clone .pfc-site-header__search {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.pfc-reverse-sticky-clone .pfc-site-header__links {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Keep the benefits bar visible below the top row. */
.pfc-reverse-sticky-clone .pfc-site-header__usp-bar {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    background: #a77709 !important;
    color: #ffffff !important;
    overflow: visible !important;
    pointer-events: auto !important;
}

.pfc-reverse-sticky-clone .pfc-site-header__usp-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-evenly !important;
    gap: clamp(18px, 2.4vw, 44px) !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 12px 42px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.pfc-reverse-sticky-clone .pfc-site-header__usp-item {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    color: #ffffff !important;
}

/* Reserve the fixed clone height so content does not sit underneath it. */
body.pfc-header-is-scrolled {
    padding-top: var(--pfc-reverse-sticky-offset, 136px) !important;
}

html {
    scroll-padding-top: var(--pfc-reverse-sticky-offset, 136px) !important;
}

@media (max-width: 1280px) {
    .pfc-reverse-sticky-clone .pfc-site-header__usp-inner {
        justify-content: flex-start !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .pfc-reverse-sticky-clone .pfc-site-header__usp-inner::-webkit-scrollbar {
        display: none !important;
    }
}

@media (max-width: 760px) {
    .pfc-reverse-sticky-clone .pfc-site-header__main,
    .pfc-reverse-sticky-clone .pfc-header-container.pfc-site-header__main {
        min-height: 58px !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    .pfc-reverse-sticky-clone .pfc-site-header__logo img {
        max-height: 48px !important;
    }

    .pfc-reverse-sticky-clone .pfc-site-header__usp-inner {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
}


/* v0.3.4 — keep benefits bar visible in reverse sticky header
 *
 * Older sticky-header rules from the previous experiment used a more specific
 * selector to hide .pfc-site-header__usp-bar on scroll. These selectors are
 * deliberately more specific and placed last, so only the menu rows collapse.
 */

/* Fixed clone must keep the top row and benefits bar visible while scrolling. */
body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__main,
body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-header-container.pfc-site-header__main {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 64px !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    border: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
}

body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-bar,
body.pfc-header-is-scrolled .pfc-reverse-sticky-clone.pfc-site-header .pfc-site-header__usp-bar,
body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-home-figma .pfc-site-header__usp-bar {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 42px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #a77709 !important;
    color: #ffffff !important;
    overflow: visible !important;
    pointer-events: auto !important;
}

body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-inner,
body.pfc-header-is-scrolled .pfc-reverse-sticky-clone.pfc-site-header .pfc-site-header__usp-inner {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: space-evenly !important;
    gap: clamp(18px, 2.4vw, 44px) !important;
    width: 100% !important;
    height: auto !important;
    min-height: 42px !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 10px 42px !important;
    overflow: visible !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
}

body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-item,
body.pfc-header-is-scrolled .pfc-reverse-sticky-clone.pfc-site-header .pfc-site-header__usp-item {
    display: inline-flex !important;
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    overflow: visible !important;
}

/* Only menu rows inside the original header should collapse. */
body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav,
body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav--primary,
body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav--secondary,
body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav-inner {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* Keep the fixed clone itself visible and above page content. */
body.pfc-header-is-scrolled .pfc-reverse-sticky-clone,
body.pfc-header-is-scrolled .pfc-reverse-sticky-clone.is-visible {
    position: fixed !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2147483500 !important;
    background: #ffffff !important;
    pointer-events: auto !important;
}

body.admin-bar.pfc-header-is-scrolled .pfc-reverse-sticky-clone,
body.admin-bar.pfc-header-is-scrolled .pfc-reverse-sticky-clone.is-visible {
    top: 32px !important;
}

@media (max-width: 782px) {
    body.admin-bar.pfc-header-is-scrolled .pfc-reverse-sticky-clone,
    body.admin-bar.pfc-header-is-scrolled .pfc-reverse-sticky-clone.is-visible {
        top: 46px !important;
    }
}

@media (max-width: 1280px) {
    body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-inner {
        justify-content: flex-start !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-inner::-webkit-scrollbar {
        display: none !important;
    }
}


/* v0.3.5 — dedicated company reviews page */
.pfc-company-reviews-page {
    background: #ffffff !important;
}

.pfc-company-reviews-hero {
    background:
        radial-gradient(circle at 85% 20%, rgba(167,119,9,.20), transparent 32%),
        linear-gradient(135deg, #14223b 0%, #1d3152 58%, #14223b 100%) !important;
    color: #ffffff !important;
    padding: 72px 0 !important;
}

.pfc-company-reviews-hero__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 48px !important;
    align-items: center !important;
}

.pfc-company-reviews-hero .pfc-eyebrow {
    margin: 0 0 14px !important;
    color: #d7b463 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.pfc-company-reviews-hero h1 {
    max-width: 760px !important;
    margin: 0 0 18px !important;
    color: #ffffff !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(42px, 5vw, 72px) !important;
    line-height: .98 !important;
    font-weight: 400 !important;
}

.pfc-company-reviews-hero__copy > p:last-child {
    max-width: 680px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
}

.pfc-company-reviews-hero__summary {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 18px !important;
    align-items: center !important;
    padding: 30px !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.20) !important;
}

.pfc-company-reviews-hero__score {
    color: #ffffff !important;
    font-size: 64px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.pfc-company-reviews-hero__summary .pfc-stars {
    margin: 0 0 8px !important;
    color: #77d65e !important;
    font-size: 19px !important;
    letter-spacing: .16em !important;
}

.pfc-company-reviews-hero__summary p {
    margin: 0 !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.pfc-company-reviews-featured {
    background: #ffffff !important;
}

.pfc-company-reviews-featured .pfc-reviews__head h2 {
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(36px, 4vw, 58px) !important;
    line-height: 1.05 !important;
    font-weight: 400 !important;
}

.pfc-company-reviews-featured .pfc-review-slider__all {
    display: none !important;
}

.pfc-company-review-card {
    min-height: 260px !important;
}

.pfc-company-reviews-page .pfc-reviews--slider .pfc-review-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.pfc-company-reviews-page .pfc-stars {
    color: #1f8a4c !important;
}

.pfc-company-review-card__product {
    margin-top: 8px !important;
    color: #6b7684 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.pfc-company-reviews-grid-section {
    background: #f7f9fb !important;
    padding-top: 68px !important;
}

.pfc-company-reviews-grid-section__head {
    align-items: end !important;
    margin-bottom: 34px !important;
}

.pfc-company-reviews-grid-section__head h2 {
    margin: 0 0 8px !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(34px, 4vw, 54px) !important;
    line-height: 1.05 !important;
    font-weight: 400 !important;
    color: #14223b !important;
}

.pfc-company-reviews-grid-section__head p {
    margin: 0 !important;
    color: #6b7684 !important;
}

.pfc-company-reviews-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 32px !important;
}

.pfc-company-reviews-grid .pfc-company-review-card {
    min-height: 300px !important;
    padding: 28px !important;
    background: #ffffff !important;
    border: 1px solid #e0e5eb !important;
    box-shadow: 0 14px 34px rgba(10,25,48,.08) !important;
    display: flex !important;
    flex-direction: column !important;
}

.pfc-company-reviews-grid .pfc-review-card__text {
    font-size: 16px !important;
}

.pfc-company-reviews-grid .pfc-review-card__foot {
    margin-top: auto !important;
}

@media (max-width: 980px) {
    .pfc-company-reviews-hero__inner {
        grid-template-columns: 1fr !important;
    }

    .pfc-company-reviews-hero__summary {
        max-width: 440px !important;
    }

    .pfc-company-reviews-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .pfc-company-reviews-hero {
        padding: 54px 0 !important;
    }

    .pfc-company-reviews-hero__summary {
        grid-template-columns: 1fr !important;
    }

    .pfc-company-reviews-hero__score {
        font-size: 54px !important;
    }

    .pfc-company-reviews-grid-section__head {
        display: block !important;
    }

    .pfc-company-reviews-grid-section__head .pfc-btn {
        margin-top: 18px !important;
    }

    .pfc-company-reviews-grid {
        grid-template-columns: 1fr !important;
    }
}


/* v0.3.6 standalone sync: header USP banner changes from child v1.0.93 */
.pfc-site-header__usp-bar,
.pfc-home-figma .pfc-site-header__usp-bar {
    width: 100% !important;
    background: #a27100 !important;
    color: #fff !important;
    border: 0 !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    text-align: center !important;
}

.pfc-site-header__usp-inner {
    min-height: 42px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 8px 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    flex-wrap: wrap !important;
    line-height: 1.25 !important;
    text-align: center !important;
}

.pfc-site-header__usp-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}

.pfc-site-header__usp-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    border: 1.5px solid rgba(255,255,255,.9) !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pfc-site-header__usp-sep {
    display: inline-block !important;
    color: #fff !important;
    opacity: .9 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: pre !important;
    margin: 0 12px !important;
    padding: 0 !important;
}

.pfc-site-header__usp-inner .pfc-site-header__usp-item:not(:last-child)::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 760px) {
    .pfc-site-header__usp-bar,
    .pfc-home-figma .pfc-site-header__usp-bar {
        min-height: 42px !important;
        padding: 0 !important;
    }

    .pfc-site-header__usp-inner {
        width: 100% !important;
        padding: 7px 10px !important;
        row-gap: 4px !important;
    }

    .pfc-site-header__usp-item,
    .pfc-site-header__usp-sep {
        font-size: 11px !important;
        line-height: 1.25 !important;
    }

    .pfc-site-header__usp-icon {
        width: 15px !important;
        height: 15px !important;
        flex-basis: 15px !important;
        font-size: 10px !important;
    }

    .pfc-site-header__usp-sep {
        margin: 0 6px !important;
    }
}

/* v0.3.6 standalone sync: button colour changes from child v1.0.94 */
:root {
    --pfc-button-green: #80d742;
    --pfc-button-hover: #a27100;
}

/* Home page buttons */
.pfc-home-figma .pfc-btn,
.pfc-home-figma .button,
.pfc-home-figma button,
.pfc-home-figma input[type="submit"],
.pfc-home-figma .wp-element-button,
.pfc-home-figma a[class*="button"],
.pfc-home-figma a[class*="btn"],
body.home .pfc-btn,
body.home .button,
body.home button,
body.home input[type="submit"],
body.home .wp-element-button,
body.home a[class*="button"],
body.home a[class*="btn"] {
    background-color: var(--pfc-button-green) !important;
    border-color: var(--pfc-button-green) !important;
    color: #16223a !important;
}

/* University pages */
body[class*="university"] .pfc-btn,
body[class*="university"] .button,
body[class*="university"] button,
body[class*="university"] input[type="submit"],
body[class*="university"] .wp-element-button,
body[class*="university"] a[class*="button"],
body[class*="university"] a[class*="btn"],
body.page-template .pfc-university-page .pfc-btn,
body.page-template .pfc-university-page .button,
body.page-template .pfc-university-page button,
body.page-template .pfc-university-page input[type="submit"],
.pfc-university .pfc-btn,
.pfc-university .button,
.pfc-university button,
.pfc-university input[type="submit"],
.pfc-university a[class*="button"],
.pfc-university a[class*="btn"] {
    background-color: var(--pfc-button-green) !important;
    border-color: var(--pfc-button-green) !important;
    color: #16223a !important;
}

/* WooCommerce/category archive pages */
body.tax-product_cat .pfc-btn,
body.tax-product_cat .button,
body.tax-product_cat button,
body.tax-product_cat input[type="submit"],
body.tax-product_cat .wp-element-button,
body.tax-product_cat a[class*="button"],
body.tax-product_cat a[class*="btn"],
body.post-type-archive-product .pfc-btn,
body.post-type-archive-product .button,
body.post-type-archive-product button,
body.post-type-archive-product input[type="submit"],
body.post-type-archive-product .wp-element-button,
body.post-type-archive-product a[class*="button"],
body.post-type-archive-product a[class*="btn"],
.woocommerce.archive .pfc-btn,
.woocommerce.archive .button,
.woocommerce.archive button,
.woocommerce.archive input[type="submit"],
.woocommerce.archive a[class*="button"],
.woocommerce.archive a[class*="btn"] {
    background-color: var(--pfc-button-green) !important;
    border-color: var(--pfc-button-green) !important;
    color: #16223a !important;
}

/* Preserve intentional ghost/outline buttons unless hovered */
.pfc-home-figma .pfc-btn--ghost,
.pfc-home-figma .pfc-btn--ghost-light,
body.tax-product_cat .pfc-btn--ghost,
body.tax-product_cat .pfc-btn--ghost-light,
body[class*="university"] .pfc-btn--ghost,
body[class*="university"] .pfc-btn--ghost-light {
    background-color: transparent !important;
    color: inherit !important;
}

/* Hover colour matched to the existing add-to-basket hover style */
.pfc-home-figma .pfc-btn:hover,
.pfc-home-figma .button:hover,
.pfc-home-figma button:hover,
.pfc-home-figma input[type="submit"]:hover,
.pfc-home-figma .wp-element-button:hover,
.pfc-home-figma a[class*="button"]:hover,
.pfc-home-figma a[class*="btn"]:hover,
body.home .pfc-btn:hover,
body.home .button:hover,
body.home button:hover,
body.home input[type="submit"]:hover,
body.home .wp-element-button:hover,
body.home a[class*="button"]:hover,
body.home a[class*="btn"]:hover,
body[class*="university"] .pfc-btn:hover,
body[class*="university"] .button:hover,
body[class*="university"] button:hover,
body[class*="university"] input[type="submit"]:hover,
body[class*="university"] .wp-element-button:hover,
body[class*="university"] a[class*="button"]:hover,
body[class*="university"] a[class*="btn"]:hover,
.pfc-university .pfc-btn:hover,
.pfc-university .button:hover,
.pfc-university button:hover,
.pfc-university input[type="submit"]:hover,
.pfc-university a[class*="button"]:hover,
.pfc-university a[class*="btn"]:hover,
body.tax-product_cat .pfc-btn:hover,
body.tax-product_cat .button:hover,
body.tax-product_cat button:hover,
body.tax-product_cat input[type="submit"]:hover,
body.tax-product_cat .wp-element-button:hover,
body.tax-product_cat a[class*="button"]:hover,
body.tax-product_cat a[class*="btn"]:hover,
body.post-type-archive-product .pfc-btn:hover,
body.post-type-archive-product .button:hover,
body.post-type-archive-product button:hover,
body.post-type-archive-product input[type="submit"]:hover,
body.post-type-archive-product .wp-element-button:hover,
body.post-type-archive-product a[class*="button"]:hover,
body.post-type-archive-product a[class*="btn"]:hover,
.woocommerce.archive .pfc-btn:hover,
.woocommerce.archive .button:hover,
.woocommerce.archive button:hover,
.woocommerce.archive input[type="submit"]:hover,
.woocommerce.archive a[class*="button"]:hover,
.woocommerce.archive a[class*="btn"]:hover {
    background-color: var(--pfc-button-hover) !important;
    border-color: var(--pfc-button-hover) !important;
    color: #ffffff !important;
}

/* Do not recolour header/search/cart controls */
.pfc-site-header button,
.pfc-site-header .button,
.pfc-site-header a[class*="button"],
.pfc-site-header a[class*="btn"] {
    background-color: initial !important;
    border-color: initial !important;
    color: inherit !important;
}

.pfc-site-header button:hover,
.pfc-site-header .button:hover,
.pfc-site-header a[class*="button"]:hover,
.pfc-site-header a[class*="btn"]:hover {
    background-color: initial !important;
    border-color: initial !important;
    color: inherit !important;
}


/* v0.3.7 standalone fixes */

/* 1) Do not allow the green button colour to affect desktop menu dropdown toggles/arrows. */
.pfc-site-header .pfc-dropdown-toggle,
.pfc-site-header .pfc-dropdown-toggle:hover,
.pfc-site-header .pfc-dropdown-toggle:focus,
.pfc-site-header__nav .pfc-dropdown-toggle,
.pfc-site-header__nav .pfc-dropdown-toggle:hover,
.pfc-site-header__nav .pfc-dropdown-toggle:focus,
.pfc-primary-menu .pfc-dropdown-toggle,
.pfc-primary-menu .pfc-dropdown-toggle:hover,
.pfc-primary-menu .pfc-dropdown-toggle:focus,
.pfc-secondary-menu .pfc-dropdown-toggle,
.pfc-secondary-menu .pfc-dropdown-toggle:hover,
.pfc-secondary-menu .pfc-dropdown-toggle:focus,
.pfc-site-header .menu-item-has-children > button,
.pfc-site-header .menu-item-has-children > button:hover,
.pfc-site-header .menu-item-has-children > button:focus {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    outline: none !important;
}

.pfc-site-header .pfc-dropdown-toggle::before,
.pfc-site-header__nav .pfc-dropdown-toggle::before,
.pfc-primary-menu .pfc-dropdown-toggle::before,
.pfc-secondary-menu .pfc-dropdown-toggle::before {
    background: transparent !important;
}

/* Make sure pseudo-arrow indicators stay as arrows only, not boxed controls. */
.pfc-primary-menu li.menu-item-has-children > a::after,
.pfc-primary-menu li.pfc-menu-item-has-children > a::after,
.pfc-secondary-menu li.menu-item-has-children > a::after,
.pfc-secondary-menu li.pfc-menu-item-has-children > a::after {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* 3) Green buttons in the "What would you like to frame?" section. */
.pfc-frame-types .pfc-category-card__body b,
.pfc-home-figma .pfc-frame-types .pfc-category-card__body b {
    background: #80d742 !important;
    background-color: #80d742 !important;
    border-color: #80d742 !important;
    color: #16223a !important;
}

.pfc-frame-types .pfc-category-card a:hover .pfc-category-card__body b,
.pfc-frame-types .pfc-category-card a:focus .pfc-category-card__body b,
.pfc-home-figma .pfc-frame-types .pfc-category-card a:hover .pfc-category-card__body b,
.pfc-home-figma .pfc-frame-types .pfc-category-card a:focus .pfc-category-card__body b {
    background: #a27100 !important;
    background-color: #a27100 !important;
    border-color: #a27100 !important;
    color: #ffffff !important;
}

/* Keep the category-card image clean, with no tint/overlay from earlier hero imagery. */
.pfc-frame-types .pfc-category-card img {
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}


/* v0.3.8 sticky/shrunken header benefits bar fix
   Keep the USP/benefits bar in the same centred, pipe-separated layout after
   the reverse sticky header clone appears on scroll. */
body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-bar,
.pfc-reverse-sticky-clone.is-visible .pfc-site-header__usp-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #a27100 !important;
    color: #ffffff !important;
    min-height: 42px !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-inner,
.pfc-reverse-sticky-clone.is-visible .pfc-site-header__usp-inner,
body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-header-container.pfc-site-header__usp-inner,
.pfc-reverse-sticky-clone.is-visible .pfc-header-container.pfc-site-header__usp-inner {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    width: auto !important;
    max-width: none !important;
    min-height: 42px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 8px 24px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    white-space: normal !important;
    scrollbar-width: auto !important;
}

body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-item,
.pfc-reverse-sticky-clone.is-visible .pfc-site-header__usp-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}

body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-icon,
.pfc-reverse-sticky-clone.is-visible .pfc-site-header__usp-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    border: 1.5px solid rgba(255,255,255,.9) !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-sep,
.pfc-reverse-sticky-clone.is-visible .pfc-site-header__usp-sep {
    display: inline-block !important;
    color: #ffffff !important;
    opacity: .9 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: pre !important;
    margin: 0 12px !important;
    padding: 0 !important;
}

/* Override older <=1280px sticky-clone rules that changed the bar back to
   left-aligned/scrolling. */
@media (max-width: 1280px) {
    body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-inner,
    .pfc-reverse-sticky-clone.is-visible .pfc-site-header__usp-inner,
    body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-header-container.pfc-site-header__usp-inner,
    .pfc-reverse-sticky-clone.is-visible .pfc-header-container.pfc-site-header__usp-inner {
        justify-content: center !important;
        overflow-x: visible !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
        width: auto !important;
    }
}

@media (max-width: 760px) {
    body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-inner,
    .pfc-reverse-sticky-clone.is-visible .pfc-site-header__usp-inner {
        width: 100% !important;
        flex-wrap: wrap !important;
        row-gap: 4px !important;
        padding: 7px 10px !important;
    }

    body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-item,
    body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-sep,
    .pfc-reverse-sticky-clone.is-visible .pfc-site-header__usp-item,
    .pfc-reverse-sticky-clone.is-visible .pfc-site-header__usp-sep {
        font-size: 11px !important;
    }

    body.pfc-header-is-scrolled .pfc-reverse-sticky-clone .pfc-site-header__usp-sep,
    .pfc-reverse-sticky-clone.is-visible .pfc-site-header__usp-sep {
        margin: 0 6px !important;
    }
}


/* v0.3.9 product category/archive layout and institution logos */
@media (min-width: 1280px) {
    .pfc-category-products ul.products,
    body.tax-product_cat .pfc-category-products ul.products,
    body.post-type-archive-product .pfc-category-products ul.products,
    .woocommerce.archive .pfc-category-products ul.products {
        grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
        gap: 28px 18px !important;
    }
}

@media (min-width: 900px) and (max-width: 1279px) {
    .pfc-category-products ul.products,
    body.tax-product_cat .pfc-category-products ul.products,
    body.post-type-archive-product .pfc-category-products ul.products,
    .woocommerce.archive .pfc-category-products ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

.pfc-archive-product-card__image {
    padding: 18px !important;
    background: #ffffff !important;
    border: 1px solid rgba(22,34,58,.12) !important;
}

.pfc-archive-product-card__image img.pfc-institution-logo {
    width: auto !important;
    max-width: 92% !important;
    height: auto !important;
    max-height: 86% !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

.pfc-archive-product-card__title {
    font-size: 14px !important;
    line-height: 1.28 !important;
    min-height: 54px !important;
    margin-bottom: 8px !important;
}

.pfc-archive-product-card__title a {
    font-size: 14px !important;
    line-height: 1.28 !important;
}

.pfc-archive-product-card__price {
    font-size: 14px !important;
    line-height: 1.25 !important;
    min-height: 24px !important;
    margin-bottom: 12px !important;
}

.pfc-archive-product-card__button {
    min-height: 38px !important;
    font-size: 12px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}

@media (max-width: 760px) {
    .pfc-archive-product-card__title,
    .pfc-archive-product-card__title a {
        font-size: 14px !important;
    }
}


/* v0.3.10 remove product-category benefit/value strip */
body.tax-product_cat .pfc-category-values,
body.post-type-archive-product .pfc-category-values,
.woocommerce.archive .pfc-category-values {
    display: none !important;
}


/* v0.3.11 university logo carousel replacement
   Retains the existing pfc-logo-band background colour and swaps the static logos for the Slick Logo Carousel shortcode. */
.pfc-logo-band .pfc-logo-carousel-wrap {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
}

.pfc-logo-band .slick_logo_carousel,
.pfc-logo-band .slick-slider,
.pfc-logo-band .slick-list,
.pfc-logo-band .slick-track {
    max-width: 100% !important;
}

.pfc-logo-band .slick-slide {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pfc-logo-band .slick-slide img {
    max-height: 70px !important;
    width: auto !important;
    max-width: 180px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

/* Remove old spacing assumptions from the previous static logo row. */
.pfc-logo-band .pfc-logos {
    display: none !important;
}


/* v0.3.12 logo carousel visibility fixes */
.pfc-logo-band {
    position: relative !important;
    overflow: visible !important;
}

.pfc-logo-band .pfc-container {
    position: relative !important;
    z-index: 2 !important;
}

.pfc-logo-band .pfc-logo-carousel-wrap {
    position: relative !important;
    z-index: 5 !important;
    width: 100% !important;
    max-width: 1180px !important;
    min-height: 96px !important;
    margin: 0 auto !important;
    overflow: visible !important;
}

/* Keep the old static logos hidden, but allow the explicit fallback to display if the plugin shortcode is unavailable. */
.pfc-logo-band .pfc-logos:not(.pfc-logo-fallback) {
    display: none !important;
}

.pfc-logo-band .pfc-logo-fallback {
    display: flex !important;
    gap: 48px !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

/* Make plugin logos visible over the navy background. */
.pfc-logo-band .pfc-logo-carousel-wrap img,
.pfc-logo-band .slick_logo_carousel img,
.pfc-logo-band .slick-slider img,
.pfc-logo-band .slick-slide img,
.pfc-logo-band .slick-list img,
.pfc-logo-band .slick-track img,
.pfc-logo-band .wpls-logo-showcase img,
.pfc-logo-band .wpls-logo-slider img,
.pfc-logo-band .logo-carousel img,
.pfc-logo-band .logo-showcase img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    max-width: 190px !important;
    height: auto !important;
    max-height: 80px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

/* Avoid the carousel being pushed into the background or oversized by the plugin's defaults. */
.pfc-logo-band .slick_logo_carousel,
.pfc-logo-band .slick-slider,
.pfc-logo-band .slick-list,
.pfc-logo-band .slick-track {
    position: relative !important;
    z-index: 10 !important;
    height: auto !important;
    min-height: 80px !important;
    max-height: none !important;
    max-width: 100% !important;
    overflow: visible !important;
}

.pfc-logo-band .slick-slide,
.pfc-logo-band .slick-slide > div {
    height: auto !important;
    min-height: 80px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Keep arrows/dots within the band, not floating in a huge empty area. */
.pfc-logo-band .slick-prev,
.pfc-logo-band .slick-next {
    z-index: 20 !important;
}

.pfc-logo-band .slick-dots {
    position: relative !important;
    bottom: auto !important;
    margin-top: 18px !important;
}

/* If the plugin outputs only hidden initial slides before JS initialises, keep the fallback logos visible. */
.pfc-logo-band .pfc-logo-carousel-wrap:empty::after {
    content: "Logo carousel is loading…" !important;
    color: rgba(255,255,255,.65) !important;
    display: block !important;
    text-align: center !important;
    font-size: 13px !important;
}

@media (max-width: 760px) {
    .pfc-logo-band .pfc-logo-carousel-wrap {
        min-height: 82px !important;
    }

    .pfc-logo-band .pfc-logo-carousel-wrap img,
    .pfc-logo-band .slick_logo_carousel img,
    .pfc-logo-band .slick-slider img,
    .pfc-logo-band .slick-slide img,
    .pfc-logo-band .wpls-logo-showcase img,
    .pfc-logo-band .wpls-logo-slider img {
        max-width: 145px !important;
        max-height: 58px !important;
    }
}


/* v0.3.13 fix logo carousel vertical/repeated slide display
   Do not constrain Slick's generated track width/transform. The previous max-width/overflow
   rules made cloned slides appear vertically. */
.pfc-logo-band .pfc-logo-carousel-wrap {
    max-width: 1180px !important;
    min-height: 110px !important;
    overflow: hidden !important;
}

/* Slick needs the list to hide overflow and the track to keep its calculated width. */
.pfc-logo-band .slick-list {
    overflow: hidden !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 90px !important;
    padding: 0 !important;
}

.pfc-logo-band .slick-track {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: auto;
    max-width: none !important;
    height: auto !important;
    min-height: 90px !important;
    overflow: visible !important;
}

/* Let Slick control each slide; centre the logo inside the slide without stacking them. */
.pfc-logo-band .slick-slide {
    float: none !important;
    display: block !important;
    height: auto !important;
    min-height: 90px !important;
    overflow: hidden !important;
}

.pfc-logo-band .slick-slide > div,
.pfc-logo-band .slick-slide .logo_container,
.pfc-logo-band .slick-slide .logo-container,
.pfc-logo-band .slick-slide .wpls-logo-cnt,
.pfc-logo-band .slick-slide .wpls-logo-showcase,
.pfc-logo-band .slick-slide .wpls-logo-slider,
.pfc-logo-band .slick-slide .logo-slide,
.pfc-logo-band .slick-slide a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 90px !important;
    width: 100% !important;
}

/* Prevent plugin clones/items from displaying as a vertical list before/after init. */
.pfc-logo-band .slick-initialized .slick-slide {
    display: block !important;
}

.pfc-logo-band .slick-slider {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.pfc-logo-band .slick_logo_carousel,
.pfc-logo-band .logo-carousel,
.pfc-logo-band .logo-showcase,
.pfc-logo-band .wpls-logo-showcase-slider,
.pfc-logo-band .wpls-logo-slider {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

/* Keep logos visible and correctly sized. */
.pfc-logo-band .pfc-logo-carousel-wrap img,
.pfc-logo-band .slick_logo_carousel img,
.pfc-logo-band .slick-slider img,
.pfc-logo-band .slick-slide img,
.pfc-logo-band .wpls-logo-showcase img,
.pfc-logo-band .wpls-logo-slider img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    max-width: 190px !important;
    height: auto !important;
    max-height: 78px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

/* Keep arrows inside the visible logo strip. */
.pfc-logo-band .slick-prev,
.pfc-logo-band .slick-next {
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 25 !important;
}

.pfc-logo-band .slick-dots {
    position: relative !important;
    bottom: auto !important;
    margin: 16px 0 0 !important;
}

/* If the carousel outputs a simple non-slick list before JS initialises, make it horizontal rather than vertical. */
.pfc-logo-band .pfc-logo-carousel-wrap > div:not(.pfc-logo-fallback):not(.slick-slider) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 42px !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
}

@media (max-width: 760px) {
    .pfc-logo-band .pfc-logo-carousel-wrap {
        min-height: 86px !important;
    }

    .pfc-logo-band .slick-list,
    .pfc-logo-band .slick-track,
    .pfc-logo-band .slick-slide,
    .pfc-logo-band .slick-slide > div,
    .pfc-logo-band .slick-slide a {
        min-height: 72px !important;
    }

    .pfc-logo-band .pfc-logo-carousel-wrap img,
    .pfc-logo-band .slick_logo_carousel img,
    .pfc-logo-band .slick-slider img,
    .pfc-logo-band .slick-slide img,
    .pfc-logo-band .wpls-logo-showcase img,
    .pfc-logo-band .wpls-logo-slider img {
        max-width: 145px !important;
        max-height: 56px !important;
    }
}


/* v0.3.14 reviews page: remove top slider and retitle grid section */
body.page-template-page-company-reviews .pfc-company-reviews-featured,
body.page-id .pfc-company-reviews-featured,
.pfc-company-reviews-featured {
    display: none !important;
}


/* v0.3.15 mobile header rebuild
   Mobile/tablet header is non-sticky and the hamburger reveals both menu rows. */
@media (max-width: 980px) {
    html,
    body {
        margin-top: 0 !important;
        padding-top: 0 !important;
        overflow-x: hidden !important;
        scroll-padding-top: 0 !important;
    }

    body.pfc-header-is-scrolled,
    body.pfc-fixed-header-enabled,
    body.pfc-fixed-header-active,
    body.pfc-fixed-header-live,
    body.pfc-fixed-header-clean {
        padding-top: 0 !important;
    }

    .pfc-reverse-sticky-clone,
    .pfc-sticky-menu-clone,
    .pfc-sticky-header-placeholder,
    .pfc-fixed-header-spacer {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    .pfc-site-header,
    .pfc-site-header:not(.pfc-reverse-sticky-clone),
    .pfc-home-figma .pfc-site-header,
    body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        z-index: 99990 !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        box-shadow: none !important;
        background: #ffffff !important;
    }

    .pfc-site-header__main,
    .pfc-header-container.pfc-site-header__main,
    .pfc-home-figma .pfc-site-header__main {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: auto 1fr auto !important;
        grid-template-areas:
            "logo menu cart"
            "search search search" !important;
        align-items: center !important;
        column-gap: 14px !important;
        row-gap: 12px !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 14px 18px 16px !important;
        overflow: visible !important;
        background: #ffffff !important;
    }

    .pfc-site-header__logo {
        grid-area: logo !important;
        justify-self: start !important;
        display: block !important;
        margin: 0 !important;
    }

    .pfc-site-header__logo img {
        width: 132px !important;
        max-width: 132px !important;
        height: auto !important;
        display: block !important;
    }

    .pfc-site-header__tagline {
        display: none !important;
    }

    .pfc-mobile-menu-toggle,
    .pfc-site-header .pfc-mobile-menu-toggle,
    .pfc-home-figma .pfc-site-header .pfc-mobile-menu-toggle {
        grid-area: menu !important;
        justify-self: end !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        min-width: 84px !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: 9px 12px !important;
        border: 1px solid #16223a !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        color: #16223a !important;
        box-shadow: none !important;
        cursor: pointer !important;
        font-family: 'DM Sans', Arial, sans-serif !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    .pfc-mobile-menu-toggle:hover,
    .pfc-mobile-menu-toggle:focus {
        background: #ffffff !important;
        background-color: #ffffff !important;
        color: #16223a !important;
        border-color: #16223a !important;
    }

    .pfc-mobile-menu-toggle__icon {
        display: inline-flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 4px !important;
        width: 19px !important;
        flex: 0 0 19px !important;
    }

    .pfc-mobile-menu-toggle__icon span {
        display: block !important;
        width: 19px !important;
        height: 2px !important;
        background: currentColor !important;
        border-radius: 2px !important;
    }

    .pfc-site-header__links {
        grid-area: cart !important;
        justify-self: end !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0 !important;
        margin: 0 !important;
        min-width: 38px !important;
    }

    .pfc-site-header__links > a:not(.pfc-site-header__cart-icon) {
        display: none !important;
    }

    .pfc-site-header__cart-icon {
        display: inline-flex !important;
        width: 34px !important;
        height: 38px !important;
        min-width: 34px !important;
        margin: 0 !important;
        background: #ffffff !important;
        color: #16223a !important;
    }

    .pfc-site-header__search,
    .pfc-site-header__search.pfc-site-header__search--shortcode {
        grid-area: search !important;
        justify-self: center !important;
        width: min(100%, 430px) !important;
        max-width: 430px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: block !important;
    }

    .pfc-site-header__search form,
    .pfc-site-header__search .is-search-form,
    .pfc-site-header__search .is-form-style,
    .pfc-site-header__search .is-form-style form,
    .pfc-site-header__search .is-search-form label {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
    }

    .pfc-site-header__search input[type="search"],
    .pfc-site-header__search input.is-search-input {
        width: 100% !important;
        height: 42px !important;
        box-sizing: border-box !important;
        font-size: 14px !important;
    }

    /* Closed mobile menu: hide both primary and secondary rows. */
    .pfc-site-header__nav,
    .pfc-site-header__nav--primary,
    .pfc-site-header__nav--secondary,
    body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav,
    body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav--primary,
    body.pfc-header-is-scrolled .pfc-site-header:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav--secondary {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    /* Open mobile menu: show BOTH rows together inside the hamburger menu. */
    .pfc-site-header.pfc-mobile-menu-open .pfc-site-header__nav,
    .pfc-site-header.pfc-mobile-menu-open .pfc-site-header__nav--primary,
    .pfc-site-header.pfc-mobile-menu-open .pfc-site-header__nav--secondary,
    body.pfc-header-is-scrolled .pfc-site-header.pfc-mobile-menu-open:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav,
    body.pfc-header-is-scrolled .pfc-site-header.pfc-mobile-menu-open:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav--primary,
    body.pfc-header-is-scrolled .pfc-site-header.pfc-mobile-menu-open:not(.pfc-reverse-sticky-clone) .pfc-site-header__nav--secondary {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        pointer-events: auto !important;
        background: #16223a !important;
        border-top: 1px solid rgba(255,255,255,.14) !important;
    }

    .pfc-site-header__nav-inner,
    .pfc-site-header__nav .pfc-header-container,
    .pfc-site-header.pfc-mobile-menu-open .pfc-site-header__nav-inner,
    .pfc-site-header.pfc-mobile-menu-open .pfc-site-header__nav .pfc-header-container {
        width: 100% !important;
        max-width: none !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .pfc-site-header__nav ul,
    .pfc-site-header__nav .menu,
    .pfc-site-header__nav .pfc-primary-menu,
    .pfc-site-header__nav .pfc-secondary-menu {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .pfc-site-header__nav li,
    .pfc-site-header__nav .menu-item {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 1px solid rgba(255,255,255,.12) !important;
        position: relative !important;
    }

    .pfc-site-header__nav a {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        box-sizing: border-box !important;
        padding: 13px 18px !important;
        color: #ffffff !important;
        text-align: left !important;
        text-decoration: none !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }

    .pfc-site-header__nav--secondary::before {
        content: 'More frame categories' !important;
        display: block !important;
        padding: 12px 18px 9px !important;
        color: rgba(255,255,255,.62) !important;
        font-family: 'DM Sans', Arial, sans-serif !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        letter-spacing: .08em !important;
        text-transform: uppercase !important;
        border-top: 1px solid rgba(255,255,255,.22) !important;
    }

    .pfc-site-header__nav .sub-menu,
    .pfc-site-header__nav .children,
    .pfc-primary-menu .sub-menu,
    .pfc-secondary-menu .sub-menu {
        position: static !important;
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        background: rgba(0,0,0,.18) !important;
        border: 0 !important;
        box-shadow: none !important;
        pointer-events: auto !important;
    }

    .pfc-site-header__nav .sub-menu a,
    .pfc-site-header__nav .children a {
        padding-left: 34px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: rgba(255,255,255,.92) !important;
    }

    .pfc-dropdown-toggle {
        display: none !important;
    }

    .pfc-site-header__usp-bar {
        position: relative !important;
        z-index: 1 !important;
    }

    .pfc-site-header__usp-inner {
        justify-content: center !important;
    }
}

@media (max-width: 430px) {
    .pfc-site-header__main,
    .pfc-header-container.pfc-site-header__main {
        padding-left: 12px !important;
        padding-right: 12px !important;
        column-gap: 9px !important;
    }

    .pfc-site-header__logo img {
        width: 112px !important;
        max-width: 112px !important;
    }

    .pfc-mobile-menu-toggle {
        min-width: 44px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .pfc-mobile-menu-toggle__text {
        display: none !important;
    }

    .pfc-site-header__search,
    .pfc-site-header__search.pfc-site-header__search--shortcode {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* v0.3.16 omnisearch click-target styling */
.pfc-site-header__search,
.pfc-site-header__search *,
.pfc-home-figma a[data-pfc-omnisearch],
body.home a[data-pfc-omnisearch],
body[class*="university"] a[data-pfc-omnisearch] {
    cursor: pointer !important;
}


/* v0.3.17 omnisearch click target */
.pfc-site-header__search,
.pfc-site-header__search * {
    cursor: pointer !important;
}


/* v0.3.18 omnisearch click target */
.pfc-site-header__search,
.pfc-site-header__search * {
    cursor: pointer !important;
}


/* v0.3.19 stable omnisearch click target */
.pfc-site-header__search,
.pfc-site-header__search * {
    cursor: pointer !important;
}


/* v0.3.20 hidden Clerk Omnisearch trigger and click target */
.pfc-clerk-omnisearch-trigger {
    position: fixed !important;
    left: -9999px !important;
    top: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.pfc-clerk-omnisearch-element {
    display: none !important;
}

.pfc-site-header__search,
.pfc-site-header__search *,
a[data-pfc-omnisearch-link="1"] {
    cursor: pointer !important;
}


/* v0.3.21 Clerk button triggers */
a[data-pfc-omnisearch-link="1"],
a.pfc-clerk-omnisearch-trigger-link,
.pfc-site-header__search,
.pfc-site-header__search * {
    cursor: pointer !important;
}


/* v0.3.22 Clerk button/search triggers */
a[data-pfc-omnisearch-link="1"],
a.pfc-clerk-omnisearch-trigger-link,
.pfc-site-header__search,
.pfc-site-header__search * {
    cursor: pointer !important;
}
