/* ══════════════════════════════════════════════
   NSF 3D — Stylesheet
   Extracted from inline <style> + new rules for
   shop / articles sections (Phase 2 of the rebuild)
   ══════════════════════════════════════════════ */

/* ══ LIGHT THEME ══ */
:root{
  --bg:#fff;--bg2:#f4f7fa;--bg3:#e8f4fb;
  --text:#1a2533;--text2:#3d5166;
  --border:#d0dde9;--border2:#b8cfe0;
  --blue-dark:#1a3a5c;--blue-mid:#1e6fa8;--blue-light:#4db8e8;
  --card-bg:#fff;--input-bg:#e8f4fb;
  --nav-bg:rgba(255,255,255,.93);--modal-bg:#fff;
  --shadow:0 2px 16px rgba(30,111,168,.10);
  --shadow-md:0 4px 32px rgba(30,111,168,.15);
  --radius:14px;
  --green-mid:#16a34a;--green-dark:#15803d;
  --purple-mid:#8a2be2;
  --gold-mid:#c79a1d;
}
body.dark{
  --bg:#0b1622;--bg2:#0f1e2e;--bg3:#0b2038;
  --text:#f5faff;--text2:#c8dff0;
  --border:#1e3a55;--border2:#2a5a7a;
  --blue-dark:#b8e0f7;--blue-mid:#5ecff7;--blue-light:#90def9;
  --card-bg:#0f1e2e;--input-bg:#0b1622;
  --nav-bg:rgba(11,22,34,.97);--modal-bg:#0f1e2e;
  --shadow:0 2px 16px rgba(0,0,0,.5);
  --shadow-md:0 4px 32px rgba(0,0,0,.6);
  --green-mid:#22c55e;--green-dark:#16a34a;
  --gold-mid:#e8c24d;
}
body.a11y-contrast{
  --bg:#fff;--bg2:#f0f0f0;--bg3:#e0e0e0;
  --text:#000;--text2:#111;
  --border:#555;--border2:#444;
  --blue-dark:#00255c;--blue-mid:#0044aa;--blue-light:#006fd6;
  --card-bg:#fff;--input-bg:#f0f0f0;
  --nav-bg:rgba(255,255,255,.99);--modal-bg:#fff;
  --gold-mid:#8a6500;
}
body.a11y-contrast.dark{
  --bg:#000;--bg2:#111;--bg3:#0a0a1a;
  --text:#fff;--text2:#eee;
  --border:#aaa;--border2:#bbb;
  --blue-dark:#90d4ff;--blue-mid:#60c8ff;--blue-light:#a8e0ff;
  --card-bg:#111;--input-bg:#000;
  --nav-bg:rgba(0,0,0,.99);--modal-bg:#111;
  --gold-mid:#ffd76a;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Rubik',sans-serif;direction:rtl;overflow-x:hidden;transition:background .3s,color .3s;}

/* ══ NAV ══ */
nav{position:fixed;top:0;right:0;left:0;z-index:200;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--nav-bg);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:background .3s,border-color .3s;}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.nav-logo-img-wrap{width:40px;height:40px;border-radius:12px;overflow:hidden;background:transparent;display:flex;align-items:center;justify-content:center;}
.nav-logo-img-wrap img{width:100%;height:100%;object-fit:contain;}
.nav-logo-text{font-size:22px;font-weight:900;color:var(--blue-dark);display:none;}
.nav-logo-text span{color:var(--blue-light);}
.nav-links{display:flex;gap:16px;list-style:none;align-items:center;}
.nav-links a{color:var(--text2);font-size:14px;font-weight:700;text-decoration:none;transition:color .2s;position:relative;padding-bottom:2px;}
.nav-links a:hover{color:var(--blue-mid);}
.nav-links a.nav-active:not(.nav-cta){color:var(--blue-mid);}
.nav-links a.nav-active:not(.nav-cta)::after{content:'';position:absolute;bottom:-4px;right:0;left:0;height:2.5px;background:var(--blue-mid);border-radius:2px;}
.nav-cta{background:var(--blue-mid)!important;color:#fff!important;padding:8px 18px;border-radius:10px;font-weight:700!important;transition:background .2s!important;}
.nav-cta:hover{background:var(--blue-dark)!important;}
.nav-social-icons{display:flex;align-items:center;gap:6px;margin-left:4px;}
.nav-social-ico{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s,opacity .2s;opacity:.75;flex-shrink:0;}
.nav-social-ico:hover{opacity:1;transform:scale(1.12);}
.nav-social-ico svg{width:18px;height:18px;}
.nav-right-cluster{display:flex;align-items:center;gap:8px;}
.dark-toggle{background:var(--bg2);border:1.5px solid var(--border);color:var(--text);height:38px;border-radius:20px;cursor:pointer;font-size:15px;font-weight:700;display:flex;align-items:center;gap:5px;padding:0 14px;transition:background .2s,border-color .2s;flex-shrink:0;white-space:nowrap;font-family:'Rubik',sans-serif;}
.dark-toggle:hover{background:var(--border);border-color:var(--blue-mid);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;}
.hamburger span{width:24px;height:2px;background:var(--text);border-radius:2px;transition:.3s;}
.mobile-menu{display:none;position:fixed;top:64px;right:0;left:0;z-index:199;background:var(--bg);border-bottom:1px solid var(--border);padding:20px 24px;flex-direction:column;gap:4px;box-shadow:0 4px 24px rgba(0,0,0,.12);transition:background .3s;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--text);font-size:18px;font-weight:700;text-decoration:none;padding:13px 0;border-bottom:1px solid var(--border);}
.mobile-menu a:last-child{border:none;}
.mobile-social-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border);}
.mobile-social-ico{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:.85;flex-shrink:0;transition:transform .2s,opacity .2s;}
.mobile-social-ico:hover{opacity:1;transform:scale(1.1);}
.mobile-social-ico svg{width:20px;height:20px;}

