/* Fiberz B2B Catalogue v2.0 — frontend */
:root{
    --fz-primary:#0B3B2E;
    --fz-secondary:#B88A4A;
    --fz-soft:#FBF8F3;
    --fz-card:#FFFFFF;
    --fz-text:#171D19;
    --fz-border:#E4DDD2;
    --fz-muted:#6F746F;
    --fz-grid-columns:4;
    --fz-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    --fz-radius:4px;
}

.fz-component,
.fz-component *,
.fz-single-product,
.fz-single-product *{
    box-sizing:border-box;
}

.fz-component,
.fz-single-product,
.fz-catalogue-page{
    font-family:var(--fz-font)!important;
    color:var(--fz-text);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

.fz-component button,
.fz-component input,
.fz-component textarea,
.fz-component select,
.fz-single-product button,
.fz-single-product input{
    font:inherit;
}

.fz-component a,
.fz-single-product a{
    text-decoration:none;
}

.fz-shell{
    width:min(1420px,calc(100% - 48px));
    margin-left:auto;
    margin-right:auto;
}

.fz-svg-icon{
    display:inline-flex;
    width:26px;
    height:26px;
    line-height:1;
    flex:0 0 auto;
}
.fz-svg-icon svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.fz-section-label{
    color:var(--fz-secondary);
    font-size:11px;
    font-weight:700;
    letter-spacing:.13em;
    line-height:1.2;
    margin:0 0 9px;
}

.fz-title-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:25px;
}
.fz-title-row h2{
    margin:0!important;
    color:var(--fz-primary)!important;
    font:600 clamp(25px,2.3vw,34px)/1.12 var(--fz-font)!important;
    letter-spacing:-.035em;
}
.fz-title-row>a{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--fz-text)!important;
    font-size:11px;
    font-weight:700;
    letter-spacing:.04em;
    white-space:nowrap;
}
.fz-title-row>a .fz-svg-icon{width:17px;height:17px}
.fz-count{font-size:12px;color:var(--fz-muted);white-space:nowrap}

.fz-primary-button{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:25px;
    min-height:48px;
    padding:0 22px!important;
    border:1px solid var(--fz-primary)!important;
    border-radius:var(--fz-radius)!important;
    background:var(--fz-primary)!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:700!important;
    letter-spacing:.045em;
    line-height:1!important;
    transition:.2s ease;
}
.fz-primary-button:hover{filter:brightness(.95);color:#fff!important}
.fz-primary-button .fz-svg-icon{width:18px;height:18px}

/* Collections overview shortcode */
.fz-collections-component,
.fz-products-component{width:100%}

.fz-collections-grid{
    display:grid;
    grid-template-columns:repeat(var(--fz-grid-columns),minmax(0,1fr));
    gap:20px;
    width:100%;
}
.fz-collection-card{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--fz-border);
    border-radius:var(--fz-radius);
    background:var(--fz-card);
    transition:transform .22s ease,box-shadow .22s ease;
}
.fz-collection-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 38px rgba(22,38,29,.07);
}
.fz-collection-image{
    display:block;
    width:100%;
    aspect-ratio:1.27/1;
    overflow:hidden;
    background:#EFE9DF;
}
.fz-collection-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}
.fz-collection-card:hover .fz-collection-image img{transform:scale(1.025)}
.fz-collection-placeholder{
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    color:var(--fz-primary);
    background:linear-gradient(135deg,var(--fz-soft),#efe7dc);
}
.fz-collection-placeholder .fz-svg-icon{width:48px;height:48px;opacity:.75}
.fz-collection-body{
    min-height:190px;
    padding:24px 24px 30px;
    position:relative;
}
.fz-collection-body h3{
    margin:0 0 12px!important;
    color:var(--fz-text)!important;
    font:600 20px/1.25 var(--fz-font)!important;
    letter-spacing:-.02em;
    text-transform:uppercase;
}
.fz-collection-body h3 a{color:inherit!important}
.fz-collection-body p{
    margin:0!important;
    padding:0 26px 0 0;
    color:#4F5550;
    font-size:13px;
    line-height:1.65;
}
.fz-arrow-link{
    position:absolute;
    right:22px;
    bottom:19px;
    display:inline-flex;
    color:var(--fz-primary)!important;
}
.fz-arrow-link .fz-svg-icon{width:24px;height:24px}

/* Collection automatic archive */
.fz-catalogue-page{
    background:#fff;
    min-height:60vh;
}
.fz-collection-hero{
    background:linear-gradient(90deg,#F8F3EC 0%,var(--fz-soft) 100%);
    padding:58px 0;
    border-bottom:1px solid rgba(0,0,0,.02);
}
.fz-collection-hero-inner{
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.25fr);
    gap:52px;
    align-items:center;
}
.fz-collection-hero:not(.has-image) .fz-collection-hero-inner{grid-template-columns:minmax(0,760px)}
.fz-collection-copy h1{
    margin:0 0 20px!important;
    color:var(--fz-primary)!important;
    font:600 clamp(38px,4.2vw,62px)/1.02 var(--fz-font)!important;
    letter-spacing:-.05em;
}
.fz-lead{
    max-width:620px;
    color:#424843;
    font-size:15px;
    line-height:1.75;
}
.fz-lead p{margin:0 0 12px}
.fz-collection-copy .fz-primary-button{margin-top:17px}
.fz-collection-hero-image{
    width:100%;
    min-width:0;
}
.fz-collection-hero-image img{
    display:block;
    width:100%;
    height:455px;
    object-fit:cover;
    border-radius:var(--fz-radius);
}
.fz-collection-products{padding-top:58px;padding-bottom:78px}

/* Product grids / cards */
.fz-products-grid{
    display:grid;
    gap:18px;
    width:100%;
}
.fz-products-grid.fz-cols-1{grid-template-columns:1fr}
.fz-products-grid.fz-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fz-products-grid.fz-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fz-products-grid.fz-cols-4,
.fz-archive-grid{grid-template-columns:repeat(var(--fz-grid-columns),minmax(0,1fr))}
.fz-products-grid.fz-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.fz-products-grid.fz-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}

