/* IDSA Commerce components. Tokens match the design system; the idsa-child theme reuses them. */
:root{
  /* Mockup palette: navy base + playful accents */
  --idsa-ink:#0B1446; --idsa-ink-2:#081247; --idsa-ink-3:#13277E;
  --idsa-steel:#6B7393; --idsa-line:#E4E9F5; --idsa-paper:#FFFFFF; --idsa-mist:#EEF5FF;
  --idsa-green:#B4F03C; --idsa-green-deep:#A2DE2A; --idsa-green-soft:#EAF9D2; --idsa-green-bright:#B4F03C;
  --idsa-royal:#1E46E0; --idsa-purple:#6A2CF0; --idsa-pink:#EF2D84; --idsa-orange:#FF8A1E; --idsa-sky:#4DB3FF;
  --idsa-amber:#FF8A1E; --idsa-amber-soft:#FFF1D6; --idsa-wa:#25D366;
  --idsa-r-sm:12px; --idsa-r-md:16px;
  --idsa-f-display:"Poppins","Segoe UI",system-ui,sans-serif;
  --idsa-f-body:"Poppins","Segoe UI",system-ui,-apple-system,sans-serif;
}

/* Buttons */
.idsa-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:var(--idsa-r-sm);font:600 15px/1 var(--idsa-f-body);border:1.5px solid transparent;text-decoration:none!important;transition:background .15s,border-color .15s,color .15s;cursor:pointer;white-space:nowrap}
.idsa-btn svg{flex:none}
.idsa-btn--primary{background:var(--idsa-green);color:#1C2A04!important;box-shadow:0 10px 24px -12px rgba(180,240,60,.9)}
.idsa-btn--primary:hover{background:var(--idsa-green-deep)}
.idsa-btn--purple{background:linear-gradient(135deg,#7B3DFF,var(--idsa-purple));color:#fff!important}
.idsa-btn--navy{background:var(--idsa-ink-2);color:#fff!important}
.idsa-btn--dark{background:var(--idsa-ink);color:#fff!important}
.idsa-btn--dark:hover{background:var(--idsa-ink-3)}
.idsa-btn--outline{border-color:var(--idsa-line);color:var(--idsa-ink)!important;background:var(--idsa-paper)}
.idsa-btn--outline:hover{border-color:var(--idsa-ink)}
.idsa-btn--wa{background:var(--idsa-wa);color:#fff!important}
.idsa-btn--wa:hover{filter:brightness(.93)}
.idsa-btn--sm{min-height:44px;padding:0 12px;font-size:14px}
.idsa-btn--block{width:100%}
.idsa-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--idsa-royal);font-size:14px}

/* Pills */
.idsa-pill{display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--idsa-f-body);padding:6px 9px;border-radius:4px;white-space:nowrap}
.idsa-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.idsa-pill--stock{background:var(--idsa-green-soft);color:#3D6A00}
.idsa-pill--order{background:var(--idsa-amber-soft);color:#8A4510}
.idsa-pill--out{background:var(--idsa-mist);color:var(--idsa-steel)}

/* Shop loop card (works with WooCommerce + Elementor product widgets) */
.idsa-plugin-cards ul.products li.product,.idsa-plugin-cards ul.products li.product{display:flex;flex-direction:column;background:var(--idsa-paper);border:1px solid var(--idsa-line);border-radius:var(--idsa-r-md);overflow:hidden;padding:0 0 18px;transition:box-shadow .2s,border-color .2s}
.idsa-plugin-cards ul.products li.product:hover{border-color:#cfd5d8;box-shadow:0 18px 36px -22px rgba(20,23,26,.4)}
.idsa-plugin-cards ul.products li.product a img{margin:0 0 16px;aspect-ratio:4/3;object-fit:cover;width:100%}
.idsa-plugin-cards ul.products li.product > *:not(a.woocommerce-LoopProduct-link):not(.idsa-card-actions){padding-inline:18px}
.idsa-plugin-cards ul.products li.product .woocommerce-LoopProduct-link{display:flex;flex-direction:column;color:inherit;text-decoration:none}
.idsa-plugin-cards ul.products li.product .woocommerce-LoopProduct-link > *:not(img){padding-inline:18px}
.idsa-plugin-cards .idsa-card-cat{font:600 11.5px/1 var(--idsa-f-body);letter-spacing:.09em;text-transform:uppercase;color:var(--idsa-steel);margin-bottom:8px}
.idsa-plugin-cards ul.products li.product .woocommerce-loop-product__title{font:700 18px/1.25 var(--idsa-f-display)!important;letter-spacing:-.01em;color:var(--idsa-ink);padding-top:0!important;margin:0 0 8px}
.idsa-plugin-cards .idsa-card-specs,.idsa-plugin-cards .idsa-keyspecs{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:var(--idsa-steel);font-variant-numeric:tabular-nums;margin-bottom:12px}
.idsa-plugin-cards .idsa-card-specs span,.idsa-plugin-cards .idsa-keyspecs span{display:inline-flex;gap:5px;align-items:center}
.idsa-plugin-cards ul.products li.product .price{font:800 22px/1 var(--idsa-f-display)!important;color:var(--idsa-ink)!important;font-variant-numeric:tabular-nums;margin:auto 0 10px!important;padding-top:12px;border-top:1px solid var(--idsa-line)}
.idsa-plugin-cards ul.products li.product .price del{font-size:15px;opacity:.6}
.idsa-plugin-cards .idsa-card-avail{margin-bottom:14px}
.idsa-plugin-cards .idsa-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-inline:18px;margin-top:auto}
.idsa-plugin-cards .idsa-price-request{font-weight:700}

/* Single product */
.idsa-keyspecs{margin:18px 0;padding:14px 0;border-block:1px solid var(--idsa-line);font-size:14.5px}
.idsa-avail{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 16px}
.idsa-lead{font-size:14px;color:var(--idsa-steel)}
.idsa-cta-group{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 18px}
.idsa-assure{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px;color:var(--idsa-steel)}
.idsa-assure li{display:flex;gap:8px;align-items:center}
.idsa-assure li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--idsa-royal)}
.woocommerce div.product form.cart .button{min-height:52px;background:var(--idsa-ink)!important;border-radius:var(--idsa-r-sm)!important;font:600 15px/1 var(--idsa-f-body)!important;padding:0 28px!important}
.woocommerce div.product form.cart .button:hover{background:var(--idsa-ink-3)!important}
.idsa-spec-table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.idsa-spec-table th,.idsa-spec-table td{padding:12px 14px;border-bottom:1px solid var(--idsa-line);text-align:left;vertical-align:top}
.idsa-spec-table th{width:38%;font-weight:600;color:var(--idsa-ink);background:var(--idsa-mist)}
.idsa-chips{display:flex;flex-wrap:wrap;gap:8px}
.idsa-chip{border:1px solid var(--idsa-line);border-radius:var(--idsa-r-sm);padding:7px 12px;font-size:14px}
.idsa-ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.idsa-ticks li{display:flex;gap:10px;align-items:flex-start}
.idsa-ticks svg{color:#20B26B;flex:none;margin-top:3px}

/* Trust strip */
.idsa-trust{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:1024px){.idsa-trust{grid-template-columns:repeat(4,minmax(0,1fr))}}
.idsa-trust li{display:flex;gap:14px;align-items:flex-start;padding:24px 12px 24px 0;min-width:0}
@media (min-width:1024px){.idsa-trust li{padding:30px 24px;border-left:1px solid var(--idsa-line)}.idsa-trust li:first-child{border-left:0;padding-left:0}}
.idsa-trust svg{color:var(--idsa-royal);flex:none}
.idsa-trust strong{display:block;font:700 13px/1.3 var(--idsa-f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--idsa-ink)}
.idsa-trust span{display:block;color:var(--idsa-steel);font-size:14px;line-height:1.45;margin-top:4px}

/* Category grid */
.idsa-cat-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){.idsa-cat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media (min-width:1200px){.idsa-cat-grid{grid-template-columns:repeat(var(--idsa-cols,5),minmax(0,1fr))}}
.idsa-cat-card{display:flex;flex-direction:column;background:var(--idsa-paper);border:1px solid var(--idsa-line);border-radius:var(--idsa-r-md);overflow:hidden;color:inherit;text-decoration:none;transition:box-shadow .2s,border-color .2s}
.idsa-cat-card:hover{border-color:#cfd5d8;box-shadow:0 14px 30px -18px rgba(20,23,26,.35)}
.idsa-cat-card__media img,.idsa-img-missing{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.idsa-img-missing{display:grid;place-items:center;background:var(--idsa-mist);color:var(--idsa-steel);font-size:12px}
.idsa-cat-card__body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.idsa-cat-card h3{font:700 17px/1.2 var(--idsa-f-display);margin:0;color:var(--idsa-ink)}
.idsa-cat-card p{font-size:14px;color:var(--idsa-steel);line-height:1.5;margin:0;flex:1}
@media (max-width:480px){.idsa-cat-card p{display:none}.idsa-cat-card h3{font-size:15px}}

/* FAQ */
.idsa-faq{border-top:1px solid var(--idsa-line)}
.idsa-faq__item{border-bottom:1px solid var(--idsa-line)}
.idsa-faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;font:700 17px/1.35 var(--idsa-f-display);color:var(--idsa-ink)}
.idsa-faq__item summary::-webkit-details-marker{display:none}
.idsa-faq__item summary svg{flex:none;color:var(--idsa-royal);transition:transform .2s}
.idsa-faq__item[open] summary svg{transform:rotate(45deg)}
.idsa-faq__a{padding:0 0 22px;color:var(--idsa-steel);max-width:68ch}

/* Quote form */
.idsa-quote{max-width:860px}
.idsa-quote__title{font:800 28px/1.15 var(--idsa-f-display);margin:0 0 8px}
.idsa-quote__intro{color:var(--idsa-steel);margin:0 0 24px}
.idsa-quote__grid{display:grid;gap:16px 20px;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.idsa-quote__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.idsa-field--wide{grid-column:1/-1}}
.idsa-field{display:grid;gap:6px;min-width:0}
.idsa-field label{font:600 14px/1.3 var(--idsa-f-body);color:var(--idsa-ink)}
.idsa-field input,.idsa-field select,.idsa-field textarea{width:100%;min-height:48px;border:1px solid #CBD2D6;border-radius:var(--idsa-r-sm);padding:10px 14px;font:400 16px/1.4 var(--idsa-f-body);background:var(--idsa-paper);color:var(--idsa-ink)}
.idsa-field textarea{min-height:120px}
.idsa-field input:focus,.idsa-field select:focus,.idsa-field textarea:focus{outline:none;border-color:var(--idsa-royal);box-shadow:0 0 0 3px #DCE6FF}
.idsa-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--idsa-steel);margin:20px 0}
.idsa-consent input{margin-top:3px;width:18px;height:18px;accent-color:var(--idsa-royal)}
.idsa-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.idsa-notice{padding:14px 16px;border-radius:var(--idsa-r-sm);margin-bottom:20px;font-size:15px}
.idsa-notice--ok{background:var(--idsa-green-soft);color:var(--idsa-green-deep)}
.idsa-notice--err{background:var(--idsa-amber-soft);color:#8A4510}

/* Contact list */
.idsa-contact{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.idsa-contact li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;overflow-wrap:anywhere}
.idsa-contact span{opacity:.7}

/* Floating WhatsApp + mobile sticky bar */
.idsa-wa-float{position:fixed;right:24px;bottom:24px;z-index:999;width:58px;height:58px;border-radius:50%;background:var(--idsa-wa);color:#fff;display:none;place-items:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.45)}
.idsa-wa-float svg{width:30px;height:30px}
@media (min-width:900px){.idsa-wa-float{display:grid}}
.idsa-sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:999;background:var(--idsa-ink-2);color:#fff;display:grid;grid-template-columns:1fr 1.3fr;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}
.idsa-sticky-bar--product{grid-template-columns:auto auto 1fr;align-items:center}
.idsa-sticky-bar--n3{grid-template-columns:auto 1fr 1fr;gap:8px}
.idsa-sticky-bar--n3 .idsa-btn{min-width:0;padding:0 10px;font-size:13px;white-space:nowrap}
.idsa-sticky-bar--product.idsa-sticky-bar--n3{grid-template-columns:auto auto auto 1fr}
.idsa-sticky-bar--product .idsa-btn--call span{display:none}
.idsa-btn--call{background:#fff;color:#0B1446!important;border:1px solid rgba(11,20,70,.15)}
.idsa-btn--call:hover{filter:brightness(.96)}
.idsa-btn--call svg,.idsa-btn--wa svg{flex:none}
.idsa-sticky-bar .idsa-btn{gap:6px}
.idsa-sticky-bar__price{color:#fff;font:800 17px/1.1 var(--idsa-f-display);font-variant-numeric:tabular-nums;padding-right:4px}
.idsa-sticky-bar__price del{display:none}
.idsa-sticky-bar .idsa-btn{min-height:50px;padding:0 12px}
.idsa-sticky-bar--product .idsa-btn--wa span{display:none}
@media (min-width:900px){.idsa-sticky-bar{display:none}}
@media (max-width:899px){body.idsa-has-sticky{padding-bottom:76px}}

/* Journey */
.idsa-next-steps{margin:24px 0;padding:20px 22px;border:1px solid #E4E9F5;border-radius:14px;background:#F7FAFF}
.idsa-next-steps h2{margin:0 0 10px;font-size:20px}
.idsa-next-steps ol{margin:0 0 14px;padding-left:20px}
.idsa-next-ctas{display:flex;flex-wrap:wrap;gap:10px}
.woocommerce-message .idsa-go-checkout{margin-left:8px}
.idsa-confirm-note{margin:0 0 20px;padding:14px 16px;border-radius:12px;background:#F3EEFF;border:1px solid #D9CCFF;color:#29324F;font-size:15px;line-height:1.5}
.idsa-confirm-note strong{color:#081247}
.idsa-ship{margin:10px 0 14px;padding:10px 14px;border-radius:10px;background:#F4F7FF;border:1px solid #DCE3F5;font-size:14.5px;line-height:1.55;color:#29324F}
.idsa-ship strong{color:#081247}
.idsa-ship-kg{color:#4F587A;font-size:13px}
.idsa-ship a{color:#1E46E0;text-decoration:underline;white-space:nowrap}
.idsa-ship-table{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:15px}
.idsa-ship-table th,.idsa-ship-table td{padding:9px 12px;border-bottom:1px solid #E4E9F5;text-align:left}
.idsa-ship-table thead th{background:#081247;color:#fff;font-weight:600}
.idsa-ship-table tbody tr:nth-child(even){background:#F7F9FE}
.idsa-rates{overflow-x:auto}