/* ══ HERO ══ */
#hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:88px 24px 70px;background:linear-gradient(155deg,var(--bg3) 0%,var(--bg) 55%,var(--bg2) 100%);position:relative;overflow:hidden;transition:background .3s;}
.hero-blob{position:absolute;top:-100px;left:-150px;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,rgba(77,184,232,.12) 0%,transparent 70%);pointer-events:none;}
.hero-blob2{position:absolute;bottom:-80px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(30,111,168,.08) 0%,transparent 70%);pointer-events:none;}
.hero-logo-wrap{width:180px;height:180px;border-radius:28px;overflow:hidden;margin-bottom:28px;background:linear-gradient(135deg,#0d2a47 0%,#1a4a70 50%,#0d2a47 100%);box-shadow:0 6px 24px rgba(30,111,168,.32),0 0 0 1px rgba(77,184,232,.2);display:flex;align-items:center;justify-content:center;}
.hero-logo-wrap img{width:88%;height:88%;object-fit:contain;border-radius:18px;}
body.dark .hero-logo-wrap{box-shadow:0 6px 24px rgba(77,184,232,.22),0 0 0 1px rgba(77,184,232,.15);}
.hero-tag{display:inline-block;background:rgba(77,184,232,.15);border:1px solid rgba(77,184,232,.4);color:var(--blue-mid);font-size:19px;font-weight:800;padding:18px 32px;border-radius:100px;margin-bottom:14px;}
.hero-title{font-size:clamp(36px,6vw,70px);font-weight:900;line-height:1.35;letter-spacing:-.5px;word-spacing:6px;margin-bottom:30px;color:var(--blue-dark);}
.hero-title .line-main{display:block;}
.hero-title .accent{color:var(--blue-light);}
.hero-pills{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:max-content;max-width:92vw;margin:0 auto 36px;box-sizing:border-box;}
.hero-pill{box-sizing:border-box;background:rgba(77,184,232,.18);color:var(--blue-dark);font-size:18px;font-weight:700;padding:13px 26px;border-radius:8px;text-align:center;white-space:nowrap;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;align-items:center;}
.btn-secondary-strong{background:linear-gradient(135deg,#1e6fa8 0%,#15324f 100%);color:#fff;padding:16px 32px;border-radius:var(--radius);font-size:18px;font-weight:700;text-decoration:none;transition:opacity .2s,transform .2s;box-shadow:0 4px 20px rgba(30,111,168,.35);display:inline-flex;align-items:center;gap:8px;}
.btn-secondary-strong:hover{opacity:.88;transform:translateY(-2px);}
.hero-contact-line{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:18px;font-weight:700;color:var(--text2);margin-top:28px;}
.hero-contact-line a{color:var(--blue-mid);text-decoration:none;font-weight:800;}
.hero-contact-line a:hover{text-decoration:underline;}
.hero-contact-line span.sep{color:var(--border2);font-weight:400;}
.btn-primary{background:var(--blue-mid);color:#fff;padding:14px 30px;border-radius:var(--radius);font-size:16px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s;box-shadow:0 4px 20px rgba(30,111,168,.30);}
.btn-primary:hover{background:var(--blue-dark);transform:translateY(-2px);}
.btn-secondary{background:var(--card-bg);color:#1a5a8a;padding:14px 30px;border-radius:var(--radius);font-size:16px;font-weight:700;text-decoration:none;border:2px solid var(--blue-light);transition:background .2s,transform .2s;display:inline-flex;align-items:center;gap:8px;}
.btn-secondary:hover{background:var(--bg3);transform:translateY(-2px);}
body.dark .btn-secondary{color:var(--blue-light);}
.btn-cta3{background:linear-gradient(135deg,#15803d 0%,#16a34a 100%);color:#fff;padding:14px 30px;border-radius:var(--radius);font-size:16px;font-weight:700;text-decoration:none;transition:opacity .2s,transform .2s;box-shadow:0 4px 20px rgba(21,128,61,.35);display:inline-flex;align-items:center;gap:8px;}
.btn-cta3:hover{opacity:.88;transform:translateY(-2px);}
.btn-green-order{background:linear-gradient(135deg,#15803d 0%,#16a34a 100%);color:#fff;padding:14px 32px;border-radius:var(--radius);font-size:17px;font-weight:800;text-decoration:none;transition:opacity .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 24px rgba(21,128,61,.38);display:inline-flex;align-items:center;gap:10px;}
.btn-green-order:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 8px 32px rgba(21,128,61,.48);}
.hero-stats{display:flex;gap:44px;margin-top:52px;flex-wrap:wrap;justify-content:center;}
.stat{text-align:center;}
.stat-num{font-size:34px;font-weight:900;color:var(--blue-dark);}
.stat-num span{color:var(--blue-light);}
.stat-label{font-size:13px;color:var(--text2);margin-top:2px;font-weight:600;}

/* ══ SECTIONS ══ */
.sw{padding:76px 40px;max-width:1200px;margin:0 auto;}
.sdiv{height:1px;background:var(--border);}
.stag{font-size:46px;font-weight:1000;color:var(--blue-mid);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;}
.stitle{font-size:clamp(32px,4vw,46px);font-weight:900;color:var(--blue-dark);letter-spacing:-.5px;line-height:1.15;}
.ssub{font-size:16px;color:var(--text2);margin-top:10px;line-height:1.65;font-weight:500;}
.projects-subhead{font-size:22px;color:var(--blue-mid);margin-top:8px;font-weight:700;}
.section-subhead{font-size:22px;color:var(--blue-mid);margin-top:8px;font-weight:700;}
.material-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px;}
.material-chip{background:var(--bg);border:1.5px solid var(--blue-mid);border-radius:8px;padding:7px 15px;font-size:14px;font-weight:800;color:var(--blue-dark);}
.catalog-update-line{margin-top:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.catalog-update-line #catalogDate{display:inline-flex;align-items:center;gap:4px;}
.sh{margin-bottom:42px;}

/* ══ SKELETON ══ */
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
body.a11y-noanim *,body.a11y-noanim *::before,body.a11y-noanim *::after{animation:none!important;transition-duration:.001s!important;}
.skeleton-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;pointer-events:none;}
.skeleton-swatch{height:92px;animation:shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,var(--bg2) 25%,var(--border) 50%,var(--bg2) 75%);background-size:200% 100%;}
.skeleton-line{height:11px;border-radius:6px;margin:0 12px;animation:shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,var(--bg2) 25%,var(--border) 50%,var(--bg2) 75%);background-size:200% 100%;}
.skeleton-info{padding:10px 0 12px;}

/* ══ CATALOG ══ */
.filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px;}
.filter-btn{background:var(--card-bg);color:var(--text2);border:1.5px solid var(--border);padding:8px 18px;border-radius:100px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;font-family:'Rubik',sans-serif;}
.filter-btn:hover,.filter-btn.active{background:var(--blue-mid);color:#fff;border-color:var(--blue-mid);}
.search-input{background:var(--card-bg);border:1.5px solid var(--border);color:var(--text);padding:9px 18px;border-radius:100px;font-size:14px;font-family:'Rubik',sans-serif;outline:none;width:100%;max-width:260px;transition:border-color .2s;margin-right:auto;}
.search-input:focus{border-color:var(--blue-mid);}
.search-input::placeholder{color:var(--text2);}
.show-all-row{text-align:center;margin-top:26px;}
.show-all-row.top-row{margin-top:0;margin-bottom:18px;}
.show-all-btn{background:var(--card-bg);color:var(--blue-mid);border:2px solid var(--blue-light);padding:10px 28px;border-radius:100px;font-size:15px;font-weight:700;cursor:pointer;font-family:'Rubik',sans-serif;transition:background .2s;}
.show-all-btn:hover{background:var(--bg3);}
.colors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:13px;}
.color-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;cursor:pointer;}
.color-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--blue-light);}
.color-swatch{height:92px;width:100%;overflow:hidden;}
.color-swatch img{width:100%;height:100%;object-fit:cover;}
.color-swatch-block{width:100%;height:100%;}
.color-info{padding:10px 12px;}
.color-name{font-size:13px;font-weight:700;margin-bottom:4px;line-height:1.35;color:var(--text);}
.color-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.color-sku{font-size:12px;color:var(--text2);font-weight:600;}
.tag-glow{font-size:10px;padding:2px 7px;border-radius:100px;font-weight:700;background:rgba(77,184,232,.15);color:#155f8f;border:1px solid rgba(77,184,232,.4);}
body.dark .tag-glow{color:var(--blue-mid);}
.tag-special{font-size:10px;padding:2px 7px;border-radius:100px;font-weight:700;background:rgba(138,43,226,.10);color:#6b1fa8;border:1px solid rgba(138,43,226,.35);}
body.dark .tag-special{color:#c084fc;background:rgba(138,43,226,.15);border-color:rgba(192,132,252,.35);}
.tag-instock{font-size:10px;padding:2px 7px;border-radius:100px;font-weight:700;background:rgba(30,160,90,.12);color:#156638;border:1px solid rgba(30,160,90,.3);}
body.dark .tag-instock{color:#3ecf7a;background:rgba(30,160,90,.15);border-color:rgba(30,160,90,.35);}
.tag-outstock{font-size:10px;padding:2px 7px;border-radius:100px;font-weight:700;background:rgba(200,60,60,.10);color:#9e2020;border:1px solid rgba(200,60,60,.25);}
body.dark .tag-outstock{color:#f07070;background:rgba(200,60,60,.12);border-color:rgba(200,60,60,.3);}
.loading{text-align:center;padding:56px;color:var(--text2);font-size:16px;grid-column:1/-1;}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;margin-left:6px;animation:pulse-dot 2s ease-in-out infinite;vertical-align:middle;position:relative;top:-1px;}
@keyframes pulse-dot{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}
.catalog-info-note{background:rgba(30,111,168,.06);border:1.5px solid rgba(30,111,168,.18);border-radius:10px;padding:11px 16px;font-size:14px;color:var(--text2);font-weight:600;margin-bottom:18px;display:flex;align-items:flex-start;gap:10px;line-height:1.6;}
body.dark .catalog-info-note{background:rgba(30,111,168,.10);border-color:rgba(77,184,232,.2);}

/* ══ COLOR MODAL ══ */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:300;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(8px);}
.modal-overlay.open{display:flex;}
.modal{background:var(--modal-bg);border-radius:20px;max-width:500px;width:100%;overflow:hidden;box-shadow:0 16px 64px rgba(0,0,0,.3);}
.modal-img{width:100%;height:280px;object-fit:cover;cursor:zoom-in;}
.modal-swatch{width:100%;height:280px;}
.modal-body{padding:24px;}
.modal-title{font-size:24px;font-weight:900;color:var(--blue-dark);margin-bottom:16px;}
.modal-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);font-size:14px;}
.modal-row:last-of-type{border:none;}
.modal-row-label{color:var(--text2);font-weight:600;}
.modal-row-val{font-weight:700;color:var(--text);}
.modal-actions{display:flex;gap:10px;margin-top:16px;}
.modal-wa{flex:1;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);color:#fff;border:none;padding:12px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;font-family:'Rubik',sans-serif;transition:filter .2s;}
.modal-wa:hover{filter:brightness(1.08);}
.modal-close-btn{background:var(--bg2);border:1px solid var(--border);color:var(--text);padding:12px 16px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;font-family:'Rubik',sans-serif;}

/* ══ LIGHTBOX ══ */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:500;align-items:center;justify-content:center;cursor:zoom-out;padding:20px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:12px;box-shadow:0 8px 60px rgba(0,0,0,.5);}
.lightbox-close{position:fixed;top:20px;left:20px;width:44px;height:44px;background:rgba(255,255,255,.15);border:none;border-radius:50%;cursor:pointer;font-size:22px;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.lightbox-close:hover{background:rgba(255,255,255,.3);}

/* ══ PROJECTS SECTION ══ */
.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:24px;}
.project-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;flex-direction:column;}
.project-card:hover{transform:translateY(-5px);box-shadow:0 8px 36px rgba(30,111,168,.18);border-color:var(--blue-light);}
.project-card.featured{border-color:rgba(30,111,168,.4);box-shadow:0 4px 20px rgba(30,111,168,.10);}
.project-img-wrap{position:relative;height:210px;background:var(--bg3);overflow:hidden;flex-shrink:0;}
.project-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.project-card:hover .project-img-wrap img{transform:scale(1.04);}
.project-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;color:var(--border2);}
.project-featured-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#f5c842,#e6a800);color:#1a2533;font-size:11px;font-weight:800;padding:3px 10px;border-radius:100px;box-shadow:0 2px 8px rgba(0,0,0,.15);}
.project-category-badge{position:absolute;bottom:12px;right:12px;background:rgba(11,22,34,.72);backdrop-filter:blur(8px);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:100px;border:1px solid rgba(255,255,255,.18);}
.project-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;}
.project-name{font-size:17px;font-weight:800;color:var(--blue-dark);margin-bottom:8px;line-height:1.3;}
.project-desc{font-size:14px;color:var(--text2);line-height:1.65;font-weight:500;flex:1;margin-bottom:16px;}
.project-wa-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#15803d 0%,#16a34a 100%);color:#fff;padding:11px 20px;border-radius:10px;font-size:14px;font-weight:800;text-decoration:none;transition:opacity .2s,transform .2s,box-shadow .2s;box-shadow:0 3px 14px rgba(21,128,61,.32);width:100%;}
.project-wa-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 5px 20px rgba(21,128,61,.42);}
.project-wa-btn svg{flex-shrink:0;}
.project-skeleton{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.project-skeleton-img{height:210px;animation:shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,var(--bg2) 25%,var(--border) 50%,var(--bg2) 75%);background-size:200% 100%;}
.project-skeleton-body{padding:18px 20px;}
.project-skeleton-line{height:13px;border-radius:6px;margin-bottom:10px;animation:shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,var(--bg2) 25%,var(--border) 50%,var(--bg2) 75%);background-size:200% 100%;}
.projects-show-more{text-align:center;margin-top:8px;margin-bottom:4px;}
.projects-show-more-btn{background:var(--card-bg);color:var(--blue-mid);border:2px solid var(--blue-light);padding:10px 28px;border-radius:100px;font-size:15px;font-weight:700;cursor:pointer;font-family:'Rubik',sans-serif;transition:background .2s;}
.projects-show-more-btn:hover{background:var(--bg3);}
.products-divider{height:1px;background:var(--border);margin:48px 0 44px;}

