.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.72rem 1.15rem;border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-heading);font-size:.92rem;font-weight:800;letter-spacing:-.01em;text-decoration:none;overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}
.btn::before{content:"";position:absolute;z-index:-1;inset:0;opacity:0;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.24) 48%,transparent 80%);transform:translateX(-100%);transition:transform .55s ease,opacity .3s}
.btn:hover::before{opacity:1;transform:translateX(100%)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn-primary{background:var(--gradient-brand);color:#fff;box-shadow:0 12px 28px rgba(28,105,219,.3)}
.btn-primary:hover{box-shadow:0 16px 34px rgba(28,105,219,.38)}
.btn-secondary{background:#fff;color:var(--color-text);border-color:var(--color-border);box-shadow:var(--shadow-xs)}
.btn-secondary:hover{border-color:#b9cbe1;box-shadow:var(--shadow-sm)}
.btn-ghost{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.28)}
.btn-ghost:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.45)}
.btn-sm{min-height:40px;padding:.5rem .8rem;font-size:.82rem}
.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.65rem}
.btn .icon,.card-link .icon{transition:transform var(--transition-fast)}
.btn:hover .icon,.card-link:hover .icon{transform:translateX(3px)}
.icon-btn,.menu-toggle{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);background:rgba(255,255,255,.045);color:#fff;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}
.icon-btn:hover,.menu-toggle:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35)}

