/* Modern catalogue design. Values are controlled by Design Studio. */
:root {
  --ic-font-heading: system-ui,-apple-system,"Segoe UI",sans-serif;
  --ic-font-body: system-ui,-apple-system,"Segoe UI",sans-serif;
  --ic-v2-radius: 24px; --ic-v2-button-radius: 14px; --ic-v2-space: 96px;
  --ic-v2-padding: 24px; --ic-v2-gap: 24px; --ic-v2-columns: 3;
  --ic-v2-base: 16px; --ic-v2-heading: 76px; --ic-v2-mobile-heading: 43px;
  --ic-v2-image-fit: contain; --ic-v2-image-ratio: 1/1;
  --ic-v2-button-text: #fff; --ic-v2-header:#fff; --ic-v2-footer:#092b20; --ic-v2-footer-text:#fff; --ic-v2-whatsapp:#167545;
}
.ic-modern { font-family:var(--ic-font-body); font-size:var(--ic-v2-base); }
.ic-modern h1,.ic-modern h2,.ic-modern h3,.ic-modern .ic-section-title,.ic-modern .entry-title,.ic-modern .product-title,.ic-modern .product-card h3,.ic-modern .category-card__body strong,.ic-modern .company-card h3,.ic-modern .contact-options strong,.ic-modern .product-price strong { font-family:var(--ic-font-heading); letter-spacing:-.035em; }
.ic-modern :is(h1,h2,h3) { text-wrap:balance; }
.ic-modern .site-header { background:var(--ic-v2-header); backdrop-filter:blur(20px); }
.ic-modern .header-inner { min-height:88px; }
.ic-modern .brand-copy { font-family:var(--ic-font-heading); font-size:.88rem; line-height:1.13; letter-spacing:.06em; }
.ic-modern .primary-navigation a { font-size:.82rem; font-weight:600; }
.ic-modern .primary-navigation .current-menu-item>a { color:var(--ic-primary); text-decoration:underline; text-underline-offset:8px; }
.ic-modern .ic-button,.ic-modern .header-action,.ic-modern .wp-block-button__link { border-radius:var(--ic-v2-button-radius); min-height:48px; color:var(--ic-v2-button-text); background:var(--ic-primary); font-size:.83rem; font-weight:650; letter-spacing:0; text-transform:none; padding:15px 23px; line-height:1.4; text-decoration:none; }
.ic-modern .ic-button--ghost { background:transparent; color:var(--ic-primary); border:1px solid var(--ic-border); }
.ic-modern .ic-button:hover,.ic-modern .header-action:hover { filter:brightness(1.12); transform:none; }
.ic-modern .ic-section { padding-block:clamp(48px,7vw,var(--ic-v2-space)); }
.ic-modern .ic-hero { padding:clamp(44px,6vw,88px) 0 56px; background:var(--ic-background); overflow:hidden; }
.ic-modern .hero-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(30px,5vw,76px); align-items:center; }
.ic-modern .ic-hero h1 { font-size:clamp(44px,5.6vw,var(--ic-v2-heading)); line-height:1.02; letter-spacing:-.065em; font-weight:650; margin:24px 0; }
.ic-modern .ic-hero h1 em,.ic-modern .ic-section-title em { font-style:normal; color:var(--ic-primary); }
.ic-modern .hero-description { max-width:540px; font-size:1.05em; line-height:1.75; margin-bottom:26px; }
.ic-modern .ic-eyebrow { display:flex; align-items:center; gap:9px; letter-spacing:.15em; font-size:.65em; font-weight:750; }
.ic-modern .ic-eyebrow:before { content:""; width:7px; height:7px; flex:none; border-radius:50%; background:var(--ic-accent); }
.ic-modern .hero-visual { position:relative; display:grid; min-height:500px; height:clamp(500px,42vw,610px); padding:0; }
.ic-modern .hero-photo { margin:0; box-shadow:none; }
.ic-modern .hero-photo--primary { top:0; right:0; left:0; bottom:0; width:100%; height:100%; border-radius:calc(var(--ic-v2-radius) + 12px); background:var(--ic-surface); overflow:hidden; }
.ic-modern .hero-photo--primary img { object-fit:cover; height:100%; width:100%; }
.ic-modern .hero-photo--secondary { width:34%; height:37%; left:-28px; bottom:24px; border:7px solid var(--ic-background); border-radius:var(--ic-v2-radius); overflow:hidden; z-index:2; }
.ic-modern .hero-photo--secondary img { width:100%; height:100%; object-fit:cover; }
.ic-modern .hero-badge { top:22px; right:22px; left:auto; bottom:auto; width:auto; max-width:75%; background:var(--ic-surface); padding:14px 18px; border-radius:14px; box-shadow:0 12px 34px #092b2012; transform:none; }
.ic-modern .hero-badge span { font-size:.57rem; letter-spacing:.13em; }
.ic-modern .hero-badge strong { font-family:var(--ic-font-heading); font-size:.95rem; }
.ic-hero-caption { position:absolute; z-index:3; left:calc(34% + 6px); right:16px; bottom:34px; border-radius:16px; padding:16px; background:var(--ic-primary-deep); color:white; }
.ic-hero-caption strong { display:block; font-size:.88rem; line-height:1.3; }
.ic-hero-caption span { display:block; opacity:.75; font-size:.7rem; line-height:1.5; margin-top:4px; }
.ic-modern .hero-metrics { border-top:1px solid var(--ic-border); padding-top:24px; margin-top:40px; gap:20px; }
.ic-modern .hero-metrics li { background:transparent; border:0; border-radius:0; padding:0; }
.ic-modern .hero-metrics strong { font-family:var(--ic-font-heading); font-size:1.8rem; font-weight:650; }
.ic-modern .hero-metrics span { font-size:.7rem; line-height:1.5; letter-spacing:0; text-transform:none; }
.ic-modern .trust-bar { padding-block:0; margin-top:0; background:var(--ic-primary-deep); }
.ic-modern .trust-grid>div { padding:25px; min-height:100px; }
.ic-modern .trust-grid strong { font-family:var(--ic-font-body); font-size:.86rem; }
.ic-modern .trust-grid span { color:var(--ic-accent); font-size:.67rem; }
.ic-modern .section-heading { align-items:end; margin-bottom:36px; grid-template-columns:1.1fr .8fr; gap:50px; }
.ic-modern .ic-section-title { font-size:clamp(32px,3.7vw,52px); font-weight:600; line-height:1.1; }
.ic-modern .section-heading p { font-size:.93em; }
.ic-modern .subsection-title { font-family:var(--ic-font-body); font-size:.8rem; font-weight:650; letter-spacing:.04em; }
.ic-modern .category-grid { gap:14px; margin-bottom:30px; }
.ic-modern .category-card { grid-template-columns:74px minmax(0,1fr); border-radius:var(--ic-v2-radius); min-height:104px; box-shadow:none; background:var(--ic-surface); }
.ic-modern .category-card__image { min-height:104px; }
.ic-modern .category-card__body { padding:16px; border-left:0; }
.ic-modern .category-card__body strong { font-size:1rem; }
.ic-modern .category-card__body>span { display:none; }
.ic-modern .category-card__body small { font-size:.61rem; color:var(--ic-muted); }
.ic-modern .catalog-filters { margin-bottom:16px; gap:16px; }
.ic-modern .filter-field label,.ic-catalogue-toolbar label>span { color:var(--ic-muted); letter-spacing:.02em; font-size:.72rem; font-weight:600; text-transform:none; }
.ic-modern :is(.filter-field select,.filter-field input,.ic-search-field input,.ic-sort-field select) { min-height:50px; width:100%; border:1px solid var(--ic-border); border-radius:12px; background:var(--ic-surface); padding:10px 14px; color:var(--ic-text); }
.ic-catalogue-toolbar { display:flex; align-items:end; gap:16px; }
.ic-search-field { display:grid; gap:8px; flex:1; }
.ic-sort-field { display:grid; gap:8px; min-width:190px; }
.ic-reset-button { min-height:44px; padding:10px 6px; border:0; color:var(--ic-primary); background:none; font:inherit; font-size:.78rem; text-decoration:underline; text-underline-offset:4px; }
.ic-result-count { margin:18px 0; font-size:.75rem; color:var(--ic-muted); }
.ic-modern .product-grid { grid-template-columns:repeat(var(--ic-v2-columns),minmax(0,1fr)); gap:var(--ic-v2-gap); }
.ic-modern .product-card { border-radius:var(--ic-v2-radius); box-shadow:0 8px 30px #092b2008; }
.ic-modern .product-card:hover { transform:translateY(-4px); box-shadow:0 20px 44px #092b2012; border-color:var(--ic-primary); }
.ic-modern .product-card__image { aspect-ratio:var(--ic-v2-image-ratio); background:color-mix(in srgb,var(--ic-background) 60%,var(--ic-surface)); padding:20px; }
.ic-modern .product-card__image img { object-fit:var(--ic-v2-image-fit); border-radius:calc(var(--ic-v2-radius) / 2); width:100%; height:100%; }
.ic-modern .product-card__body { padding:var(--ic-v2-padding); }
.ic-modern .product-card h3 { font-size:1.45rem; line-height:1.22; font-weight:600; }
.ic-modern .product-chip { font-size:.6rem; font-weight:650; padding:5px 9px; min-height:25px; letter-spacing:.02em; text-transform:none; }
.ic-modern .product-card__excerpt { font-size:.84rem; line-height:1.6; }
.ic-modern .product-card__details { padding-top:14px; margin-bottom:18px; }
.ic-modern .product-card__details dt { text-transform:none; font-size:.66rem; letter-spacing:0; }
.ic-modern .product-card__details dd { font-size:.74rem; font-weight:500; }
.ic-modern .product-price strong { font-size:1rem; font-weight:650; }
.ic-card-tools { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.ic-mini-button { display:inline-flex; justify-content:center; align-items:center; gap:8px; flex:1; border:1px solid var(--ic-border); border-radius:var(--ic-v2-button-radius); background:transparent; color:var(--ic-primary); min-height:44px; padding:9px 10px; font:inherit; font-size:.73rem; line-height:1.3; }
.ic-mini-button--solid { background:color-mix(in srgb,var(--ic-primary) 7%,var(--ic-surface)); }
.ic-mini-button[aria-pressed=true] { border-color:var(--ic-primary); }
.ic-modern .company-card { border-radius:var(--ic-v2-radius); background:var(--ic-surface); box-shadow:none; padding:var(--ic-v2-padding); }
.ic-modern .company-card h3 { font-size:1.3rem; font-weight:600; }
.ic-modern .company-card span { color:var(--ic-primary); }
.ic-modern .about-preview__media img { border-radius:var(--ic-v2-radius); box-shadow:none; }
.ic-modern .about-preview__media:after { display:none; }
.ic-modern .contact-panel { border:1px solid var(--ic-border); border-radius:calc(var(--ic-v2-radius) + 8px); padding:clamp(28px,5vw,64px); }
.ic-modern .contact-options .ic-button { color:var(--ic-v2-button-text); }
.ic-modern .site-footer { background:var(--ic-v2-footer); color:var(--ic-v2-footer-text); }
.ic-modern .site-footer :is(p,a,.site-branding,.footer-bottom) { color:var(--ic-v2-footer-text); }
.ic-modern .footer-brand p,.ic-modern .footer-bottom { opacity:.75; }
.ic-modern .floating-whatsapp { background:var(--ic-v2-whatsapp); bottom:max(18px,env(safe-area-inset-bottom)); box-shadow:0 8px 26px #092b2026; }
.ic-quote-launcher { position:fixed; z-index:998; right:22px; bottom:92px; display:flex; align-items:center; gap:12px; min-height:48px; max-width:calc(100vw - 28px); border:1px solid var(--ic-border); border-radius:var(--ic-v2-button-radius); background:var(--ic-surface); color:var(--ic-primary); padding:10px 16px; box-shadow:0 10px 30px #092b201a; font-size:.8rem; }
.ic-quote-launcher>span { background:var(--ic-primary); color:var(--ic-v2-button-text); display:grid; place-items:center; min-width:25px; height:25px; border-radius:50%; }
.ic-modern .product-detail__media { border-radius:var(--ic-v2-radius); padding:16px; box-shadow:none; }
.ic-modern .product-detail__media>img { object-fit:var(--ic-v2-image-fit); border-radius:calc(var(--ic-v2-radius) / 2); }
.ic-gallery-thumbs { display:flex; gap:10px; padding-top:16px; overflow:auto; }
.ic-gallery-thumbs>a { min-width:64px; width:64px; height:70px; padding:4px; border:2px solid transparent; border-radius:10px; }
.ic-gallery-thumbs>a[aria-current=true] { border-color:var(--ic-primary); }
.ic-gallery-thumbs img { height:100%; width:100%; object-fit:contain; }
.ic-modern .product-title { font-size:clamp(35px,4.4vw,58px); }
.ic-modern .spec-item,.ic-modern .price-tier-item,.ic-modern .product-fact { border-radius:calc(var(--ic-v2-radius) / 2); }
.ic-availability { font-size:.82rem; padding:12px 0; }
.ic-availability span { font-weight:650; margin-right:8px; }
.ic-dialog { border:1px solid var(--ic-border); border-radius:var(--ic-v2-radius); background:var(--ic-surface); color:var(--ic-text); width:min(940px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); padding:38px; box-shadow:0 40px 100px #092b2040; }
.ic-dialog::backdrop { background:rgba(4,22,15,.65); backdrop-filter:blur(5px); }
.ic-dialog:not([open]) { display:none; }
.ic-dialog-close { position:absolute; top:12px; right:12px; z-index:1; display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--ic-border); background:var(--ic-surface); border-radius:50%; color:var(--ic-text); font-size:28px; line-height:1; }
.ic-dialog h2 { padding-right:28px; font-size:clamp(25px,3vw,38px); margin-top:0; line-height:1.15; }
.ic-quick-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; }
.ic-quick-image { background:var(--ic-background); border-radius:var(--ic-v2-radius); min-height:200px; padding:16px; }
.ic-quick-image img { width:100%; max-height:440px; object-fit:contain; }
.ic-quick-copy>p { font-size:.9rem; }
.ic-quick-copy dl { border-top:1px solid var(--ic-border); padding-top:16px; font-size:.82rem; }
.ic-quick-copy dt { color:var(--ic-muted); }
.ic-quick-copy dd { margin:3px 0 12px; }
.ic-quick-price { color:var(--ic-primary); font-weight:700; }
.ic-quote-dialog { width:min(680px,calc(100vw - 32px)); }
.ic-quote-dialog>p { font-size:.88rem; color:var(--ic-muted); }
.ic-quote-item { padding:20px 0; border-top:1px solid var(--ic-border); }
.ic-quote-item h3 { margin:0; font-size:1.05rem; }
.ic-quote-item p { margin:5px 0 14px; font-size:.78rem; color:var(--ic-muted); }
.ic-quote-item label,.ic-note-field { display:grid; gap:8px; font-size:.78rem; }
.ic-quote-item input,.ic-note-field textarea { width:100%; border:1px solid var(--ic-border); border-radius:10px; padding:12px; color:var(--ic-text); background:var(--ic-background); }
.ic-quote-storage { font-size:.7rem!important; }
.ic-dialog [aria-disabled=true] { opacity:.5; cursor:not-allowed; }
.ic-dialog-open { overflow:hidden; }
.ic-enhanced-only { display:none!important; }
.ic-js .ic-enhanced-only { display:flex!important; }
.ic-js p.ic-enhanced-only { display:block!important; }
.ic-no-dialog :is(.ic-quote-launcher,.ic-card-tools) { display:none!important; }
.ic-static-header .site-header { position:relative; top:0; }
.ic-no-shadows :is(.product-card,.company-card,.hero-badge) { box-shadow:none!important; }
.ic-modern .entry-content :is(h1,h2,h3,h4) { font-family:var(--ic-font-heading); }
.ic-modern .entry-content .wp-block-column { background:transparent; padding:0; border:0; border-radius:0; }
.ic-modern .entry-content .wp-block-image img { border-radius:var(--ic-v2-radius); }
.ic-modern .entry-content>.wp-block-group { margin-block:0; }
.ic-modern .ic-pattern-section { padding:clamp(32px,5vw,var(--ic-v2-space)); }
.ic-modern .ic-pattern-section .wp-block-columns { gap:clamp(24px,5vw,70px); align-items:center; }
.ic-modern .ic-pattern-hero h1 { font-size:clamp(38px,5vw,var(--ic-v2-heading)); line-height:1.03; font-weight:650; margin-top:0; }
.ic-modern .ic-pattern-hero .wp-block-image img { max-height:600px; width:100%; object-fit:cover; }
.ic-modern .ic-pattern-metrics { background:var(--ic-primary-deep); border-radius:var(--ic-v2-radius); }
.ic-modern .ic-pattern-metrics :is(h3,p) { color:#fff; }
.ic-modern .ic-pattern-metrics h3 { margin-top:0; }
.ic-modern .ic-pattern-contact { background:var(--ic-accent); border-radius:var(--ic-v2-radius); margin-bottom:48px!important; }
.ic-modern .ic-visual-canvas .entry-content { padding-top:24px; }
.ic-modern .entry-content .wp-block-buttons { gap:12px; }
.ic-modern .entry-content [data-ic-catalogue] { width:100%; max-width:none; }
[data-home-section] { background-repeat:no-repeat; }
.ic-home-page-blocks > :not(.ic-home-section-block) { width:calc(100% - 32px); max-width:var(--ic-container); margin:40px auto; }
.ic-home-page-blocks > .alignfull { width:100%; max-width:none; }
.ic-home-page-blocks .ic-home-extra { padding:40px 0; }
.ic-home-page-blocks .wp-block-details { padding:22px 0; border-bottom:1px solid var(--ic-border); }
.ic-home-page-blocks .wp-block-details summary { cursor:pointer; font-weight:650; }
.ic-home-section-block { width:100%; }
[data-home-section=hero] .ic-hero,[data-home-section=catalogue]>.ic-section,[data-home-section=about]>.ic-section { background:transparent; }
.ic-motion-on .ic-inview { animation:ic-enter .4s ease-out both; }
@keyframes ic-enter { from { opacity:.45; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1050px) { .ic-modern .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ic-modern .hero-grid { gap:32px; } .ic-modern .ic-hero h1 { font-size:clamp(42px,6vw,65px); } .ic-modern .hero-visual { min-height:470px; height:500px; } }
@media(max-width:860px) { .ic-modern .hero-grid,.ic-modern .section-heading { grid-template-columns:1fr; } .ic-modern .hero-copy { max-width:690px; } .ic-modern .hero-visual { width:100%; height:550px; } .ic-modern .hero-photo--secondary { left:20px; } .ic-modern .hero-badge { top:20px; } .ic-modern .ic-hero h1 { max-width:680px; } }
@media(max-width:620px) {
  .ic-modern .header-inner { min-height:74px; } .ic-modern .hero-grid { gap:32px; }
  .ic-modern .ic-hero h1 { font-size:var(--ic-v2-mobile-heading); } .ic-modern .ic-hero { padding:36px 0; }
  .ic-modern .hero-description { font-size:1rem; }
  .ic-modern .hero-visual { height:430px; min-height:0; }
  .ic-modern .hero-photo--secondary { width:35%; height:34%; bottom:16px; left:12px; }
  .ic-hero-caption { left:39%; bottom:22px; padding:12px; } .ic-hero-caption span { font-size:.62rem; }
  .ic-modern .hero-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .ic-modern .hero-metrics li { display:block; } .ic-modern .hero-metrics strong { font-size:1.4rem; } .ic-modern .hero-metrics span { margin-top:6px; font-size:.63rem; }
  .ic-modern .trust-grid { grid-template-columns:1fr 1fr; }
  .ic-modern .trust-grid>div { padding:18px 12px; min-height:110px; border-bottom:1px solid #ffffff20; }
  .ic-modern .trust-grid strong { font-size:.75rem; }
  .ic-modern .product-grid { grid-template-columns:1fr; } .ic-modern .category-card { min-height:86px; }
  .ic-modern .category-card__image { min-height:86px; }
  .ic-catalogue-toolbar { flex-wrap:wrap; gap:12px; } .ic-search-field { flex-basis:100%; }
  .ic-sort-field { flex:1; min-width:0; } .ic-reset-button { padding-inline:8px; }
  .ic-modern .product-card__image { max-height:380px; }
  .ic-quote-launcher { right:14px; bottom:calc(82px + env(safe-area-inset-bottom)); padding:8px 12px; }
  .ic-dialog { padding:56px 22px 24px; border-radius:20px; }
  .ic-quick-grid { grid-template-columns:1fr; gap:24px; } .ic-quick-image img { max-height:260px; }
  .ic-modern .contact-options strong { font-size:1.12rem; }
}
@media(prefers-reduced-motion:reduce) { .ic-modern *, .ic-modern *::before,.ic-modern *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Additional native blocks belong to their section, not the following FAQ. */
.ic-section-extras{padding-bottom:40px;display:flow-root;overflow-wrap:anywhere}.ic-section-extras>:first-child{margin-top:0}.ic-section-extras>:last-child{margin-bottom:0}.ic-section-extras .wp-block-gallery{margin-inline:0}.ic-section-extras img{max-width:100%;height:auto}.ic-section-extras .wp-block-gallery img{border-radius:16px}.ic-section-extras .alignfull{max-width:100%;margin-inline:0}