/* ══ PRODUCTS (what we print) ══ */
.product-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:18px;}
.ptype{background:var(--bg3);border:1.5px solid var(--border2);border-radius:var(--radius);padding:26px;text-align:center;}
.ptype-icon{font-size:42px;margin-bottom:10px;}
.ptype-title{font-size:16px;font-weight:800;color:var(--blue-dark);margin-bottom:6px;}
.ptype-desc{font-size:15px;color:var(--text2);line-height:1.6;font-weight:500;}
.coming-soon{background:var(--bg3);border:2px dashed var(--border2);border-radius:var(--radius);padding:44px;text-align:center;}
.coming-soon .cs-icon{font-size:44px;margin-bottom:12px;}
.coming-soon h3{font-size:19px;font-weight:800;color:var(--blue-dark);margin-bottom:6px;}
.coming-soon p{font-size:14px;color:var(--text2);font-weight:500;}
.multicolor-banner{background:linear-gradient(135deg,rgba(138,43,226,.07) 0%,rgba(30,111,168,.06) 100%);border:1.5px solid rgba(138,43,226,.25);border-radius:14px;padding:16px 22px;display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;}
.multicolor-banner-icon{font-size:26px;flex-shrink:0;margin-top:2px;}
.multicolor-banner-text{font-size:14px;color:var(--text2);line-height:1.7;font-weight:600;}
.multicolor-banner-text strong{color:var(--blue-dark);}
body.dark .multicolor-banner-text strong{color:var(--blue-light);}