.card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-xs);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}
.card::after{content:"";position:absolute;pointer-events:none;inset:-1px;border:1px solid transparent;border-radius:inherit;background:linear-gradient(135deg,rgba(38,120,243,.35),rgba(38,197,138,.12)) border-box;mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0;transition:opacity var(--transition-base)}
.card:hover{transform:translateY(-5px);border-color:transparent;box-shadow:var(--shadow-md)}
.card:hover::after{opacity:1}
.card-icon{display:grid;place-items:center;width:3.1rem;height:3.1rem;margin-bottom:1.25rem;border:1px solid #cfe0f7;border-radius:var(--radius-md);background:var(--color-brand-soft);color:var(--color-brand-deep)}
.card-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-brand-deep);font-family:var(--font-heading);font-size:.9rem;font-weight:800;text-decoration:none}
.category-card{min-height:290px;display:flex;flex-direction:column;padding:1.7rem}
.category-card p{color:var(--color-text-muted)}
.category-card .card-link{margin-top:auto}
.category-number{position:absolute;top:1.4rem;right:1.5rem;color:#b8c5d3;font-family:var(--font-heading);font-size:.75rem;font-weight:800;letter-spacing:.12em}
.media-card{padding:0;overflow:hidden}
.media-card::after{display:none}
.media-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#eef2f7}
.media-card-body{display:flex;flex-direction:column;align-items:flex-start;min-height:330px;padding:1.5rem}
.media-card-body .btn{margin-top:auto}
.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0}
.tag,.status-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:var(--radius-pill);background:var(--color-brand-soft);color:#154e91;font-size:.74rem;font-weight:800;line-height:1.2}
.status-pill{background:var(--color-security-soft);color:var(--color-security-deep)}
.rating-unavailable{display:inline-flex;align-items:center;gap:.45rem;padding:.48rem .72rem;border:1px solid #d9e1eb;border-radius:var(--radius-sm);background:#f2f5f9;color:var(--color-text-muted);font-size:.8rem;font-weight:750}
.brand-placeholder{display:grid;place-items:center;width:4rem;height:4rem;margin-bottom:1.15rem;border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:var(--gradient-dark);color:#fff;font-family:var(--font-heading);font-size:1.4rem;font-weight:850;box-shadow:inset 0 1px rgba(255,255,255,.08)}
.centered-placeholder{margin:2rem auto}.centered-placeholder-compact{margin:auto}

.review-card{display:grid;grid-template-rows:auto auto auto 1fr auto;min-height:440px;padding:1.65rem}
.review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.review-card .brand-placeholder{margin:0}
.review-card h2,.review-card h3{margin-top:1.1rem}
.review-card p{color:var(--color-text-muted)}
.review-highlights{display:grid;gap:.45rem;padding:0;margin:.9rem 0 1.1rem;list-style:none;color:var(--color-text);font-size:.9rem}
.review-highlights li{display:flex;align-items:flex-start;gap:.5rem}
.review-highlights .icon{margin-top:.15rem;color:var(--color-security-deep)}
.review-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.1rem;border-top:1px solid var(--color-border)}
.compare-control{display:flex;align-items:center;gap:.55rem;color:var(--color-text);font-size:.82rem;font-weight:750}
.compare-control input{width:20px;height:20px;margin:0;accent-color:var(--color-brand)}

.trust-strip{position:relative;z-index:2;margin-top:-1px;background:#08182a;color:#fff;border-block:1px solid var(--color-border-dark)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{display:flex;align-items:center;gap:.9rem;min-height:92px;padding:1.15rem 1.35rem;border-right:1px solid var(--color-border-dark)}
.trust-item:last-child{border:0}
.trust-item .icon{color:var(--color-security)}
.trust-item strong{display:block;font-family:var(--font-heading);font-size:.92rem}
.trust-item span{display:block;color:var(--color-text-muted-dark);font-size:.78rem}

.table-wrap{position:relative;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm);scrollbar-width:thin}
.comparison-table{width:100%;min-width:840px;border-collapse:separate;border-spacing:0}
.comparison-table th,.comparison-table td{text-align:left;padding:1.05rem 1.1rem;border-bottom:1px solid var(--color-border);vertical-align:top}
.comparison-table th{background:#eaf1fb;color:#304258;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.comparison-table tbody tr:nth-child(even) td{background:#f9fbfd}
.comparison-table tbody tr:last-child td,.comparison-table tbody tr:last-child th{border-bottom:0}
.comparison-table tbody th{position:sticky;left:0;z-index:2;min-width:170px;background:#f2f6fb;color:var(--color-text)}
.comparison-table td.difference{background:var(--color-warning-soft)}
.comparison-mobile{display:none}
.table-hint{display:none}

.process-list{counter-reset:step;display:grid;grid-template-columns:repeat(5,1fr);gap:0;list-style:none;padding:0}
.process-step{counter-increment:step;position:relative;padding:1.5rem 1.15rem;border-top:1px solid var(--color-border);background:#fff;color:var(--color-text)}
.process-step::before{content:"0" counter(step);display:grid;place-items:center;width:2.5rem;height:2.5rem;margin-bottom:1rem;border-radius:50%;background:var(--gradient-brand);color:#fff;font-family:var(--font-heading);font-size:.75rem;font-weight:850;box-shadow:0 8px 18px rgba(38,120,243,.25)}
.process-step::after{content:"";position:absolute;top:2.72rem;left:calc(2.5rem + 1.15rem);right:-1rem;height:1px;background:linear-gradient(90deg,#9fc2f3,transparent)}
.process-step:last-child::after{display:none}
.process-step h3{font-size:1rem}
.process-step p{color:var(--color-text-muted);font-size:.88rem}
.safety-note{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.2rem 1.35rem;border:1px solid #a9dfc9;border-radius:var(--radius-md);background:var(--color-security-soft);color:#114f3a}
.safety-note .icon{color:var(--color-security-deep)}
.safety-note strong{display:block;font-family:var(--font-heading)}

.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.pros,.cons{padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.pros{border-top:3px solid var(--color-security);background:linear-gradient(180deg,#effaf6,#fff)}
.cons{border-top:3px solid #d9944b;background:linear-gradient(180deg,#fff8ef,#fff)}
.check-list,.cross-list{padding:0;list-style:none}
.check-list li,.cross-list li{position:relative;padding-left:1.75rem;margin:.7rem 0}
.check-list li::before{content:"";position:absolute;left:.15rem;top:.42rem;width:.65rem;height:.35rem;border-left:2px solid var(--color-security-deep);border-bottom:2px solid var(--color-security-deep);transform:rotate(-45deg)}
.cross-list li::before{content:"";position:absolute;left:.15rem;top:.67rem;width:.75rem;height:2px;background:#b66b27;border-radius:2px}

.accordion{display:grid;gap:.75rem}
.accordion-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.accordion-item:has(.accordion-trigger[aria-expanded=true]){border-color:#b8d2f4;box-shadow:var(--shadow-sm)}
.accordion-trigger{position:relative;width:100%;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 3.25rem .95rem 1.15rem;border:0;background:#fff;color:var(--color-text);text-align:left;font-family:var(--font-heading);font-weight:750}
.accordion-trigger::before,.accordion-trigger::after{content:"";position:absolute;right:1.25rem;top:50%;width:14px;height:2px;border-radius:2px;background:var(--color-brand);transition:transform var(--transition-fast)}
.accordion-trigger::after{transform:rotate(90deg)}
.accordion-trigger[aria-expanded=true]::after{transform:rotate(0)}
.accordion-panel{padding:0 1.15rem 1.2rem;color:var(--color-text-muted)}

.field{display:grid;gap:.4rem}
.field label{color:#33445b;font-family:var(--font-heading);font-size:.82rem;font-weight:750}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:.72rem .85rem;border:1px solid #b8c5d5;border-radius:var(--radius-sm);background:#fff;color:var(--color-text);font-size:1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.field textarea{min-height:155px;resize:vertical}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#8fa5be}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--color-brand);box-shadow:0 0 0 4px rgba(38,120,243,.13)}
.field [aria-invalid=true]{border-color:var(--color-error);box-shadow:0 0 0 3px rgba(180,35,24,.08)}
.field-error{min-height:1.2em;color:var(--color-error);font-size:.78rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.full-width{grid-column:1/-1}
.checkbox-field{display:flex;align-items:flex-start;gap:.65rem}
.checkbox-field input{width:20px;height:20px;margin-top:.2rem;accent-color:var(--color-brand)}
.honeypot{position:absolute!important;left:-9999px!important}
.form-status{padding:1rem;border-radius:var(--radius-sm);margin-top:1rem;font-size:.9rem}
.form-status.info{background:var(--color-brand-soft);color:#174b89}.form-status.success{background:var(--color-security-soft);color:#0b5e40}.form-status.error{background:var(--color-error-soft);color:var(--color-error)}

.search-dialog{width:min(760px,calc(100% - 2rem));max-height:min(85vh,760px);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-xl);padding:0;background:#0c1d31;color:#fff;box-shadow:0 36px 120px rgba(0,0,0,.55)}
.search-dialog::backdrop{background:rgba(2,9,18,.78);backdrop-filter:blur(7px)}
.search-shell{padding:1.2rem}
.search-head{display:flex;align-items:center;gap:.7rem}
.search-head input{flex:1;min-height:54px;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);background:rgba(255,255,255,.07);color:#fff;font-size:1.05rem}
.search-head input::placeholder{color:#91a2b7}
.search-head .icon-btn{color:#fff;border-color:rgba(255,255,255,.18)}
.search-results{list-style:none;padding:0;margin:1rem 0 0;max-height:55vh;overflow:auto}
.search-results a{display:block;padding:.85rem;border-radius:var(--radius-sm);color:#fff;text-decoration:none}
.search-results a:hover,.search-results a:focus,.search-results a.active{background:rgba(38,120,243,.18)}
.search-results small{display:block;color:#99aabd}
.empty-state{text-align:center;padding:3rem 1rem;border:1px dashed #aebdce;border-radius:var(--radius-lg);color:var(--color-text-muted)}
.loading{display:grid;place-items:center;min-height:180px;color:var(--color-text-muted)}
.toast{position:fixed;left:50%;bottom:1.5rem;z-index:var(--z-toast);transform:translate(-50%,120px);background:#07111e;color:#fff;padding:.8rem 1.1rem;border:1px solid var(--color-border-dark);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);transition:transform var(--transition-base)}
.toast.show{transform:translate(-50%,0)}
.back-to-top{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:900;width:48px;height:48px;border:0;border-radius:50%;background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity var(--transition-base),transform var(--transition-base)}
.back-to-top.visible{opacity:1;pointer-events:auto;transform:none}