.fz-product-card{
    min-width:0;
    overflow:hidden;
    background:var(--fz-card);
    border:1px solid var(--fz-border);
    border-radius:var(--fz-radius);
    transition:box-shadow .22s ease,transform .22s ease;
}
.fz-product-card:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 32px rgba(18,34,25,.07);
}
.fz-card-image{
    display:block;
    position:relative;
    aspect-ratio:1.26/1;
    overflow:hidden;
    background:#F0EAE1;
}
.fz-card-image>img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}
.fz-product-card:hover .fz-card-image>img{transform:scale(1.025)}
.fz-card-placeholder{
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    color:var(--fz-primary);
    font:600 48px/1 var(--fz-font);
    opacity:.35;
}
.fz-card-heart{
    position:absolute;
    right:10px;
    top:10px;
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:rgba(255,255,255,.88);
    color:var(--fz-primary);
    backdrop-filter:blur(4px);
}
.fz-card-heart .fz-svg-icon{width:18px;height:18px}
.fz-card-body{padding:16px 16px 18px}
.fz-card-kicker{
    margin-bottom:6px;
    color:var(--fz-secondary);
    font-size:9px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.fz-card-body h3{
    margin:0 0 7px!important;
    color:var(--fz-text)!important;
    font:600 16px/1.3 var(--fz-font)!important;
    letter-spacing:-.02em;
}
.fz-card-body h3 a{color:inherit!important}
.fz-card-sku{font-size:10px;color:#5E645F}
.fz-card-link{
    display:inline-flex!important;
    align-items:center;
    gap:7px;
    margin-top:12px;
    color:var(--fz-primary)!important;
    font-size:10px;
    font-weight:700;
    letter-spacing:.04em;
}
.fz-card-link .fz-svg-icon{width:16px;height:16px}
.fz-product-card.is-compact .fz-card-body{padding:13px 14px 15px}
.fz-product-card.is-compact .fz-card-body h3{font-size:14px!important;margin-bottom:6px!important}

/* Single product */
.fz-single-product{
    background:#fff;
    min-height:60vh;
    padding-bottom:0;
}
.fz-breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:9px;
    padding:20px 0 18px;
    color:#866C49;
    font-size:11px;
    line-height:1.4;
}
.fz-breadcrumbs a{color:inherit!important}
.fz-breadcrumbs span:last-child{color:#6C706C}

.fz-product-layout{
    display:grid;
    grid-template-columns:minmax(0,1.62fr) minmax(390px,.92fr);
    gap:42px;
    align-items:start;
}
.fz-product-media,
.fz-product-summary{min-width:0}
.fz-gallery{
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    gap:14px;
    align-items:start;
}
.fz-thumbs{
    display:flex;
    flex-direction:column;
    gap:9px;
    max-height:645px;
    overflow:auto;
    scrollbar-width:thin;
}
.fz-thumb{
    display:block!important;
    flex:0 0 auto;
    width:76px!important;
    height:64px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden;
    border:1px solid var(--fz-border)!important;
    border-radius:3px!important;
    background:#fff!important;
    color:inherit!important;
    cursor:pointer;
    box-shadow:none!important;
}
.fz-thumb:hover,
.fz-thumb.is-active{border-color:var(--fz-secondary)!important}
.fz-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.fz-main-image-wrap{
    position:relative;
    min-width:0;
    overflow:hidden;
    border-radius:var(--fz-radius);
    background:#F2ECE4;
}
.fz-main-image-wrap>img{
    display:block;
    width:100%;
    height:620px;
    object-fit:cover;
}
.fz-zoom-button{
    position:absolute!important;
    right:13px!important;
    top:13px!important;
    display:grid!important;
    place-items:center!important;
    width:36px!important;
    height:36px!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.94)!important;
    color:var(--fz-text)!important;
    box-shadow:0 3px 15px rgba(0,0,0,.08)!important;
    cursor:pointer;
}
.fz-zoom-button .fz-svg-icon{width:19px;height:19px}
.fz-no-product-image{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
    min-height:520px;
    color:var(--fz-primary);
    font-size:13px;
    font-weight:600;
}
.fz-no-product-image .fz-svg-icon{width:58px;height:58px;opacity:.6}

.fz-project-strip{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:18px;
    border:1px solid var(--fz-border);
    border-radius:var(--fz-radius);
    background:var(--fz-soft);
    overflow:hidden;
}
.fz-project-card{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:14px;
    min-width:0;
    padding:20px 22px;
}
.fz-project-card+ .fz-project-card{border-left:1px solid var(--fz-border)}
.fz-project-card>.fz-svg-icon{width:32px;height:32px;color:var(--fz-primary)}
.fz-project-card h3{
    margin:0 0 6px!important;
    color:var(--fz-text)!important;
    font:700 10px/1.3 var(--fz-font)!important;
    letter-spacing:.055em;
}
.fz-project-card p{
    margin:0!important;
    color:#464D48;
    font-size:10.5px;
    line-height:1.55;
}
.fz-project-card a{
    display:inline-flex!important;
    align-items:center;
    gap:8px;
    margin-top:10px;
    color:var(--fz-primary)!important;
    font-size:9px;
    font-weight:700;
    letter-spacing:.055em;
}
.fz-project-card a .fz-svg-icon{width:14px;height:14px}

.fz-product-summary{
    position:sticky;
    top:22px;
    align-self:start;
}
.fz-product-summary h1{
    margin:0 0 9px!important;
    color:var(--fz-primary)!important;
    font:600 clamp(34px,3.2vw,48px)/.98 var(--fz-font)!important;
    letter-spacing:-.055em;
}
.fz-sku{
    color:#222B25;
    font-size:11px;
    font-weight:700;
}
.fz-gold-rule{
    width:100%;
    height:1px;
    margin:16px 0 17px;
    background:var(--fz-secondary);
    opacity:.68;
}
.fz-overview-meta{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:23px;
}
.fz-meta-item{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}
.fz-meta-item>.fz-svg-icon{
    width:27px;
    height:27px;
    color:var(--fz-text);
}
.fz-meta-item div{min-width:0}
.fz-meta-item span{
    display:block;
    margin-bottom:2px;
    color:#3E4540;
    font-size:8.5px;
    font-weight:700;
    letter-spacing:.065em;
}
.fz-meta-item strong{
    display:block;
    overflow:hidden;
    color:var(--fz-text);
    font-size:10px;
    font-weight:500;
    line-height:1.25;
    text-overflow:ellipsis;
}

.fz-size-wrap{margin-bottom:12px}
.fz-size-wrap>strong{
    display:block;
    margin:0 0 9px;
    color:#242B27;
    font-size:10px;
    font-weight:700;
    letter-spacing:.02em;
}
.fz-size-options{display:flex;flex-wrap:wrap;gap:7px}
.fz-size{
    min-height:35px!important;
    min-width:72px!important;
    padding:7px 13px!important;
    margin:0!important;
    border:1px solid var(--fz-border)!important;
    border-radius:3px!important;
    background:#fff!important;
    color:var(--fz-text)!important;
    font-size:10px!important;
    font-weight:500!important;
    box-shadow:none!important;
    cursor:pointer;
}
.fz-size:hover{border-color:var(--fz-primary)!important}
.fz-size.is-active{
    border-color:var(--fz-primary)!important;
    background:var(--fz-primary)!important;
    color:#fff!important;
}
.fz-custom-size{
    display:inline-flex;
    margin-top:8px;
    padding:7px 10px;
    border:1px solid var(--fz-border);
    border-radius:3px;
    color:#4D534F;
    font-size:9px;
    line-height:1;
}
.fz-muted{color:var(--fz-muted);font-size:11px}

.fz-accordions{
    margin-top:12px;
    border-top:1px solid var(--fz-border);
}
.fz-acc{border-bottom:1px solid var(--fz-border)}
.fz-acc-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px;
    width:100%!important;
    min-height:40px!important;
    margin:0!important;
    padding:10px 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--fz-text)!important;
    font-size:10.5px!important;
    font-weight:600!important;
    line-height:1.25!important;
    text-align:left!important;
    box-shadow:none!important;
    cursor:pointer;
}
.fz-acc-head:hover{color:var(--fz-primary)!important;background:transparent!important}
.fz-acc-head b{
    flex:0 0 auto;
    color:var(--fz-text);
    font-size:16px;
    font-weight:400;
    line-height:1;
}
.fz-acc-body{
    display:none;
    padding:2px 0 16px;
    color:#4B514C;
    font-size:10.5px;
    line-height:1.65;
}
.fz-acc.is-open .fz-acc-body{display:block}
.fz-acc-body p{margin:0 0 8px!important}
.fz-acc-body p:last-child{margin-bottom:0!important}
.fz-acc-body ul,.fz-acc-body ol{margin:7px 0 0 18px!important;padding:0!important}
.fz-acc-body li{margin:3px 0!important}