/* ══ SECTION INTRO STRIP (used by shop + articles to explain what they are) ══ */
.section-explainer{display:flex;align-items:flex-start;gap:14px;border-radius:14px;padding:16px 22px;margin-bottom:24px;font-size:14px;line-height:1.7;font-weight:600;color:var(--text2);}
.section-explainer strong{color:var(--blue-dark);}
body.dark .section-explainer strong{color:var(--blue-light);}
.section-explainer.shop{background:linear-gradient(135deg,rgba(22,163,74,.07) 0%,rgba(30,111,168,.05) 100%);border:1.5px solid rgba(22,163,74,.22);}
.section-explainer.articles{background:linear-gradient(135deg,rgba(138,43,226,.06) 0%,rgba(30,111,168,.05) 100%);border:1.5px solid rgba(138,43,226,.2);}
.section-explainer-icon{font-size:24px;flex-shrink:0;margin-top:1px;}

/* ══ SHOP (imported equipment — printers, filament, dryers, nozzles) ══ */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-bottom:24px;}
.shop-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column;}
.shop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--green-mid);}
.shop-img-wrap{position:relative;height:170px;background:var(--bg3);overflow:hidden;flex-shrink:0;}
.shop-img-wrap img{width:100%;height:100%;object-fit:cover;}
.shop-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--border2);}
.shop-stock-badge{position:absolute;top:10px;left:10px;font-size:10px;font-weight:800;padding:3px 9px;border-radius:100px;}
.shop-stock-badge.in{background:rgba(30,160,90,.85);color:#fff;}
.shop-stock-badge.out{background:rgba(200,60,60,.85);color:#fff;}
.shop-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;}
.shop-name{font-size:15px;font-weight:800;color:var(--blue-dark);margin-bottom:5px;line-height:1.3;}
.shop-desc{font-size:13px;color:var(--text2);line-height:1.55;font-weight:500;flex:1;margin-bottom:12px;}
.shop-price-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.shop-price{font-size:17px;font-weight:900;color:var(--green-dark);}
body.dark .shop-price{color:#4ade80;}
.shop-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--blue-mid);color:#fff;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:800;text-decoration:none;transition:background .2s,transform .2s;width:100%;}
.shop-btn:hover{background:var(--blue-dark);transform:translateY(-1px);}

/* ══ ARTICLES / BLOG ══ */
.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;}
.article-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column;text-decoration:none;color:var(--text);}
.article-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--purple-mid);}
.article-img-wrap{height:160px;background:var(--bg3);overflow:hidden;flex-shrink:0;}
.article-img-wrap img{width:100%;height:100%;object-fit:cover;}
.article-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:38px;color:var(--border2);}
.article-body{padding:16px 18px;}
.article-date{font-size:12px;color:var(--text2);font-weight:600;margin-bottom:6px;}
.article-title{font-size:16px;font-weight:800;color:var(--blue-dark);margin-bottom:6px;line-height:1.35;}
.article-excerpt{font-size:13.5px;color:var(--text2);line-height:1.6;font-weight:500;}
.article-readmore{font-size:13px;font-weight:700;color:var(--blue-mid);margin-top:10px;display:inline-block;}

/* ══ MATERIALS COMPARISON TABLE ══ */
.materials-table-wrap{overflow-x:auto;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--card-bg);-webkit-overflow-scrolling:touch;}
.materials-table{width:100%;border-collapse:collapse;font-size:16px;}
.materials-table thead th{background:var(--bg3);color:var(--blue-dark);font-weight:800;padding:14px 10px;text-align:center;border-bottom:1.5px solid var(--border);white-space:nowrap;line-height:1.3;}
.materials-table tbody td{padding:14px 12px;text-align:center;border-bottom:1px solid var(--border);vertical-align:middle;font-size:15.5px;}
.materials-table tbody tr:last-child td{border-bottom:none;}
.materials-table tbody tr:hover{background:var(--bg2);}
.mat-name-cell{text-align:right;white-space:normal;min-width:120px;}
.mat-name{font-weight:800;color:var(--blue-dark);font-size:15px;}
.mat-suits-cell{text-align:right;white-space:normal;font-size:13px;color:var(--text2);font-weight:600;min-width:170px;}

