/*
Theme Name: Astra Child
Author: Invade Digital Media
Description: The Ceiling Co. child theme. Front-end design mirrors the approved prototype.
Version: 1.1.0
Template: astra
Text Domain: astra-child
*/

/* =========================================================
   1. PROTOTYPE STYLESHEET (do not edit lightly: source of truth for the design)
   ========================================================= */
:root{
  --charcoal:#2B2B2B;--graphite:#4A4A4A;--orange:#F58220;--grey:#F2F2F2;--silver:#BFC2C7;--white:#fff;
  --ink:#202020;--muted:#6f6f6f;--line:#e2e2e2;--warm:#f7f7f5;--shadow:0 12px 34px rgba(0,0,0,.10);--shadow-sm:0 5px 18px rgba(0,0,0,.07);
  --max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;background:#fff;line-height:1.5}img{max-width:100%;display:block}a{color:inherit}.wrap{max-width:var(--max);margin:auto;padding:0 28px}h1,h2,h3,h4{font-family:Montserrat,Arial,sans-serif;margin:0;line-height:1.08}p{margin:0}section{padding:74px 0}.eyebrow{font:800 .73rem/1 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:13px}.section-title{font-size:clamp(1.8rem,3vw,2.7rem)}.section-copy{max-width:720px;color:var(--muted);margin-top:13px}.center{text-align:center}.center .section-copy{margin:13px auto 0}.alt{background:var(--grey)}.warm{background:#f8f5f2}.section-tight{padding:34px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 20px;border-radius:4px;border:1px solid transparent;text-decoration:none;font:800 .78rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.01em;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn-orange{background:var(--orange);color:white}.btn-orange:hover{background:#e87413}.btn-dark{background:var(--charcoal);color:#fff}.btn-light{background:transparent;color:#fff;border-color:#fff}.btn-outline{background:#fff;color:var(--orange);border-color:var(--orange)}.btn-white{background:#fff;color:var(--charcoal)}

/* Utility + header */
.topbar{background:#232323;color:#eee;font-size:.72rem}.topbar .wrap{height:32px;display:flex;align-items:center;justify-content:space-between}.topbar-group{display:flex;align-items:center;gap:20px}.topbar a{text-decoration:none;color:#fff}.utility-item{display:inline-flex;align-items:center;gap:6px}.uicon{font-size:.85rem;color:var(--orange)}
header.site{height:78px;background:#fff;border-bottom:1px solid #e6e6e6;position:sticky;top:0;z-index:60}header.site .wrap{height:100%;display:flex;align-items:center;gap:24px}.logo{flex:0 0 auto}.logo img{width:190px;max-height:58px;object-fit:contain}.main{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}.nav-item{position:relative}.main>a,.nav-item>a{font-size:.76rem;font-weight:700;text-decoration:none;white-space:nowrap;padding:30px 0}.main a:hover,.main a.active,.nav-item:hover>a{color:var(--orange)}.dropdown{position:absolute;top:57px;left:-18px;width:235px;background:#fff;border:1px solid #ddd;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.15s;padding:9px}.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}.dropdown a{display:block;padding:11px 12px;text-decoration:none;font-size:.78rem;border-radius:3px}.dropdown a:hover{background:var(--grey)}.header-actions{display:flex;align-items:center;gap:12px}.shop-now{background:var(--orange);color:#fff;text-decoration:none;padding:12px 16px;border-radius:4px;font:800 .72rem Montserrat,sans-serif}.cart-btn{position:relative;text-decoration:none;font-size:1.25rem}.cart-count{position:absolute;top:-10px;right:-11px;background:var(--orange);color:#fff;font-size:.62rem;border-radius:999px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-weight:800}.menu-toggle{display:none;border:0;background:none;font-size:1.4rem}

/* Homepage */
.home-hero{padding:0;min-height:430px;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.48) 45%,rgba(0,0,0,.08) 78%),url('https://ceilingco.co.za/wp-content/uploads/2026/10/cc-flat-matte.jpg') center 35%/cover no-repeat;color:#fff}.home-hero .wrap{min-height:430px;display:flex;align-items:center}.hero-copy{max-width:560px;padding:58px 0}.hero-copy h1{font-size:clamp(3rem,5.3vw,5.3rem);letter-spacing:-.04em}.hero-copy h1 span{position:relative}.hero-copy h1 span:after{content:"";display:inline-block;width:10px;height:10px;background:var(--orange);border-radius:50%;margin-left:6px}.hero-copy>p{font-size:1.02rem;max-width:500px;margin:15px 0 24px;color:#f4f4f4}.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.quick-benefits{padding:0;border-bottom:1px solid #ddd;background:#fff}.quick-benefits-grid{display:grid;grid-template-columns:repeat(5,1fr)}.quick-benefit{padding:22px 18px;text-align:center;border-right:1px solid #ddd}.quick-benefit:last-child{border-right:0}.quick-benefit .icon{font-size:1.8rem;color:var(--orange);line-height:1}.quick-benefit strong{display:block;font:700 .76rem/1.35 Montserrat,sans-serif;margin-top:8px}
.category-section{background:linear-gradient(#fafafa,#fff)}.section-headline{text-align:center;font-size:1.48rem;margin-bottom:22px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.category-card{background:#fff;border:1px solid #e8e8e8;border-radius:7px;box-shadow:var(--shadow-sm);overflow:hidden;text-decoration:none;transition:.2s}.category-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.category-card .image{height:180px;background:#f5f5f5}.category-card .image img{width:100%;height:100%;object-fit:cover}.category-card .body{padding:18px}.category-card h3{font-size:1.05rem}.category-card p{font-size:.82rem;color:var(--graphite);margin:6px 0 14px}.category-card .mini-cta{display:inline-flex;background:var(--orange);color:#fff;padding:9px 15px;border-radius:3px;font:800 .68rem Montserrat,sans-serif;text-transform:uppercase}

/* Calculator hero section */
.calculator-band{background:radial-gradient(circle at 80% 20%,#393939,#1f1f1f 62%);color:#fff;padding:34px 0}.calculator-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center}.calculator-copy h2{font-size:1.65rem}.calculator-copy p{font-size:.85rem;color:#e3e3e3;margin-top:7px}.calc-inline{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.calc-inline label,.product-calculator label{font-size:.72rem;font-weight:700}.calc-inline input,.calc-inline select,.product-calculator input,.product-calculator select{width:100%;padding:11px 12px;border:1px solid #ccc;border-radius:4px;font:inherit}.calc-inline .wide{grid-column:1/-1}.calc-result-card{border:1px solid #666;border-radius:5px;padding:18px 21px;background:rgba(255,255,255,.025)}.calc-result-card h3{font-size:1rem;margin-bottom:8px}.result-list{list-style:none;padding:0;margin:0}.result-list li{display:flex;justify-content:space-between;padding:5px 0;font-size:.78rem;border-bottom:1px solid rgba(255,255,255,.08)}.result-list strong{color:#fff}.estimate-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #666;margin-top:12px;padding-top:12px}.estimate-row strong:last-child{color:var(--orange);font-size:1.25rem}.calc-placeholder{font-size:.78rem;color:#aaa;padding:18px 0}.calc-result-card .btn{margin-top:14px;width:50%}

.popular{padding:26px 0 38px}.popular h2{text-align:center;font-size:1.45rem;margin-bottom:16px}.popular-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.mini-product{border:1px solid #e3e3e3;background:#fff;border-radius:5px;overflow:hidden}.mini-product img{height:145px;width:100%;object-fit:cover}.mini-product .body{padding:11px}.mini-product h3{font-size:.75rem;line-height:1.35;min-height:42px}.mini-product .price{font-weight:800;font-size:.84rem;margin:7px 0}.mini-product .price small{font-weight:400;color:#777}.mini-product .btn{width:100%;min-height:34px;padding:7px;font-size:.62rem}.center-cta{text-align:center;margin-top:18px}
.contractor-band{padding:22px 0;background:#242424;color:#fff}.contractor-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}.contractor-message{display:flex;align-items:center;gap:18px}.contractor-icon{font-size:2.6rem;color:var(--orange)}.contractor-message h3{font-size:1.08rem}.contractor-message p{font-size:.75rem;color:#d7d7d7;margin-top:3px}.trust-footer-strip{padding:17px 0;border-bottom:1px solid #ddd}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{display:flex;gap:11px;padding:0 24px;border-right:1px solid #ddd}.trust-item:last-child{border-right:0}.trust-item .icon{font-size:1.55rem;color:var(--orange)}.trust-item strong{display:block;font:700 .72rem Montserrat,sans-serif}.trust-item span{display:block;color:#666;font-size:.68rem;margin-top:3px}

/* Range page */
.page-hero{padding:56px 0;background:var(--grey);border-bottom:1px solid #ddd}.page-hero h1{font-size:clamp(2.2rem,4vw,3.7rem)}.page-hero p{max-width:760px;color:var(--muted);margin-top:13px}.page-hero.dark{background:var(--charcoal);color:#fff}.page-hero.dark p{color:#ddd}.breadcrumb{font-size:.72rem;color:#777;margin-bottom:14px}.breadcrumb a{text-decoration:none}.breadcrumb span{margin:0 6px}.range-intro{display:grid;grid-template-columns:1fr 1fr;gap:22px}.profile-card{position:relative;overflow:hidden;border-radius:7px;min-height:520px;background:#ddd;text-decoration:none;color:#fff;box-shadow:var(--shadow-sm)}.profile-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.35s}.profile-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,0) 60%)}.profile-card:hover img{transform:scale(1.025)}.profile-content{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}.profile-content h2{font-size:2rem}.profile-content p{max-width:460px;margin:8px 0 17px;color:#eee}.profile-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.profile-tags span{font-size:.67rem;font-weight:700;border:1px solid rgba(255,255,255,.5);padding:5px 8px;border-radius:999px}.finish-explain{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}.finish-panel{background:#fff;border:1px solid var(--line);padding:24px;border-radius:6px}.finish-panel h3{font-size:1.15rem}.finish-panel p{color:var(--muted);font-size:.86rem;margin-top:7px}.range-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd;border:1px solid #ddd}.range-step{background:#fff;padding:28px}.range-step .num{color:var(--orange);font:800 .75rem Montserrat,sans-serif}.range-step h3{font-size:1rem;margin:9px 0 6px}.range-step p{font-size:.8rem;color:var(--muted)}

/* Product detail */
.product-top{padding:42px 0 52px}.product-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:start}.product-gallery{display:grid;grid-template-columns:82px 1fr;gap:12px}.thumbs{display:flex;flex-direction:column;gap:10px}.thumb{border:1px solid #ddd;border-radius:5px;background:#fff;padding:0;overflow:hidden;cursor:pointer;height:78px}.thumb.active{border:2px solid var(--orange)}.thumb img{width:100%;height:100%;object-fit:cover}.main-image{height:570px;background:#f6f6f6;border:1px solid #e4e4e4;border-radius:6px;overflow:hidden}.main-image img{width:100%;height:100%;object-fit:cover}.product-info{position:sticky;top:112px}.product-info .overline{font:800 .68rem Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}.product-info h1{font-size:2.2rem;margin-top:7px}.product-intro{color:var(--muted);font-size:.9rem;margin:12px 0}.rating-line{font-size:.75rem;color:#777;padding:8px 0 12px;border-bottom:1px solid #e5e5e5}.price-line{display:flex;align-items:end;justify-content:space-between;margin:16px 0 20px}.price-line .price{font:800 1.45rem Montserrat,sans-serif}.price-line .price small{font:400 .7rem Inter,sans-serif;display:block;color:#777;margin-top:2px}.prototype-note{font-size:.65rem;background:#fff4e9;color:#8f4c11;padding:5px 8px;border-radius:3px}.option-group{margin:18px 0}.option-label{display:flex;justify-content:space-between;font-size:.76rem;font-weight:800;margin-bottom:9px}.option-label small{font-weight:400;color:#777}.finish-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.finish-option{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #d8d8d8;border-radius:5px;background:#fff;cursor:pointer;text-align:left}.finish-option.active{border:2px solid var(--orange);padding:9px}.finish-option img{width:54px;height:54px;object-fit:cover;border-radius:3px}.finish-option strong{font-size:.77rem;display:block}.finish-option span{font-size:.68rem;color:#777}.length-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.length-option{padding:13px;border:1px solid #d8d8d8;border-radius:5px;background:#fff;cursor:pointer;text-align:left}.length-option.active{border:2px solid var(--orange);padding:12px}.length-option strong{display:block;font-size:.8rem}.length-option span{font-size:.68rem;color:#777}.selection-summary{background:var(--grey);padding:12px 14px;border-radius:5px;font-size:.76rem;display:grid;grid-template-columns:1fr 1fr;gap:6px}.selection-summary strong{font-size:.7rem}.purchase-row{display:grid;grid-template-columns:105px 1fr;gap:10px;margin-top:14px}.qty-field{display:flex;border:1px solid #ccc;border-radius:4px;overflow:hidden}.qty-field button{width:32px;border:0;background:#f4f4f4;font-size:1.1rem;cursor:pointer}.qty-field input{width:40px;border:0;text-align:center;font:700 .82rem Inter}.qty-field input:focus{outline:none}.product-help{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.product-help a{font-size:.72rem;text-decoration:none;border:1px solid #ddd;padding:10px;text-align:center;border-radius:4px;font-weight:700}.profile-switch{margin-top:16px;border-top:1px solid #ddd;padding-top:14px;font-size:.75rem;color:#666}.profile-switch a{color:var(--orange);font-weight:800;text-decoration:none}
.product-benefits{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:22px 0}.product-benefit-grid{display:grid;grid-template-columns:repeat(5,1fr)}.product-benefit{text-align:center;padding:6px 16px;border-right:1px solid #ddd}.product-benefit:last-child{border-right:0}.product-benefit .icon{font-size:1.4rem;color:var(--orange)}.product-benefit strong{display:block;font:700 .7rem Montserrat,sans-serif;margin-top:5px}.product-benefit span{font-size:.66rem;color:#777}
.product-calculator-section{background:#252525;color:#fff}.product-calc-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}.product-calculator{background:#303030;border:1px solid #555;padding:24px;border-radius:6px}.product-calculator .fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.product-calculator input{background:#fff}.product-calc-result{margin-top:15px;display:none;background:#222;padding:16px;border-left:3px solid var(--orange)}.product-calc-result.show{display:block}.product-calc-result strong.big{font:800 1.5rem Montserrat,sans-serif;color:var(--orange);display:block}.calc-small{font-size:.7rem;color:#bbb;margin-top:7px}
.complete-section{background:#f7f7f7}.complete-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.accessory-card{background:#fff;border:1px solid #ddd;border-radius:6px;overflow:hidden}.accessory-card img{width:100%;height:170px;object-fit:contain;background:#f4f4f4}.accessory-card .body{padding:16px}.accessory-card h3{font-size:.9rem}.accessory-card p{font-size:.73rem;color:#666;margin:6px 0 11px}.accessory-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.accessory-bottom strong{font-size:.8rem}.accessory-bottom button{border:1px solid var(--orange);background:#fff;color:var(--orange);border-radius:3px;padding:8px 11px;font:800 .62rem Montserrat,sans-serif;text-transform:uppercase;cursor:pointer}.bundle-bar{display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--charcoal);color:#fff;margin-top:18px;padding:18px 21px;border-radius:5px}.bundle-bar p{font-size:.77rem;color:#ddd}.bundle-bar h3{font-size:1rem}
.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px}.spec-table{width:100%;border-collapse:collapse;margin-top:16px}.spec-table td{padding:11px 5px;border-bottom:1px solid #ddd;font-size:.8rem}.spec-table td:first-child{color:#777;width:42%}.use-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.use-item{padding:12px 13px;background:var(--grey);font-size:.78rem;border-left:3px solid var(--orange)}.delivery-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.delivery-card{border:1px solid #ddd;border-radius:5px;padding:17px}.delivery-card h3{font-size:.9rem}.delivery-card p{font-size:.76rem;color:#666;margin-top:6px}.install-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:22px}.install-step{border-top:3px solid var(--orange);background:#fff;padding:17px;box-shadow:var(--shadow-sm)}.install-step .num{font:800 .67rem Montserrat,sans-serif;color:#888}.install-step h3{font-size:.84rem;margin:8px 0 5px}.install-step p{font-size:.7rem;color:#666}.install-note{margin-top:18px;background:#fff4e9;border-left:3px solid var(--orange);padding:13px;font-size:.74rem}.faq-list{max-width:880px;margin:24px auto 0;border-top:1px solid #ddd}.faq-item{border-bottom:1px solid #ddd}.faq-q{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;cursor:pointer;font:700 .82rem Montserrat,sans-serif}.faq-a{display:none;padding:0 0 17px;color:#666;font-size:.8rem}.faq-item.open .faq-a{display:block}.help-band{background:var(--orange);color:#fff}.help-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px}.help-band h2{font-size:1.8rem}.help-band p{font-size:.84rem;color:#fff2e7;margin-top:7px}.help-actions{display:flex;gap:10px;flex:0 0 auto}

/* General shop cards */
.shop-layout{display:grid;grid-template-columns:235px 1fr;gap:30px}.shop-aside{position:sticky;top:112px;align-self:start}.shop-aside h3{font-size:.76rem;margin-bottom:10px}.filters{display:flex;flex-direction:column}.filters button{background:#fff;border:0;border-bottom:1px solid #ddd;text-align:left;padding:11px 3px;cursor:pointer;font-weight:700}.filters button.active,.filters button:hover{color:var(--orange)}.help-box{margin-top:20px;background:var(--charcoal);color:#fff;padding:17px;border-radius:5px}.help-box p{font-size:.75rem;color:#ccc;margin:7px 0}.help-box a{font-size:.7rem;color:var(--orange);font-weight:800;text-decoration:none}.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid #ddd;border-radius:5px;background:#fff;overflow:hidden}.card .imgbox{height:190px;background:#f6f6f6}.card .imgbox img{width:100%;height:100%;object-fit:cover}.card .body{padding:15px}.card h3{font-size:.9rem;margin:5px 0}.sku{font-size:.63rem;color:#888}.specs,.blurb{font-size:.72rem;color:#666}.blurb{margin-top:7px}.card .foot{display:flex;align-items:end;justify-content:space-between;margin-top:13px;gap:10px}.card .price{font:800 .85rem Montserrat,sans-serif}.card .price small{display:block;color:#888;font:400 .6rem Inter}.add-btn{background:var(--orange);color:white;border:0;border-radius:3px;padding:9px 12px;cursor:pointer;font:800 .63rem Montserrat,sans-serif;text-transform:uppercase}

/* Inner pages / forms / cart */
.panel{background:#fff;border:1px solid var(--line);border-radius:6px;padding:24px;box-shadow:var(--shadow-sm)}.notice{background:#fff5ec;border-left:3px solid var(--orange);padding:13px 15px;border-radius:4px;font-size:.78rem}.hint{font-size:.72rem;color:var(--graphite)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}.contact-list{list-style:none;padding:0}.contact-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.86rem}.contact-list strong{font:800 .67rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#888}.field{margin-bottom:14px}form label{display:block;font-size:.75rem;font-weight:700;margin-bottom:5px}form input,form select,form textarea{width:100%;padding:11px 12px;border:1px solid #d2d2d2;border-radius:4px;font:inherit;background:#fff}form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(245,130,32,.12)}.radio-row{display:flex;align-items:flex-start;gap:9px;padding:8px 0}.radio-row input{width:auto;margin-top:4px}.checkout-grid{display:grid;grid-template-columns:1.35fr .75fr;gap:28px;align-items:start}.cart-table{width:100%;border-collapse:collapse}.cart-table th{text-align:left;font:800 .65rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#888;padding:10px 7px;border-bottom:1px solid var(--line)}.cart-table td{padding:14px 7px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:.8rem}.qty{display:inline-flex;align-items:center;gap:8px}.qty button{width:28px;height:28px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer}.remove{border:0;background:none;color:#888;text-decoration:underline;cursor:pointer}.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:.82rem}.summary-row.total{border-top:1px solid var(--line);padding-top:14px;margin-top:5px;font:800 1rem Montserrat,sans-serif}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature{padding:18px;border:1px solid #ddd;background:#fff}.feature h3{font-size:.92rem}.feature p{font-size:.76rem;color:#666;margin-top:5px}.feature .num{font:800 .8rem Montserrat,sans-serif;color:var(--orange);margin-bottom:7px}

/* Footer */
footer{background:var(--charcoal);color:#bbb;padding:46px 0 27px}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr .9fr;gap:34px}.footer-brand img{width:210px;margin-bottom:16px}.footer-brand p{font-size:.78rem;max-width:330px}.footer-col h4{color:#fff;font-size:.78rem;margin-bottom:12px}.footer-col a{display:block;color:#bbb;text-decoration:none;font-size:.76rem;padding:3px 0}.footer-col a:hover{color:var(--orange)}.footer-fine{border-top:1px solid #444;margin-top:34px;padding-top:17px;display:flex;justify-content:space-between;gap:20px;font-size:.68rem;color:#888}.wa-float{position:fixed;z-index:80;right:20px;bottom:20px;background:#1e1e1e;color:#fff;text-decoration:none;border-radius:999px;padding:11px 15px;font:800 .7rem Montserrat,sans-serif;box-shadow:var(--shadow)}.wa-float:before{content:"●";color:var(--orange);margin-right:7px}#toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--charcoal);color:#fff;padding:10px 17px;border-radius:999px;opacity:0;pointer-events:none;transition:.2s;font-size:.76rem;box-shadow:var(--shadow)}#toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1050px){.main{gap:17px}.main>a,.nav-item>a{font-size:.69rem}.shop-now{display:none}.product-layout{gap:28px}.main-image{height:500px}.popular-grid{grid-template-columns:repeat(2,1fr)}.products-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.wrap{padding:0 20px}.menu-toggle{display:block;margin-left:auto}.main{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 20px;border-bottom:1px solid #ddd;box-shadow:var(--shadow)}.main.open{display:flex}.main>a,.nav-item>a{display:block;padding:11px 0}.dropdown{position:static;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;border:0;width:auto;padding:0 0 5px 13px}.nav-item:hover .dropdown{display:block}.header-actions{margin-left:0}.topbar-group:last-child{display:none}.quick-benefits-grid{grid-template-columns:repeat(3,1fr)}.quick-benefit:nth-child(3){border-right:0}.category-grid,.range-intro,.finish-explain,.product-layout,.product-calc-grid,.detail-columns,.contact-grid,.checkout-grid{grid-template-columns:1fr}.product-info{position:static}.product-gallery{grid-template-columns:1fr}.thumbs{order:2;flex-direction:row}.thumb{width:80px}.calculator-grid{grid-template-columns:1fr}.calc-result-card .btn{width:100%}.range-steps{grid-template-columns:1fr}.product-benefit-grid{grid-template-columns:repeat(3,1fr)}.complete-grid{grid-template-columns:1fr 1fr}.install-steps{grid-template-columns:1fr 1fr}.shop-layout{grid-template-columns:1fr}.shop-aside{position:static}.filters{flex-direction:row;flex-wrap:wrap;gap:5px}.filters button{border:1px solid #ddd;padding:8px 10px}.footer-grid{grid-template-columns:1fr 1fr}.help-band .wrap,.contractor-band .wrap{align-items:flex-start;flex-direction:column}.trust-grid{grid-template-columns:1fr 1fr;gap:14px}.trust-item:nth-child(2){border-right:0}}
@media(max-width:600px){section{padding:54px 0}.topbar{display:none}header.site{height:70px}header.site .wrap{padding:0 15px}.logo img{width:155px}.main{top:70px}.home-hero,.home-hero .wrap{min-height:390px}.hero-copy{padding:50px 0}.hero-copy h1{font-size:2.75rem}.hero-copy h1 span:after{width:7px;height:7px}.hero-ctas{flex-direction:column;align-items:stretch}.quick-benefits-grid{grid-template-columns:1fr 1fr}.quick-benefit{border-bottom:1px solid #ddd}.quick-benefit:nth-child(2n){border-right:0}.category-grid,.popular-grid,.complete-grid{grid-template-columns:1fr}.category-card .image{height:160px}.calculator-grid{gap:24px}.calc-inline,.product-calculator .fields{grid-template-columns:1fr}.calc-inline .wide{grid-column:auto}.profile-card{min-height:420px}.main-image{height:390px}.product-info h1{font-size:1.8rem}.finish-options,.length-options,.selection-summary,.product-help,.delivery-cards,.use-list{grid-template-columns:1fr}.purchase-row{grid-template-columns:90px 1fr}.product-benefit-grid{grid-template-columns:1fr 1fr}.product-benefit{border-bottom:1px solid #ddd}.product-benefit:nth-child(2n){border-right:0}.product-benefit:last-child{grid-column:1/-1}.install-steps{grid-template-columns:1fr}.bundle-bar{align-items:flex-start;flex-direction:column}.help-actions{width:100%;flex-direction:column}.help-actions .btn{width:100%}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid #ddd;padding:8px 0}.contractor-message{align-items:flex-start}.footer-grid{grid-template-columns:1fr}.footer-fine{flex-direction:column}.products-grid{grid-template-columns:1fr}.cart-table{font-size:.7rem;display:block;overflow:auto}.feature-grid{grid-template-columns:1fr}}

/* Compatibility for supporting prototype pages */
:root{--radius:6px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.benefit-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd;border:1px solid #ddd}.benefit{background:#fff;padding:18px}.benefit strong{display:block;font:700 .75rem Montserrat,sans-serif}.benefit span{display:block;color:#666;font-size:.72rem;margin-top:5px}.kicker{color:var(--orange);font:800 .72rem Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.hero{position:relative;color:#fff;background:var(--charcoal);padding:68px 0}.hero h1,.hero h2,.hero h3{color:#fff}.hero p{color:#ddd}.btn-ghost{background:transparent;border-color:#fff;color:#fff}.section-head{margin-bottom:22px}.section-head h2{font-size:clamp(1.7rem,3vw,2.5rem)}.section-head>p{color:#666;margin-top:10px}.section-head.center{text-align:center}
@media(max-width:860px){.grid3{grid-template-columns:1fr 1fr}}@media(max-width:600px){.grid3{grid-template-columns:1fr}}
.contractor-band .btn-outline{background:transparent;color:var(--orange)}

/* ============================================================
   V5 — retail journey, quick shop, trade pricing + mobile polish
   ============================================================ */
.home-hero{background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.48) 45%,rgba(0,0,0,.10) 78%),url('https://ceilingco.co.za/wp-content/uploads/2026/10/cc-life-flat-matt.jpg') center/cover no-repeat}
.how-order{background:#fff;padding-top:62px;padding-bottom:62px}.how-order-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:32px;border:1px solid var(--line);border-radius:7px;overflow:hidden}.how-step{padding:25px 22px;border-right:1px solid var(--line);background:#fff}.how-step:last-child{border-right:0}.how-icon{width:42px;height:42px;border:2px solid var(--orange);color:var(--orange);display:flex;align-items:center;justify-content:center;border-radius:50%;font:800 .68rem Montserrat,sans-serif;margin-bottom:14px}.how-step h3{font-size:.9rem}.how-step p{font-size:.75rem;color:#666;margin-top:7px}.trade-home{background:#242424;color:#fff;padding:30px 0}.trade-home .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.trade-home h2{font-size:1.65rem}.trade-home p{max-width:760px;color:#d4d4d4;font-size:.82rem;margin-top:8px}.trade-home.light{background:#fff;color:var(--ink);border-top:1px solid #ddd;border-bottom:1px solid #ddd}.trade-home.light p{color:#666}
.order-promise{background:#fff5ec;border-left:4px solid var(--orange);padding:15px 17px;border-radius:4px;display:flex;flex-direction:column;gap:3px}.order-promise strong{font:800 .78rem Montserrat,sans-serif}.order-promise span{font-size:.72rem;color:#666}.order-promise.compact{margin:0 0 15px}.trade-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#292929;color:#fff;border-radius:5px;padding:13px 14px;margin-bottom:16px}.trade-inline strong{display:block;font:800 .72rem Montserrat,sans-serif}.trade-inline span{display:block;color:#ccc;font-size:.66rem;margin-top:2px}.trade-inline a{color:var(--orange);font:800 .66rem Montserrat,sans-serif;text-decoration:none;white-space:nowrap}.prototype-footnote{font-size:.66rem;color:#888;margin-top:12px}.prototype-footnote.center{text-align:center}
.product-benefit-grid.six{grid-template-columns:repeat(6,1fr)}.accessory-card a{text-decoration:none}.accessory-card .view-details{display:inline-block;margin-top:10px;color:var(--orange);font:800 .65rem Montserrat,sans-serif}.calc-breakdown{font-size:.76rem;color:#eee;margin-top:4px}
.card-title-link{text-decoration:none}.card-title-link:hover{color:var(--orange)}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.quick-add-btn{border:0;background:var(--orange);color:#fff;border-radius:3px;padding:9px 12px;cursor:pointer;font:800 .62rem Montserrat,sans-serif;text-transform:uppercase}.view-details{font-size:.68rem;color:var(--orange);font-weight:800;text-decoration:none}.trade-cart-callout{background:#242424;color:#fff;padding:20px;border-radius:6px;margin-bottom:18px}.trade-cart-callout .trade-kicker{display:block;color:var(--orange);font:800 .66rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em}.trade-cart-callout strong{display:block;font:800 1rem Montserrat,sans-serif;margin:5px 0}.trade-cart-callout p{font-size:.73rem;color:#d3d3d3;margin-bottom:9px}.trade-cart-callout a{color:var(--orange);font:800 .7rem Montserrat,sans-serif;text-decoration:none}
.mini-product h3 a{text-decoration:none}.mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.mini-actions button,.mini-actions a{min-height:34px;border-radius:3px;display:flex;align-items:center;justify-content:center;font:800 .6rem Montserrat,sans-serif;text-transform:uppercase;text-decoration:none;cursor:pointer}.mini-actions button{border:0;background:var(--orange);color:#fff}.mini-actions a{border:1px solid var(--orange);color:var(--orange);background:#fff}
.simple-product-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start}.simple-product-image{height:570px;background:#f6f6f6;border:1px solid #e4e4e4;border-radius:6px;overflow:hidden}.simple-product-image img{width:100%;height:100%;object-fit:contain;padding:28px}.product-info.static{position:static}.related-row{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:16px;margin-top:22px}.related-mini{display:grid;grid-template-columns:80px 1fr;align-items:center;border:1px solid #ddd;border-radius:5px;overflow:hidden;text-decoration:none}.related-mini img{width:80px;height:80px;object-fit:contain;background:#f4f4f4;padding:6px}.related-mini span{padding:10px;font:700 .75rem Montserrat,sans-serif}

/* Quick shop overlay */
body.modal-open{overflow:hidden}.quick-shop-overlay{position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:200;display:none;align-items:center;justify-content:center;padding:20px}.quick-shop-overlay.open{display:flex}.quick-shop-panel{position:relative;width:min(860px,100%);background:#fff;border-radius:8px;box-shadow:0 24px 80px rgba(0,0,0,.3);padding:24px}.quick-shop-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:2rem;cursor:pointer;color:#777}.quick-shop-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:center}.quick-shop-image{height:390px;background:#f6f6f6;border-radius:5px;overflow:hidden}.quick-shop-image img{width:100%;height:100%;object-fit:cover}.quick-shop-copy{font-size:.78rem;color:#666;margin:8px 0 18px}.qs-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.qs-buttons button{padding:11px;border:1px solid #ccc;background:#fff;border-radius:4px;cursor:pointer;font-weight:700}.qs-buttons button.active{border:2px solid var(--orange);padding:10px;color:var(--orange)}.quick-shop-meta{padding:12px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;gap:12px;align-items:center}.quick-shop-meta strong{font:800 1rem Montserrat,sans-serif}.quick-shop-meta span{font-size:.68rem;color:#777;text-align:right}.qs-purchase{display:grid;grid-template-columns:105px 1fr;gap:10px;margin-top:14px}.qs-calc-link{display:block;color:var(--orange);font:800 .68rem Montserrat,sans-serif;text-decoration:none;margin-top:12px}

@media(max-width:860px){
 .how-order-grid{grid-template-columns:1fr 1fr}.how-step:nth-child(2){border-right:0}.how-step:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .trade-home .wrap{align-items:flex-start;flex-direction:column;gap:18px}.product-benefit-grid.six{grid-template-columns:repeat(3,1fr)}.simple-product-layout{grid-template-columns:1fr;gap:28px}.simple-product-image{height:480px}.quick-shop-grid{grid-template-columns:1fr 1fr;gap:20px}.quick-shop-image{height:330px}
}
@media(max-width:600px){
 .topbar{display:block}.topbar .wrap{height:30px;padding:0 10px;justify-content:center}.topbar-primary{gap:14px;width:100%;justify-content:center}.topbar-secondary,.utility-phone{display:none}.utility-item{font-size:.61rem;white-space:nowrap}.uicon{font-size:.7rem}
 .how-order-grid{grid-template-columns:1fr}.how-step{border-right:0;border-bottom:1px solid var(--line)!important}.how-step:last-child{border-bottom:0!important}.trade-home{padding:28px 0}.trade-home .btn{width:100%}.product-benefit-grid.six{grid-template-columns:1fr 1fr}.product-benefit-grid.six .product-benefit:last-child{grid-column:auto}.trade-inline{align-items:flex-start;flex-direction:column}.simple-product-image{height:360px}.related-row{grid-template-columns:1fr}.quick-shop-overlay{padding:8px;align-items:flex-end}.quick-shop-panel{border-radius:10px 10px 0 0;padding:22px 16px;max-height:92vh;overflow:auto}.quick-shop-grid{grid-template-columns:1fr}.quick-shop-image{height:210px}.qs-purchase{grid-template-columns:90px 1fr}.quick-shop-meta{align-items:flex-start;flex-direction:column}.quick-shop-meta span{text-align:left}.mini-actions{grid-template-columns:1fr}.product-top{padding-top:28px}.simple-product-layout .product-info h1{font-size:1.8rem}
}
.profile-card .profile-image-link{position:absolute;inset:0;z-index:0}.profile-content h2 a{color:#fff;text-decoration:none}.profile-actions{display:flex;gap:9px;flex-wrap:wrap}.profile-actions button{font-family:Montserrat,Arial,sans-serif}.profile-card .profile-content{pointer-events:auto}.profile-card .profile-image-link img{width:100%;height:100%;object-fit:cover}


/* =========================================================
   2. WORDPRESS / ASTRA INTEGRATION
   ========================================================= */
#page,#content,#content>.ast-container,#primary,#main,.site-main>article,.entry-content{display:block;margin:0;padding:0;max-width:none;width:auto;border:0;background:none;float:none;box-shadow:none}
.entry-header,.entry-footer,.post-edit-link,.ast-edit-link,#ast-scroll-top,.ast-breadcrumbs-wrapper,.ast-single-entry-banner{display:none!important}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:6px;top:7px;z-index:100000;background:#fff;padding:12px 20px;display:block}
.footer-social{display:flex;gap:10px;margin-top:18px}
.footer-social a{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:#fff;transition:background .2s}
.footer-social a:hover{background:var(--orange)}
.footer-social svg{width:18px;height:18px}

/* Sticky header clears the admin bar (logged-in users only) */
.admin-bar header.site{top:32px}
@media(max-width:782px){.admin-bar header.site{top:46px}}
@media(max-width:600px){.admin-bar header.site{top:0}}

/* =========================================================
   3. WOOCOMMERCE CHECKOUT IN THE PROTOTYPE STYLE
   ========================================================= */
.cc-checkout .woocommerce-notices-wrapper:empty{display:none}
.cc-checkout .woocommerce-error,.cc-checkout .woocommerce-message,.cc-checkout .woocommerce-info{list-style:none;margin:0 0 20px;background:#fff5ec;border-left:3px solid var(--orange);padding:13px 15px;border-radius:4px;font-size:.8rem}
.cc-checkout .woocommerce-error{border-left-color:#c0392b;background:#fdf1f0}
.cc-checkout form.checkout{display:grid;grid-template-columns:1.35fr .75fr;gap:0 28px;align-items:start}
.cc-checkout #customer_details{grid-column:1;grid-row:1/span 3;background:#fff;border:1px solid var(--line);border-radius:6px;padding:24px;box-shadow:var(--shadow-sm)}
.cc-checkout #customer_details .col-1,.cc-checkout #customer_details .col-2{width:auto;float:none}
.cc-checkout #order_review_heading{grid-column:2;grid-row:1;background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:6px 6px 0 0;padding:24px 24px 4px;margin:0;font-size:1.15rem}
.cc-checkout #order_review{grid-column:2;grid-row:2;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 6px 6px;padding:0 24px 24px;box-shadow:var(--shadow-sm)}
.cc-checkout h3{font-size:1.15rem;margin:0 0 16px}
.cc-checkout .woocommerce-additional-fields h3{margin-top:22px}
.cc-checkout .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.cc-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide{grid-column:1/-1}
.cc-checkout .form-row{margin:0 0 14px;padding:0}
.cc-checkout .form-row label{display:block;font-size:.75rem;font-weight:700;margin-bottom:5px}
.cc-checkout .required{color:var(--orange);text-decoration:none;border:0}
.cc-checkout .optional{font-weight:400;color:var(--muted)}
.cc-checkout .woocommerce-input-wrapper{display:block}
.cc-checkout textarea{min-height:90px}
.cc-checkout .shop_table{width:100%;border-collapse:collapse;font-size:.8rem}
.cc-checkout .shop_table th,.cc-checkout .shop_table td{padding:10px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cc-checkout .shop_table thead th{font:800 .65rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#888}
.cc-checkout .shop_table td:last-child,.cc-checkout .shop_table th:last-child{text-align:right}
.cc-checkout .shop_table img{display:none}
.cc-checkout .shop_table .variation{margin:4px 0 0;font-size:.72rem;color:var(--muted)}
.cc-checkout .shop_table .variation dt,.cc-checkout .shop_table .variation dd{display:inline;margin:0}
.cc-checkout .shop_table .variation dd p{display:inline}
.cc-checkout .shop_table tfoot .order-total th,.cc-checkout .shop_table tfoot .order-total td{font:800 1rem Montserrat,sans-serif;border-bottom:0;padding-top:14px}
.cc-checkout #shipping_method{list-style:none;margin:0;padding:0}
.cc-checkout #payment{margin-top:18px}
.cc-checkout #payment ul.payment_methods{list-style:none;margin:0 0 14px;padding:0}
.cc-checkout #payment ul.payment_methods li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.82rem}
.cc-checkout #payment ul.payment_methods li input{width:auto;margin-right:6px}
.cc-checkout #payment .payment_box{background:var(--grey);padding:12px;border-radius:4px;font-size:.75rem;margin-top:8px}
.cc-checkout .woocommerce-privacy-policy-text{font-size:.72rem;color:var(--graphite);margin-bottom:14px}
.cc-checkout #place_order{width:100%;min-height:48px;background:var(--orange);color:#fff;border:0;border-radius:4px;font:800 .82rem Montserrat,sans-serif;text-transform:uppercase;cursor:pointer;transition:.18s}
.cc-checkout #place_order:hover{background:#e87413}
.cc-checkout .woocommerce-order{background:#fff;border:1px solid var(--line);border-radius:6px;padding:24px;box-shadow:var(--shadow-sm)}
.cc-checkout .woocommerce-order-overview{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:22px;margin:14px 0 22px;font-size:.78rem}
.cc-checkout .woocommerce-order-overview li strong{display:block;font-size:.9rem}
.cc-checkout .woocommerce-order h2{font-size:1.2rem;margin:22px 0 12px}
.cc-checkout address{font-style:normal;font-size:.82rem}
.cc-checkout .blockUI.blockOverlay{background:rgba(255,255,255,.6)!important}
@media(max-width:860px){.cc-checkout form.checkout{grid-template-columns:1fr}.cc-checkout #customer_details,.cc-checkout #order_review_heading,.cc-checkout #order_review{grid-column:1;grid-row:auto}.cc-checkout #order_review_heading{margin-top:24px}.cc-checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}}


/* =========================================================
   4. QA FIXES (16/10/2026)
   ========================================================= */
/* Grid columns may shrink so the cart table scrolls inside its panel on phones */
.checkout-grid>*{min-width:0}
/* My Account in the prototype style */
.woocommerce-account .entry-content{max-width:var(--max);margin:0 auto;padding:60px 28px}
.woocommerce-account h2{font-size:1.6rem;margin:0 0 18px}
.woocommerce-account form.login,.woocommerce-account form.register,.woocommerce-account form.lost_reset_password{max-width:520px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:24px;box-shadow:var(--shadow-sm)}
.woocommerce-account .form-row{margin:0 0 14px;padding:0}
.woocommerce-account .form-row label{display:block;font-size:.75rem;font-weight:700;margin-bottom:5px}
.woocommerce-account .required{color:var(--orange);text-decoration:none;border:0}
.woocommerce-account .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;font-weight:400}
.woocommerce-account .woocommerce-form-login__rememberme input{width:auto}
.woocommerce-account button.button{background:var(--orange);color:#fff;border:0;border-radius:4px;min-height:44px;padding:12px 20px;font:800 .78rem Montserrat,sans-serif;text-transform:uppercase;cursor:pointer;margin-top:6px;transition:.18s}
.woocommerce-account button.button:hover{background:#e87413}
.woocommerce-account .lost_password{margin-top:12px;font-size:.8rem}
.woocommerce-account .woocommerce-error,.woocommerce-account .woocommerce-message,.woocommerce-account .woocommerce-info{list-style:none;margin:0 0 20px;background:#fff5ec;border-left:3px solid var(--orange);padding:13px 15px;border-radius:4px;font-size:.8rem}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:4px;text-decoration:none;font-size:.8rem;font-weight:600}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{border-color:var(--orange);color:var(--orange)}
.woocommerce-account .woocommerce-orders-table{width:100%;border-collapse:collapse;font-size:.8rem}
.woocommerce-account .woocommerce-orders-table th,.woocommerce-account .woocommerce-orders-table td{padding:10px 7px;border-bottom:1px solid var(--line);text-align:left}
/* 404 page */
.cc-404-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
/* Desktop menu: larger text, CSS caret instead of a text glyph */
@media(min-width:1260.02px){.main>a,.nav-item>a{font-size:.86rem}}
@media(min-width:1000.02px){.nav-item>a{display:inline-flex;align-items:center}}
.nav-caret{display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 8px;flex-shrink:0}
@media(min-width:1260.02px){.main{gap:22px}}
@media(min-width:1400px){.main{gap:36px}}
@media(max-width:1140px) and (min-width:1000.02px){.main{gap:10px}.main>a,.nav-item>a{font-size:.78rem}}
@media(max-width:1260px) and (min-width:1140.02px){.main{gap:16px}.main>a,.nav-item>a{font-size:.78rem}}
@media(max-width:1000px) and (min-width:861px){.menu-toggle{display:block;margin-left:auto}.main{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:10px 28px 20px;border-bottom:1px solid #ddd;box-shadow:var(--shadow)}.main.open{display:flex}.main>a,.nav-item>a{display:block;padding:11px 0;font-size:.76rem}.dropdown{position:static;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;border:0;width:auto;padding:0 0 5px 13px}.nav-item:hover .dropdown{display:block}.header-actions .cart-btn{margin-right:10px}}
/* Mobile: cart icon away from the screen edge with a larger tap area */
@media(max-width:860px){.header-actions .cart-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;margin-right:10px}.header-actions .cart-count{top:-2px;right:-4px}}
/* Home hero: client hero image from the Hero Image folder */
.home-hero{background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.48) 45%,rgba(0,0,0,.10) 78%),url('https://ceilingco.co.za/wp-content/uploads/2026/10/cc-hero-moody.jpg') center/cover no-repeat}
/* Home hero intro on two lines on desktop */
@media(min-width:1001px){.home-hero .hero-copy{max-width:600px}.home-hero .hero-copy p{max-width:580px}}
@media(max-width:1000px){.cc-desk-br{display:none}}
/* Phone and tablet menu: show the Shop Ceilings links under their parent */
@media(max-width:1000px){.main .dropdown{display:block}.main .dropdown a{font-size:.69rem;font-weight:600;padding:9px 12px}}
/* Phone: benefits as an even 2 x 2 grid */
@media(max-width:600px){.quick-benefit:nth-child(5){display:none}.quick-benefit:nth-child(3){border-right:1px solid #ddd}.quick-benefit:nth-child(3),.quick-benefit:nth-child(4){border-bottom:0}}
/* Phone menu text (14px) */
@media(max-width:860px){.main>a,.nav-item>a,.main .dropdown a{font-size:.875rem}}
/* Slide-out cart */
#cc-cart-drawer{position:fixed;inset:0;z-index:1000;pointer-events:none}
#cc-cart-drawer .ccd-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .25s}
#cc-cart-drawer .ccd-panel{position:absolute;top:0;right:0;height:100%;width:400px;max-width:92vw;background:#fff;box-shadow:var(--shadow);transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column}
#cc-cart-drawer.open{pointer-events:auto}
#cc-cart-drawer.open .ccd-overlay{opacity:1}
#cc-cart-drawer.open .ccd-panel{transform:none}
.ccd-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}
.ccd-head h3{font-size:1.15rem}
.ccd-close{border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;width:40px;height:40px;color:var(--ink)}
.ccd-body{flex:1;overflow-y:auto;padding:4px 22px}
.ccd-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.ccd-item img{width:72px;height:72px;object-fit:cover;border-radius:4px;flex-shrink:0;background:var(--grey)}
.ccd-info{flex:1;display:flex;flex-direction:column;gap:3px;font-size:.82rem;min-width:0}
.ccd-info .sku{font-size:.72rem;color:var(--muted)}
.ccd-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.ccd-info .remove{align-self:flex-start;margin-top:4px}
.ccd-foot{padding:14px 22px 22px;border-top:1px solid var(--line);background:#fff}
.ccd-btn{display:flex;width:100%;margin-top:10px}
.ccd-empty{text-align:center;padding:50px 10px;color:var(--graphite)}
.ccd-empty .btn{margin-top:16px}
.admin-bar #cc-cart-drawer .ccd-panel{top:32px;height:calc(100% - 32px)}
@media(max-width:782px){.admin-bar #cc-cart-drawer .ccd-panel{top:46px;height:calc(100% - 46px)}}
/* Phone and tablet top bar text 1px larger */
@media(max-width:860px){.topbar,.topbar .topbar-group,.topbar .utility-item{font-size:.78rem}}
/* Phone: How to Order heading on two lines */
@media(max-width:600px){.how-order .section-title{font-size:clamp(19px,calc((100vw - 58px)*0.07),27.2px)}}
/* Consistent 32px gap between a paragraph and the buttons below it */
.home-hero .hero-ctas,.page-hero .hero-ctas{margin-top:32px}
.home-hero .hero-copy>p,.page-hero p{line-height:1.6}
.profile-actions{margin-top:32px}

/* ===== WPForms (Contact + Trade) styled to match prototype form ===== */
.wpforms-container.cc-wpf{margin:0!important;padding:0!important;max-width:none!important}
.wpforms-container.cc-wpf .wpforms-form .wpforms-field-container{margin:0}
.wpforms-container.cc-wpf .wpforms-form .wpforms-field{padding:0!important;margin:0 0 14px!important;clear:both}
.wpforms-container.cc-wpf .wpforms-form .wpforms-field-label{display:block!important;font-family:inherit!important;font-size:.75rem!important;font-weight:700!important;line-height:1.5!important;color:inherit!important;margin:0 0 5px!important;padding:0!important}
.wpforms-container.cc-wpf .wpforms-form .wpforms-required-label{display:none!important}
.wpforms-container.cc-wpf .wpforms-form input[type=text],.wpforms-container.cc-wpf .wpforms-form input[type=tel],.wpforms-container.cc-wpf .wpforms-form input[type=email],.wpforms-container.cc-wpf .wpforms-form select,.wpforms-container.cc-wpf .wpforms-form textarea{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;padding:11px 12px!important;border:1px solid #d2d2d2!important;border-radius:4px!important;font:inherit!important;color:inherit!important;background-color:#fff!important;box-shadow:none!important;outline:none!important;margin:0!important}
.wpforms-container.cc-wpf .wpforms-form select{appearance:auto!important;-webkit-appearance:auto!important;background-image:none!important;cursor:pointer}
.wpforms-container.cc-wpf .wpforms-form textarea{height:calc(4lh + 24px)!important;resize:vertical}
#wpforms-115.cc-wpf .wpforms-form textarea{height:calc(5lh + 24px)!important}
.wpforms-container.cc-wpf .wpforms-form input:focus,.wpforms-container.cc-wpf .wpforms-form select:focus,.wpforms-container.cc-wpf .wpforms-form textarea:focus{border-color:var(--orange)!important;box-shadow:none!important}
.wpforms-container.cc-wpf .wpforms-form ::placeholder{color:#757575!important;opacity:1}
.wpforms-container.cc-wpf .wpforms-form .wpforms-submit-container{margin:0!important;padding:0!important;position:relative}
.wpforms-container.cc-wpf .wpforms-form button.wpforms-submit{display:inline-flex!important;align-items:center;justify-content:center;width:100%!important;min-height:44px!important;height:auto!important;padding:12px 20px!important;border:0!important;border-radius:4px!important;background:var(--orange)!important;color:#fff!important;font:800 .78rem/1.2 Montserrat,sans-serif!important;text-transform:uppercase!important;letter-spacing:normal;box-shadow:none!important;cursor:pointer;transition:background .2s}
.wpforms-container.cc-wpf .wpforms-form button.wpforms-submit:hover,.wpforms-container.cc-wpf .wpforms-form button.wpforms-submit:focus{background:#e87413!important}
.wpforms-container.cc-wpf .wpforms-form button.wpforms-submit::after{display:none!important}
.wpforms-container.cc-wpf .wpforms-submit-spinner{position:absolute;right:14px;top:50%;margin-top:-13px!important}
.wpforms-container.cc-wpf .wpforms-form label.wpforms-error,.wpforms-container.cc-wpf .wpforms-form em.wpforms-error{display:block;font-size:.72rem!important;font-weight:600;color:#d63637!important;margin:5px 0 0!important;padding:0!important}
.wpforms-container.cc-wpf .wpforms-form .wpforms-error:is(input,select,textarea){border-color:#d63637!important}
.wpforms-container.cc-wpf + .hint{margin-top:10px}
.wpforms-confirmation-container-full{background:#fff7ef!important;border:1px solid var(--orange)!important;border-radius:4px!important;color:inherit!important;padding:16px 18px!important;margin:0 0 10px!important;font-size:.9rem}
.wpforms-confirmation-container-full p{margin:0!important}

/* Hide WPForms email suggestion ("Did you mean...") */
.mailcheck-error{
display:none!important;
}

/* Space between form panel heading and first field */
.panel:has(.cc-wpf) h3{margin-bottom:18px!important}

/* Footer link text 1px larger */
.footer-col a{font-size:.8225rem}

/* PVC Ceilings "Two panel lengths" heading on 2 lines on mobile */
@media(max-width:600px){.section-head h2.cc-specs-title{font-size:min(5.9vw,1.7rem)}}

/* Payfast logo 2x on mobile (plugin sets an inline !important height, so scale with zoom) */
@media(max-width:860px){.cc-checkout #payment .payment_method_paygate label img{zoom:2;vertical-align:middle}}

/* About page */
.cc-about-intro{align-items:center}
.cc-about-photo img{display:block;width:100%;height:420px;object-fit:cover;border-radius:6px;box-shadow:var(--shadow-sm)}
@media(max-width:860px){.cc-about-photo img{height:260px}}

/* Keep the header Shop Now button on one line */
.shop-now{white-space:nowrap}

/* Wider header and top bar on desktop so the menu items have room */
header.site .wrap,.topbar .wrap{max-width:1340px}

/* Desktop: more space between cart icon and Shop Now */
@media(min-width:1140.02px){.header-actions{gap:20px}}
@media(min-width:1400px){.header-actions{gap:22px}}
@media(max-width:1100px){.shop-now{display:none}}

/* Joiners & Trims and Installation Essentials: 2-column product grid on phones */
@media(max-width:600px){
#trims .products-grid,#essentials .products-grid{grid-template-columns:1fr 1fr;gap:12px}
#trims .card .imgbox,#essentials .card .imgbox{display:block;position:relative;height:auto;aspect-ratio:1/1}
#trims .card .imgbox img,#essentials .card .imgbox img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#trims .card .body,#essentials .card .body{padding:12px}
#trims .card h3,#essentials .card h3{font-size:.8rem;line-height:1.3}
#trims .card .specs,#essentials .card .specs,#trims .card .blurb,#essentials .card .blurb{font-size:.72rem}
#trims .product-card,#essentials .product-card{display:flex;flex-direction:column}
#trims .card .body,#essentials .card .body{flex:1;display:flex;flex-direction:column}
#trims .card .foot,#essentials .card .foot{margin-top:auto;padding-top:10px}
#trims .card .card-actions,#essentials .card .card-actions{flex-direction:column;align-items:stretch;gap:8px}
#trims .card .quick-add-btn,#essentials .card .quick-add-btn{width:100%}
#trims .card .view-details,#essentials .card .view-details{text-align:center}
}

/* Phones: an odd last product spans the full row */
@media(max-width:600px){#trims .product-card:last-child:nth-child(odd),#essentials .product-card:last-child:nth-child(odd){grid-column:1/-1}
#trims .product-card:last-child:nth-child(odd) .imgbox,#essentials .product-card:last-child:nth-child(odd) .imgbox{aspect-ratio:16/9}
#trims .product-card:last-child:nth-child(odd) .card-actions,#essentials .product-card:last-child:nth-child(odd) .card-actions{flex-direction:row;align-items:center;justify-content:space-between}
#trims .product-card:last-child:nth-child(odd) .quick-add-btn,#essentials .product-card:last-child:nth-child(odd) .quick-add-btn{width:auto;flex:1;max-width:60%}}

/* Copyright bar text 1px larger on mobile */
@media(max-width:860px){.footer-fine{font-size:.7425rem}}

/* Phones: larger text in the product benefit grid and trust strip */
@media(max-width:600px){.product-benefit-grid strong{font-size:.9rem}.product-benefit-grid span{font-size:.8rem;line-height:1.45;display:block;margin-top:4px}.product-benefit-grid .icon{font-size:1.6rem}.trust-item strong{font-size:.85rem}.trust-item div{font-size:.78rem;line-height:1.45}}

/* Policy pages */
.cc-legal{max-width:820px}
.cc-legal h2{font-size:1.15rem;margin:30px 0 10px}
.cc-legal p{margin:0 0 12px;color:var(--graphite);line-height:1.65}
.cc-legal ul{margin:0 0 14px 20px;padding:0}
.cc-legal li{margin:0 0 6px;color:var(--graphite);line-height:1.6}

/* Content update 21/10: shared CTA row, tick list, collection card */
.cc-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.cc-ticks{list-style:none;margin:0;padding:0}
.cc-ticks li{position:relative;padding:10px 0 10px 30px;border-bottom:1px solid var(--line);font-weight:600}
.cc-ticks li:last-child{border-bottom:0}
.cc-ticks li:before{content:"";position:absolute;left:4px;top:15px;width:7px;height:12px;border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(45deg)}
.cc-collect-card h3{font-size:1rem;margin:0 0 8px}
.cc-collect-card p{margin:0 0 18px}
.cc-collect-card p.hint{margin:0}
.cc-final-cta{border-top:1px solid rgba(255,255,255,.08)}

/* Product pages: intro copy and 8 key features */
.cc-lead{margin:14px 0 4px}
.cc-lead p{margin:0 0 8px;color:var(--graphite);font-size:.92rem;line-height:1.6}
.product-benefit-grid.eight{grid-template-columns:repeat(4,1fr)}
.product-benefit-grid.eight .product-benefit{border-right:1px solid #ddd;border-bottom:0;padding:14px 16px}
.product-benefit-grid.eight .product-benefit:nth-child(4n){border-right:0}
.product-benefit-grid.eight .product-benefit:nth-child(-n+4){border-bottom:1px solid #ddd}
@media(max-width:860px){.product-benefit-grid.eight{grid-template-columns:1fr 1fr}.product-benefit-grid.eight .product-benefit{border-right:1px solid #ddd;border-bottom:1px solid #ddd}.product-benefit-grid.eight .product-benefit:nth-child(2n){border-right:0}.product-benefit-grid.eight .product-benefit:nth-last-child(-n+2){border-bottom:0}.product-benefit-grid.eight .product-benefit:last-child{grid-column:auto}}

/* Footer contact + policy links, checkout notes */
.footer-contact{font-size:.78rem;line-height:1.6;margin-top:10px}
.footer-contact a{color:#bbb;text-decoration:none}
.footer-contact a:hover{color:var(--orange)}
.footer-policies a{color:#888;text-decoration:none}
.footer-policies a:hover{color:var(--orange)}
.cc-checkout-note{font-size:.82rem;color:var(--graphite);margin:0 0 14px}
.cc-pay-note{background:var(--grey);border-radius:4px;padding:12px 14px;margin:16px 0}
.cc-pay-note strong{display:block;margin-bottom:3px;color:var(--charcoal)}
.cc-policy-note{font-size:.78rem;color:var(--graphite);margin:0 0 12px;line-height:1.55}
.cc-policy-note a{color:var(--orange)}

/* 27/10/2026: Joiners and Installation Essentials cards on tablet and desktop match the phone card (square image, full details, actions aligned at the bottom). The image link is inline, so the 190px box never applied and the image filled the card, hiding the name, price and Quick Add. */
@media(min-width:600.02px){
#trims .card .imgbox,#essentials .card .imgbox{display:block;position:relative;height:auto;aspect-ratio:1/1}
#trims .card .imgbox img,#essentials .card .imgbox img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#trims .product-card,#essentials .product-card{display:flex;flex-direction:column}
#trims .card .body,#essentials .card .body{flex:1;display:flex;flex-direction:column}
#trims .card .foot,#essentials .card .foot{margin-top:auto;padding-top:10px}
}


/* ---------- Card CTA alignment: keep buttons level across a row ---------- */
.category-card{display:flex;flex-direction:column}
.category-card .body{display:flex;flex-direction:column;flex:1;align-items:flex-start}
.category-card .mini-cta{margin-top:auto}
.accessory-card{display:flex;flex-direction:column}
.accessory-card .body{display:flex;flex-direction:column;flex:1}
.accessory-card .accessory-bottom{margin-top:auto}
.accessory-card .view-details{align-self:flex-start}
@media(min-width:1001px){
.cc-mega a.cc-mcard .tx{display:flex;flex-direction:column;flex:1;align-items:flex-start}
.cc-mega a.cc-mcard em{margin-top:auto;padding-top:9px}
}
