/*
Theme Name: Sitora Commerce
Theme URI: https://example.invalid/sitora-demo
Author: Sitora
Description: Lightweight bilingual WooCommerce theme for the isolated Sitora demo.
Version: 2.26.0
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: sitora
*/

:root { --ink:#151b2b; --muted:#667085; --teal:#24584A; --teal-dark:#1A4338; --mint:#E9F2EE; --blue:#1d3d33; --yellow:#ffc928; --paper:#fff; --soft:#f5f7fa; --line:#e3e7ec; --danger:#b42318; --max:1440px; --radius:5px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
img,svg { display:block; max-width:100%; }
button,input,select { font:inherit; }
.wrap { width:min(calc(100% - 40px),var(--max)); margin-inline:auto; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:1000; background:var(--ink); color:#fff; padding:.8rem 1rem; }
.skip-link:focus { top:1rem; }

.trust-bar { background:#edf1f6; border-bottom:1px solid #dde3ea; color:#25324a; font-size:.78rem; font-weight:700; }
.trust-items { min-height:32px; display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.site-header { background:#fff; box-shadow:0 2px 10px rgba(21,27,43,.05); position:relative; z-index:30; }
.header-main { min-height:98px; display:grid; grid-template-columns:220px minmax(280px,1fr) auto; gap:2rem; align-items:center; }
.brand { display:inline-flex; align-items:center; gap:.52rem; color:#17223b; font-size:2.1rem; font-weight:850; letter-spacing:-.055em; text-decoration:none; width:max-content; }
.brand span { display:grid; place-items:center; width:40px; height:40px; color:#fff; background:linear-gradient(135deg,var(--teal) 0 52%,var(--yellow) 52%); border-radius:10px 3px 10px 3px; font-size:1.35rem; letter-spacing:0; }
.product-search { display:flex; min-height:48px; border:1px solid #d6dce4; border-radius:999px; background:#fff; overflow:hidden; transition:.2s; }
.product-search:focus-within { border-color:var(--teal); box-shadow:0 0 0 3px rgba(36,88,74,.12); }
.product-search input[type=search] { flex:1; min-width:0; border:0; outline:0; padding:0 1.35rem; color:var(--ink); }
.product-search button { width:58px; border:0; color:#fff; background:var(--teal); cursor:pointer; font-size:1.55rem; }
.utility-nav { display:flex; gap:1rem; align-items:center; }
.utility-nav>a { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; text-decoration:none; font-size:1.3rem; position:relative; }
.cart-count { position:absolute; right:-4px; top:-5px; min-width:20px; height:20px; padding:0 4px; display:grid; place-items:center; color:#fff; background:var(--teal); border:2px solid #fff; border-radius:10px; font-size:.68rem; font-weight:800; }
.category-bar { background:var(--teal); color:#fff; }
.category-nav { min-height:45px; display:flex; align-items:center; gap:clamp(1rem,2.8vw,2.5rem); }
.category-nav a { font-size:.83rem; font-weight:750; text-decoration:none; white-space:nowrap; }
.category-nav>a:hover { opacity:.82; }
.all-categories { align-self:stretch; display:flex; align-items:center; padding:0 1.25rem; background:var(--teal-dark); }
.language { margin-left:auto; display:flex; gap:.45rem; align-items:center; }
.language b { opacity:.55; }.language a { opacity:.68; }.language a[aria-current=page] { opacity:1; text-decoration:underline; text-underline-offset:5px; }

.commerce-hero { overflow:hidden; background:linear-gradient(115deg,#10261F 0%,#24584A 100%); color:#fff; }
.commerce-hero-grid { min-height:480px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:4rem; }
.commerce-hero-copy { padding:4rem 0; max-width:760px; position:relative; z-index:2; }
.eyebrow { margin:0 0 1rem; color:#ffd56b; font-size:.73rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.eyebrow.teal { color:var(--teal-dark); }
h1,h2,h3 { letter-spacing:-.025em; }
.commerce-hero h1 { margin:0; max-width:760px; font-size:clamp(2.8rem,5.1vw,5.5rem); line-height:.98; }
.commerce-hero-copy>p:not(.eyebrow) { max-width:620px; margin:1.5rem 0 2rem; color:#dce8ef; font-size:clamp(1rem,1.5vw,1.22rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; }
.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:.75rem 1.2rem; border:1px solid transparent!important; border-radius:var(--radius)!important; font-weight:800!important; text-decoration:none; transition:.18s; }
.button-primary,.woocommerce a.button,.woocommerce button.button.alt,.woocommerce input.button.alt { background:var(--yellow)!important; color:#17223b!important; }
.button-primary:hover,.woocommerce a.button:hover,.woocommerce button.button.alt:hover { background:#f4b900!important; transform:translateY(-1px); }
.button-ghost { color:#fff; border-color:rgba(255,255,255,.55)!important; }
.commerce-hero-visual { min-height:480px; position:relative; }
.hero-disc { position:absolute; border-radius:50%; background:rgba(255,255,255,.08); }.hero-disc-a { width:430px;height:430px;right:2%;top:20px; }.hero-disc-b { width:260px;height:260px;left:6%;bottom:-75px;background:rgba(255,201,40,.18); }
.hero-box { position:absolute; display:flex; flex-direction:column; justify-content:end; color:#152847; background:#fff; box-shadow:0 24px 55px rgba(0,0,0,.25); transform:rotate(-5deg); }
.hero-box strong { font-size:clamp(2rem,4vw,4.5rem); line-height:.9; }.hero-box small { margin-top:.65rem; font-weight:900; letter-spacing:.18em; }
.hero-box-main { width:270px; height:310px; right:22%; top:70px; padding:2rem; border-bottom:18px solid var(--yellow); }.hero-box-small { width:170px; height:145px; right:1%; bottom:45px; padding:1.2rem; transform:rotate(7deg); background:var(--mint); }.hero-box-small strong { font-size:2rem; }

.quick-categories,.product-section .wrap { padding-top:clamp(3.5rem,6vw,6rem); padding-bottom:clamp(3.5rem,6vw,6rem); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:1.8rem; }
.section-heading h2 { margin:0; font-size:clamp(2rem,3.7vw,3.6rem); line-height:1.02; }.section-heading>a { color:var(--teal-dark); font-weight:800; text-decoration:none; white-space:nowrap; }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.category-card { min-height:205px; display:flex; flex-direction:column; padding:1.1rem; border:1px solid var(--line); border-radius:var(--radius); background:#fff; text-decoration:none; transition:.2s; overflow:hidden; }
.category-card:hover { transform:translateY(-3px); border-color:var(--teal); box-shadow:0 12px 28px rgba(21,27,43,.08); }
.category-image { height:112px; display:grid; place-items:center; margin:-1.1rem -1.1rem 1rem; overflow:hidden; background:var(--soft); }.category-image img { width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply; }.category-mark { display:grid;place-items:center;width:68px;height:68px;border-radius:50%;color:#fff;background:var(--teal);font-size:2rem;font-weight:900; }
.category-card strong { font-size:1rem; line-height:1.2; }.category-card small { margin-top:.25rem; color:var(--muted); }.tone-2 .category-mark{background:#315b8a}.tone-3 .category-mark{background:#dd8b1e}.tone-4 .category-mark{background:#6f55a5}
.product-section { background:var(--soft); }

.woocommerce ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin:0!important; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none!important; }
.woocommerce ul.products li.product { width:auto!important; float:none!important; margin:0!important; padding:0 0 1rem!important; border:1px solid var(--line); border-radius:var(--radius); background:#fff; overflow:hidden; position:relative; transition:.2s; }
.woocommerce ul.products li.product:hover { transform:translateY(-3px); box-shadow:0 12px 26px rgba(21,27,43,.09); }
.woocommerce ul.products li.product a img { width:100%; aspect-ratio:1/1; margin:0 0 .85rem!important; object-fit:contain; background:#fff; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:3.45em; padding:0 1rem!important; color:var(--ink); font-size:.93rem!important; line-height:1.25; }
.woocommerce ul.products li.product .price { padding:0 1rem; color:var(--teal-dark)!important; font-size:1.05rem!important; font-weight:850!important; }
.woocommerce ul.products li.product .button { margin:.6rem 1rem 0!important; width:calc(100% - 2rem); min-height:40px; padding:.55rem .7rem!important; background:var(--teal)!important; color:#fff!important; font-size:.78rem; }
.product-stock { position:absolute; left:.7rem; top:.7rem; z-index:3; padding:.25rem .5rem; border-radius:3px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.12); font-size:.66rem; font-weight:850; text-transform:uppercase; }.product-stock.is-in{color:#087c54}.product-stock.is-out{color:var(--danger)}
.woocommerce span.onsale { min-width:auto; min-height:auto; line-height:1; top:.7rem!important; right:.7rem!important; left:auto!important; margin:0!important; padding:.45rem .55rem; border-radius:3px; background:var(--yellow); color:var(--ink); }

.services-grid { display:grid; grid-template-columns:repeat(3,1fr); padding-top:4rem; padding-bottom:4rem; }
.services-grid article { display:flex; gap:1rem; padding:1.5rem; border-left:1px solid var(--line); }.services-grid article:last-child{border-right:1px solid var(--line)}.services-grid article>span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;color:#fff;background:var(--teal);font-weight:900}.services-grid h3{margin:0 0 .35rem;font-size:1.1rem}.services-grid p{margin:0;color:var(--muted)}

.shop-shell { padding-top:1.25rem; padding-bottom:5rem; }.breadcrumbs,.woocommerce .woocommerce-breadcrumb{margin:0!important;color:var(--muted)!important;font-size:.76rem!important}.catalog-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:2rem;margin-top:1.5rem}.catalog-sidebar{border-right:1px solid var(--line);padding-right:1.4rem}.catalog-sidebar h2{font-size:1rem;margin:0 0 1rem}.catalog-sidebar ul{list-style:none;padding:0;margin:.6rem 0 1.5rem}.catalog-sidebar li a,.filter-all{display:flex;justify-content:space-between;gap:.7rem;padding:.55rem 0;border-bottom:1px solid #eef0f3;text-decoration:none;font-size:.82rem}.catalog-sidebar small{color:var(--muted)}.filter-all{color:var(--teal-dark);font-weight:850}.sidebar-help{margin-top:1.5rem;padding:1.2rem;color:#fff;background:var(--blue);border-radius:var(--radius)}.sidebar-help p{margin:.4rem 0 0;color:#dbe4f1;font-size:.82rem}.catalog-results .woocommerce-products-header__title{margin:.2rem 0 1rem;font-size:clamp(2rem,4vw,3.8rem)}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:1.4rem}.woocommerce .woocommerce-ordering select{padding:.55rem;border:1px solid var(--line);background:#fff}.single-product-shell{margin-top:1.5rem}.woocommerce div.product div.images img{border:1px solid var(--line);object-fit:contain}.woocommerce div.product .product_title{font-size:clamp(2rem,3.7vw,3.6rem);line-height:1.03}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--teal-dark);font-weight:850}.woocommerce div.product form.cart .button{background:var(--teal)!important;color:#fff!important}.woocommerce-message,.woocommerce-info{border-top-color:var(--teal)!important}.woocommerce-message::before,.woocommerce-info::before{color:var(--teal)!important}.woocommerce table.shop_table{border-color:var(--line)}
.generic-content{min-height:55vh;padding-top:3rem;padding-bottom:5rem}.generic-content h1{font-size:clamp(2.3rem,5vw,4.5rem)}

.site-footer { padding:4rem 0 1.5rem; background:#10221c; color:#cbd5e3; }.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:3rem}.brand-light{color:#fff}.footer-grid h3{margin:0 0 1rem;color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}.footer-grid a,.footer-grid span{display:block;margin:.45rem 0;color:#cbd5e3;text-decoration:none;font-size:.84rem}.footer-grid p{max-width:260px}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);font-size:.76rem}

@media(max-width:1100px){.category-grid,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.commerce-hero-grid{grid-template-columns:1fr .75fr}.catalog-layout{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:820px){.trust-items span:nth-child(2){display:none}.header-main{grid-template-columns:1fr auto;gap:1rem;padding:1rem 0}.product-search{grid-column:1/-1;grid-row:2}.commerce-hero-grid{grid-template-columns:1fr}.commerce-hero-visual{display:none}.category-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-layout{grid-template-columns:1fr}.catalog-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:0 0 1rem}.catalog-sidebar ul{columns:2}.services-grid,.footer-grid{grid-template-columns:1fr 1fr}.services-grid article:last-child{grid-column:1/-1}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:540px){.wrap{width:min(calc(100% - 24px),var(--max))}.trust-items{justify-content:center}.trust-items span:nth-child(3){display:none}.header-main{grid-template-columns:1fr auto}.brand{font-size:1.75rem}.brand span{width:34px;height:34px}.utility-nav>a:first-child{display:none}.category-nav{gap:.8rem}.all-categories{padding:0 .8rem}.commerce-hero-grid{min-height:430px}.commerce-hero-copy{padding:3rem 0}.commerce-hero h1{font-size:2.75rem}.hero-actions{flex-direction:column;align-items:stretch}.section-heading{align-items:start;flex-direction:column;gap:.7rem}.category-grid,.woocommerce ul.products{grid-template-columns:1fr 1fr;gap:.65rem}.category-card{min-height:178px;padding:.8rem}.category-image{height:90px;margin:-.8rem -.8rem .8rem}.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 .7rem!important;font-size:.82rem!important}.woocommerce ul.products li.product .price{padding:0 .7rem;font-size:.92rem!important}.woocommerce ul.products li.product .button{margin:.5rem .7rem 0!important;width:calc(100% - 1.4rem);font-size:.7rem}.services-grid,.footer-grid{grid-template-columns:1fr}.services-grid article,.services-grid article:last-child{grid-column:auto;border:0;border-top:1px solid var(--line)}.catalog-sidebar ul{columns:1}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.woocommerce div.product .product_title{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}

/* Category navigation (main categories from sitora.be) */
.category-links { display:flex; align-items:center; gap:clamp(.8rem,1.5vw,1.5rem); min-width:0; overflow-x:auto; scrollbar-width:none; }
.category-links::-webkit-scrollbar { display:none; }
.category-links a { font-size:.8rem; font-weight:750; text-decoration:none; white-space:nowrap; }
.category-links a:hover { opacity:.82; }
.category-image img { object-fit:cover; mix-blend-mode:normal; }

/* Categories page (gigatek-style tiles) */
.categories-page { padding-top:1.25rem; padding-bottom:5rem; }
.categories-page h1 { margin:1.2rem 0 1.6rem; font-size:clamp(1.8rem,3vw,2.6rem); }
.category-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; }
.category-tile { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); background:#fff; overflow:hidden; transition:.2s; }
.category-tile:hover { border-color:var(--teal); box-shadow:0 12px 28px rgba(21,27,43,.08); }
.category-tile-head { display:block; padding:.75rem 1rem; color:#fff; background:var(--teal); font-weight:850; text-transform:uppercase; letter-spacing:.02em; text-decoration:none; }
.category-tile-head:hover { background:var(--teal-dark); }
.category-tile-body { position:relative; flex:1; }
.category-tile-image { width:100%; aspect-ratio:16/9; object-fit:cover; }
.category-tile ul { list-style:none; margin:0; padding:.8rem 1rem 1rem; }
.category-tile li a { display:block; padding:.22rem 0 .22rem .9rem; position:relative; color:#25324a; font-size:.88rem; text-decoration:none; }
.category-tile li a::before { content:""; position:absolute; left:0; top:.68rem; border:4px solid transparent; border-left:5px solid currentColor; }
.category-tile li a:hover { color:var(--teal-dark); text-decoration:underline; }
.category-tile li.see-all a { margin-top:.2rem; font-weight:850; color:var(--ink); }
.category-tile li.see-all small { color:var(--muted); font-weight:600; }
.category-extras { display:grid; grid-template-columns:1fr 2fr; gap:2rem; margin-top:3rem; }
.category-extras h2 { margin:0 0 .8rem; font-size:1.2rem; }
.chip-list { display:flex; flex-wrap:wrap; gap:.6rem; }
.chip { display:inline-flex; align-items:center; gap:.4rem; padding:.55rem .9rem; border:1px solid var(--line); border-radius:999px; background:#fff; font-weight:750; font-size:.88rem; text-decoration:none; }
.chip small { color:var(--muted); font-weight:600; }
.chip:hover { border-color:var(--teal); color:var(--teal-dark); }
.chip-promo { background:var(--yellow); border-color:var(--yellow); }

/* Shop sidebar tree */
.catalog-sidebar .category-tree ul { margin:.1rem 0 .4rem; padding-left:.9rem; border-left:2px solid var(--mint); }
.catalog-sidebar .category-tree ul a { font-size:.78rem; padding:.4rem 0; }
.catalog-sidebar a[aria-current=page] { color:var(--teal-dark); font-weight:850; }
.catalog-sidebar .filter-all { margin-bottom:1rem; }

/* Single product: variation table instead of dropdown */
.variation-table-wrap { margin:1rem 0 1.5rem; overflow-x:auto; }
.variation-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.variation-table th { padding:.55rem .6rem; text-align:left; font-size:.78rem; font-weight:850; color:var(--ink); border-bottom:2px solid var(--line); white-space:nowrap; }
.variation-table td { padding:.6rem; border-bottom:1px solid var(--line); vertical-align:middle; }
.variation-table tbody tr:nth-child(even) { background:var(--soft); }
.variation-table tbody tr:hover { background:var(--mint); }
.variation-sku { color:var(--teal-dark); font-weight:700; white-space:nowrap; }
.variation-price { white-space:nowrap; }
.variation-price .price, .variation-price .amount { font-weight:850; color:var(--ink); }
.variation-price del { color:var(--muted); font-weight:500; margin-right:.3rem; }
.variation-price small { display:block; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.variation-price small.is-in { color:#087c54; }.variation-price small.is-out { color:var(--danger); }.variation-price small.is-backorder { color:#b26b00; }
.variation-cart { display:flex; gap:.4rem; justify-content:flex-end; margin:0; }
.variation-cart .qty { width:64px; min-height:40px; padding:.3rem .4rem; border:1px solid #cfd6df; border-radius:var(--radius); text-align:center; }
.variation-add { width:52px; min-height:40px; border:0; border-radius:var(--radius); background:var(--teal); color:#fff; font-size:1.1rem; cursor:pointer; }
.variation-add:hover { background:var(--teal-dark); }
.variation-add:disabled, .variation-cart .qty:disabled { opacity:.4; cursor:not-allowed; }
.woocommerce div.product .product_meta .tagged_as { display:none; }

@media(max-width:1100px){ .category-tiles{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media(max-width:820px){ .category-tiles{grid-template-columns:repeat(2,minmax(0,1fr))} .category-extras{grid-template-columns:1fr} }
@media(max-width:540px){
  .category-tiles{grid-template-columns:1fr}
  .category-links{display:none}
  .variation-table thead{display:none}
  .variation-table, .variation-table tbody, .variation-table tr, .variation-table td{display:block; width:100%}
  .variation-table tr{padding:.6rem 0; border-bottom:1px solid var(--line)}
  .variation-table td{display:flex; justify-content:space-between; gap:1rem; padding:.25rem .4rem; border:0}
  .variation-table td[data-label]::before{content:attr(data-label); color:var(--muted); font-size:.78rem; font-weight:700}
  .variation-price small{display:inline; margin-left:.4rem}
}

/* Clickable tile image + subcategory cards on parent category pages */
.category-tile-image-link { display:block; overflow:hidden; }
.category-tile-image-link img { transition:transform .3s; }
.category-tile-image-link:hover img { transform:scale(1.04); }
.subcategory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin:0 0 1.8rem; }
.subcategory-card { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); background:#fff; overflow:hidden; text-decoration:none; transition:.2s; }
.subcategory-card:hover { transform:translateY(-3px); border-color:var(--teal); box-shadow:0 12px 28px rgba(21,27,43,.08); }
.subcategory-image { display:grid; place-items:center; aspect-ratio:4/3; background:#fff; border-bottom:1px solid var(--line); }
.subcategory-image img { width:100%; height:100%; object-fit:contain; padding:.6rem; }
.subcategory-card strong { padding:.75rem .9rem 0; font-size:.95rem; line-height:1.25; }
.subcategory-card small { padding:.2rem .9rem .85rem; color:var(--muted); }
.all-products-link { margin-top:.4rem; }
@media(max-width:1100px){ .subcategory-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media(max-width:540px){ .subcategory-grid{grid-template-columns:1fr 1fr; gap:.65rem} }

/* Slightly larger, easier-to-read category text */
.catalog-sidebar h2 { font-size:1.1rem; }
.catalog-sidebar li a, .filter-all { font-size:.95rem; padding:.6rem 0; }
.catalog-sidebar .category-tree ul a { font-size:.9rem; padding:.45rem 0; }
.category-tile li a { font-size:.98rem; padding:.28rem 0 .28rem .95rem; }
.category-tile li a::before { top:.8rem; }
.category-tile-head { font-size:1.02rem; }
.subcategory-card strong { padding:.85rem 1rem .95rem; font-size:1.08rem; }
.category-card strong { font-size:1.08rem; }
.chip { font-size:.95rem; }

/* Windows & doors page */
.windows-link { flex:none; align-self:stretch; display:flex; align-items:center; padding:0 1rem; background:var(--yellow); color:var(--ink); font-size:.8rem; font-weight:850; text-decoration:none; white-space:nowrap; }
.windows-link:hover { background:#f4b900; }
.windows-hero { background:linear-gradient(115deg,#10261F 0%,#24584A 100%); color:#fff; padding:1.25rem 0 3.5rem; }
.windows-hero .breadcrumbs, .windows-hero .breadcrumbs a { color:#c9d6e3!important; }
.windows-hero .eyebrow { margin-top:1.4rem; }
.windows-hero h1 { margin:0; max-width:900px; font-size:clamp(2.2rem,4.5vw,4.2rem); line-height:1.02; }
.windows-lead { max-width:760px; margin:1.2rem 0 1.8rem; color:#dce8ef; font-size:clamp(1rem,1.4vw,1.15rem); }
.windows-usps { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:-1.6rem; position:relative; }
.windows-usps div { padding:1.1rem 1.2rem; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 10px 24px rgba(21,27,43,.07); }
.windows-usps strong { display:block; color:var(--teal-dark); font-size:1.05rem; }
.windows-usps span { color:var(--muted); font-size:.92rem; }
.windows-section { padding-top:3rem; padding-bottom:2rem; }
.windows-section h2, .windows-family h2 { margin:0 0 1.2rem; font-size:clamp(1.7rem,2.8vw,2.4rem); }
.windows-tiles .category-tile-image { aspect-ratio:16/10; object-fit:contain; background:#fff; }
.windows-tile-text { padding:.9rem 1rem 1.1rem; display:flex; flex-direction:column; gap:.6rem; flex:1; }
.windows-tile-text p { margin:0; color:#3a465c; font-size:.95rem; }
.windows-more { margin-top:auto; color:var(--teal-dark); font-weight:850; text-decoration:none; }
.windows-family { padding:3rem 0; scroll-margin-top:1rem; }
.windows-family:nth-of-type(even) { background:var(--soft); }
.windows-family-head { display:grid; grid-template-columns:minmax(0,420px) 1fr; gap:2.5rem; align-items:center; margin-bottom:1.8rem; }
.windows-family-head img { width:100%; aspect-ratio:16/10; object-fit:contain; background:#fff; border:1px solid var(--line); border-radius:var(--radius); }
.windows-family-head p { max-width:620px; margin:0 0 1.2rem; color:#3a465c; font-size:1.05rem; }
.windows-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.windows-product { padding:0 0 1rem; background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.windows-product-image { display:grid; place-items:center; aspect-ratio:1/1; background:#fff; border-bottom:1px solid var(--line); }
.windows-product-image img { width:100%; height:100%; object-fit:contain; padding:.8rem; }
.windows-product h3 { margin:.85rem 1rem .3rem; font-size:1.05rem; }
.windows-product p { margin:0 1rem; color:var(--muted); font-size:.93rem; }
.windows-cta { background:var(--blue); color:#fff; text-align:center; padding:3.5rem 0; }
.windows-cta h2 { margin:0 0 .6rem; font-size:clamp(1.6rem,2.6vw,2.2rem); }
.windows-cta p { margin:0 auto 1.4rem; max-width:620px; color:#dbe4f1; }
@media(max-width:1100px){ .windows-products{grid-template-columns:repeat(3,minmax(0,1fr))} .windows-usps{grid-template-columns:1fr 1fr} }
@media(max-width:820px){ .windows-family-head{grid-template-columns:1fr; gap:1.2rem} .windows-products{grid-template-columns:1fr 1fr} }
@media(max-width:540px){ .windows-link{padding:0 .7rem} .windows-usps{grid-template-columns:1fr} .windows-products{gap:.65rem} }

/* Uniform image boxes: every card image sits in the same fixed square, whatever its own size */
.subcategory-image, .windows-product-image, .category-image { position:relative; aspect-ratio:1/1; height:auto; overflow:hidden; background:#fff; }
.category-image { aspect-ratio:16/10; }
.subcategory-image img, .windows-product-image img, .category-image img { position:absolute; inset:0; width:100%; height:100%; padding:.8rem; object-fit:contain; }
.category-image img { padding:0; object-fit:cover; }
.subcategory-card strong { min-height:3.2em; }
.category-tile-image-link { position:relative; aspect-ratio:16/9; }
.category-tile-image-link img, .windows-tiles .category-tile-image-link img { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; }
.windows-tiles .category-tile-image-link { aspect-ratio:16/10; background:#fff; }
.windows-tiles .category-tile-image-link img { object-fit:contain; padding:.5rem; }
.windows-family-page { padding-top:1.25rem; }
.windows-family-page .windows-family-head { margin-top:1.5rem; }
.windows-family-page h1 { margin:0 0 .8rem; font-size:clamp(2rem,3.6vw,3.2rem); line-height:1.05; }
.windows-catalogue-note { padding:1.2rem 1.4rem; background:var(--mint); border-radius:var(--radius); font-weight:700; }
.windows-other { margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--line); }
.windows-other h2 { margin:0 0 .9rem; font-size:1.3rem; }

/* Sitora star logo (replaces the "S" badge) */
.brand .brand-star { width:40px; height:auto; flex:none; }
.category-mark-star { position:absolute; inset:0; margin:auto; width:38%!important; height:auto!important; padding:0!important; opacity:.9; }
@media(max-width:540px){ .brand .brand-star{width:34px} }

/* Home hero: copy + mosaic of real categories (replaces the decorative boxes) */
.commerce-hero { background:linear-gradient(115deg,#10261F 0%,#24584A 100%); }
.commerce-hero-grid { min-height:0; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,4vw,4rem); padding:clamp(2.5rem,5vw,4.5rem) 0; }
.commerce-hero-copy { padding:0; }
.commerce-hero h1 { font-size:clamp(2.3rem,4vw,3.9rem); line-height:1.04; }
.hero-points { display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; margin:1.6rem 0 0; padding:0; list-style:none; color:#cfe0ea; font-size:.92rem; font-weight:700; }
.hero-points li::before { content:"✓"; margin-right:.45rem; color:var(--yellow); }
.hero-mosaic { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.hero-tile { position:relative; display:block; aspect-ratio:4/3; border-radius:8px; overflow:hidden; background:#fff; box-shadow:0 14px 30px rgba(0,0,0,.25); text-decoration:none; }
.hero-tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.hero-tile:hover img { transform:scale(1.05); }
.hero-tile span { position:absolute; left:.7rem; bottom:.7rem; padding:.45rem .75rem; border-radius:4px; background:#fff; color:var(--ink); font-size:.88rem; font-weight:850; box-shadow:0 4px 12px rgba(0,0,0,.18); }
.hero-tile:hover span { background:var(--yellow); }
@media(max-width:820px){ .commerce-hero-grid{grid-template-columns:1fr} .hero-mosaic{max-width:560px} }
@media(max-width:540px){ .hero-mosaic{gap:.6rem} .hero-tile span{font-size:.78rem; left:.45rem; bottom:.45rem} }

/* Product grid: whole product visible on white, never cropped */
.woocommerce ul.products li.product a img { aspect-ratio:1/1; object-fit:contain!important; padding:.9rem; background:#fff; }
/* Main category composites (2x2 products on white) */
.category-image img { object-fit:contain; background:#fff; }

/* Header: services link */
.services-link { flex:none; align-self:stretch; display:flex; align-items:center; padding:0 1rem; background:#F07D1A; color:#fff; font-size:.8rem; font-weight:850; text-decoration:none; white-space:nowrap; }
.services-link:hover { background:#D96A0B; }

/* Home hero: services panel */
.hero-services { padding:1.5rem; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:10px; backdrop-filter:blur(2px); }
.hero-services-title { margin:0 0 .9rem; color:#ffd56b; font-size:.75rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.hero-services ul { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin:0; padding:0; list-style:none; }
.hero-services li a { display:flex; align-items:center; gap:.7rem; min-height:58px; padding:.65rem .8rem; border-radius:6px; background:#fff; color:var(--ink); font-size:.9rem; font-weight:800; line-height:1.2; text-decoration:none; transition:.18s; }
.hero-services li a:hover { background:var(--yellow); transform:translateY(-2px); }
.hero-services .service-icon { flex:none; width:26px; height:26px; color:var(--teal-dark); }
.hero-services-more { display:inline-block; margin-top:1rem; color:#fff; font-weight:800; text-decoration:none; }
.hero-services-more:hover { color:var(--yellow); }

/* Services page */
.services-hero { background:linear-gradient(115deg,#10261F 0%,#24584A 100%); color:#fff; padding:1.25rem 0 3.5rem; }
.services-hero .breadcrumbs, .services-hero .breadcrumbs a { color:#c9d6e3!important; }
.services-hero .eyebrow { margin-top:1.4rem; }
.services-hero h1 { margin:0; max-width:860px; font-size:clamp(2.2rem,4.5vw,4rem); line-height:1.03; }
.services-lead { max-width:760px; margin:1.2rem 0 1.8rem; color:#dce8ef; font-size:clamp(1rem,1.4vw,1.15rem); }
.services-section { padding-top:3.5rem; padding-bottom:3rem; }
.services-heading { max-width:720px; margin-bottom:1.8rem; }
.services-heading h2, .services-steps h2, .services-reasons h2 { margin:0 0 .5rem; font-size:clamp(1.7rem,2.8vw,2.4rem); }
.services-heading p { margin:0; color:var(--muted); font-size:1.05rem; }
.services-grid-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.service-card { padding:1.4rem; background:#fff; border:1px solid var(--line); border-radius:8px; transition:.2s; scroll-margin-top:1rem; }
.service-card:hover, .service-card:target { border-color:var(--teal); box-shadow:0 12px 28px rgba(21,27,43,.08); }
.service-icon-wrap { display:grid; place-items:center; width:52px; height:52px; margin-bottom:1rem; border-radius:12px; background:var(--mint); color:var(--teal-dark); }
.service-card h3 { margin:0 0 .45rem; font-size:1.1rem; }
.service-card p { margin:0; color:#4a5568; font-size:.95rem; }
.services-steps { background:var(--soft); padding:3.5rem 0; }
.services-steps ol { display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin:1.6rem 0 0; padding:0; list-style:none; counter-reset:none; }
.services-steps li { position:relative; padding:1.4rem; background:#fff; border-radius:8px; border-top:4px solid var(--teal); }
.step-number { display:grid; place-items:center; width:36px; height:36px; margin-bottom:.8rem; border-radius:50%; background:var(--yellow); color:var(--ink); font-weight:900; }
.services-steps h3 { margin:0 0 .4rem; font-size:1.08rem; }
.services-steps p { margin:0; color:#4a5568; font-size:.95rem; }
.services-reasons { padding-top:3.5rem; padding-bottom:3.5rem; }
.reasons-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; margin-top:1.4rem; }
.reasons-grid div { padding-left:1rem; border-left:3px solid var(--yellow); }
.reasons-grid h3 { margin:0 0 .35rem; font-size:1.05rem; }
.reasons-grid p { margin:0; color:#4a5568; font-size:.95rem; }
.services-also { margin:2.2rem 0 0; padding:1.1rem 1.3rem; background:var(--mint); border-radius:8px; font-weight:700; }
.services-also a { color:var(--teal-dark); }
@media(max-width:1100px){ .services-grid-cards{grid-template-columns:repeat(3,minmax(0,1fr))} .services-steps ol, .reasons-grid{grid-template-columns:1fr 1fr} }
@media(max-width:820px){ .services-grid-cards{grid-template-columns:1fr 1fr} }
@media(max-width:540px){ .services-grid-cards, .services-steps ol, .reasons-grid, .hero-services ul{grid-template-columns:1fr} .services-link{padding:0 .7rem} }

/* Store block: photo, info, Google map, directions */
.store-block { padding:3.5rem 0; background:var(--soft); }
.store-block h2 { margin:0 0 1.4rem; font-size:clamp(1.7rem,2.8vw,2.4rem); }
.store-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.3fr); border-radius:10px; overflow:hidden; background:#fff; border:1px solid var(--line); box-shadow:0 12px 30px rgba(21,27,43,.06); }
.store-photo { width:100%; height:100%; min-height:360px; object-fit:cover; }
.store-info { padding:1.8rem 1.8rem 2rem; }
.store-info h3 { margin:0 0 .3rem; font-size:1.5rem; }
.store-address { margin:0 0 1.2rem; color:var(--muted); font-size:1rem; }
.store-info h4 { margin:1rem 0 .45rem; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-dark); }
.store-hours { display:grid; grid-template-columns:auto 1fr; gap:.3rem 1.2rem; margin:0; font-size:.98rem; }
.store-hours dt { color:var(--muted); }
.store-hours dd { margin:0; font-weight:700; }
.store-contact { margin:0; line-height:1.8; font-size:.98rem; }
.store-contact a { color:var(--ink); font-weight:700; text-decoration:none; }
.store-contact a:hover { color:var(--teal-dark); text-decoration:underline; }
.store-directions-title { margin:1.4rem 0 .5rem; font-size:.8rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-dark); }
.store-directions { display:flex; flex-wrap:wrap; gap:.5rem; }
.store-directions a { display:inline-flex; align-items:center; gap:.45rem; min-height:42px; padding:.55rem .95rem; border-radius:var(--radius); color:#fff; font-size:.9rem; font-weight:800; text-decoration:none; transition:.18s; }
.store-directions a::before { content:""; width:10px; height:10px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); border:2px solid currentColor; }
.store-directions a:hover { transform:translateY(-2px); filter:brightness(1.08); }
.dir-google { background:#1a73e8; }
.dir-waze { background:#33ccff; color:#0b2540!important; }
.dir-apple { background:#1d1d1f; }
.store-map { min-height:360px; }
.store-map iframe { display:block; width:100%; height:100%; min-height:360px; border:0; }
@media(max-width:1100px){ .store-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} .store-map{grid-column:1/-1} }
@media(max-width:700px){ .store-grid{grid-template-columns:1fr} .store-photo{min-height:0; max-height:340px} .store-info{padding:1.4rem} .store-map, .store-map iframe{min-height:300px} }

/* Shop grid: unfolding size panel + quantity/cart on cards */
.woocommerce ul.products li.product .sitora-expand { display:flex; justify-content:center; gap:.4rem; margin:.6rem 1rem 0!important; width:calc(100% - 2rem); min-height:40px; padding:.55rem .7rem!important; background:var(--teal)!important; color:#fff!important; font-size:.78rem; border:0; cursor:pointer; }
.woocommerce ul.products li.product .sitora-expand span { transition:transform .2s; }
.woocommerce ul.products li.product.is-expanded { border-color:var(--teal); box-shadow:0 0 0 2px var(--teal); transform:none; }
.woocommerce ul.products li.product.is-expanded .sitora-expand span { transform:rotate(180deg); }
.woocommerce ul.products li.product.is-expanded::after { content:""; position:absolute; left:50%; bottom:-11px; width:18px; height:18px; background:#fff; border-left:2px solid var(--teal); border-top:2px solid var(--teal); transform:translateX(-50%) rotate(45deg); z-index:5; }
.woocommerce ul.products li.product { overflow:visible; }
.woocommerce ul.products li.product > a { display:block; overflow:hidden; border-radius:var(--radius) var(--radius) 0 0; }
.woocommerce ul.products li.sitora-expand-panel { grid-column:1/-1; padding:1.1rem 1.2rem 1.2rem; background:#fff; border:2px solid var(--teal); border-radius:var(--radius); animation:sitora-unfold .22s ease-out; list-style:none; }
@keyframes sitora-unfold { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
.sitora-panel-head { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:.4rem; }
.sitora-panel-head strong { flex:1 1 280px; font-size:1.05rem; }
.woocommerce .sitora-panel-head .sitora-info { min-height:38px; padding:.45rem .9rem!important; background:#fff!important; color:var(--teal-dark)!important; border:1px solid var(--teal)!important; font-size:.85rem; }
.woocommerce .sitora-panel-head .sitora-info:hover { background:var(--mint)!important; }
.sitora-panel-close { width:38px; height:38px; border:1px solid var(--line); border-radius:50%; background:#fff; font-size:1.4rem; line-height:1; cursor:pointer; color:var(--muted); }
.sitora-panel-close:hover { color:var(--ink); border-color:var(--ink); }
.sitora-expand-panel .variation-table-wrap { margin:.4rem 0 0; }
.woocommerce ul.products li.product .loop-cart { display:flex; gap:.4rem; margin:.6rem 1rem 0; }
.woocommerce ul.products li.product .loop-cart .qty { flex:1; min-width:0; width:auto; }
.woocommerce ul.products li.product .loop-cart .variation-add { flex:none; }
.variation-add { display:inline-grid; place-items:center; }
.variation-cart.is-loading .variation-add { opacity:.6; cursor:progress; }
.variation-cart.is-added .variation-add { background:#087c54; }
.sitora-toast { position:fixed; right:1.2rem; bottom:1.2rem; z-index:1000; max-width:min(380px,calc(100vw - 2.4rem)); padding:.9rem 1.1rem; border-radius:8px; background:var(--ink); color:#fff; font-weight:700; box-shadow:0 14px 34px rgba(0,0,0,.25); opacity:0; transform:translateY(12px); pointer-events:none; transition:.25s; }
.sitora-toast.is-visible { opacity:1; transform:none; pointer-events:auto; }
.sitora-toast.is-error { background:var(--danger); }
.sitora-toast a { color:var(--yellow); margin-left:.3rem; }

/* No breadcrumbs: keep pages aligned without them */
.categories-page h1 { margin-top:.4rem; }
.catalog-layout { margin-top:.5rem; }
.windows-family-page .windows-family-head { margin-top:.5rem; }

/* ===== Mobile version ===== */
.label-short, .menu-toggle { display:none; }
.menu-toggle { width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:#fff; cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:0; }
.menu-toggle span { display:block; width:18px; height:2px; border-radius:2px; background:var(--ink); }
.mobile-menu-overlay { position:fixed; inset:0; z-index:1000; background:rgba(16,34,28,.5); }
.mobile-menu { position:fixed; top:0; right:0; bottom:0; z-index:1001; width:min(86vw,360px); overflow-y:auto; background:#fff; box-shadow:-12px 0 30px rgba(0,0,0,.2); padding:0 1.1rem 2rem; animation:sitora-slide .22s ease-out; }
@keyframes sitora-slide { from { transform:translateX(100%); } to { transform:none; } }
html.menu-open { overflow:hidden; }
.mobile-menu-head { display:flex; align-items:center; justify-content:space-between; padding:1rem 0; border-bottom:1px solid var(--line); }
.mobile-menu-head strong { font-size:1.15rem; }
.mobile-menu-close { width:40px; height:40px; border:1px solid var(--line); border-radius:50%; background:#fff; font-size:1.5rem; line-height:1; cursor:pointer; }
.mobile-menu-langs { display:flex; gap:.5rem; margin:1rem 0; }
.mobile-menu-langs a { flex:1; padding:.55rem 0; border:1px solid var(--line); border-radius:var(--radius); text-align:center; font-weight:800; text-decoration:none; color:var(--ink); }
.mobile-menu-langs a[aria-current=page] { background:var(--teal); border-color:var(--teal); color:#fff; }
.mobile-menu-highlight { display:block; margin:.5rem 0; padding:.85rem 1rem; border-radius:var(--radius); font-weight:850; text-decoration:none; }
.mobile-menu-highlight.is-services { background:#F07D1A; color:#fff; }
.mobile-menu-highlight.is-windows { background:var(--yellow); color:var(--ink); }
.mobile-menu-title { margin:1.3rem 0 .3rem; color:var(--teal-dark); font-size:.75rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.mobile-menu ul { list-style:none; margin:0; padding:0; }
.mobile-menu li a { display:block; padding:.75rem .1rem; border-bottom:1px solid #eef0f3; color:var(--ink); font-size:1rem; text-decoration:none; }
.woocommerce ul.products li.product { min-width:0; }
.woocommerce ul.products li.product .loop-cart .qty { min-width:0; }

@media (max-width:820px) {
  .menu-toggle { display:inline-flex; }
  .utility-nav .nav-label { display:none; }
  .utility-nav { gap:.6rem; }
  .category-bar .wrap { width:100%; }
  .category-nav { gap:0; min-height:0; }
  .category-links, .category-nav .language { display:none!important; }
  .category-nav > a { flex:1 1 0; justify-content:center; text-align:center; min-height:48px; padding:.6rem .4rem; font-size:.82rem; line-height:1.15; white-space:normal; }
  .label-full { display:none; }
  .label-short { display:inline; }
  .woocommerce ul.products, .category-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:540px) {
  .header-main { gap:.7rem; padding:.7rem 0; min-height:0; }
  .product-search { min-height:44px; }
  .category-nav > a { font-size:.76rem; padding:.55rem .3rem; }
  .woocommerce ul.products li.product .loop-cart, .woocommerce ul.products li.product .sitora-expand { margin-left:.6rem!important; margin-right:.6rem!important; width:calc(100% - 1.2rem); }
  .woocommerce ul.products li.product .loop-cart .variation-add { width:42px; }
  .woocommerce ul.products li.product a img { padding:.5rem; }
  .commerce-hero h1, .services-hero h1, .windows-hero h1 { font-size:2.15rem; }
  .section-heading h2, .categories-page h1, .catalog-results .woocommerce-products-header__title { font-size:1.9rem; }
  .woocommerce ul.products li.sitora-expand-panel { padding:.8rem; }
  .sitora-panel-head strong { flex-basis:100%; }
}

/* Category filter: plain sidebar on desktop, folding button on mobile */
.catalog-filter > summary { list-style:none; cursor:default; }
.catalog-filter > summary::-webkit-details-marker { display:none; }
.catalog-filter > summary h2 { display:inline; }
@media (max-width:820px) {
  .catalog-sidebar { padding:0 0 .8rem; }
  .catalog-filter > summary { display:flex; align-items:center; justify-content:space-between; padding:.8rem 1rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--soft); cursor:pointer; }
  .catalog-filter > summary::after { content:"▾"; font-size:1.1rem; transition:transform .2s; }
  .catalog-filter[open] > summary::after { transform:rotate(180deg); }
  .catalog-filter > summary h2 { margin:0; font-size:1rem; }
  .catalog-filter[open] { padding-bottom:.4rem; }
  .catalog-sidebar .sidebar-help { display:none; }
  .catalog-sidebar ul { columns:1!important; }
}
/* Size table on phones: label left, value right; quantity + cart on one full-width row */
@media (max-width:540px) {
  .variation-table td.variation-price { justify-content:flex-end; gap:.6rem; flex-wrap:wrap; }
  .variation-table td.variation-price::before { margin-right:auto; }
  .variation-table td.variation-price small { margin-left:0; }
  .variation-table td.variation-buy { padding-top:.45rem; }
  .variation-table td.variation-buy .variation-cart { width:100%; justify-content:stretch; }
  .variation-table td.variation-buy .qty { flex:1; width:auto; }
  .variation-table td.variation-buy .variation-add { width:64px; }
}
@media (max-width:540px) {
  .label-short { margin-left:.3rem; }
  .services-grid-cards { gap:.6rem; }
  .service-card { display:grid; grid-template-columns:44px 1fr; column-gap:.9rem; align-items:start; padding:1rem; }
  .service-card .service-icon-wrap { grid-row:1 / span 2; width:44px; height:44px; margin:0; border-radius:10px; }
  .service-card h3 { margin:.1rem 0 .25rem; font-size:1rem; }
  .service-card p { font-size:.9rem; }
  .services-steps li, .reasons-grid div { padding:1rem; }
  .services-section, .services-reasons, .services-steps, .store-block { padding-top:2.2rem; padding-bottom:2.2rem; }
}

/* ===== Desktop home: category unfold panel ===== */
.category-card .cat-caret { color:var(--teal); font-size:.85em; transition:transform .2s; display:inline-block; }
.category-card.is-expanded { border-color:var(--teal); box-shadow:0 0 0 2px var(--teal); transform:none; position:relative; }
.category-card.is-expanded .cat-caret { transform:rotate(180deg); }
.cat-unfold-panel { grid-column:1/-1; padding:1.1rem 1.2rem 1.3rem; background:#fff; border:2px solid var(--teal); border-radius:var(--radius); animation:sitora-unfold .22s ease-out; }
.cat-panel-head { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.cat-panel-head strong { flex:1 1 240px; font-size:1.2rem; }
.cat-panel-head .sitora-info { min-height:38px; padding:.45rem .9rem!important; background:#fff!important; color:var(--teal-dark)!important; border:1px solid var(--teal)!important; font-size:.88rem; }
.cat-panel-close { width:38px; height:38px; border:1px solid var(--line); border-radius:50%; background:#fff; font-size:1.4rem; line-height:1; cursor:pointer; color:var(--muted); }
.cat-panel-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:.8rem; }
.cat-panel-item { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; color:var(--ink); text-decoration:none; font-weight:800; font-size:.95rem; transition:.18s; }
.cat-panel-item:hover { border-color:var(--teal); transform:translateY(-2px); }
.cat-panel-image { position:relative; aspect-ratio:1/1; background:#fff; border-bottom:1px solid var(--line); }
.cat-panel-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:.6rem; }
.cat-panel-item > span:last-child { padding:.6rem .7rem; }
.view-switch { color:inherit; opacity:.75; }

/* ===== Mobile version (phones get theme/mobile/* templates) ===== */
.m-home { background:#fff; }
.m-hero { padding:1.2rem 16px 1.1rem; background:linear-gradient(115deg,#10261F 0%,#24584A 100%); color:#fff; }
.m-hero h1 { margin:0 0 .3rem; font-size:1.6rem; line-height:1.1; }
.m-hero p { margin:0 0 .9rem; color:#d6e5df; font-size:.95rem; }
.m-hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }
.m-btn { display:flex; align-items:center; justify-content:center; min-height:46px; border-radius:var(--radius); font-weight:850; font-size:.95rem; text-decoration:none; text-align:center; }
.m-btn-yellow { background:var(--yellow); color:var(--ink); }
.m-btn-orange { background:#F07D1A; color:#fff; }
.m-services { display:flex; gap:.5rem; overflow-x:auto; padding:.8rem 16px; scroll-snap-type:x mandatory; scrollbar-width:none; border-bottom:1px solid var(--line); background:var(--soft); }
.m-services::-webkit-scrollbar { display:none; }
.m-services a { flex:0 0 auto; display:flex; align-items:center; gap:.45rem; padding:.55rem .8rem; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font-size:.85rem; font-weight:800; text-decoration:none; white-space:nowrap; scroll-snap-align:start; }
.m-services .service-icon { width:20px; height:20px; color:var(--teal-dark); }
.m-section { padding:1.2rem 16px; }
.m-section-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:.7rem; }
.m-section-head h2 { margin:0; font-size:1.35rem; }
.m-section-head a { color:var(--teal-dark); font-weight:800; font-size:.9rem; text-decoration:none; }
.m-accordion { border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.m-cat + .m-cat { border-top:1px solid var(--line); }
.m-cat > summary { display:flex; align-items:center; gap:.8rem; padding:.6rem .8rem; list-style:none; cursor:pointer; background:#fff; }
.m-cat > summary::-webkit-details-marker { display:none; }
.m-cat[open] > summary { background:var(--mint); }
.m-thumb { position:relative; flex:none; width:40px; height:40px; border-radius:6px; overflow:hidden; background:#fff; border:1px solid var(--line); }
.m-thumb-main { width:52px; height:52px; }
.m-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:2px; }
.m-cat-name { flex:1; font-weight:850; font-size:1rem; }
.m-chevron { width:10px; height:10px; border-right:2px solid var(--teal-dark); border-bottom:2px solid var(--teal-dark); transform:rotate(45deg); transition:transform .2s; margin-right:.3rem; }
.m-cat[open] .m-chevron { transform:rotate(-135deg); }
.m-subcats { list-style:none; margin:0; padding:.2rem .8rem .5rem; background:var(--mint); }
.m-subcats li a { display:flex; align-items:center; gap:.7rem; padding:.45rem .2rem; color:var(--ink); text-decoration:none; font-size:.95rem; border-bottom:1px solid rgba(36,88,74,.12); }
.m-subcats li:last-child a { border-bottom:0; }
.m-subcats li a span:nth-child(2) { flex:1; }
.m-subcats li a i { color:var(--teal-dark); font-style:normal; font-size:1.2rem; }
.m-subcats-all a { color:var(--teal-dark)!important; padding:.7rem .2rem!important; }
.m-windows { display:flex; align-items:center; gap:.9rem; margin:.4rem 16px; padding:.7rem; border-radius:8px; background:var(--yellow); color:var(--ink); text-decoration:none; }
.m-windows img { width:84px; height:56px; object-fit:contain; background:#fff; border-radius:6px; }
.m-windows strong { display:block; font-size:1rem; line-height:1.2; }
.m-windows small { font-weight:700; font-size:.82rem; }
.m-new .woocommerce ul.products { display:flex!important; gap:.7rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:.4rem; scrollbar-width:none; }
.m-new .woocommerce ul.products li.product { flex:0 0 62%; scroll-snap-align:start; }
.is-mobile-view .store-block { padding:1.4rem 0; }
.is-mobile-view .store-block h2 { font-size:1.35rem; margin-bottom:.8rem; }
.is-mobile-view .store-photo { max-height:180px; min-height:0; }
.is-mobile-view .store-map, .is-mobile-view .store-map iframe { min-height:220px; }
.is-mobile-view .categories-page h1 { font-size:1.5rem; margin:.4rem 0 .9rem; }
.is-mobile-view .categories-page .category-extras { margin-top:1.5rem; }

/* ===== Customer area (My account) ===== */
.account-hero { padding:2.2rem 0 2.6rem; background:linear-gradient(115deg,#10261F 0%,#24584A 100%); color:#fff; }
.account-hero .eyebrow { margin:0 0 .5rem; }
.account-hero h1 { margin:0; font-size:clamp(1.8rem,3.4vw,2.8rem); line-height:1.08; }
.account-hero p:not(.eyebrow) { margin:.6rem 0 0; color:#d6e5df; font-size:1.05rem; max-width:620px; }
.account-body { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:1.6rem; align-items:start; margin-top:-1.4rem; padding-bottom:4rem; position:relative; }
.account-body.is-customer { grid-template-columns:1fr; }
.account-main > .woocommerce { margin:0; }

/* Forms (login, register, lost password, account details, addresses) */
.account-page .woocommerce-notices-wrapper:empty { display:none; }
.account-page #customer_login { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.account-page #customer_login::before, .account-page #customer_login::after { display:none; }
.account-page #customer_login > .u-column1, .account-page #customer_login > .u-column2 { width:auto; float:none; padding:1.6rem; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 26px rgba(16,34,28,.08); }
.account-page #customer_login h2, .account-page .account-main > .woocommerce > h2 { margin:0 0 1rem; font-size:1.35rem; }
.account-page .account-main > .woocommerce > form.woocommerce-form-login, .account-page form.lost_reset_password, .account-page form.woocommerce-ResetPassword { padding:1.6rem; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 26px rgba(16,34,28,.08); }
.account-page form.login, .account-page form.register { margin:0!important; padding:0!important; border:0!important; }
.account-page .form-row { display:block; margin:0 0 1rem!important; padding:0!important; }
.account-page .form-row label, .account-page .woocommerce-form-row label { display:block; margin-bottom:.35rem; font-size:.88rem; font-weight:800; color:var(--ink); }
.account-page .required { color:var(--danger); text-decoration:none; border:0; }
.account-page input.input-text, .account-page select, .account-page textarea, .account-page .select2-container .select2-selection { width:100%; min-height:48px; padding:.65rem .85rem; border:1px solid #cfd6df; border-radius:8px; background:#fff; font-size:1rem; color:var(--ink); transition:border-color .15s, box-shadow .15s; }
.account-page input.input-text:focus, .account-page select:focus, .account-page textarea:focus { outline:0; border-color:var(--teal); box-shadow:0 0 0 3px rgba(36,88,74,.15); }
.account-page .password-input { position:relative; display:block; }
.account-page .show-password-input { position:absolute; right:.6rem; top:50%; transform:translateY(-50%); }
.account-page .woocommerce-form-login__rememberme { display:inline-flex!important; align-items:center; gap:.4rem; margin:0 0 1rem!important; font-weight:600!important; }
.account-page button.button, .account-page .woocommerce-Button, .account-page .woocommerce-button { width:100%; min-height:50px; margin:0!important; background:var(--teal)!important; color:#fff!important; border-radius:8px!important; font-size:1rem; }
.account-page button.button:hover, .account-page .woocommerce-Button:hover { background:var(--teal-dark)!important; }
.account-page form.register button.button { background:var(--yellow)!important; color:var(--ink)!important; }
.account-page form.register button.button:hover { background:#f4b900!important; }
.account-page .lost_password { margin:.9rem 0 0; text-align:center; }
.account-page .lost_password a, .account-page .woocommerce-privacy-policy-text a { color:var(--teal-dark); font-weight:700; }
.account-page .woocommerce-privacy-policy-text p { margin:0 0 1rem; color:var(--muted); font-size:.85rem; }
.account-page form.register > p:not(.form-row) { color:var(--muted); font-size:.9rem; }

/* Side panel for visitors */
.account-benefits { padding:1.5rem; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 26px rgba(16,34,28,.08); }
.account-benefits h2 { margin:0 0 1rem; font-size:1.15rem; }
.account-benefits ul { list-style:none; margin:0 0 1.2rem; padding:0; display:grid; gap:.85rem; }
.account-benefits li { position:relative; padding-left:1.9rem; }
.account-benefits li::before { content:"✓"; position:absolute; left:0; top:.05rem; display:grid; place-items:center; width:1.35rem; height:1.35rem; border-radius:50%; background:var(--mint); color:var(--teal-dark); font-size:.8rem; font-weight:900; }
.account-benefits li strong { display:block; font-size:.95rem; }
.account-benefits li span { color:var(--muted); font-size:.88rem; }
.account-help { display:grid; gap:.25rem; padding:1rem; border-radius:8px; background:var(--blue); color:#fff; }
.account-help a { color:var(--yellow); font-weight:800; text-decoration:none; }

/* Logged-in layout */
.account-page .woocommerce:has(.woocommerce-MyAccount-navigation) { display:grid; grid-template-columns:250px minmax(0,1fr); gap:1.6rem; align-items:start; }
.account-page .woocommerce-MyAccount-navigation, .account-page .woocommerce-MyAccount-content { float:none!important; width:auto!important; }
.account-page .woocommerce-MyAccount-navigation { padding:.6rem; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 26px rgba(16,34,28,.08); position:sticky; top:1rem; }
.account-page .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; }
.account-page .woocommerce-MyAccount-navigation a { display:flex; align-items:center; gap:.7rem; padding:.75rem .8rem; border-radius:8px; color:var(--ink); font-weight:750; text-decoration:none; }
.account-page .woocommerce-MyAccount-navigation a svg { color:var(--teal-dark); flex:none; }
.account-page .woocommerce-MyAccount-navigation a:hover { background:var(--soft); }
.account-page .woocommerce-MyAccount-navigation a[aria-current=page] { background:var(--teal); color:#fff; }
.account-page .woocommerce-MyAccount-navigation a[aria-current=page] svg { color:#fff; }
.account-page .woocommerce-MyAccount-navigation-link--customer-logout { margin-top:.4rem; padding-top:.4rem; border-top:1px solid var(--line); }
.account-page .woocommerce-MyAccount-navigation-link--customer-logout a, .account-page .woocommerce-MyAccount-navigation-link--customer-logout a svg { color:var(--danger); }
.account-page .woocommerce-MyAccount-content { padding:1.6rem; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 26px rgba(16,34,28,.08); min-width:0; }
.account-page .woocommerce-MyAccount-content > h2, .account-page .woocommerce-MyAccount-content h2, .account-page .woocommerce-MyAccount-content h3 { font-size:1.25rem; }
.account-tiles { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:.9rem; }
.account-tile { display:flex; flex-direction:column; gap:.3rem; padding:1.1rem; border:1px solid var(--line); border-radius:10px; color:var(--ink); text-decoration:none; transition:.18s; }
.account-tile:hover { border-color:var(--teal); box-shadow:0 10px 24px rgba(16,34,28,.08); transform:translateY(-2px); }
.account-tile-icon { display:grid; place-items:center; width:46px; height:46px; margin-bottom:.4rem; border-radius:12px; background:var(--mint); color:var(--teal-dark); }
.account-tile strong { font-size:1.02rem; }
.account-tile small { color:var(--muted); font-size:.88rem; }
.account-recent { margin-top:1.8rem; }
.account-recent h2 { margin:0 0 .8rem; }
.account-recent ul { list-style:none; margin:0; padding:0; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.account-recent li + li { border-top:1px solid var(--line); }
.account-recent li a { display:grid; grid-template-columns:auto 1fr auto auto; gap:1rem; align-items:center; padding:.85rem 1rem; color:var(--ink); text-decoration:none; }
.account-recent li a:hover { background:var(--soft); }
.order-status { padding:.2rem .6rem; border-radius:999px; background:var(--soft); font-size:.78rem; font-weight:800; }
.order-status.status-completed { background:#e3f4ea; color:#087c54; }
.order-status.status-processing { background:#fff4d6; color:#8a6100; }
.order-status.status-cancelled, .order-status.status-failed { background:#fde7e5; color:var(--danger); }
.account-empty { padding:1rem 1.1rem; border-radius:10px; background:var(--soft); }
.account-empty a { color:var(--teal-dark); font-weight:800; }
.account-page table.shop_table { border-collapse:separate!important; border:1px solid var(--line)!important; border-radius:10px!important; overflow:hidden; }
.account-page table.shop_table th { background:var(--soft); font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; }
.account-page .woocommerce-orders-table .button { width:auto; min-height:36px; padding:.35rem .8rem!important; font-size:.85rem; }
.account-page .woocommerce-Addresses { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem; }
.account-page .woocommerce-Addresses::before, .account-page .woocommerce-Addresses::after { display:none; }
.account-page .woocommerce-Address { width:auto!important; float:none!important; padding:1.1rem; border:1px solid var(--line); border-radius:10px; }
.account-page .woocommerce-Address-title { display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.account-page .woocommerce-Address-title h2 { margin:0; font-size:1.05rem; }
.account-page .woocommerce-Address-title .edit { color:var(--teal-dark); font-weight:800; }
.account-page .woocommerce-Address address { margin-top:.6rem; font-style:normal; color:#3a465c; line-height:1.6; }
.account-page .woocommerce-message, .account-page .woocommerce-info, .account-page .woocommerce-error { border-radius:8px; }

@media (max-width:900px) {
  .account-body { grid-template-columns:1fr; }
  .account-page #customer_login { grid-template-columns:1fr; }
  .account-page .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns:1fr; }
  .account-page .woocommerce-MyAccount-navigation { position:static; padding:.4rem; }
  .account-page .woocommerce-MyAccount-navigation ul { display:flex; overflow-x:auto; gap:.3rem; scrollbar-width:none; }
  .account-page .woocommerce-MyAccount-navigation li { flex:none; }
  .account-page .woocommerce-MyAccount-navigation a { white-space:nowrap; padding:.6rem .75rem; }
  .account-page .woocommerce-MyAccount-navigation-link--customer-logout { margin:0; padding:0; border:0; }
  .account-page .woocommerce-Addresses { grid-template-columns:1fr; }
}
@media (max-width:540px) {
  .account-hero { padding:1.3rem 0 2.2rem; }
  .account-hero h1 { font-size:1.55rem; }
  .account-hero p:not(.eyebrow) { font-size:.95rem; }
  .account-page #customer_login > .u-column1, .account-page #customer_login > .u-column2, .account-page .woocommerce-MyAccount-content, .account-benefits { padding:1.1rem; }
  .account-tiles { grid-template-columns:1fr 1fr; gap:.6rem; }
  .account-tile { padding:.85rem; }
  .account-tile small { display:none; }
  .account-recent li a { grid-template-columns:auto 1fr; row-gap:.3rem; }
}

/* Account grid: explicit placement (WooCommerce's notices wrapper is an extra, often empty, grid child) */
.account-page .woocommerce:has(.woocommerce-MyAccount-navigation) > * { grid-column:1 / -1; }
.account-page .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation { grid-column:1; grid-row:2; }
.account-page .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content { grid-column:2; grid-row:2; }
.account-page .woocommerce-notices-wrapper:not(:has(*)) { display:none; }
@media (max-width:900px) {
  .account-page .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation,
  .account-page .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content { grid-column:1 / -1; grid-row:auto; }
}

/* ===== Particulier / Professionnel ===== */
.trust-items { gap:1.2rem; }
.mode-switch { display:inline-flex; padding:2px; border-radius:999px; background:#dde3ea; font-size:.76rem; }
.mode-switch a { padding:.22rem .8rem; border-radius:999px; color:#25324a; font-weight:800; text-decoration:none; white-space:nowrap; }
.mode-switch a[aria-current] { background:var(--teal); color:#fff; }
.site-mode-pro .mode-switch a[aria-current] { background:#F07D1A; }
.site-mode-pro .trust-bar { background:#10221c; color:#d6e5df; border-bottom-color:#10221c; }
.site-mode-pro .trust-bar .mode-switch { background:rgba(255,255,255,.12); }
.site-mode-pro .trust-bar .mode-switch a:not([aria-current]) { color:#d6e5df; }
.pro-banner { background:#fff4e8; border-bottom:1px solid #f6d3b0; color:#6b3a07; font-size:.88rem; font-weight:700; }
.pro-banner .wrap { padding:.55rem 0; }
.pro-banner a { color:#c25e06; }
.tier-price-badge { display:inline-block; margin-left:.25rem; padding:.1rem .45rem; border-radius:999px; background:#fff1e3; color:#c25e06; font-size:.72rem; font-weight:850; white-space:nowrap; vertical-align:middle; }
.price del { color:var(--muted); font-weight:500; opacity:.8; }
.mobile-menu-mode { margin-top:1rem; }
.mobile-menu-mode .mode-switch { display:flex; font-size:.9rem; }
.mobile-menu-mode .mode-switch a { flex:1; text-align:center; padding:.55rem 0; }

/* Pro account status / request */
.pro-status { display:grid; gap:.35rem; padding:1.1rem 1.2rem; border-radius:10px; margin-bottom:1.2rem; }
.pro-status-approved { background:#e3f4ea; color:#0d5a3c; }
.pro-status-pending { background:#fff4d6; color:#7a5600; }
.pro-status-refused { background:#fde7e5; color:#8f1d13; }
.pro-status .button { justify-self:start; width:auto!important; margin-top:.5rem!important; }
.pro-intro { color:#3a465c; }
.pro-request-form { display:grid; grid-template-columns:1fr 1fr; gap:0 1rem; }
.pro-request-form .form-row:nth-last-of-type(1), .pro-request-form button { grid-column:1 / -1; }

/* ===== Work sites (chantiers) ===== */
.projects-head p { color:var(--muted); margin-top:-.4rem; }
.project-new { margin:1rem 0 1.4rem; border:1px dashed var(--teal); border-radius:10px; background:var(--mint); }
.project-new > summary, .project-edit > summary { cursor:pointer; list-style:none; font-weight:850; color:var(--teal-dark); }
.project-new > summary { padding:.9rem 1.1rem; }
.project-new > summary::-webkit-details-marker, .project-edit > summary::-webkit-details-marker { display:none; }
.project-form { padding:0 1.1rem 1.1rem; }
.project-edit .project-form { padding:.8rem 0 0; }
.project-checkbox { display:flex; align-items:center; gap:.45rem; margin:0 0 1rem; font-weight:600; font-size:.92rem; }
.project-card { margin-bottom:1rem; padding:1.1rem 1.2rem; border:1px solid var(--line); border-radius:10px; }
.project-card > header { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:.8rem; }
.project-card h3 { margin:0; font-size:1.15rem; }
.project-address { margin:.2rem 0 0; color:var(--muted); font-size:.9rem; }
.project-stats { display:grid; text-align:right; }
.project-stats strong { font-size:1.15rem; }
.project-stats span { color:var(--muted); font-size:.85rem; }
.project-orders { width:100%; border-collapse:collapse; font-size:.93rem; }
.project-orders th { text-align:left; font-size:.76rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); padding:.45rem .5rem; border-bottom:2px solid var(--line); }
.project-orders td { padding:.6rem .5rem; border-bottom:1px solid var(--line); }
.project-orders a { color:var(--teal-dark); font-weight:800; }
.invoice-link { color:var(--teal-dark); font-weight:800; white-space:nowrap; }
.invoice-link::before { content:"⎙ "; }
.project-edit { margin-top:.8rem; padding-top:.7rem; border-top:1px solid var(--line); }
.project-actions { display:flex; gap:.6rem; }
.project-actions .button { width:auto!important; padding:.6rem 1.2rem!important; }
.account-page .project-delete { background:#fff!important; color:var(--danger)!important; border:1px solid #f1c1bc!important; }
.project-loose { background:var(--soft); }
.loose-orders { margin:0; padding-left:1.1rem; }
.loose-orders a { color:var(--ink); }
.order-project { margin-top:1.6rem; padding:1.1rem 1.2rem; border-radius:10px; background:var(--mint); }
.order-project h2 { margin:0 0 .7rem; font-size:1.1rem; }
.order-project-form { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; }
.order-project-form select { width:auto!important; min-width:220px; }
.order-project-form .button { width:auto!important; padding:.6rem 1.2rem!important; min-height:44px; }

/* Checkout box */
.checkout-project { max-width:1100px; margin:0 auto 1.4rem; padding:1.1rem 1.3rem; border:1px solid var(--line); border-left:4px solid var(--teal); border-radius:10px; background:#fff; }
.checkout-project h2 { margin:0; font-size:1.15rem; }
.checkout-project h2 small { color:var(--muted); font-size:.8rem; font-weight:600; }
.checkout-project > p { margin:.3rem 0 .8rem; color:var(--muted); font-size:.92rem; }
.checkout-project-fields { display:grid; gap:.45rem; max-width:520px; }
.checkout-project label { font-weight:800; font-size:.88rem; }
.checkout-project select, .checkout-project input[type=text], .checkout-project textarea { width:100%; min-height:46px; padding:.6rem .8rem; border:1px solid #cfd6df; border-radius:8px; font:inherit; background:#fff; }
.checkout-project-new { display:grid; gap:.45rem; padding:.8rem; border-radius:8px; background:var(--mint); }
.checkout-project-new[hidden] { display:none; }
.checkout-project-saved { margin:0; color:#087c54; font-weight:800; font-size:.85rem; }
.checkout-project-login a { color:var(--teal-dark); font-weight:800; }

/* ===== Quotes (devis) ===== */
.quote-list { display:grid; gap:.9rem; }
.quote-card { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:1.2rem; padding:1.1rem 1.2rem; border:1px solid var(--line); border-radius:10px; }
.quote-type { display:inline-block; padding:.15rem .55rem; border-radius:999px; background:var(--mint); color:var(--teal-dark); font-size:.74rem; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.quote-card h3 { margin:.45rem 0 .2rem; font-size:1.1rem; }
.quote-meta { margin:0; color:var(--muted); font-size:.88rem; }
.quote-note { margin:.6rem 0 0; padding:.6rem .8rem; border-radius:8px; background:var(--soft); font-size:.92rem; }
.quote-side { display:grid; align-content:start; gap:.5rem; justify-items:stretch; text-align:right; }
.quote-amount { font-size:1.35rem; }
.quote-status { justify-self:end; padding:.2rem .6rem; border-radius:999px; font-size:.78rem; font-weight:800; background:var(--soft); }
.quote-status-pending { background:#fff4d6; color:#7a5600; }
.quote-status-accepted { background:#e3f4ea; color:#087c54; }
.quote-status-declined, .quote-status-expired { background:#fde7e5; color:var(--danger); }
.account-page .quote-download { background:#fff!important; color:var(--teal-dark)!important; border:1px solid var(--teal)!important; min-height:42px; }
.quote-answer { display:grid; grid-template-columns:1fr 1fr; gap:.4rem; }
.account-page .quote-answer .button { min-height:42px; font-size:.9rem; }
.account-page .quote-answer .quote-decline { background:#fff!important; color:var(--danger)!important; border:1px solid #f1c1bc!important; }

/* ===== Pro landing ===== */
.pro-hero { padding:3rem 0; background:linear-gradient(115deg,#10261F 0%,#24584A 100%); color:#fff; }
.pro-hero h1 { margin:.2rem 0 .6rem; font-size:clamp(2rem,4vw,3.4rem); line-height:1.05; }
.pro-hero p:not(.eyebrow) { max-width:640px; color:#d6e5df; font-size:1.08rem; margin:0 0 1.6rem; }
.pro-benefits { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:-1.6rem; position:relative; }
.pro-benefits article { padding:1.2rem; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 26px rgba(16,34,28,.08); }
.pro-benefits h2 { margin:0 0 .35rem; font-size:1.05rem; color:var(--teal-dark); }
.pro-benefits p { margin:0; color:#3a465c; font-size:.93rem; }
.pro-steps { padding:2.5rem 0 4rem; }
.pro-steps h2 { font-size:1.6rem; }
.pro-steps ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.pro-steps li { display:flex; align-items:center; gap:.8rem; padding:1rem 1.1rem; border-radius:10px; background:var(--soft); font-weight:800; }

@media (max-width:900px) {
  .pro-benefits { grid-template-columns:1fr 1fr; }
  .pro-steps ol { grid-template-columns:1fr; }
  .quote-card { grid-template-columns:1fr; }
  .quote-side { text-align:left; }
  .quote-status { justify-self:start; }
  .pro-request-form { grid-template-columns:1fr; }
}
@media (max-width:540px) {
  .trust-items { justify-content:space-between!important; }
  .trust-items > span { display:none!important; }
  .trust-items > span:first-of-type { display:inline!important; font-size:.7rem; }
  .pro-benefits { grid-template-columns:1fr; }
  .project-card > header { flex-direction:column; }
  .project-stats { text-align:left; }
  .project-orders thead { display:none; }
  .project-orders tr { display:grid; grid-template-columns:1fr 1fr; padding:.5rem 0; border-bottom:1px solid var(--line); }
  .project-orders td { border:0; padding:.2rem .3rem; }
  .order-project-form select { min-width:0; width:100%!important; }
}

/* Pro access page: login + professional registration */
.pro-register-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 .8rem; }
.account-page .optional { color:var(--muted); font-weight:600; font-size:.82rem; }
.pro-hp { position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.pro-register-note { margin:.2rem 0 1rem; padding:.7rem .85rem; border-radius:8px; background:#fff4e8; color:#6b3a07; font-size:.88rem; }
.account-page form.pro-register button.button { background:#F07D1A!important; color:#fff!important; }
.account-page form.pro-register button.button:hover { background:#D96A0B!important; }
.vat-suffix { margin-left:.2rem; color:var(--muted); font-size:.72em; font-weight:700; text-transform:none; }
@media (max-width:540px) { .pro-register-grid { grid-template-columns:1fr; } }

/* Empty cart */
.sitora-empty-cart { max-width:560px; margin:1rem auto 3rem; padding:2.2rem 1.6rem; text-align:center; border:1px solid var(--line); border-radius:12px; background:#fff; }
.sitora-empty-cart-icon { display:inline-grid; place-items:center; width:72px; height:72px; margin-bottom:.8rem; border-radius:50%; background:var(--mint); color:var(--teal-dark); }
.sitora-empty-cart-icon svg { width:34px; height:34px; }
.sitora-empty-cart h2 { margin:0 0 .4rem; font-size:1.5rem; }
.sitora-empty-cart p { margin:0 0 1.4rem; color:var(--muted); }
.sitora-empty-cart-actions { display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; }
.sitora-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.7rem 1.3rem; border-radius:var(--radius); font-weight:850; text-decoration:none; }
.sitora-btn-primary { background:var(--teal); color:#fff; }
.sitora-btn-primary:hover { background:var(--teal-dark); }
.sitora-btn-ghost { border:1px solid var(--teal); color:var(--teal-dark); background:#fff; }
.sitora-btn-ghost:hover { background:var(--mint); }
.woocommerce-cart .wp-block-woocommerce-cart h1, .woocommerce-cart main h1 { font-size:clamp(1.8rem,3vw,2.6rem); }

/* Information & legal pages */
.legal-hero { background:linear-gradient(120deg,#10261F,#24584A); color:#fff; padding:2.2rem 0 2.4rem; }
.legal-hero .breadcrumbs, .legal-hero .breadcrumbs a { color:#cfe2da!important; text-decoration:none; }
.legal-hero h1 { margin:.5rem 0 0; font-size:clamp(1.9rem,3.6vw,2.9rem); line-height:1.1; }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:3rem; padding:2.5rem 0 4rem; }
.legal-menu { position:sticky; top:1rem; align-self:start; }
.legal-menu p { margin:1.2rem 0 .4rem; color:var(--muted); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.legal-menu p:first-child { margin-top:0; }
.legal-menu ul { list-style:none; margin:0; padding:0; }
.legal-menu a { display:block; padding:.5rem .75rem; border-left:3px solid transparent; color:var(--ink); text-decoration:none; font-size:.93rem; }
.legal-menu a:hover { background:var(--mint); }
.legal-menu a[aria-current] { border-left-color:var(--teal); background:var(--mint); color:var(--teal-dark); font-weight:800; }
.legal-text { max-width:780px; font-size:1rem; line-height:1.7; }
.legal-text h2 { margin:2rem 0 .6rem; font-size:1.3rem; line-height:1.3; }
.legal-text h2:first-child { margin-top:0; }
.legal-text h3 { margin:1.4rem 0 .4rem; font-size:1.05rem; }
.legal-text a { color:var(--teal-dark); }
.legal-text li { margin:.25rem 0; }
.legal-lead { padding:1rem 1.2rem; border-radius:var(--radius); background:var(--soft); }
.legal-facts { list-style:none; padding:0; margin:1rem 0 1.5rem; border:1px solid var(--line); border-radius:var(--radius); }
.legal-facts li { display:grid; grid-template-columns:minmax(150px,30%) 1fr; gap:1rem; margin:0; padding:.7rem 1rem; border-top:1px solid var(--line); }
.legal-facts li:first-child { border-top:0; }
.legal-updated { margin-top:2.5rem; color:var(--muted); font-size:.85rem; }
.legal-form { margin:1rem 0 0; padding:1.4rem; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.legal-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.legal-form label { display:flex; flex-direction:column; gap:.35rem; font-weight:700; font-size:.9rem; }
.legal-form .span-2 { grid-column:1/-1; }
.legal-form input[type=text],.legal-form input[type=email],.legal-form input[type=tel],.legal-form input[type=date],.legal-form textarea { width:100%; box-sizing:border-box; padding:.7rem .8rem; border:1px solid #cdd4dc; border-radius:var(--radius); font:inherit; font-weight:400; }
.legal-form input:focus,.legal-form textarea:focus { outline:2px solid var(--teal); outline-offset:1px; }
.legal-form abbr { color:var(--danger); text-decoration:none; }
.legal-check { flex-direction:row!important; align-items:flex-start; padding:.9rem 1rem; border-radius:var(--radius); background:var(--soft); font-weight:600!important; }
.legal-check input { margin-top:.3rem; }
.legal-hp { position:absolute!important; left:-9999px; }
.legal-form-privacy { margin:1rem 0; color:var(--muted); font-size:.85rem; }
.legal-notice { margin:0 0 1rem; padding:.8rem 1rem; border-radius:var(--radius); font-weight:700; }
.legal-notice.is-ok { background:#e7f5ec; color:#1b5e35; }
.legal-notice.is-error { background:#fdecea; color:var(--danger); }
.footer-address { font-size:.85rem; line-height:1.6; }
.footer-address a { display:inline!important; }
@media(max-width:820px){ .legal-layout{grid-template-columns:1fr;gap:1.5rem;padding-top:1.5rem} .legal-menu{position:static;order:2;border-top:1px solid var(--line);padding-top:1rem} .legal-form-grid{grid-template-columns:1fr} .legal-facts li{grid-template-columns:1fr;gap:.1rem} }

/* Trust bar: shop pickup */
.trust-items .trust-pickup { color:inherit; text-decoration:none; font-weight:inherit; }
.trust-items .trust-pickup:hover { text-decoration:underline; }
@media(max-width:1000px){ .trust-items .trust-pickup{display:none} }

/* Header: account and cart as clear icon + label buttons (icon only on small screens) */
.utility-nav>a.account-link,.utility-nav>a.cart-link { display:inline-flex!important; align-items:center; gap:.5rem; width:auto; height:44px; padding:0 1rem 0 .8rem; border:1px solid var(--line); border-radius:999px; color:var(--ink); font-size:.86rem; font-weight:750; text-decoration:none; transition:.15s; }
.utility-nav>a.account-link:hover,.utility-nav>a.cart-link:hover { border-color:var(--teal); color:var(--teal-dark); background:var(--mint); }
.utility-nav>a.cart-link { background:var(--teal); border-color:var(--teal); color:#fff; }
.utility-nav>a.cart-link:hover { background:var(--teal-dark); color:#fff; }
.utility-nav .nav-icon { position:relative; display:inline-grid; place-items:center; }
.utility-nav .cart-count { right:-10px; top:-9px; background:var(--yellow); color:var(--ink); border-color:var(--teal); }
.trust-vat { color:var(--yellow); font-weight:850; }
@media(max-width:820px){ .utility-nav>a.account-link,.utility-nav>a.cart-link{ width:44px; padding:0; justify-content:center; } }
@media(max-width:820px){ .trust-items .trust-vat{display:inline!important} .trust-items .trust-vat+span{display:none!important} }

/* Windows & doors: installation */
.windows-install { margin:2.5rem 0 0; padding:3rem 0; background:var(--mint); }
.windows-install .wrap { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:3rem; align-items:center; }
.windows-install .eyebrow { color:var(--teal-dark); }
.windows-install h2 { margin:.3rem 0 .8rem; font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.15; }
.windows-install-intro p:not(.eyebrow) { color:#33413c; font-size:1.02rem; line-height:1.65; margin:0 0 1.4rem; }
.windows-install-steps { list-style:none; counter-reset:step; display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:0; padding:0; }
.windows-install-steps li { counter-increment:step; display:flex; flex-direction:column; gap:.35rem; padding:1.2rem 1.2rem 1.2rem 3.6rem; position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--radius); }
.windows-install-steps li::before { content:counter(step); position:absolute; left:1.1rem; top:1.1rem; width:1.8rem; height:1.8rem; display:grid; place-items:center; border-radius:50%; background:var(--teal); color:#fff; font-weight:850; font-size:.9rem; }
.windows-install-steps strong { font-size:1rem; }
.windows-install-steps span { color:var(--muted); font-size:.9rem; line-height:1.5; }
.windows-usps .usp-install strong { color:var(--teal-dark); }
.windows-install-badge { display:inline-block; margin:0 0 1rem!important; padding:.45rem .8rem; border-radius:999px; background:var(--mint); color:var(--teal-dark)!important; font-weight:800; font-size:.9rem; }
@media(max-width:820px){ .windows-install .wrap{grid-template-columns:1fr;gap:1.5rem} .windows-install-steps{grid-template-columns:1fr} }

/* Cookie banner */
.sitora-consent { position:fixed; left:0; right:0; bottom:0; z-index:9999; padding:12px; pointer-events:none; }
.sitora-consent[hidden] { display:none; }
.sitora-consent-box { pointer-events:auto; max-width:760px; margin:0 auto; padding:1.2rem 1.3rem; background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:10px; box-shadow:0 12px 40px rgba(16,38,31,.25); font-size:.9rem; line-height:1.55; }
.sitora-consent-title { margin:0 0 .4rem; font-size:1.05rem; font-weight:850; }
.sitora-consent-box p { margin:0 0 .8rem; }
.sitora-consent-box a { color:var(--teal-dark); }
.sitora-consent-options { display:grid; gap:.5rem; margin:0 0 .9rem; }
.sitora-consent-options[hidden] { display:none; }
.sitora-consent-options label { display:flex; gap:.6rem; align-items:flex-start; padding:.6rem .7rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--soft); }
.sitora-consent-options input { margin-top:.25rem; accent-color:var(--teal); }
.sitora-consent-options .is-locked { opacity:.75; }
.sitora-consent-actions { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:flex-end; }
.sitora-consent-actions .sitora-btn { min-height:42px; padding:.55rem 1rem; border-radius:var(--radius); font-weight:800; cursor:pointer; font-size:.88rem; }
.sitora-consent-actions [hidden] { display:none; }
.footer-bottom .sitora-consent-open { color:#cbd5e3; text-decoration:underline; }
@media(max-width:540px){ .sitora-consent{padding:0} .sitora-consent-box{border-radius:12px 12px 0 0;max-height:85vh;overflow:auto} .sitora-consent-actions .sitora-btn{flex:1 1 45%} }