.fz-trade-list{margin:0!important}
.fz-trade-list>div{
    display:grid;
    grid-template-columns:128px minmax(0,1fr);
    gap:14px;
    padding:3px 0;
}
.fz-trade-list dt{
    margin:0;
    color:#303733;
    font-weight:700;
}
.fz-trade-list dd{margin:0;color:#4C524E}

.fz-pack-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
    align-items:center;
    padding-top:4px;
}
.fz-pack-grid.has-image{grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr)}
.fz-pack-copy{min-width:0}
.fz-pack-copy h4{
    margin:0 0 7px!important;
    color:var(--fz-text)!important;
    font:700 9px/1.2 var(--fz-font)!important;
    letter-spacing:.06em;
}
.fz-pack-image img{
    display:block;
    width:100%;
    height:auto;
    max-height:130px;
    object-fit:contain;
}

.fz-enquiry-controls{
    display:grid;
    grid-template-columns:104px minmax(0,1fr);
    gap:12px;
    margin-top:17px;
}
.fz-qty{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    min-height:43px;
    overflow:hidden;
    border:1px solid var(--fz-border);
    border-radius:3px;
    background:#fff;
}
.fz-qty button,
.fz-qty input{
    width:100%!important;
    min-width:0!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    color:var(--fz-text)!important;
    text-align:center!important;
    box-shadow:none!important;
    -moz-appearance:textfield;
}
.fz-qty input::-webkit-outer-spin-button,.fz-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fz-qty button{font-size:16px!important;cursor:pointer}
.fz-qty input{font-size:11px!important}
.fz-add-enquiry{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:20px;
    width:100%!important;
    min-height:43px!important;
    margin:0!important;
    padding:0 18px!important;
    border:1px solid var(--fz-primary)!important;
    border-radius:3px!important;
    background:var(--fz-primary)!important;
    color:#fff!important;
    font-size:10px!important;
    font-weight:700!important;
    letter-spacing:.04em;
    box-shadow:none!important;
    cursor:pointer;
}
.fz-add-enquiry:hover{filter:brightness(.94);background:var(--fz-primary)!important;color:#fff!important}
.fz-add-enquiry.is-added{opacity:.76}
.fz-add-enquiry .fz-svg-icon{width:17px;height:17px}
.fz-enquiry-list-link{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-top:11px;
    color:#3F4742!important;
    font-size:9.5px;
    font-weight:500;
}
.fz-enquiry-list-link .fz-svg-icon{width:15px;height:15px}

.fz-benefit-strip{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:23px;
    padding:18px 7px 4px;
    border-top:1px solid var(--fz-border);
}
.fz-benefit{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    min-width:0;
    color:var(--fz-text);
    text-align:center;
}
.fz-benefit .fz-svg-icon{width:29px;height:29px;color:var(--fz-primary)}
.fz-benefit span{
    font-size:8px;
    font-weight:700;
    line-height:1.35;
    letter-spacing:.035em;
}

.fz-related{padding:34px 0 72px}
.fz-related-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}