/* תא פינה אלכסוני: "עמידות ל-" (למעלה) נגזר מ"חומר" (למטה) בקו אלכסוני */
.mat-corner-th{padding:0 !important;background:none !important;min-width:120px;}
.mat-corner{
  position:relative;height:66px;
  background:linear-gradient(to bottom right, var(--bg3) 50%, var(--card-bg) 50%);
}
.mat-corner::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to bottom right,
    transparent calc(50% - 0.75px), var(--border) calc(50% - 0.75px),
    var(--border) calc(50% + 0.75px), transparent calc(50% + 0.75px));
}
.mat-corner-top,.mat-corner-bottom{position:absolute;font-size:16px;font-weight:800;color:var(--blue-dark);white-space:nowrap;}
.mat-corner-top{top:8px;left:10px;}
.mat-corner-bottom{bottom:8px;right:10px;}
/* מד-כוכבים (Star Indicator) — 3 כוכבים, ריק=חלול וקטן, מלא=מוצק וגדול */
.mat-dots{display:inline-flex;gap:4px;align-items:center;justify-content:center;}
.mat-star{display:block;width:12px;height:12px;color:var(--border2);}
.mat-star-filled{width:17px;height:17px;color:var(--gold-mid);}
.materials-legend{font-size:13px;color:var(--text2);font-weight:600;margin-top:14px;line-height:1.8;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.materials-legend .mat-dots{margin-left:2px;}
.fiber-note{background:linear-gradient(135deg,rgba(30,111,168,.06) 0%,rgba(77,184,232,.05) 100%);border:1.5px solid rgba(30,111,168,.2);border-radius:14px;padding:16px 22px;margin-top:18px;font-size:14px;color:var(--text2);line-height:1.7;font-weight:600;}
.fiber-note strong{color:var(--blue-dark);}
body.dark .fiber-note strong{color:var(--blue-light);}
@media(max-width:768px){
  .materials-table{font-size:14px;}
  .materials-table thead th,.materials-table tbody td{padding:11px 9px;}
  .mat-name-cell{min-width:90px;}
  .mat-suits-cell{min-width:130px;}
  .mat-corner-th{min-width:90px;}
  .mat-corner{height:56px;}
  .mat-corner-top,.mat-corner-bottom{font-size:14px;}
  .mat-star{width:9px;height:9px;}
  .mat-star-filled{width:14px;height:14px;}
}


.order-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:28px;}
.step{background:var(--bg3);border:1.5px solid var(--border2);border-radius:var(--radius);padding:24px;}
.step-num{font-size:40px;font-weight:900;color:rgba(77,184,232,.30);line-height:1;margin-bottom:12px;}
.step-title{font-size:15px;font-weight:800;color:var(--blue-dark);margin-bottom:5px;}
.step-desc{font-size:15px;color:var(--text2);line-height:1.6;font-weight:500;}
.order-cta{text-align:center;margin-top:32px;}
.express-banner{margin-top:28px;background:linear-gradient(135deg,#0d2a47 0%,#1a4a70 60%,#0e3255 100%);border-radius:18px;padding:28px 32px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;box-shadow:0 6px 32px rgba(30,111,168,.30);border:1px solid rgba(77,184,232,.25);position:relative;overflow:hidden;}
.express-banner::before{content:'';position:absolute;top:-60px;left:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,50,.07) 0%,transparent 70%);pointer-events:none;}
.express-icon-wrap{width:56px;height:56px;border-radius:14px;background:rgba(255,200,50,.15);border:1.5px solid rgba(255,200,50,.3);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;}
.express-content{flex:1;min-width:200px;}
.express-title{font-size:17px;font-weight:900;color:#fff;margin-bottom:6px;}
.express-badge{display:inline-block;background:rgba(255,200,50,.2);border:1px solid rgba(255,200,50,.4);color:#f5c842;font-size:10px;font-weight:700;padding:2px 10px;border-radius:100px;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;}
.express-desc{font-size:14px;color:rgba(255,255,255,.78);line-height:1.65;font-weight:500;}
.btn-express{background:linear-gradient(135deg,#f5c842 0%,#e6a800 100%);color:#1a2533;padding:13px 24px;border-radius:12px;font-size:15px;font-weight:900;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 18px rgba(245,200,66,.35);}
.btn-express:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(245,200,66,.5);}

/* ══ PRICING ══ */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:28px;}
.price-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;}
.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--blue-light);}
.price-card.figurine-featured{border:1.5px solid rgba(30,111,168,.45);box-shadow:0 4px 20px rgba(30,111,168,.10);}
.price-card.figurine-featured:hover{transform:translateY(-6px);box-shadow:0 8px 36px rgba(30,111,168,.28);border-color:var(--blue-light);}
.price-card-head{background:var(--bg3);border-bottom:1.5px solid var(--border);padding:16px 20px;display:flex;align-items:center;gap:12px;}
.price-card.figurine-featured .price-card-head{background:linear-gradient(135deg,rgba(30,111,168,.12) 0%,rgba(77,184,232,.08) 100%);border-bottom-color:rgba(30,111,168,.25);}
.price-card-icon{font-size:26px;}
.price-card-title{font-size:17px;font-weight:800;color:var(--blue-dark);}
.figurine-fixed-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(30,160,90,.12);border:1.5px solid rgba(30,160,90,.3);color:#156638;border-radius:100px;font-size:11px;font-weight:800;padding:3px 10px;margin-top:5px;}
body.dark .figurine-fixed-badge{color:#3ecf7a;background:rgba(30,160,90,.15);border-color:rgba(30,160,90,.35);}
.figurine-gift-strip{background:linear-gradient(135deg,rgba(245,200,66,.08) 0%,rgba(30,111,168,.05) 100%);border-bottom:1.5px dashed rgba(245,200,66,.35);padding:14px 20px;font-size:14px;color:var(--text2);line-height:1.65;font-weight:700;}
.figurine-gift-strip strong{color:var(--blue-dark);}
body.dark .figurine-gift-strip strong{color:var(--blue-light);}
.figurine-multicolor-strip{transition:background .3s,color .3s,border-color .3s,box-shadow .3s;}
body.dark .figurine-multicolor-strip{background:rgba(34,197,94,.12)!important;border-top-color:rgba(34,197,94,.35)!important;color:#4ade80!important;box-shadow:inset 0 0 20px rgba(34,197,94,.08),0 0 12px rgba(34,197,94,.10);text-shadow:0 0 8px rgba(34,197,94,.3);}
.signage-marketing-strip{background:rgba(30,111,168,.05);border-bottom:1.5px dashed rgba(30,111,168,.2);padding:14px 20px;font-size:14px;color:var(--text2);line-height:1.65;font-weight:700;}
.signage-marketing-strip strong{color:var(--blue-dark);}
body.dark .signage-marketing-strip strong{color:var(--blue-light);}
.card-pricing-note{background:rgba(30,111,168,.04);border-top:1px solid var(--border);padding:11px 16px;font-size:14px;color:var(--text2);font-weight:600;display:flex;align-items:flex-start;gap:8px;line-height:1.55;}
.price-rows{padding:8px 0;}
.price-row{display:flex;justify-content:space-between;align-items:center;padding:9px 20px;border-bottom:1px solid var(--border);font-size:14px;}
.price-row:last-child{border:none;}
.price-row-label{color:var(--text2);font-weight:600;}
.price-row-val{font-weight:800;color:var(--blue-dark);}
.price-row-val.green{color:#156638;}
body.dark .price-row-val.green{color:#3ecf7a;}
.price-row-sale{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.price-row-sale .price-was{font-size:13px;font-weight:600;color:var(--text2);text-decoration:line-through;opacity:.65;}
.price-row-sale .price-now{font-weight:900;color:#156638;font-size:16px;}
body.dark .price-row-sale .price-now{color:#4ade80;}
.price-popular-badge{display:inline-flex;align-items:center;gap:3px;background:linear-gradient(135deg,rgba(245,200,66,.18) 0%,rgba(77,184,232,.12) 100%);border:1px solid rgba(245,200,66,.4);color:#8a6d00;font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:100px;letter-spacing:.2px;white-space:nowrap;}
body.dark .price-popular-badge{background:rgba(245,200,66,.15);border-color:rgba(245,200,66,.35);color:#f5c842;}
.price-save-badge{display:inline-flex;align-items:center;gap:3px;background:rgba(220,38,38,.10);border:1px solid rgba(220,38,38,.3);color:#b91c1c;font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:100px;letter-spacing:.2px;white-space:nowrap;}
body.dark .price-save-badge{background:rgba(248,113,113,.15);border-color:rgba(248,113,113,.35);color:#f87171;}
.shipping-free{font-weight:800;color:#156638;}
body.dark .shipping-free{color:#3ecf7a;}
.payment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:6px;}
.pay-card{background:var(--bg3);border:1.5px solid var(--border2);border-radius:var(--radius);padding:18px 20px;display:flex;align-items:center;gap:14px;}
.pay-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.pay-title{font-size:14px;font-weight:800;color:var(--blue-dark);}
.pay-desc{font-size:14px;color:var(--text2);margin-top:2px;font-weight:500;}
.shipping-row{background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px 20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px;}
.shipping-label{color:var(--text2);font-weight:600;display:flex;align-items:center;gap:8px;}

/* ══ ABOUT ══ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.about-features{display:grid;gap:16px;margin-top:22px;}
.fi{display:flex;gap:14px;align-items:flex-start;}
.fi-icon{width:42px;height:42px;border-radius:10px;background:rgba(30,111,168,.1);border:1px solid rgba(30,111,168,.15);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.fi-text h4{font-size:14px;font-weight:800;color:var(--blue-dark);margin-bottom:2px;}
.fi-text p{font-size:15px;color:var(--text2);line-height:1.55;font-weight:500;}
.hobby-origin{margin-top:18px;background:linear-gradient(135deg,rgba(77,184,232,.07) 0%,rgba(30,111,168,.05) 100%);border:1.5px solid rgba(77,184,232,.25);border-radius:14px;padding:16px 20px;display:flex;align-items:flex-start;gap:14px;}
.hobby-origin-icon{font-size:26px;flex-shrink:0;margin-top:2px;}
.hobby-origin-text{font-size:15px;color:var(--text2);line-height:1.65;font-weight:600;}
.hobby-origin-text strong{color:var(--blue-dark);}
.founder-photo-row{display:flex;align-items:center;gap:16px;margin-top:18px;padding:14px 18px;background:var(--bg2);border:1.5px solid var(--border);border-radius:14px;}
.founder-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid var(--blue-mid);box-shadow:0 4px 16px rgba(30,111,168,.2);flex-shrink:0;}
.founder-photo-text{font-size:14px;color:var(--text2);line-height:1.6;font-weight:600;}
.founder-photo-text strong{color:var(--blue-dark);font-size:14px;display:block;margin-bottom:2px;}
.sw-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}
.sw-chip{background:var(--bg2);border:1.5px solid var(--border);border-radius:8px;padding:5px 12px;font-size:12px;font-weight:700;color:var(--blue-dark);}
.sw-chip.eng{border-color:rgba(30,111,168,.35);background:rgba(30,111,168,.07);}
.sw-chip.art{border-color:rgba(77,184,232,.35);background:rgba(77,184,232,.08);}
.sw-chip.ai{border-color:rgba(138,43,226,.35);background:rgba(138,43,226,.07);color:#6b1fa8;}
body.dark .sw-chip.ai{color:#c084fc;border-color:rgba(192,132,252,.35);background:rgba(138,43,226,.12);}
.about-visual{background:var(--card-bg);border:1.5px solid var(--border);border-radius:18px;padding:32px;text-align:center;box-shadow:var(--shadow);}
.abn{font-size:48px;font-weight:900;color:var(--blue-mid);line-height:1.1;}
.abl{font-size:14px;color:var(--text2);margin-top:5px;font-weight:600;}
.ab-chips{display:grid;gap:9px;margin-top:22px;}
.ab-chip{background:var(--bg2);border-radius:10px;padding:12px 14px;text-align:right;}
.ab-chip-l{font-size:12px;color:var(--text2);font-weight:600;}
.ab-chip-v{font-size:14px;font-weight:700;color:var(--text);margin-top:1px;}
.ab-chip-link{display:block;background:var(--bg2);border:1.5px solid transparent;border-radius:10px;padding:12px 14px;text-align:right;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;}
.ab-chip-link:hover{background:rgba(37,211,102,.1);border-color:rgba(37,211,102,.35);transform:translateY(-1px);}
.ab-chip-link .ab-chip-v{color:#1da851;}
body.dark .ab-chip-link .ab-chip-v{color:#3ecf7a;}
.ab-chip-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.ab-chip-wa-icon{width:24px;height:24px;flex-shrink:0;}

/* ══ REVIEWS ══ */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:28px;}
.review-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius);padding:22px;transition:transform .2s,box-shadow .2s;}
.review-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.review-top{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.review-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--blue-mid);flex-shrink:0;}
.review-avatar-placeholder{width:48px;height:48px;border-radius:50%;background:var(--bg3);border:2px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.review-author{font-size:15px;font-weight:800;color:var(--blue-dark);}
.review-city{font-size:13px;color:var(--text2);font-weight:600;}
.review-stars{color:#f5c842;font-size:14px;letter-spacing:1px;margin-bottom:10px;}
.review-text{font-size:15px;color:var(--text2);line-height:1.7;font-weight:500;font-style:italic;}
.review-product{font-size:14px;color:var(--blue-mid);font-weight:700;margin-top:10px;}
.review-product-img{width:100%;max-height:200px;object-fit:cover;border-radius:10px;margin-top:12px;border:1.5px solid var(--border);cursor:zoom-in;}

/* ══ FAQ ══ */
.faq-list{display:grid;gap:12px;margin-top:28px;}
.faq-item{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s;}
.faq-item.open{border-color:var(--blue-light);}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;cursor:pointer;font-size:15px;font-weight:700;color:var(--blue-dark);gap:12px;-webkit-user-select:none;user-select:none;}
.faq-q-left{display:flex;align-items:center;gap:14px;}
.faq-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--blue-mid),var(--blue-light));color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;letter-spacing:-.2px;}
.faq-q:hover{color:var(--blue-mid);}
.faq-arrow{font-size:18px;transition:transform .25s;flex-shrink:0;color:var(--text2);}
.faq-item.open .faq-arrow{transform:rotate(180deg);}
.faq-a{display:none;padding:0 22px 18px;font-size:15px;color:var(--text2);line-height:1.75;font-weight:500;}
.faq-item.open .faq-a{display:block;}

/* ══ SOCIAL ══ */
.social-grid{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:28px;}
.social-card{display:flex;align-items:center;gap:12px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px 22px;text-decoration:none;color:var(--text);transition:transform .2s,box-shadow .2s,border-color .2s;min-width:150px;}
.social-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--blue-light);}
.social-icon{width:34px;height:34px;flex-shrink:0;}
.social-icon svg{width:100%;height:100%;}
.social-name{font-size:14px;font-weight:700;color:var(--blue-dark);}
.social-handle{font-size:13px;color:var(--text2);font-weight:600;}

/* ══ CONTACT ══ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.contact-info{display:grid;gap:12px;}
.contact-card{background:var(--bg3);border:1.5px solid var(--border2);border-radius:var(--radius);padding:16px 20px;display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--text);transition:background .2s,transform .2s;}
.contact-card:hover{background:var(--border);transform:translateX(-3px);}
.contact-icon{width:44px;height:44px;border-radius:11px;background:var(--blue-mid);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-icon svg{width:24px;height:24px;fill:#fff;}
.contact-label{font-size:13px;color:var(--text2);margin-bottom:2px;font-weight:600;}
.contact-val{font-size:15px;font-weight:700;color:var(--blue-dark);}
.hours-card{background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius);padding:16px 20px;}
.hours-l{font-size:13px;color:var(--text2);margin-bottom:8px;font-weight:700;}
.hours-row{display:flex;justify-content:space-between;font-size:14px;padding:4px 0;border-bottom:1px solid var(--border);}
.hours-row:last-child{border:none;}
.hours-day{color:var(--text2);font-weight:600;}
.hours-time{font-weight:700;color:var(--blue-dark);}
.contact-form{display:grid;gap:13px;}
.form-group{display:grid;gap:5px;}
.form-label{font-size:14px;font-weight:700;color:var(--blue-dark);}
.form-input,.form-textarea,.form-select{background:var(--input-bg);border:1.5px solid var(--border);color:var(--text);padding:11px 14px;border-radius:10px;font-size:15px;font-family:'Rubik',sans-serif;outline:none;transition:border-color .2s;width:100%;}
.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--blue-mid);}
.form-textarea{resize:vertical;min-height:100px;}
.form-submit{background:var(--blue-mid);color:#fff;border:none;padding:13px 28px;border-radius:var(--radius);font-size:16px;font-weight:700;cursor:pointer;font-family:'Rubik',sans-serif;transition:background .2s,transform .2s;box-shadow:0 4px 18px rgba(30,111,168,.28);}
.form-submit:hover{background:#155f8f;transform:translateY(-1px);}
.form-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.form-hint{font-size:14px;color:var(--text2);margin-top:5px;font-weight:500;display:flex;align-items:flex-start;gap:5px;line-height:1.5;}
.form-consent-group{margin-top:2px;}
.form-consent-label{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--text2);font-weight:500;line-height:1.5;cursor:pointer;}
.form-consent-label input[type="checkbox"]{width:18px;height:18px;flex-shrink:0;margin-top:1px;accent-color:var(--blue-mid);cursor:pointer;}
.form-consent-label a{color:var(--blue-mid);font-weight:700;text-decoration:none;}
.form-consent-label a:hover{text-decoration:underline;}
.form-success{display:none;background:rgba(30,160,90,.1);border:1px solid rgba(30,160,90,.3);color:#156638;padding:13px;border-radius:10px;text-align:center;font-weight:700;}
body.dark .form-success{color:#3ecf7a;background:rgba(30,160,90,.12);border-color:rgba(30,160,90,.3);}
.form-error{display:none;background:rgba(200,60,60,.1);border:1px solid rgba(200,60,60,.3);color:#9e2020;padding:13px;border-radius:10px;text-align:center;font-weight:700;}
body.dark .form-error{color:#f07070;}
/* honeypot field — hidden from real users, visible to most bots that auto-fill all inputs */
.hp-field{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px;height:1px;overflow:hidden;opacity:0;}

/* ══ FOOTER ══ */
footer{background:var(--blue-dark);color:rgba(255,255,255,.7);padding:38px 40px 28px;text-align:center;}
body.dark footer{background:#061422;}
.footer-links{display:flex;gap:20px;justify-content:center;list-style:none;margin-bottom:10px;flex-wrap:wrap;}
.footer-links a{color:rgba(255,255,255,.65);text-decoration:none;font-size:14px;font-weight:600;transition:color .2s;}
.footer-links a:hover{color:#fff;}
.footer-legal{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:10px;}
.footer-legal-btn{background:none;border:none;color:rgba(255,255,255,.45);font-size:13px;font-family:'Rubik',sans-serif;cursor:pointer;text-decoration:underline;padding:0;transition:color .2s;}
.footer-legal-btn:hover{color:rgba(255,255,255,.85);}
.footer-copy{font-size:13px;color:rgba(255,255,255,.3);}

/* ══ LEGAL ══ */
.legal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:400;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);}
.legal-overlay.open{display:flex;}
.legal-modal{background:var(--modal-bg);border-radius:18px;max-width:640px;width:100%;max-height:82vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 16px 64px rgba(0,0,0,.3);}
.legal-header{padding:22px 26px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.legal-header h2{font-size:20px;font-weight:900;color:var(--blue-dark);}
.legal-close{background:var(--bg2);border:1px solid var(--border);color:var(--text);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.legal-body{padding:24px 26px;overflow-y:auto;font-size:14px;line-height:1.75;color:var(--text);}
.legal-body h3{font-size:15px;font-weight:800;color:var(--blue-dark);margin:20px 0 8px;}
.legal-body h3:first-child{margin-top:0;}
.legal-body p{margin-bottom:10px;color:var(--text2);}
.legal-body ul{margin:6px 0 10px 0;padding-right:18px;}
.legal-body ul li{margin-bottom:5px;color:var(--text2);}
.legal-body strong{color:var(--text);}
.legal-body .highlight{background:rgba(255,180,0,.12);border:1px solid rgba(255,180,0,.3);border-radius:8px;padding:12px 16px;margin:12px 0;}
.legal-body .highlight strong{color:#8a4d00;}
body.dark .legal-body .highlight strong{color:#f5c842;}

/* ══ BACK TO TOP ══ */
.back-to-top{position:fixed;bottom:24px;right:24px;z-index:980;width:48px;height:48px;border-radius:50%;background:var(--blue-mid);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 20px rgba(30,111,168,.40);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s,box-shadow .2s;pointer-events:none;}
.back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.back-to-top:hover{background:var(--blue-dark);box-shadow:0 6px 28px rgba(30,111,168,.55);transform:translateY(-2px);}

/* ══ WHATSAPP FLOAT BUTTON ══ */
.wa-float{position:fixed;bottom:82px;right:24px;z-index:979;display:flex;align-items:center;justify-content:center;gap:0;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);color:#fff;text-decoration:none;border-radius:100px;padding:0;width:52px;height:52px;box-shadow:0 4px 22px rgba(22,163,74,.50);font-family:'Rubik',sans-serif;font-size:15px;font-weight:800;transition:transform .22s,box-shadow .22s,width .28s,padding .28s,gap .28s;white-space:nowrap;overflow:hidden;}
.wa-float:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(22,163,74,.60);width:220px;padding:0 18px 0 14px;gap:10px;justify-content:flex-start;}
.wa-float-icon{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.wa-float-icon svg{width:26px;height:26px;}
.wa-float-label{overflow:hidden;white-space:nowrap;max-width:0;opacity:0;transition:max-width .22s,opacity .18s;font-size:14px;font-weight:800;letter-spacing:.2px;}
.wa-float:hover .wa-float-label{max-width:160px;opacity:1;}
@keyframes wa-pulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.5)}70%{box-shadow:0 0 0 10px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
.wa-float{animation:wa-pulse 2.8s ease-in-out infinite;}
.wa-float:hover{animation:none;}

/* ══ COOKIE ══ */
#cookieBanner{display:none;position:fixed;bottom:0;right:0;left:0;z-index:500;background:var(--blue-dark);color:#fff;padding:16px 24px;border-top:2px solid var(--blue-mid);box-shadow:0 -4px 24px rgba(0,0,0,.2);}
body.dark #cookieBanner{background:#061422;}
.cookie-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.cookie-text{flex:1;min-width:240px;font-size:14px;line-height:1.6;color:rgba(255,255,255,.85);}
.cookie-text a{color:var(--blue-light);text-decoration:underline;cursor:pointer;}
.cookie-btns{display:flex;gap:10px;flex-shrink:0;}
.cookie-accept{background:var(--blue-mid);color:#fff;border:none;padding:10px 22px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Rubik',sans-serif;transition:background .2s;}
.cookie-accept:hover{background:#3aa0d0;}
.cookie-decline{background:transparent;color:rgba(255,255,255,.75);border:1.5px solid rgba(255,255,255,.35);padding:10px 18px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;font-family:'Rubik',sans-serif;transition:all .2s;}
.cookie-decline:hover{border-color:rgba(255,255,255,.8);color:#fff;}

/* ══ ACCESSIBILITY ══ */
.a11y-btn{position:fixed;bottom:24px;left:24px;z-index:990;width:52px;height:52px;border-radius:50%;background:var(--blue-mid);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 20px rgba(30,111,168,.45);display:flex;align-items:center;justify-content:center;font-size:22px;transition:transform .2s,box-shadow .2s;font-family:'Rubik',sans-serif;}
.a11y-btn:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(30,111,168,.6);}
.a11y-btn:focus-visible{outline:3px solid var(--blue-light);outline-offset:3px;}
.a11y-panel{display:none;position:fixed;bottom:88px;left:24px;z-index:990;background:var(--modal-bg);border:1.5px solid var(--border);border-radius:18px;padding:20px;min-width:240px;box-shadow:0 8px 40px rgba(0,0,0,.22);}
.a11y-panel.open{display:block;}
.a11y-panel-title{font-size:15px;font-weight:800;color:var(--blue-dark);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.a11y-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;gap:10px;}
.a11y-label{font-size:13px;font-weight:600;color:var(--text);}
.a11y-controls{display:flex;gap:6px;}
.a11y-ctrl{background:var(--bg2);border:1.5px solid var(--border);color:var(--text);min-width:36px;height:36px;border-radius:9px;cursor:pointer;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'Rubik',sans-serif;transition:background .2s,border-color .2s;padding:0 10px;}
.a11y-ctrl:hover{background:var(--border);}
.a11y-ctrl.active{background:var(--blue-mid);color:#fff;border-color:var(--blue-mid);}
.a11y-ctrl:focus-visible{outline:2px solid var(--blue-mid);outline-offset:2px;}
.a11y-reset{width:100%;margin-top:12px;background:var(--bg2);border:1.5px solid var(--border);color:var(--text2);padding:9px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Rubik',sans-serif;transition:background .2s;}
.a11y-reset:hover{background:var(--border);}
body.a11y-links a{text-decoration:underline!important;text-underline-offset:3px;}
body.a11y-cursor,body.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath d='M8 2 L8 28 L14 22 L18 32 L22 30 L18 20 L26 20 Z' fill='black' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 0 0,auto!important;}
body.a11y-links nav a,body.a11y-links .nav-links a,body.a11y-links .mobile-menu a,body.a11y-links footer a,body.a11y-links .footer-links a{text-decoration:underline!important;}

/* ══ ANNOUNCEMENT POPUP ══ */
.announce-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:600;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px);opacity:0;transition:opacity .35s;}
.announce-overlay.open{display:flex;opacity:1;}
.announce-modal{background:var(--modal-bg);border-radius:22px;max-width:480px;width:100%;overflow:hidden;box-shadow:0 20px 72px rgba(0,0,0,.35);transform:translateY(24px) scale(.97);transition:transform .4s cubic-bezier(.22,1,.36,1);position:relative;}
.announce-overlay.open .announce-modal{transform:translateY(0) scale(1);}
.announce-top-accent{height:5px;background:linear-gradient(90deg,var(--blue-mid),var(--blue-light),var(--blue-mid));background-size:200% 100%;animation:announce-gradient 3s ease infinite;}
@keyframes announce-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.announce-close{position:absolute;top:14px;left:14px;width:34px;height:34px;background:var(--bg2);border:1.5px solid var(--border);color:var(--text2);border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;z-index:2;}
.announce-close:hover{background:var(--border);border-color:var(--blue-mid);}
.announce-body{padding:32px 28px 28px;text-align:center;}
.announce-icon{font-size:48px;margin-bottom:14px;line-height:1;}
.announce-title{font-size:22px;font-weight:900;color:var(--blue-dark);margin-bottom:10px;line-height:1.25;}
.announce-text{font-size:15px;color:var(--text2);line-height:1.75;font-weight:500;margin-bottom:22px;}
.announce-text strong{color:var(--text);font-weight:700;}
.announce-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.announce-btn-primary{background:var(--blue-mid);color:#fff;padding:12px 26px;border-radius:12px;font-size:15px;font-weight:700;text-decoration:none;border:none;cursor:pointer;font-family:'Rubik',sans-serif;transition:background .2s,transform .2s;box-shadow:0 4px 18px rgba(30,111,168,.28);}
.announce-btn-primary:hover{background:var(--blue-dark);transform:translateY(-1px);}
.announce-btn-wa{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);color:#fff;padding:12px 26px;border-radius:12px;font-size:15px;font-weight:700;text-decoration:none;border:none;cursor:pointer;font-family:'Rubik',sans-serif;transition:opacity .2s,transform .2s;box-shadow:0 4px 18px rgba(22,163,74,.32);display:inline-flex;align-items:center;gap:8px;}
.announce-btn-wa:hover{opacity:.9;transform:translateY(-1px);}
.announce-btn-secondary{background:var(--bg2);color:var(--text2);padding:12px 26px;border-radius:12px;font-size:15px;font-weight:700;border:1.5px solid var(--border);cursor:pointer;font-family:'Rubik',sans-serif;transition:background .2s;}
.announce-btn-secondary:hover{background:var(--border);}
.announce-footer-note{font-size:12px;color:var(--text2);margin-top:16px;opacity:.7;font-weight:500;}
body.a11y-noanim .announce-overlay,body.a11y-noanim .announce-modal{transition-duration:.001s!important;}

/* ══ RESPONSIVE ══ */
@media(max-width:768px){
  .hero-pills{width:100%;max-width:380px;}
  .hero-pill{white-space:normal;}
  nav{padding:0 18px;}
  .nav-links{display:none;}
  .nav-social-icons{display:flex;gap:6px;}
  .nav-social-ico{width:36px;height:36px;}
  .nav-social-ico svg{width:20px;height:20px;}
  .hamburger{display:flex;}
  .sw{padding:54px 18px;}
  .about-grid,.contact-grid{grid-template-columns:1fr;}
  .about-visual{order:-1;}
  .hero-stats{gap:26px;}
  footer{padding:28px 18px;}
  .announce-modal{max-width:calc(100vw - 32px);margin:0 auto;}
  .announce-body{padding:24px 20px 22px;}
  .announce-title{font-size:19px;}
  .announce-btns{flex-direction:column;gap:8px;}
  .announce-btn-wa,.announce-btn-primary,.announce-btn-secondary{width:100%;text-align:center;justify-content:center;}
  .filter-row{gap:7px;}
  .search-input{max-width:100%;margin-right:0;}
  .cookie-inner{flex-direction:column;align-items:stretch;}
  .cookie-btns{justify-content:stretch;}
  .cookie-accept,.cookie-decline{flex:1;text-align:center;}
  .express-banner{flex-direction:column;align-items:flex-start;}
  .btn-express{width:100%;text-align:center;}
  .a11y-btn{bottom:18px;left:18px;}
  .a11y-panel{bottom:82px;left:18px;}
  .hero-btns{flex-direction:column;align-items:center;}
  .projects-grid{grid-template-columns:1fr;}
  .wa-float{width:200px;padding:0 18px 0 14px;gap:10px;justify-content:flex-start;}
  .wa-float-label{max-width:160px;opacity:1;}
  .wa-float{bottom:88px;}
}
@media(max-width:480px){
  .colors-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}
}
