/* akam-core components. Colours come from the theme custom properties with fallbacks. */
:root{--akam-y:#FDCC07;--akam-c:#353535;--akam-g:#AD9C57;--akam-w:#fff;--akam-bg:#f6f6f4;--akam-line:#e3e1d8;--akam-r:12px;--akam-ok:#1f7a3f;--akam-err:#b3261e}
.akam-hp{position:absolute!important;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.akam-sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.akam-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:44px;padding:.6em 1.25em;border:2px solid var(--akam-c);border-radius:999px;background:var(--akam-w);color:var(--akam-c);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.akam-btn:hover{background:var(--akam-c);color:var(--akam-w)}
.akam-btn--primary{background:var(--akam-y);border-color:var(--akam-y);color:var(--akam-c)}
.akam-btn--primary:hover{background:var(--akam-c);border-color:var(--akam-c);color:var(--akam-y)}
.akam-btn--ghost{border-color:var(--akam-line);background:transparent}
.akam-btn--sm{min-height:34px;padding:.3em .8em;font-size:.85em}
.akam-btn--lg{min-height:52px;padding:.7em 2em;font-size:1.05em}
.akam-btn:focus-visible,.akam-pbtn:focus-visible,.akam-story:focus-visible,.akam-search__item:focus-visible{outline:3px solid var(--akam-g);outline-offset:2px}
.akam-btn[disabled]{opacity:.6;cursor:wait}

/* Forms */
.akam-form{display:grid;gap:1rem;padding:clamp(1rem,3vw,2rem);background:var(--akam-w);border:1px solid var(--akam-line);border-radius:var(--akam-r)}
.akam-form__title{margin:0;font-size:1.2rem}
.akam-form__row{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.akam-form__row--3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.akam-field{display:flex;flex-direction:column;gap:.35rem;margin:0}
.akam-field label,.akam-label{font-weight:700;font-size:.92rem}
.akam-field small{color:#6b6b6b;font-size:.8rem}
.akam-field input:not([type=radio]):not([type=checkbox]),.akam-field select,.akam-field textarea{width:100%;min-height:46px;padding:.55em .8em;border:1.5px solid #cfcdc4;border-radius:10px;background:#fff;font:inherit;color:inherit}
.akam-field input:focus,.akam-field select:focus,.akam-field textarea:focus{outline:none;border-color:var(--akam-g);box-shadow:0 0 0 3px rgba(173,156,87,.25)}
.akam-field.has-error input,.akam-field.has-error select,.akam-field.has-error textarea{border-color:var(--akam-err)}
.akam-field__err{color:var(--akam-err);font-size:.82rem}
.akam-field--check{justify-content:flex-end}
.akam-field--check label{font-weight:400;display:flex;gap:.5em;align-items:center;min-height:46px}
.akam-seg{display:flex;gap:.5rem;flex-wrap:wrap}
.akam-seg label{display:flex;align-items:center;gap:.4em;padding:.5em .9em;border:1.5px solid #cfcdc4;border-radius:10px;cursor:pointer;font-weight:400;min-height:46px}
.akam-seg label:has(input:checked){border-color:var(--akam-y);background:#fff8d6}
.akam-form__status:empty{display:none}
.akam-form__status{padding:1rem;border-radius:10px;background:var(--akam-bg)}
.akam-form__status.is-ok{background:#eef7f0;border:1px solid #bfe0c9}
.akam-form__status.is-error{background:#fdeceb;border:1px solid #f2c4c0;color:var(--akam-err)}
.akam-ok__msg{margin:0 0 .4rem;font-weight:700}
.akam-ok__code{margin:0}
.akam-estimate{margin-bottom:.8rem;padding:1rem;border-radius:10px;background:var(--akam-c);color:#fff}
.akam-estimate__label{display:block;color:var(--akam-y);font-size:.85rem}
.akam-estimate__range{display:block;font-size:1.4rem;margin:.2rem 0}
.akam-estimate__disc{margin:0;font-size:.82rem;opacity:.85}
.akam-calc__group{border:1px solid var(--akam-line);border-radius:10px;padding:1rem;margin:0;display:grid;gap:1rem}
.akam-calc__group legend{font-weight:800;padding-inline:.4rem}
.akam-calc__more summary{cursor:pointer;font-weight:700;color:var(--akam-c)}
.akam-req-note{font-weight:400;color:#777;font-size:.85em}
.akam-calc__note{margin:0;font-size:.85rem;color:#666}

/* Search */
[data-akam-search]{position:relative}
.akam-search__panel{position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:60;max-height:min(70vh,520px);overflow:auto;background:#fff;border:1px solid var(--akam-line);border-radius:var(--akam-r);box-shadow:0 18px 40px rgba(0,0,0,.14);padding:.4rem}
.akam-search__group{padding:.5rem .6rem .2rem;font-size:.75rem;color:var(--akam-g);font-weight:800}
.akam-search__item{display:flex;align-items:center;gap:.7rem;padding:.45rem .6rem;border-radius:8px;color:var(--akam-c);text-decoration:none}
.akam-search__item[aria-selected=true],.akam-search__item:hover{background:#fff8d6}
.akam-search__item img,.akam-search__ph{width:44px;height:44px;flex:none;border-radius:8px;object-fit:cover;background:var(--akam-bg)}
.akam-search__txt{display:flex;flex-direction:column;min-width:0}
.akam-search__title{font-weight:700;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.akam-search__meta{font-size:.78rem;color:#777}
.akam-search__all{display:block;text-align:center;padding:.6rem;margin-top:.2rem;border-top:1px solid var(--akam-line);font-weight:700;color:var(--akam-c)}
.akam-search__empty{margin:0;padding:1rem;color:#777;text-align:center}
.is-loading>input[type=search]{background-image:linear-gradient(90deg,transparent,rgba(253,204,7,.35),transparent);background-size:200% 100%;animation:akam-sh 1s linear infinite}
@keyframes akam-sh{to{background-position:-200% 0}}

/* Product buttons */
.akam-pbtns{display:flex;gap:.4rem;margin:.4rem 0}
.akam-pbtn{display:inline-flex;align-items:center;gap:.3em;min-width:40px;min-height:40px;padding:.3em .6em;border:1.5px solid var(--akam-line);border-radius:999px;background:#fff;color:var(--akam-c);cursor:pointer;font:inherit;font-size:.82rem}
.akam-pbtn[aria-pressed=true]{background:var(--akam-y);border-color:var(--akam-y)}
.akam-toast{position:fixed;inset-inline-start:50%;bottom:84px;transform:translate(50%,20px);z-index:999;padding:.6rem 1.1rem;border-radius:999px;background:var(--akam-c);color:#fff;opacity:0;pointer-events:none;transition:.2s}
[dir=ltr] .akam-toast{transform:translate(-50%,20px)}
.akam-toast.is-on{opacity:1;transform:translate(50%,0)}

/* Grids & cards */
.akam-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.akam-card{position:relative;background:#fff;border:1px solid var(--akam-line);border-radius:var(--akam-r);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.akam-card:hover{box-shadow:0 10px 28px rgba(0,0,0,.09);transform:translateY(-2px)}
.akam-card a{color:inherit;text-decoration:none}
.akam-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:var(--akam-bg)}
.akam-card__ph{aspect-ratio:1/1;background:linear-gradient(135deg,var(--akam-bg),#ecebe4)}
.akam-card__title{font-size:1rem;margin:.7rem .8rem .3rem}
.akam-card__price{margin:0 .8rem .8rem;color:var(--akam-g);font-weight:700}
.akam-card .akam-btn{margin:0 .8rem .8rem}
.akam-list.is-loading{opacity:.5}

/* Tables */
.akam-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--akam-line);border-radius:var(--akam-r)}
.akam-spec-table,.akam-compare-table{width:100%;border-collapse:collapse;background:#fff}
.akam-spec-table th,.akam-spec-table td,.akam-compare-table th,.akam-compare-table td{padding:.7rem .9rem;border-bottom:1px solid var(--akam-line);text-align:start;vertical-align:top}
.akam-spec-table tr:nth-child(even),.akam-compare-table tbody tr:nth-child(even){background:#faf9f5}
.akam-spec-table th,.akam-compare-table tbody th{width:40%;font-weight:700;color:var(--akam-c)}
.akam-compare-table thead th{min-width:170px;text-align:center}
.akam-compare-table thead img{width:96px;height:96px;object-fit:cover;border-radius:8px;display:block;margin:0 auto .4rem}
.akam-key-specs{list-style:none;padding:0;margin:.8rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}
.akam-key-specs li{padding:.5rem .7rem;border-radius:10px;background:var(--akam-bg);font-size:.88rem}
.akam-key-specs li strong{display:block;color:var(--akam-c)}
.akam-unit{color:#777;font-size:.9em}

/* Filters */
.akam-filters{display:grid;gap:1rem;padding:1rem;background:#fff;border:1px solid var(--akam-line);border-radius:var(--akam-r)}
.akam-filters__title{margin:0;font-size:1rem}
.akam-filter{border:0;border-top:1px solid var(--akam-line);margin:0;padding:.8rem 0 0}
.akam-filter legend{font-weight:700;font-size:.9rem;padding:0;margin-bottom:.5rem}
.akam-range{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.akam-range label{display:flex;align-items:center;gap:.35rem;font-size:.85rem}
.akam-range input{width:100%;min-height:40px;padding:.3em .5em;border:1.5px solid #cfcdc4;border-radius:8px;font:inherit;direction:ltr;text-align:center}
.akam-check{display:flex;align-items:center;gap:.5em;min-height:34px;font-size:.9rem;cursor:pointer}
.akam-check input{width:18px;height:18px;accent-color:var(--akam-c)}
.akam-filters__actions{display:flex;gap:.5rem;flex-wrap:wrap}
#akam-products.is-loading{opacity:.45;pointer-events:none}

/* Stories */
.akam-stories{display:flex;gap:.9rem;overflow-x:auto;padding:.4rem .2rem 1rem;scroll-snap-type:x mandatory;scrollbar-width:thin}
.akam-story{flex:none;display:flex;flex-direction:column;align-items:center;gap:.35rem;width:84px;padding:0;border:0;background:none;cursor:pointer;scroll-snap-align:start;font:inherit;color:var(--akam-c)}
.akam-story__ring{display:block;width:76px;height:76px;padding:3px;border-radius:50%;background:conic-gradient(var(--akam-y),var(--akam-g),var(--akam-y))}
.akam-story.is-seen .akam-story__ring{background:#d6d4cc}
.akam-story__ring img,.akam-story__ring video{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid #fff;display:block;background:var(--akam-bg)}
.akam-story__title{font-size:.75rem;line-height:1.3;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.akam-story-modal{position:fixed;inset:0;z-index:1000;background:rgba(20,20,20,.92);display:flex;align-items:center;justify-content:center}
.akam-story-modal[hidden]{display:none}
.akam-story-modal__box{position:relative;width:min(420px,100vw);height:min(760px,100vh);background:#111;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.akam-story-modal__media{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.akam-story-modal__media img,.akam-story-modal__media video{max-width:100%;max-height:100%;object-fit:contain}
.akam-story-modal__bars{position:absolute;top:10px;inset-inline:10px;display:flex;gap:4px;z-index:2}
.akam-story-modal__bars span{flex:1;height:3px;background:rgba(255,255,255,.35);border-radius:3px;overflow:hidden}
.akam-story-modal__bars span i{display:block;height:100%;width:0;background:#fff}
.akam-story-modal__bars .is-done i{width:100%}
.akam-story-modal__bars .is-on i{animation:akam-bar 6s linear forwards}
@keyframes akam-bar{to{width:100%}}
.akam-story-modal__close{position:absolute;top:22px;inset-inline-end:10px;z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;font-size:28px;cursor:pointer}
.akam-story-modal__title{position:relative;z-index:2;margin:0;padding:3rem 1rem .6rem;color:#fff;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.akam-story-modal__link{position:relative;z-index:2;margin:0 1rem 1rem}
.akam-story-modal__nav{position:absolute;top:50%;z-index:2;width:44px;height:64px;border:0;background:rgba(0,0,0,.25);color:#fff;font-size:30px;cursor:pointer;transform:translateY(-50%)}
.akam-story-modal__prev{inset-inline-start:0}
.akam-story-modal__next{inset-inline-end:0}
.akam-noscroll{overflow:hidden}

/* FAQ */
.akam-faq{display:grid;gap:.6rem;margin:1.5rem 0}
.akam-faq__title{font-size:1.25rem;margin:0 0 .4rem}
.akam-faq__item{border:1px solid var(--akam-line);border-radius:10px;background:#fff}
.akam-faq__item summary{cursor:pointer;padding:.9rem 1rem;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.akam-faq__item summary::-webkit-details-marker{display:none}
.akam-faq__item summary::after{content:"+";color:var(--akam-g);font-size:1.3em;line-height:1}
.akam-faq__item[open] summary::after{content:"–"}
.akam-faq__a{padding:0 1rem 1rem;color:#444}
.akam-faq__a>:first-child{margin-top:0}
.akam-cat-guide{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--akam-line)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
