/* ICD Pro v8 — site-wide stylesheet (port of the Master-approved sample, 2026-11-02).
   Loaded on every page after icd-pages.css. Product-only rules: icd-pro-product.css; home-only: icd-pro-home.css;
   Cairo Pro faces (Arabic pages only): icd-pro-ar.css. Colours: accent var(--icd-accent), ink var(--icd-ink), hairline #e5e5ea,
   tint rgba(110,43,203,.07), line rgba(110,43,203,.16), green #006B2C, white ground, no solid fills. */

/* ---- fonts: Baloo 2 (latin + latin-ext subset, woff2) + a metric-matched local fallback so the swap does not reflow.
   size-adjust = Baloo 2 average advance (a–z + space) / Arial-metric Liberation Sans; ascent/descent = Baloo 2 hhea
   (1.078 / 0.524 em) divided by that size-adjust; measured with fontTools on the source TTFs. */
@font-face{font-family:'Baloo 2';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/icd-pro/baloo2-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Baloo 2';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/icd-pro/baloo2-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Baloo 2';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/icd-pro/baloo2-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Baloo 2 Fallback';font-style:normal;font-weight:400;src:local('Arial'),local('ArialMT'),local('Liberation Sans'),local('Helvetica');size-adjust:101.26%;ascent-override:106.46%;descent-override:51.75%;line-gap-override:0%}
@font-face{font-family:'Baloo 2 Fallback';font-style:normal;font-weight:700;src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('Helvetica Bold');size-adjust:95.73%;ascent-override:112.61%;descent-override:54.74%;line-gap-override:0%}
:root{--icd-font:'Baloo 2','Baloo 2 Fallback',Arial,sans-serif;--icd-accent:#6E2BCB;--icd-ink:#1D1D1F;--icd-hair:#E6E6EB;--icd-tint:rgba(110,43,203,.06);--icd-tint2:rgba(110,43,203,.10);--icd-line:rgba(110,43,203,.16);--icd-green:#0B7D3A;--icd-gtint:rgba(11,125,58,.07);--icd-red:#E92634;--icd-rtint:rgba(233,38,52,.08)}
html[lang^="ar"],[dir="rtl"],[lang="ar"]{--icd-font:'Cairo Pro','Cairo Pro Fallback','Baloo 2',Arial,sans-serif}
body,button,input,select,textarea,.site-header,.main-navigation ul li a,.main-navigation .menu>li>a,h1,h2,h3,h4,h5,h6,.icd-util-inner,.icd-lang-toggle,.icd-lang-menu,.icd-trust-bar,.icd-sticky-atq,.site-footer,.below-content,#main *:not(code):not(pre):not(kbd){font-family:var(--icd-font)!important}
body{font-weight:500}
h1,h2,h3,h4,h5,h6{font-weight:700}

/* ---- engine icons: one external sprite, <svg class="ik"><use href="…/icd-pro-sprite.svg#ik-piece"/></svg> */
.ik{display:inline-block;vertical-align:middle;flex-shrink:0;fill:currentColor}

/* ---- top bar / masthead / menu: icon style + fonts only (markup kept) */
.icd-util-inner{letter-spacing:0;font-size:13.5px;font-weight:600}
.icd-util-link svg.ik,.icd-lang-toggle svg.ik{color:#fff;opacity:1}
.icd-lang-toggle{font-size:12.5px}
.main-navigation ul li a,.main-navigation .menu>li>a{font-weight:600!important;font-size:15px!important;letter-spacing:0!important}
.main-navigation ul.menu li.menu-item-has-children span.caret:after{-webkit-mask-image:url(../assets/icons/chevron_down.svg);mask-image:url(../assets/icons/chevron_down.svg);width:14px;height:14px;margin-left:2px}
.site-header .main-header .icd-masthead-signin{text-transform:none;font-size:12.5px;letter-spacing:0}
.site-header .main-header .icd-masthead-signin svg{width:18px;height:18px}
/* header cart = the engine's cart piece (06_app/buying) drawn as a mask over the kept markup; currentColor keeps the hover tint */
.site-header .shoptimizer-cart a.cart-contents{min-width:44px;min-height:44px}
.site-header .shoptimizer-cart a.cart-contents::before{width:30px;height:30px;background:none;background-color:currentColor;-webkit-mask:url(../assets/icons/buying.svg) center/contain no-repeat;mask:url(../assets/icons/buying.svg) center/contain no-repeat}
/* floating Quote button = 06_app/quotes_sent on a white disc (the live rules are !important in rfq-widget.css and icd-desktop-default.php) */
body #icd-rfq-toggle svg.svc-btn-ic{display:none}
html body #icd-rfq-toggle{background:#fff!important;border:1px solid var(--icd-line)!important;box-shadow:0 4px 16px rgba(110,43,203,.18)!important;font-family:var(--icd-font)!important}
@media (hover:hover){html body #icd-rfq-toggle:hover{background:var(--icd-tint)!important}}
html body #icd-rfq-toggle::before{content:"";display:inline-block;width:30px!important;height:30px!important;background-color:var(--icd-accent);-webkit-mask:url(../assets/icons/quotes_sent.svg) center/contain no-repeat;mask:url(../assets/icons/quotes_sent.svg) center/contain no-repeat}

/* ---- ICD Pro elements (builder.py classes, web units) */
.ip{color:var(--icd-ink);font-weight:500;line-height:1.45}
.ip *{box-sizing:border-box}
.ip p{margin:0 0 8px}
.ip-sh{display:flex;align-items:center;gap:12px;background:var(--icd-tint);border:1px solid var(--icd-line);border-radius:10px;padding:10px 16px;margin:32px 0 16px;scroll-margin-top:120px;text-align:left}
.ip-sh .ik{color:var(--icd-accent)}
.ip-sh>div{min-width:0}
.ip-sh h2,.ip-sh h3,.ip-sh .t{font-size:19px;font-weight:700;color:var(--icd-accent);letter-spacing:-.01em;line-height:1.1;margin:0;padding:0;text-align:left;text-transform:none}
.ip-sh p,.ip-sh .s{font-size:13px;font-weight:500;color:var(--icd-ink);margin:4px 0 0;line-height:1.45;text-align:left}
.ip-h3{font-size:16px;font-weight:700;color:var(--icd-ink);margin:16px 0 8px}
.ip-p{font-size:14.5px;margin:0 0 8px;line-height:1.6}
.ip-note{font-size:13px;font-weight:500;color:#3A3A3C;font-style:italic;margin:4px 0 0}
.ip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px;align-items:stretch}
.ip-b{display:flex;align-items:center;gap:12px;border:1px solid var(--icd-line);border-radius:12px;padding:12px 14px;min-height:64px;height:100%;background:#fff;color:var(--icd-ink);text-decoration:none}
.ip-b .ik{color:var(--icd-accent)}
.ip-b .k{font-size:11px;letter-spacing:.02em;color:var(--icd-accent);font-weight:600;line-height:1.1}
.ip-b .v{font-size:15px;font-weight:700;margin-top:4px;line-height:1.15;overflow-wrap:anywhere}
.ip-b .d{font-size:12px;font-weight:500;margin-top:4px;color:#3A3A3C}
.ip-b>div:only-child .v{margin-top:0}
.ip-b-link{justify-content:space-between}
.ip-b-link .ik.go{color:var(--icd-accent);opacity:.7}
.ip-w1,.ip-av{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:4px 10px;font-size:12.5px;font-weight:600;line-height:1.3;text-decoration:none}
.ip-w1{background:var(--icd-tint);color:var(--icd-accent);border:1px solid var(--icd-line)}
.ip-w1 .ik{color:var(--icd-accent)}
.ip-w2{display:inline-block;background:#fff;color:var(--icd-ink);border:1px solid var(--icd-hair);border-radius:6px;padding:4px 10px;font-size:12.5px;font-weight:600;text-decoration:none}
.ip-av{border:1px solid var(--icd-hair);color:var(--icd-ink);background:#fff}
.ip-av.in{background:rgba(11,125,58,.08);border-color:rgba(11,125,58,.22);color:var(--icd-green)}
.ip-av.in .ik{color:var(--icd-green)}
.ip-btn{display:inline-flex;align-items:center;gap:8px;background:var(--icd-tint);color:var(--icd-accent)!important;border:1px solid var(--icd-accent);border-radius:10px;padding:10px 18px;min-height:44px;font-size:14px;font-weight:700;text-decoration:none!important;line-height:1.2}
.ip-btn.g{color:var(--icd-green)!important;border-color:var(--icd-green);background:var(--icd-gtint)}
.ip-call{border:1px solid var(--icd-line);background:var(--icd-tint);border-radius:10px;padding:16px;margin:16px 0}
.ip-call b,.ip-call h3{color:var(--icd-accent);font-weight:700}
.ip-call-h{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;margin:0 0 4px;color:var(--icd-accent)}
.ip-call-p{margin:0 0 12px;font-size:14px;color:#222}
.ip-call-b{display:flex;gap:8px;flex-wrap:wrap}
.ip-chips{display:flex;flex-wrap:wrap;gap:8px}
.ip-all{margin:16px 0 0}
/* equivalents table: real <table>, chips = styling on the existing <a>, brand pill = <span> in the cell */
.ip-items{width:100%;border-collapse:collapse;table-layout:auto;margin:0 0 12px}
.ip-items thead tr{background:var(--icd-tint)}
.ip-items th{font-size:12px;letter-spacing:.02em;color:var(--icd-accent);font-weight:700;padding:10px 12px;background:none;border-bottom:1px solid var(--icd-line);text-align:left;line-height:1.3;vertical-align:middle}
.ip-items td{padding:13px 12px;border-bottom:1px solid var(--icd-hair);font-size:13.5px;vertical-align:top;overflow-wrap:anywhere}
.ip-items th:nth-child(1),.ip-items td:nth-child(1),.ip-items th:nth-child(3),.ip-items td:nth-child(3){width:1%;white-space:nowrap}
.ip-items td:nth-child(3){text-align:right}
.ip-items tbody tr:nth-child(even){background:#FAF8FC}
.ip-items td.pn a{display:inline-block;background:var(--icd-tint);border:1px solid var(--icd-line);border-radius:8px;padding:4px 10px;font-size:13px;font-weight:700;color:var(--icd-accent);text-decoration:none}
.ip-items .brand-chip{display:inline-block;background:#F2F2F5;color:#555;font-size:12px;font-weight:700;border-radius:999px;padding:4px 10px}
/* FAQ details (home) */
.ip-faq{border:1px solid var(--icd-line);border-radius:10px;margin:0 0 8px;background:#fff}
.ip-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 16px;min-height:44px;font-size:15px;font-weight:700;color:var(--icd-accent);border-radius:10px;text-transform:none;justify-content:flex-start;text-align:left;background:none}
.ip-faq summary>span{flex:1}
.ip-faq summary::-webkit-details-marker{display:none}
.ip-faq summary .ik{color:var(--icd-accent);transition:transform .15s;margin-left:auto;flex-shrink:0}
.ip-faq[open] summary .ik.car{transform:rotate(180deg)}
.ip-faq .a,.ip-faq p{padding:0 16px 14px;font-size:14.5px;line-height:1.6;color:#222;margin:0}
.ip-faq .a a{color:var(--icd-accent)}
/* why cards */
.ip-why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.ip-why .c{border:1px solid var(--icd-line);border-radius:12px;padding:24px 16px;text-align:center;height:100%;background:#fff;box-shadow:none}
.ip-why .c .ico{display:flex;align-items:center;justify-content:center;height:60px;margin:0 0 12px}
.ip-why .c .ik{color:var(--icd-accent)}
.ip-why .c .ik.ik-aircraft-wide{display:inline-block;vertical-align:top;margin:16px 0;width:92px;height:27px}
.ip-why .c h3{font-size:17px;margin:0 0 4px;color:var(--icd-ink)}
.ip-why .c p{font-size:13.5px;margin:0;color:#3A3A3C}
/* interaction states — tint + accent border, visible keyboard focus; never a solid fill; hover only on hover devices */
.ip-b,.ip-btn,.ip-w1,.ip-w2,.ip-av,.ip-faq summary,.ip-why .c,.icd-brands-section .icd-brand-tile,.icd-brands-section .icd-brand-icon,.icd-category-grid ul.products li.product-category,html body ul.products li.product{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}
@media (hover:hover){
a.ip-b:hover,.ip-w2:hover,.ip-why .c:hover,.icd-category-grid ul.products li.product-category:hover,html body.woocommerce ul.products li.product:hover,html body .woocommerce ul.products li.product:hover{border-color:var(--icd-accent)!important;background:var(--icd-tint)!important;transform:none;box-shadow:none}
a.ip-w1:hover{border-color:var(--icd-accent)}
.ip-btn:hover{background:var(--icd-tint2)}
.ip-btn.g:hover{background:rgba(11,125,58,.12)}
.ip-faq summary:hover{background:var(--icd-tint)}
a.ip-b-link:hover .ik.go{opacity:1}
.ip-items td.pn a:hover,.ip-faq .a a:hover{text-decoration:underline}
}
.ip a:focus-visible,.ip button:focus-visible,.ip summary:focus-visible,.ip input:focus-visible,.ip select:focus-visible,.ip textarea:focus-visible,.icd-brands-section .icd-brand-tile:focus-visible,.icd-category-grid a:focus-visible,html body ul.products li.product a:focus-visible,.icd-util-link:focus-visible,.icd-lang-toggle:focus-visible,.icd-masthead-signin:focus-visible,.cart-contents:focus-visible,.main-navigation a:focus-visible,#icd-rfq-toggle:focus-visible{outline:2px solid var(--icd-accent)!important;outline-offset:2px!important;box-shadow:none!important}
/* ICD Pro product tile v10 (2026-11-03, Master GO "ideal 100%"): ONE tile on every products grid — home, shop, category,
   tag, search, related. 4:3 photo box filled by the photo; pill; one two-line title clamp with ellipsis; price row one
   height whether "$x Indicative" or "Price on request"; quote note wraps; equal card heights, Add to Quote flush at the
   bottom. Selectors carry body.woocommerce weight on purpose: style.css loop rules are !important at 4 classes. */
html body.woocommerce ul.products,html body .woocommerce ul.products{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important}
html body.woocommerce ul.products li.product,html body .woocommerce ul.products li.product{display:flex!important;flex-direction:column!important;align-self:stretch!important;height:auto!important;border:1px solid var(--icd-line)!important;border-radius:12px!important;padding:12px!important;background:#fff}
html body.woocommerce ul.products li.product .woocommerce-card__header,html body .woocommerce ul.products li.product .woocommerce-card__header{flex:1 1 auto!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;min-height:0!important;padding-bottom:0!important}
html body.woocommerce ul.products li.product .woocommerce-card__header a.button,html body .woocommerce ul.products li.product .woocommerce-card__header a.button{position:static!important;display:block!important;width:100%!important;margin:auto 0 0!important;transform:none!important}
html body.woocommerce ul.products li.product .woocommerce-image__wrapper,html body .woocommerce ul.products li.product .woocommerce-image__wrapper{height:auto!important;aspect-ratio:4/3;padding:8px;background:#fff!important;border-radius:8px}
html body.woocommerce ul.products li.product .woocommerce-image__wrapper>a,html body .woocommerce ul.products li.product .woocommerce-image__wrapper>a,html body.woocommerce ul.products li.product .shoptimizer-plp-carousel-container,html body .woocommerce ul.products li.product .shoptimizer-plp-carousel-container,html body.woocommerce ul.products li.product .shoptimizer-plp-image-wrapper,html body .woocommerce ul.products li.product .shoptimizer-plp-image-wrapper{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}
html body.woocommerce ul.products li.product .woocommerce-image__wrapper img,html body .woocommerce ul.products li.product .woocommerce-image__wrapper img,html body.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,html body .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,html body.woocommerce ul.products li.product .shoptimizer-plp-image-wrapper img,html body .woocommerce ul.products li.product .shoptimizer-plp-image-wrapper img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;padding:0!important}
html body.woocommerce ul.products li.product .product__categories,html body .woocommerce ul.products li.product .product__categories{background:none!important;border:0!important;padding:0!important;margin:10px 0 0!important;min-height:0!important;line-height:1!important;white-space:normal!important;overflow:visible!important}
html body.woocommerce ul.products li.product .product__categories a,html body .woocommerce ul.products li.product .product__categories a{display:inline-block!important;padding:4px 10px!important;border-radius:6px!important;background:var(--icd-tint)!important;border:1px solid var(--icd-line)!important;color:var(--icd-accent)!important;font-size:11px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;line-height:1.2!important}
html body.woocommerce ul.products li.product .woocommerce-loop-product__title,html body .woocommerce ul.products li.product .woocommerce-loop-product__title{display:block!important;min-height:0!important;height:auto!important;overflow:visible!important;margin:8px 0 6px!important;-webkit-line-clamp:unset!important;font-weight:700!important;color:var(--icd-ink)!important}
html body.woocommerce ul.products li.product .woocommerce-loop-product__title a,html body .woocommerce ul.products li.product .woocommerce-loop-product__title a{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;min-height:40px!important;line-height:1.3!important;font-size:15px!important;font-weight:700!important;color:var(--icd-ink)!important}
html body.woocommerce ul.products li.product .price,html body .woocommerce ul.products li.product .price{display:block!important;min-height:66px!important;margin:0 0 4px!important;line-height:1.25!important}
html body.woocommerce ul.products li.product .icd-indic-wrap,html body .woocommerce ul.products li.product .icd-indic-wrap{display:block!important;max-width:100%!important}
html body.woocommerce ul.products li.product .icd-indic-note,html body .woocommerce ul.products li.product .icd-indic-note{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:block!important;font-size:11px!important;line-height:1.35!important;color:#3A3A3C!important}
html body.woocommerce ul.products li.product .icd-price-on-request,html body .woocommerce ul.products li.product .icd-price-on-request{display:block!important;font-size:19px!important;font-weight:700!important;line-height:1.25!important;padding-top:3px!important}
html body.woocommerce ul.products li.product .button,html body .woocommerce ul.products li.product .button,html body ul.products li.product .button{background:var(--icd-tint)!important;color:var(--icd-accent)!important;border:1px solid var(--icd-accent)!important;border-radius:10px!important;text-transform:none!important;letter-spacing:0!important;font-weight:700!important;min-height:44px}
@media (hover:hover){html body.woocommerce ul.products li.product .button:hover,html body .woocommerce ul.products li.product .button:hover,html body ul.products li.product .button:hover{background:var(--icd-tint2)!important}}
/* responsive */
@media (max-width:900px){.ip-grid,.ip-why{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.ip-grid{grid-template-columns:1fr}.ip-sh{padding:10px 12px}.ip-sh h2,.ip-sh h3,.ip-sh .t{font-size:17px}}
.ip-b .k,.ip-b .v,.ip-b .d{display:block}
.ip-b>div{min-width:0;flex:1}
.ip-call-h h3{margin:0;font-size:16px;color:var(--icd-accent);line-height:1.2}
.ip-tablewrap{overflow-x:auto}
.ip-call-h b{color:var(--icd-accent)}