/* Pagination */
.fz-pagination{margin-top:34px}
.fz-pagination .nav-links{display:flex;flex-wrap:wrap;gap:6px}
.fz-pagination a,
.fz-pagination span{
    display:grid;
    place-items:center;
    min-width:36px;
    min-height:36px;
    padding:6px 9px;
    border:1px solid var(--fz-border);
    border-radius:3px;
    color:var(--fz-text)!important;
    background:#fff;
    font-size:11px;
}
.fz-pagination .current{border-color:var(--fz-primary);background:var(--fz-primary);color:#fff!important}

/* RFQ */
.fz-rfq-wrap{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:28px;
    width:100%;
    align-items:start;
}
.fz-rfq-summary,
.fz-rfq-form{
    min-width:0;
    padding:30px;
    border:1px solid var(--fz-border);
    border-radius:var(--fz-radius);
    background:var(--fz-soft);
}
.fz-rfq-summary h2{
    margin:0 0 22px!important;
    color:var(--fz-primary)!important;
    font:600 clamp(27px,3vw,38px)/1.12 var(--fz-font)!important;
    letter-spacing:-.045em;
}
.fz-rfq-empty{margin:0;color:#666;font-size:13px}
.fz-rfq-item{
    display:grid;
    grid-template-columns:68px minmax(0,1fr) 30px;
    gap:12px;
    align-items:center;
    padding:11px 0;
    border-bottom:1px solid var(--fz-border);
}
.fz-rfq-item img{
    display:block;
    width:68px;
    height:58px;
    object-fit:cover;
    border-radius:3px;
}
.fz-rfq-item strong{display:block;color:var(--fz-text);font-size:12px;line-height:1.35}
.fz-rfq-item small{display:block;margin-top:5px;color:#626862;font-size:9.5px;line-height:1.45}
.fz-rfq-remove{
    display:grid!important;
    place-items:center!important;
    width:30px!important;
    height:30px!important;
    min-width:0!important;
    padding:0!important;
    border:1px solid var(--fz-border)!important;
    border-radius:3px!important;
    background:#fff!important;
    color:var(--fz-text)!important;
    font-size:16px!important;
    box-shadow:none!important;
    cursor:pointer;
}
.fz-clear-enquiry{
    margin-top:16px!important;
    padding:9px 13px!important;
    border:1px solid var(--fz-primary)!important;
    border-radius:3px!important;
    background:transparent!important;
    color:var(--fz-primary)!important;
    font-size:10px!important;
    font-weight:600!important;
    box-shadow:none!important;
    cursor:pointer;
}
.fz-empty-admin{
    padding:18px;
    border:1px dashed var(--fz-secondary);
    border-radius:4px;
    background:#fff;
    color:#4B514D;
    font-size:12px;
    line-height:1.65;
}

/* Contact Form 7 inside RFQ */
.fz-rfq-form .wpcf7,
.fz-rfq-form form{font-family:var(--fz-font)!important}
.fz-rfq-form p{margin:0 0 14px!important}
.fz-rfq-form label{
    display:block;
    color:var(--fz-text);
    font-size:10px;
    font-weight:600;
    line-height:1.5;
}
.fz-rfq-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.fz-rfq-form select,
.fz-rfq-form textarea{
    width:100%!important;
    max-width:100%!important;
    min-height:44px;
    margin-top:6px!important;
    padding:10px 12px!important;
    border:1px solid var(--fz-border)!important;
    border-radius:3px!important;
    background:#fff!important;
    color:var(--fz-text)!important;
    font:400 12px/1.5 var(--fz-font)!important;
    box-shadow:none!important;
    outline:none!important;
}
.fz-rfq-form textarea{min-height:118px;resize:vertical}
.fz-rfq-form input:focus,
.fz-rfq-form select:focus,
.fz-rfq-form textarea:focus{border-color:var(--fz-primary)!important}
.fz-rfq-form input[type="submit"],
.fz-rfq-form button[type="submit"]{
    min-height:45px!important;
    padding:0 22px!important;
    border:1px solid var(--fz-primary)!important;
    border-radius:3px!important;
    background:var(--fz-primary)!important;
    color:#fff!important;
    font:700 10px/1 var(--fz-font)!important;
    letter-spacing:.05em;
    box-shadow:none!important;
    cursor:pointer;
}
.fz-rfq-form .wpcf7-spinner{margin:0 0 0 8px}

.fz-empty-state{
    width:100%;
    padding:28px;
    border:1px solid var(--fz-border);
    background:var(--fz-soft);
    color:#5B615D;
    font-size:13px;
    text-align:center;
}

/* Product lightbox */
.fz-lightbox{
    position:fixed;
    z-index:999999;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    padding:38px;
    background:rgba(9,14,11,.88);
}
.fz-lightbox.is-open{display:flex}
.fz-lightbox img{display:block;max-width:min(1180px,94vw);max-height:88vh;object-fit:contain}
.fz-lightbox-close{
    position:absolute!important;
    top:18px!important;
    right:22px!important;
    width:42px!important;
    height:42px!important;
    min-width:0!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.35)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    font-size:28px!important;
    line-height:1!important;
    box-shadow:none!important;
    cursor:pointer;
}
body.fz-lightbox-open{overflow:hidden}

/* Responsive */
@media (max-width:1220px){
    .fz-shell{width:min(100% - 38px,1420px)}
    .fz-product-layout{grid-template-columns:minmax(0,1.34fr) minmax(355px,.88fr);gap:30px}
    .fz-main-image-wrap>img{height:560px}
    .fz-related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
    .fz-collection-body{padding-left:20px;padding-right:20px}
}

@media (max-width:1024px){
    :root{--fz-grid-columns:2}
    .fz-product-layout{grid-template-columns:1fr;gap:28px}
    .fz-product-summary{position:static;top:auto}
    .fz-main-image-wrap>img{height:auto;aspect-ratio:1.35/1}
    .fz-product-summary h1{font-size:42px!important}
    .fz-collection-hero-inner{grid-template-columns:1fr;gap:30px}
    .fz-collection-hero-image img{height:auto;aspect-ratio:1.65/1}
    .fz-products-grid.fz-cols-5,.fz-products-grid.fz-cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}
    .fz-rfq-wrap{grid-template-columns:1fr}
    .fz-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:720px){
    .fz-shell{width:min(100% - 28px,1420px)}
    .fz-breadcrumbs{padding-top:15px;padding-bottom:15px;font-size:9.5px}
    .fz-gallery{grid-template-columns:1fr;gap:10px}
    .fz-main-image-wrap{order:1}
    .fz-thumbs{
        order:2;
        flex-direction:row;
        max-height:none;
        width:100%;
        overflow-x:auto;
        overflow-y:hidden;
        padding-bottom:3px;
    }
    .fz-thumb{width:68px!important;height:58px!important}
    .fz-main-image-wrap>img{aspect-ratio:1.08/1}
    .fz-project-strip{grid-template-columns:1fr}
    .fz-project-card+.fz-project-card{border-left:0;border-top:1px solid var(--fz-border)}
    .fz-overview-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
    .fz-meta-item{align-items:flex-start;gap:6px}
    .fz-meta-item>.fz-svg-icon{width:23px;height:23px}
    .fz-meta-item span{font-size:7.5px}
    .fz-meta-item strong{font-size:9px}
    .fz-product-summary h1{font-size:36px!important}
    .fz-pack-grid,.fz-pack-grid.has-image{grid-template-columns:1fr}
    .fz-pack-image{order:2;max-width:180px;margin:auto}
    .fz-enquiry-controls{grid-template-columns:94px minmax(0,1fr)}
    .fz-benefit-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}
    .fz-products-grid.fz-cols-3,
    .fz-products-grid.fz-cols-4,
    .fz-products-grid.fz-cols-5,
    .fz-products-grid.fz-cols-6,
    .fz-archive-grid,
    .fz-collections-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fz-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fz-collection-body{min-height:170px;padding:18px 17px 26px}
    .fz-collection-body h3{font-size:16px!important}
    .fz-collection-body p{font-size:11.5px}
    .fz-collection-hero{padding:38px 0}
    .fz-collection-copy h1{font-size:38px!important}
    .fz-collection-products{padding-top:42px;padding-bottom:58px}
    .fz-title-row{align-items:flex-start}
    .fz-title-row h2{font-size:25px!important}
    .fz-rfq-summary,.fz-rfq-form{padding:22px}
}

