/* assets/css/styles.css */

/* Local Tailwind replacement: only utilities used by this site */
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}table{border-collapse:collapse}ol,ul{margin:0;padding:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.block{display:block}
.sticky{position:sticky}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.top-0{top:0}.top-1\/2,[class~="top-1/2"]{top:50%}.bottom-4{bottom:1rem}.left-4{left:1rem}.right-2{right:.5rem}.right-3{right:.75rem}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}
.mx-auto{margin-left:auto;margin-right:auto}.ml-3{margin-left:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pt-8{padding-top:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}[class~="py-[2px]"]{padding-top:2px;padding-bottom:2px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.pl-5{padding-left:1.25rem}.pr-10{padding-right:2.5rem}.pr-24{padding-right:6rem}
.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.align-top{vertical-align:top}
.w-full{width:100%}.w-auto{width:auto}.w-2{width:.5rem}.w-5{width:1.25rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.h-2{height:.5rem}.h-5{height:1.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-40{height:10rem}.min-w-0{min-width:0}[class~="min-w-[240px]"]{min-width:240px}[class~="min-w-[260px]"]{min-width:260px}[class~="min-w-[980px]"]{min-width:980px}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.object-cover{object-fit:cover}.appearance-none{appearance:none}.pointer-events-none{pointer-events:none}.cursor-pointer{cursor:pointer}.no-select{user-select:none}
.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.border-black{border-color:#000}.border-2{border-width:2px;border-style:solid}[class~="border-[3px]"]{border-width:3px;border-style:solid}.border-b-2{border-bottom-width:2px;border-bottom-style:solid}[class~="border-b-[3px]"]{border-bottom-width:3px;border-bottom-style:solid}.border-t-2{border-top-width:2px;border-top-style:solid}
.bg-white{background-color:#fff}.bg-black{background-color:#000}[class~="bg-black/30"]{background-color:rgba(0,0,0,.3)}[class~="bg-[#FFFEF9]"]{background-color:#FFFEF9}[class~="bg-[#FFFEF9]/90"]{background-color:rgba(255,254,249,.9)}[class~="bg-[#FCD34D]"]{background-color:#FCD34D}.text-black{color:#000}[class~="text-black/60"]{color:rgba(0,0,0,.6)}[class~="text-black/70"]{color:rgba(0,0,0,.7)}[class~="text-black/80"]{color:rgba(0,0,0,.8)}[class~="placeholder:text-black/50"]::placeholder{color:rgba(0,0,0,.5)}
.font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.text-left{text-align:left}.text-right{text-align:right}.underline{text-decoration-line:underline}.decoration-black\/20,[class~="decoration-black/20"]{text-decoration-color:rgba(0,0,0,.2)}.decoration-black\/30,[class~="decoration-black/30"]{text-decoration-color:rgba(0,0,0,.3)}.hover\:decoration-black:hover,[class~="hover:decoration-black"]:hover{text-decoration-color:#000}.list-disc{list-style-type:disc}.list-none{list-style:none}.space-y-1>:not([hidden])~:not([hidden]){margin-top:.25rem}.space-y-2>:not([hidden])~:not([hidden]){margin-top:.5rem}.space-y-3>:not([hidden])~:not([hidden]){margin-top:.75rem}
[class~="-translate-y-1/2"]{transform:translateY(-50%)}.backdrop-blur{backdrop-filter:blur(8px)}.focus\:outline-none:focus,[class~="focus:outline-none"]:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus,[class~="focus:ring-2"]:focus{box-shadow:0 0 0 2px currentColor}.focus\:ring-black:focus,[class~="focus:ring-black"]:focus{--tw-ring-color:#000}.hover\:bg-\[\#FFFEF9\]:hover,[class~="hover:bg-[#FFFEF9]"]:hover{background-color:#FFFEF9}.group[open] [class~="group-open:bg-[#FCD34D]"]{background-color:#FCD34D}.accent-black{accent-color:#000}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.ring-2{box-shadow:0 0 0 2px #000!important}.ring-black{--ring-color:#000}
@media (min-width:640px){[class~="sm:flex"]{display:flex}[class~="sm:flex-row"]{flex-direction:row}[class~="sm:grid-cols-3"]{grid-template-columns:repeat(3,minmax(0,1fr))}[class~="sm:text-sm"]{font-size:.875rem;line-height:1.25rem}[class~="sm:text-base"]{font-size:1rem;line-height:1.5rem}[class~="sm:text-2xl"]{font-size:1.5rem;line-height:2rem}[class~="sm:text-3xl"]{font-size:1.875rem;line-height:2.25rem}[class~="sm:h-11"]{height:2.75rem}[class~="sm:h-14"]{height:3.5rem}[class~="sm:h-56"]{height:14rem}[class~="sm:w-56"]{width:14rem}}
@media (min-width:768px){[class~="md:grid-cols-2"]{grid-template-columns:repeat(2,minmax(0,1fr))}[class~="md:grid-cols-3"]{grid-template-columns:repeat(3,minmax(0,1fr))}[class~="md:grid-cols-4"]{grid-template-columns:repeat(4,minmax(0,1fr))}[class~="md:grid-cols-5"]{grid-template-columns:repeat(5,minmax(0,1fr))}[class~="md:col-span-2"]{grid-column:span 2/span 2}[class~="md:col-span-3"]{grid-column:span 3/span 3}}
@media (min-width:1024px){[class~="lg:grid-cols-2"]{grid-template-columns:repeat(2,minmax(0,1fr))}[class~="lg:grid-cols-3"]{grid-template-columns:repeat(3,minmax(0,1fr))}[class~="lg:col-span-2"]{grid-column:span 2/span 2}}

:root{
  --cream:#f7f9fc;
  --accent:#635bff;
  --accent-2:#7c3aed;
  --accent-soft:#eef2ff;
  --ok:#12b981;
  --ink:#101828;
  --muted:#667085;
  --line:#e6e9f0;
  --card:#ffffff;
  --shadow:0 16px 40px rgba(16,24,40,.08);
  --shadow-hover:0 22px 60px rgba(16,24,40,.13);
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at top left, rgba(99,91,255,.12), transparent 34rem),
    radial-gradient(circle at top right, rgba(18,185,129,.10), transparent 30rem),
    var(--cream)!important;
  color:var(--ink)!important;
}
main{max-width:1180px!important}
header.sticky{
  border-bottom:1px solid rgba(16,24,40,.08)!important;
  background:rgba(255,255,255,.82)!important;
  backdrop-filter:blur(18px);
}
[class*="border-[3px]"], .border-2, .border-black{border-color:var(--line)!important}
[class*="border-[3px]"]{border-width:1px!important}
.border-2{border-width:1px!important}
.hard-shadow{box-shadow:var(--shadow)!important}
.pressable{transition:transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease}
.pressable:hover,.pressable:active{transform:translateY(-1px);box-shadow:var(--shadow-hover)!important}
.no-select{user-select:none}
.lowercase{text-transform:none!important}
[class*="bg-[#FFFEF9]"]{background-color:#f8fafc!important}
[class*="bg-[#FCD34D]"], .tabBtn.bg-[#FCD34D] {
  background:linear-gradient(135deg,var(--accent),var(--accent-2))!important;
  color:#fff!important;
}
[class*="text-black/70"], [class*="text-black/60"], [class*="text-black/80"]{color:var(--muted)!important}
button,a{outline-offset:3px}
a:hover{text-decoration-color:currentColor}
input,select{border-color:var(--line)!important;background:#fff!important;color:var(--ink)!important}
input:focus,select:focus{box-shadow:0 0 0 4px rgba(99,91,255,.14)!important;outline:0!important}

/* Metric cards */
#statAvg,#statBest,#statCheap{letter-spacing:-.04em}
#statBest{display:block;color:var(--ink);text-decoration:none!important}
#statBest:hover{color:var(--accent)}
.metric-card{position:relative;overflow:hidden}
.metric-card:after{content:"";position:absolute;inset:auto -30px -42px auto;width:120px;height:120px;border-radius:999px;background:rgba(99,91,255,.10)}

/* Card interactive helpers */
.cardRoot{cursor:pointer}
.cardRoot a,.cardRoot button,.cardRoot input,.cardRoot select,.cardRoot label{cursor:pointer}
.modern-card{
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.modern-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)!important;border-color:rgba(99,91,255,.35)!important}
.modern-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.modern-card__identity{display:flex;align-items:center;gap:.8rem;min-width:0}
.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:900;border:1px solid rgba(99,91,255,.18)}
.logo-box{width:3rem;height:3rem;border-radius:1rem;background:#fff;border:1px solid var(--line);overflow:hidden;box-shadow:0 10px 22px rgba(16,24,40,.08)}
.logo-box img{width:100%;height:100%;object-fit:cover;display:block}
.modern-card__title{display:block;font-size:1.25rem;line-height:1.15;font-weight:900;color:var(--ink);text-decoration:none!important;letter-spacing:-.035em}
.modern-card__title:hover{color:var(--accent)}
.modern-card__domain{margin-top:.25rem;font-size:.78rem;font-weight:800;color:var(--muted)}
.modern-card__domain a{color:var(--muted);text-decoration:none!important}
.modern-card__actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-left:auto}
.compare-chip,.primary-link,.secondary-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:900;text-decoration:none!important;transition:transform .16s ease, box-shadow .16s ease, background .16s ease;border:1px solid var(--line)}
.compare-chip{background:#fff;padding:.55rem .85rem;font-size:.78rem;box-shadow:0 8px 20px rgba(16,24,40,.06)}
.compare-chip.is-active{background:var(--accent-soft);color:var(--accent);border-color:rgba(99,91,255,.25)}
.primary-link{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff!important;padding:.72rem 1rem;font-size:.85rem;box-shadow:0 12px 26px rgba(99,91,255,.20)}
.primary-link.compact{padding:.62rem .9rem;font-size:.78rem}
.secondary-link{background:#fff;color:var(--ink)!important;padding:.62rem .9rem;font-size:.78rem}
.compare-chip:hover,.primary-link:hover,.secondary-link:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.modern-card__score{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}
.score-card,.rating-meter{border:1px solid var(--line);border-radius:1.25rem;background:#f8fafc;padding:1rem}
.score-card__label,.rating-meter__head span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--muted)}
.score-card__value{margin-top:.25rem;font-size:2.25rem;line-height:1;font-weight:950;letter-spacing:-.06em;color:var(--ink)}
.score-card__bar,.rating-meter__bar{height:.55rem;margin-top:.7rem;border-radius:999px;background:#e9edf5;overflow:hidden}
.score-card__bar i,.rating-meter__bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--ok))}
.score-card__meta,.rating-meter__hint{margin-top:.6rem;font-size:.78rem;font-weight:800;color:var(--muted)}
.rating-meter__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.rating-meter__head strong{font-size:1rem;font-weight:950;color:var(--ink)}
.modern-card__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1rem}
.modern-card__facts span{min-width:0;border:1px solid var(--line);border-radius:1rem;background:#fff;padding:.75rem .85rem;font-size:.84rem;font-weight:800;color:var(--ink)}
.modern-card__facts b{display:block;margin-bottom:.2rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.modern-card__body{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}
.info-panel{border:1px solid var(--line);border-radius:1.25rem;background:#fff;padding:1rem}
.panel-title{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:950;color:var(--muted)}
.info-panel p{margin-top:.65rem;font-size:.92rem;line-height:1.55;font-weight:650;color:#344054}
.tag-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}
.tag-list span,[class*="rounded-full"].border-2{box-shadow:none!important}
.modern-card__footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;margin-top:1rem}

@media (max-width: 760px){
  .modern-card__score,.modern-card__facts,.modern-card__body{grid-template-columns:1fr}
  .modern-card__actions{width:100%;justify-content:flex-start;margin-left:0}
  .primary-link,.secondary-link,.compare-chip{width:auto}
}

/* Absolute buttons that already use transform (e.g. translateY(-50%)) shouldn't jump on hover */
#tableClear.pressable:hover,#tableClear.pressable:active{transform:translateY(-50%);box-shadow:var(--shadow)!important}


/* Rating formula / awards / compare page */
.formula-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem;margin-top:1rem}
.formula-chip{border:1px solid var(--line);border-radius:1rem;background:#fff;padding:.75rem;min-width:0}
.formula-chip b{display:block;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.formula-chip strong{display:block;margin-top:.2rem;font-size:1.1rem;line-height:1.1;font-weight:950;color:var(--ink)}
.formula-chip small{display:block;margin-top:.2rem;color:var(--muted);font-weight:800}
.formula-details{border:1px solid var(--line);border-radius:1.25rem;background:#fff;padding:1rem}
.formula-details summary{cursor:pointer;font-weight:950;color:var(--ink)}
.formula-details ol{margin-top:.75rem;padding-left:1.25rem;color:#344054;font-weight:650;font-size:.92rem;line-height:1.55}
.award-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.85rem}
.award-badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;border:1px solid rgba(99,91,255,.22);background:var(--accent-soft);color:var(--accent);padding:.38rem .65rem;font-size:.74rem;font-weight:950;white-space:nowrap}
.formula-mini{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin-top:.7rem}
.formula-mini span{display:block;border-radius:.75rem;background:#fff;border:1px solid var(--line);padding:.45rem .5rem;font-size:.7rem;font-weight:900;color:var(--muted);min-width:0}
.formula-mini b{display:block;color:var(--ink);font-size:.9rem;line-height:1.1;margin-top:.1rem}
.check-date{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;border:1px solid var(--line);background:#fff;padding:.38rem .7rem;font-size:.76rem;font-weight:900;color:var(--muted)}
.compare-provider-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
.compare-option{display:flex;align-items:flex-start;gap:.55rem;border:1px solid var(--line);border-radius:1rem;background:#fff;padding:.85rem;cursor:pointer;min-height:5rem}
.compare-option input{margin-top:.2rem}.compare-option strong{display:block;font-weight:950;color:var(--ink)}.compare-option span{display:block;margin-top:.18rem;font-size:.78rem;font-weight:800;color:var(--muted)}
.compare-selected-note{font-size:.85rem;font-weight:850;color:var(--muted)}
@media (max-width:980px){.formula-grid,.formula-mini{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-provider-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.formula-grid,.formula-mini,.compare-provider-list{grid-template-columns:1fr}}


/* Responsive fixes v23 */
html,body{max-width:100%;overflow-x:hidden}
main{width:100%}
.filters-grid>*{min-width:0}
.filter-summary,.filter-actions{min-width:0}
.filter-actions{justify-content:flex-start;align-items:stretch}
.filter-actions > *{max-width:100%}
.filter-actions .rounded-full{white-space:normal;text-align:center;line-height:1.2}
.modern-card,.score-card,.rating-meter,.info-panel{min-width:0}
.modern-card__facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.modern-card__facts span,.info-panel p,.compare-option span,.formula-chip,.formula-chip small,.formula-mini span{overflow-wrap:anywhere;word-break:break-word}
.formula-mini{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));align-items:stretch}
.formula-mini span{display:flex;flex-direction:column;justify-content:space-between;gap:.18rem;min-height:4.25rem;padding:.5rem .55rem;line-height:1.15}
.formula-mini b{font-size:.82rem;line-height:1.05}
.formula-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.check-date{max-width:100%;white-space:normal;line-height:1.25}
.compare-provider-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.compare-option{min-height:unset}
#compareBar .fixed{max-width:calc(100vw - 2rem)}
#compareBar .fixed > .flex{flex-wrap:wrap}
@media (max-width:1100px){
  .modern-card__score{grid-template-columns:1fr}
}
@media (max-width:980px){
  .filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters-grid .md\:col-span-2,
  .filters-grid .md\:col-span-3,
  .filters-grid .md\:col-span-5{grid-column:auto / span 2}
}
@media (max-width:760px){
  .filters-grid,
  .filters-grid .md\:col-span-2,
  .filters-grid .md\:col-span-3,
  .filters-grid .md\:col-span-5{grid-template-columns:1fr;grid-column:auto}
  .filter-summary > *, .filter-actions > *{width:100%}
  .check-date{display:flex}
}