@media (max-width:480px){
    :root{--fz-grid-columns:1}
    .fz-shell{width:min(100% - 22px,1420px)}
    .fz-product-summary h1{font-size:32px!important}
    .fz-main-image-wrap>img{aspect-ratio:1/1}
    .fz-overview-meta{grid-template-columns:1fr;gap:11px}
    .fz-meta-item>.fz-svg-icon{width:25px;height:25px}
    .fz-meta-item{align-items:center}
    .fz-meta-item span{font-size:8px}.fz-meta-item strong{font-size:10px}
    .fz-size{min-width:65px!important;padding:7px 10px!important}
    .fz-enquiry-controls{grid-template-columns:1fr}
    .fz-qty{height:42px}
    .fz-add-enquiry{height:45px}
    .fz-products-grid.fz-cols-2,
    .fz-products-grid.fz-cols-3,
    .fz-products-grid.fz-cols-4,
    .fz-products-grid.fz-cols-5,
    .fz-products-grid.fz-cols-6,
    .fz-archive-grid,
    .fz-collections-grid,
    .fz-related-grid{grid-template-columns:1fr}
    .fz-collection-image{aspect-ratio:1.45/1}
    .fz-collection-body{min-height:145px}
    .fz-project-card{padding:18px 16px}
    .fz-trade-list>div{grid-template-columns:1fr;gap:2px;padding:5px 0}
    .fz-title-row{display:block}
    .fz-title-row>a{margin-top:10px}
    .fz-count{margin-top:8px}
    .fz-rfq-item{grid-template-columns:56px minmax(0,1fr) 30px}
    .fz-rfq-item img{width:56px;height:52px}
    .fz-lightbox{padding:18px}
}

/* =========================================================
   v2.1 — Mobile card carousel
   2 full cards + a visible preview of card 3
========================================================= */
.fz-mobile-carousel-ui{
    display:none;
}

@media (max-width:720px){
    .fz-carousel-mobile{
        display:flex!important;
        grid-template-columns:none!important;
        gap:10px!important;
        width:100%;
        overflow-x:auto;
        overflow-y:hidden;
        scroll-snap-type:x mandatory;
        scroll-behavior:smooth;
        scrollbar-width:none;
        -ms-overflow-style:none;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior-inline:contain;
        padding:0!important;
        margin:0!important;
    }
    .fz-carousel-mobile::-webkit-scrollbar{display:none}

    .fz-carousel-mobile > .fz-collection-card,
    .fz-carousel-mobile > .fz-product-card{
        flex:0 0 calc((100% - 20px - var(--fz-mobile-carousel-peek,38px))/2)!important;
        width:auto!important;
        min-width:0!important;
        scroll-snap-align:start;
        scroll-snap-stop:always;
    }

    .fz-mobile-carousel-ui{
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:24px;
        margin:13px 0 2px;
    }
    .fz-mobile-carousel-dots{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:6px;
        min-height:18px;
    }
    .fz-mobile-carousel-dot{
        appearance:none;
        -webkit-appearance:none;
        width:6px!important;
        min-width:6px!important;
        height:6px!important;
        min-height:6px!important;
        padding:0!important;
        margin:0!important;
        border:0!important;
        border-radius:99px!important;
        background:rgba(11,59,46,.22)!important;
        box-shadow:none!important;
        cursor:pointer;
        transition:width .25s ease,background .25s ease,transform .25s ease;
    }
    .fz-mobile-carousel-dot.is-active{
        width:18px!important;
        background:var(--fz-primary)!important;
    }
    .fz-mobile-carousel-dot:focus-visible{
        outline:2px solid var(--fz-secondary);
        outline-offset:3px;
    }
}

@media (max-width:390px){
    .fz-carousel-mobile{
        gap:8px!important;
    }
    .fz-carousel-mobile > .fz-collection-card,
    .fz-carousel-mobile > .fz-product-card{
        flex-basis:calc((100% - 16px - var(--fz-mobile-carousel-peek,38px))/2)!important;
    }
}

/* =========================================================
   v2.2 — Signature Picks + PDF Catalogue
========================================================= */
.fz-product-pdf-link{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%;
    min-height:42px;
    margin-top:10px;
    padding:10px 15px;
    border:1px solid var(--fz-primary);
    border-radius:3px;
    background:transparent;
    color:var(--fz-primary)!important;
    text-decoration:none!important;
    font-size:9.5px;
    font-weight:700;
    letter-spacing:.05em;
    transition:background .25s ease,color .25s ease,transform .25s ease;
}
.fz-product-pdf-link .fz-svg-icon{width:15px;height:15px}
.fz-product-pdf-link:hover{background:var(--fz-primary);color:#fff!important;transform:translateY(-1px)}

.fz-collection-hero-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
}
.fz-secondary-button{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:43px;
    padding:0 18px;
    border:1px solid var(--fz-primary);
    border-radius:3px;
    color:var(--fz-primary)!important;
    background:transparent!important;
    text-decoration:none!important;
    font-size:9.5px;
    font-weight:700;
    letter-spacing:.05em;
}
.fz-secondary-button .fz-svg-icon{width:15px;height:15px}
.fz-secondary-button:hover{background:var(--fz-primary)!important;color:#fff!important}

.fz-catalog-downloads{
    width:100%;
    max-width:1230px;
    margin:0 auto;
    padding:28px;
    border:1px solid var(--fz-border);
    border-radius:5px;
    background:var(--fz-soft);
}
.fz-catalog-downloads__intro{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:30px;
    padding-bottom:24px;
    border-bottom:1px solid var(--fz-border);
}
.fz-catalog-downloads__intro h2{
    margin:4px 0 8px!important;
    color:var(--fz-primary)!important;
    font-size:clamp(28px,3.4vw,42px)!important;
    line-height:1.05!important;
    font-weight:500!important;
}
.fz-catalog-downloads__intro p{
    max-width:650px;
    margin:0!important;
    color:#68706B;
    font-size:14px!important;
    line-height:1.6!important;
}
.fz-pdf-button{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    padding:13px 18px;
    border:1px solid var(--fz-primary);
    border-radius:3px;
    text-decoration:none!important;
    font-size:10px;
    font-weight:700;
    letter-spacing:.045em;
    white-space:nowrap;
}
.fz-pdf-button--primary{background:var(--fz-primary)!important;color:#fff!important}
.fz-pdf-button .fz-svg-icon{width:16px;height:16px}
.fz-catalog-downloads__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:18px;
}
.fz-catalog-download-card{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-width:0;
    padding:16px 18px;
    border:1px solid var(--fz-border);
    border-radius:3px;
    background:#fff;
    color:var(--fz-text)!important;
    text-decoration:none!important;
    transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.fz-catalog-download-card:hover{
    border-color:var(--fz-secondary);
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(11,59,46,.05);
}
.fz-catalog-download-card>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.fz-catalog-download-card strong{font-size:13px;line-height:1.35;color:var(--fz-primary)}
.fz-catalog-download-card small{font-size:10.5px;color:#68706B}
.fz-catalog-download-card>span:last-child{
    display:inline-flex;
    align-items:center;
    gap:7px;
    flex:0 0 auto;
    color:var(--fz-primary);
    font-size:9px;
    font-weight:700;
    letter-spacing:.04em;
}
.fz-catalog-download-card .fz-svg-icon{width:14px;height:14px}

/* Signature products intentionally inherit the standard product-card design.
   On mobile they use the exact same 2-card + next-card preview carousel. */
.fz-signature-products .fz-products-grid{position:relative}

@media(max-width:767px){
    .fz-collection-hero-actions{align-items:stretch}
    .fz-collection-hero-actions>a{flex:1 1 170px}
    .fz-catalog-downloads{padding:20px 14px}
    .fz-catalog-downloads__intro{grid-template-columns:1fr;gap:18px;align-items:start}
    .fz-catalog-downloads__intro p{font-size:13px!important}
    .fz-pdf-button{width:100%;white-space:normal;text-align:center}
    .fz-catalog-downloads__grid{grid-template-columns:1fr;gap:8px}
    .fz-catalog-download-card{padding:14px 13px;gap:10px}
    .fz-catalog-download-card strong{font-size:12.5px}
    .fz-catalog-download-card>span:last-child{font-size:8.5px}
}


/* =========================================================
   v2.3 — Reliable mobile layouts + responsive PDF actions
========================================================= */

/* The class is attached server-side so Elementor/shortcodes cannot miss it. */
@media (max-width:720px){
    .fz-products-grid.fz-mobile-grid2,
    .fz-archive-grid.fz-mobile-grid2{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
        width:100%!important;
        overflow:visible!important;
    }

    .fz-products-grid.fz-mobile-grid2>.fz-product-card,
    .fz-archive-grid.fz-mobile-grid2>.fz-product-card{
        width:auto!important;
        min-width:0!important;
    }

    /* Mobile carousel: 2 complete cards + a deliberate preview of card 3. */
    .fz-carousel-mobile{
        display:flex!important;
        grid-template-columns:none!important;
        align-items:stretch!important;
        gap:10px!important;
        width:100%!important;
        max-width:100%!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        scroll-snap-type:x mandatory!important;
        scroll-padding-inline:0!important;
        padding:0!important;
    }

    .fz-carousel-mobile>.fz-collection-card,
    .fz-carousel-mobile>.fz-product-card{
        flex:0 0 calc((100% - 20px - var(--fz-mobile-carousel-peek,38px))/2)!important;
        width:auto!important;
        max-width:none!important;
        min-width:0!important;
        scroll-snap-align:start!important;
    }

    /* If only two Signature products exist, keep them cleanly side-by-side.
       Once a third is marked, the normal next-card preview activates automatically. */
    .fz-carousel-mobile.fz-carousel-two-only>.fz-collection-card,
    .fz-carousel-mobile.fz-carousel-two-only>.fz-product-card{
        flex-basis:calc((100% - 10px)/2)!important;
    }

    /* Compact card typography is important when two cards share phone width. */
    .fz-carousel-mobile>.fz-product-card .fz-card-body{
        padding:12px 11px 14px!important;
    }
    .fz-carousel-mobile>.fz-product-card .fz-card-kicker{
        margin-bottom:5px!important;
        font-size:8px!important;
        letter-spacing:.075em!important;
    }
    .fz-carousel-mobile>.fz-product-card .fz-card-body h3{
        margin-bottom:5px!important;
        font-size:13px!important;
        line-height:1.3!important;
    }
    .fz-carousel-mobile>.fz-product-card .fz-card-sku{
        font-size:8.5px!important;
    }
    .fz-carousel-mobile>.fz-product-card .fz-card-link{
        margin-top:9px!important;
        gap:5px!important;
        font-size:8.5px!important;
    }
    .fz-carousel-mobile>.fz-product-card .fz-card-link .fz-svg-icon{
        width:14px!important;
        height:14px!important;
    }
    .fz-carousel-mobile>.fz-product-card .fz-card-heart{
        top:7px!important;
        right:7px!important;
        width:29px!important;
        height:29px!important;
    }
    .fz-carousel-mobile>.fz-product-card .fz-card-heart .fz-svg-icon{
        width:16px!important;
        height:16px!important;
    }

    .fz-carousel-mobile>.fz-collection-card .fz-collection-body{
        min-height:145px!important;
        padding:15px 13px 23px!important;
    }
    .fz-carousel-mobile>.fz-collection-card .fz-collection-body h3{
        margin-bottom:7px!important;
        font-size:13px!important;
        line-height:1.28!important;
    }
    .fz-carousel-mobile>.fz-collection-card .fz-collection-body p{
        padding-right:12px!important;
        font-size:10px!important;
        line-height:1.48!important;
    }
    .fz-carousel-mobile>.fz-collection-card .fz-arrow-link{
        right:10px!important;
        bottom:10px!important;
    }
    .fz-carousel-mobile>.fz-collection-card .fz-arrow-link .fz-svg-icon{
        width:18px!important;
        height:18px!important;
    }

    /* Keep the manual Grid option at two columns even under the old 480px rule. */
    .fz-mobile-grid2 .fz-card-body{
        padding:12px 10px 14px!important;
    }
    .fz-mobile-grid2 .fz-card-body h3{
        font-size:13px!important;
    }
    .fz-mobile-grid2 .fz-card-kicker{
        font-size:8px!important;
    }
}

@media (max-width:390px){
    .fz-carousel-mobile{
        gap:8px!important;
    }
    .fz-carousel-mobile>.fz-collection-card,
    .fz-carousel-mobile>.fz-product-card{
        flex-basis:calc((100% - 16px - var(--fz-mobile-carousel-peek,38px))/2)!important;
    }
    .fz-carousel-mobile.fz-carousel-two-only>.fz-collection-card,
    .fz-carousel-mobile.fz-carousel-two-only>.fz-product-card{
        flex-basis:calc((100% - 8px)/2)!important;
    }
}

/* Collection hero action buttons: same height, no overflow on desktop/tablet/mobile. */
.fz-collection-hero-actions{
    display:grid!important;
    grid-template-columns:max-content max-content;
    align-items:stretch!important;
    justify-content:start;
    gap:10px!important;
    width:fit-content;
    max-width:100%;
    margin-top:17px;
}
.fz-collection-copy .fz-collection-hero-actions .fz-primary-button,
.fz-collection-copy .fz-collection-hero-actions .fz-secondary-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    min-width:0!important;
    min-height:50px!important;
    height:50px!important;
    margin:0!important;
    padding:0 22px!important;
    white-space:nowrap!important;
    line-height:1!important;
    font-size:10px!important;
    font-weight:700!important;
}
.fz-collection-copy .fz-collection-hero-actions .fz-svg-icon{
    width:16px!important;
    height:16px!important;
    flex:0 0 16px!important;
}

/* All PDF download buttons behave predictably inside narrow containers. */
.fz-pdf-button,
.fz-product-pdf-link,
.fz-secondary-button{
    max-width:100%!important;
    box-sizing:border-box!important;
}

@media (max-width:720px){
    .fz-collection-hero-actions{
        grid-template-columns:1fr!important;
        width:100%!important;
        max-width:360px!important;
        margin-top:18px!important;
    }
    .fz-collection-copy .fz-collection-hero-actions .fz-primary-button,
    .fz-collection-copy .fz-collection-hero-actions .fz-secondary-button{
        width:100%!important;
        min-height:50px!important;
        height:auto!important;
        padding:14px 18px!important;
        white-space:normal!important;
        text-align:center!important;
    }
    .fz-pdf-button,
    .fz-product-pdf-link{
        width:100%!important;
        min-height:48px!important;
        height:auto!important;
        padding:13px 15px!important;
        white-space:normal!important;
        text-align:center!important;
    }
}


/* =========================================================
   v2.3.1 — Collection archive mobile fix
   - archive heading is always above the cards
   - carousel gets the full phone width
   - same 2 cards + next preview behaviour as Home
========================================================= */
@media (max-width:720px){
    .fz-catalogue-page .fz-collection-products{
        display:block!important;
        float:none!important;
        clear:both!important;
        width:min(100% - 28px,1420px)!important;
        max-width:1420px!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding-left:0!important;
        padding-right:0!important;
    }

    .fz-catalogue-page .fz-collection-products > *{
        min-width:0!important;
        max-width:100%!important;
    }

    .fz-catalogue-page .fz-collection-products .fz-title-row{
        display:block!important;
        width:100%!important;
        float:none!important;
        clear:both!important;
        margin:0 0 22px!important;
    }

    .fz-catalogue-page .fz-collection-products .fz-title-row > div{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
    }

    .fz-catalogue-page .fz-collection-products .fz-count{
        display:block!important;
        width:100%!important;
        margin-top:8px!important;
        white-space:normal!important;
    }

    .fz-catalogue-page .fz-collection-products .fz-archive-grid,
    .fz-catalogue-page .fz-collection-products .fz-products-grid{
        float:none!important;
        clear:both!important;
        width:100%!important;
        max-width:100%!important;
        min-width:100%!important;
        margin:0!important;
    }

    .fz-catalogue-page .fz-collection-products .fz-archive-grid.fz-mobile-carousel-enabled,
    .fz-catalogue-page .fz-collection-products .fz-archive-grid.fz-carousel-mobile{
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:stretch!important;
        gap:10px!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        scroll-snap-type:x mandatory!important;
        -webkit-overflow-scrolling:touch!important;
        scrollbar-width:none!important;
    }

    .fz-catalogue-page .fz-collection-products .fz-archive-grid::-webkit-scrollbar{
        display:none!important;
    }

    .fz-catalogue-page .fz-collection-products .fz-archive-grid > .fz-product-card{
        flex:0 0 calc((100% - 20px - var(--fz-mobile-carousel-peek,38px))/2)!important;
        width:auto!important;
        max-width:none!important;
        min-width:0!important;
        scroll-snap-align:start!important;
        scroll-snap-stop:always!important;
    }

    .fz-catalogue-page .fz-collection-products .fz-archive-grid.fz-carousel-two-only > .fz-product-card{
        flex-basis:calc((100% - 10px)/2)!important;
    }

    .fz-catalogue-page .fz-collection-products .fz-mobile-carousel-ui{
        width:100%!important;
        clear:both!important;
    }
}

@media (max-width:390px){
    .fz-catalogue-page .fz-collection-products{
        width:min(100% - 22px,1420px)!important;
    }

    .fz-catalogue-page .fz-collection-products .fz-archive-grid > .fz-product-card{
        flex-basis:calc((100% - 16px - var(--fz-mobile-carousel-peek,38px))/2)!important;
    }

    .fz-catalogue-page .fz-collection-products .fz-archive-grid.fz-carousel-two-only > .fz-product-card{
        flex-basis:calc((100% - 8px)/2)!important;
    }
}

/* =========================================================
   v2.4 — RFQ-gated PDF access
========================================================= */
.fz-pdf-access-banner,
.fz-pdf-access-result{
    width:100%;
    max-width:1230px;
    margin:0 auto 18px;
    padding:14px 16px;
    border:1px solid rgba(179,138,74,.35);
    border-left:3px solid var(--fz-secondary);
    border-radius:4px;
    background:#FFFDF9;
    color:var(--fz-text);
    font-family:"Inter",Arial,sans-serif;
}
.fz-pdf-access-banner{
    display:flex;
    align-items:flex-start;
    gap:12px;
}
.fz-pdf-access-banner strong{
    flex:0 0 auto;
    color:var(--fz-primary);
    font-size:12px;
    line-height:1.45;
    letter-spacing:.03em;
}
.fz-pdf-access-banner span,
.fz-pdf-access-result{
    font-size:12.5px;
    line-height:1.55;
}
.fz-pdf-access-result{
    border-color:rgba(11,59,46,.22);
    border-left-color:var(--fz-primary);
    background:#F6F8F4;
    color:var(--fz-primary);
    font-weight:600;
}
.fz-pdf-access-result.is-error{
    border-color:#E7C8C1;
    border-left-color:#A8422B;
    background:#FFF8F6;
    color:#7F3525;
}
.fz-pdf-gate-inline{
    max-width:650px;
    margin-top:10px;
    padding:9px 11px;
    border-left:2px solid var(--fz-secondary);
    background:rgba(179,138,74,.06);
    color:#68706B;
    font-size:11.5px;
    line-height:1.5;
}
.fz-pdf-button.is-locked,
.fz-product-pdf-link.is-locked,
.fz-secondary-button.is-locked{
    border-color:var(--fz-secondary)!important;
    color:var(--fz-primary)!important;
    background:transparent!important;
}
.fz-pdf-button.is-locked:hover,
.fz-product-pdf-link.is-locked:hover,
.fz-secondary-button.is-locked:hover{
    border-color:var(--fz-primary)!important;
    background:var(--fz-primary)!important;
    color:#fff!important;
}

@media(max-width:767px){
    .fz-pdf-access-banner{
        flex-direction:column;
        gap:4px;
        margin-bottom:14px;
        padding:12px 13px;
    }
    .fz-pdf-access-banner strong{font-size:11.5px}
    .fz-pdf-access-banner span,
    .fz-pdf-access-result{font-size:11.5px;line-height:1.5}
    .fz-pdf-gate-inline{font-size:11px}
}

/* =========================================================
   v2.5 — RFQ form cleanup / hidden product-summary field
========================================================= */
.fz-rfq-form .fz-rfq-internal-field,
.fz-rfq-form .fz-rfq-internal-wrap,
.fz-rfq-form .fz-rfq-internal-row{
    display:none!important;
    margin:0!important;
    padding:0!important;
    min-height:0!important;
    height:0!important;
    overflow:hidden!important;
}

.fz-rfq-form .wpcf7-form-control-wrap{
    display:block;
    width:100%;
}

.fz-rfq-form label{
    margin:0!important;
}

.fz-rfq-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.fz-rfq-form select{
    min-height:48px!important;
}

.fz-rfq-form textarea:not(.fz-rfq-internal-field){
    min-height:132px!important;
}

.fz-rfq-form input[type="file"]{
    width:100%!important;
    margin-top:7px!important;
    padding:10px!important;
    border:1px dashed var(--fz-border)!important;
    border-radius:3px!important;
    background:#fff!important;
    color:var(--fz-text)!important;
    font:400 11px/1.45 var(--fz-font)!important;
}

.fz-rfq-form .wpcf7-acceptance .wpcf7-list-item,
.fz-rfq-form .wpcf7-checkbox .wpcf7-list-item,
.fz-rfq-form .wpcf7-radio .wpcf7-list-item{
    margin:0 14px 7px 0!important;
}

.fz-rfq-form .wpcf7-acceptance label,
.fz-rfq-form .wpcf7-checkbox label,
.fz-rfq-form .wpcf7-radio label{
    display:inline-flex!important;
    align-items:flex-start!important;
    gap:8px!important;
    font-size:11.5px!important;
    line-height:1.5!important;
    font-weight:400!important;
}

.fz-rfq-form input[type="checkbox"],
.fz-rfq-form input[type="radio"]{
    flex:0 0 auto!important;
    width:16px!important;
    height:16px!important;
    margin:2px 0 0!important;
}

.fz-rfq-form .wpcf7-not-valid-tip{
    margin-top:5px!important;
    color:#9A3928!important;
    font-size:10.5px!important;
    line-height:1.4!important;
}

.fz-rfq-form .wpcf7-response-output{
    margin:16px 0 0!important;
    padding:11px 13px!important;
    border-width:1px!important;
    border-radius:3px!important;
    font-size:11.5px!important;
    line-height:1.5!important;
}

@media(max-width:767px){
    .fz-rfq-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    .fz-rfq-form select{
        min-height:46px!important;
        font-size:13px!important;
    }
    .fz-rfq-form textarea:not(.fz-rfq-internal-field){
        min-height:120px!important;
        font-size:13px!important;
    }
}

/* Hide the internal enquiry summary immediately, before JS runs. */
.fz-rfq-form textarea[name="enquiry-products"],
.fz-rfq-form input[name="enquiry-products"],
.fz-rfq-form textarea[name="enquiry-summary"],
.fz-rfq-form input[name="enquiry-summary"],
.fz-rfq-form .wpcf7-form-control-wrap[data-name="enquiry-products"],
.fz-rfq-form .wpcf7-form-control-wrap[data-name="enquiry-summary"]{
    display:none!important;
}
