.etl-toplist,.etl-toplist *,.etl-toplist *::before,.etl-toplist *::after{box-sizing:border-box}
.etl-toplist{container-type:inline-size;width:100%;max-width:none;margin:1.5rem 0}
.etl-heading{margin:0 0 10px}
.etl-list{display:grid;gap:8px;width:100%}
.etl-card{font-family:Arial,Helvetica,sans-serif;position:relative;display:grid;grid-template-columns:minmax(100px,150px) minmax(118px,145px) minmax(0,1fr) minmax(135px,165px);column-gap:clamp(16px,2.5cqi,30px);align-items:center;width:100%;min-width:0;min-height:142px;padding:16px 24px 16px 30px;color:var(--etl-text);background:linear-gradient(145deg,var(--etl-row-accent) -18%,var(--etl-bg) 38%);overflow:hidden;cursor:pointer;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.etl-card>*{min-width:0}
.etl-card:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.etl-card:focus-within{outline:3px solid currentColor;outline-offset:-5px}
.etl-card--no-link{cursor:default}
.etl-card--no-link:hover{transform:none;filter:none;box-shadow:none}
.etl-card-link{position:absolute;inset:0;z-index:5}
.etl-card-link:focus{outline:none}
.etl-rank{position:absolute;left:0;top:0;z-index:2;display:grid;place-items:center;width:34px;height:28px;background:#262626;color:#fff;font-size:15px;font-weight:700;pointer-events:none}
.etl-badge{position:absolute;top:10px;right:12px;z-index:2;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.94);color:#161616;font-size:10px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.03em;pointer-events:none}
.etl-badge-new{background:#dff8e8;color:#145b2d}.etl-badge-exclusive{background:#fff0c7;color:#654600}.etl-badge-recommended{background:#dcecff;color:#164b82}
.etl-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;pointer-events:none}
.etl-brand img{width:auto;max-width:140px;max-height:68px;object-fit:contain}
.etl-brand-text{font-size:12px;font-weight:800;line-height:1.2;text-transform:uppercase}
.etl-rating{justify-self:center;width:100%;max-width:145px;min-width:0;background:var(--etl-surface);border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:3px;padding:10px 14px;text-align:center;pointer-events:none}
.etl-rating-label,.etl-rating-tier{display:block;font-size:12px}
.etl-rating strong{display:flex;align-items:center;justify-content:center;gap:4px;font-size:23px;line-height:1.2;margin:4px 0}
.etl-star{width:.78em;height:.78em;display:inline-block;flex:0 0 auto}
.etl-rating-tier{font-size:14px;font-weight:700}
.etl-copy{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0;pointer-events:none}
.etl-eyebrow{display:block;font-size:12px;line-height:1.3}
.etl-title{display:block;overflow-wrap:anywhere;color:inherit!important;text-decoration:none!important;font-size:clamp(22px,2cqi,29px);font-weight:800;line-height:1.08}
.etl-action{justify-self:end;width:100%;max-width:165px;text-align:right;pointer-events:none}
.etl-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:10px 18px;border:2px solid var(--etl-btn);border-radius:4px;background:var(--etl-btn);color:var(--etl-btn-text)!important;text-decoration:none!important;font-size:17px;font-weight:800}
.etl-cta-outline .etl-button{background:transparent;color:var(--etl-btn)!important}
.etl-cta-rounded .etl-button{border-radius:999px}
.etl-theme-light .etl-card{box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}

/* Reusable compact layout: used by Stacked, and by Auto in narrow content columns. */
.etl-layout-stacked .etl-card{grid-template-columns:minmax(110px,150px) minmax(0,1fr);grid-template-areas:'brand copy' 'rating action';column-gap:20px;row-gap:14px;padding:30px 20px 20px}
.etl-layout-stacked .etl-brand{grid-area:brand}
.etl-layout-stacked .etl-rating{grid-area:rating;justify-self:stretch;max-width:none}
.etl-layout-stacked .etl-copy{grid-area:copy}
.etl-layout-stacked .etl-action{grid-area:action;justify-self:stretch;max-width:none;padding:0}
.etl-layout-stacked .etl-brand img{max-width:110px;max-height:60px}
.etl-layout-stacked .etl-title{font-size:clamp(21px,3.2cqi,27px)}
.etl-layout-stacked .etl-button{min-height:50px}
.etl-layout-stacked .etl-badge{top:8px;right:8px}

/* Auto responds to the actual content column, not the browser viewport. */
@container (max-width:900px){
  .etl-layout-auto .etl-card{grid-template-columns:minmax(110px,150px) minmax(0,1fr);grid-template-areas:'brand copy' 'rating action';column-gap:20px;row-gap:14px;padding:30px 20px 20px}
  .etl-layout-auto .etl-brand{grid-area:brand}.etl-layout-auto .etl-rating{grid-area:rating;justify-self:stretch;max-width:none}.etl-layout-auto .etl-copy{grid-area:copy}.etl-layout-auto .etl-action{grid-area:action;justify-self:stretch;max-width:none;padding:0}
  .etl-layout-auto .etl-brand img{max-width:110px;max-height:60px}.etl-layout-auto .etl-title{font-size:clamp(21px,3.2cqi,27px)}.etl-layout-auto .etl-button{min-height:50px}.etl-layout-auto .etl-badge{top:8px;right:8px}

  /* Horizontal remains one row in sidebar-sized columns, but compresses safely. */
  .etl-layout-horizontal .etl-card{grid-template-columns:minmax(74px,105px) minmax(105px,130px) minmax(0,1fr) minmax(112px,145px);column-gap:clamp(10px,1.8cqi,18px);min-height:132px;padding:16px 18px 16px 24px}
  .etl-layout-horizontal .etl-brand img{max-width:92px;max-height:54px}
  .etl-layout-horizontal .etl-rating{padding:9px 8px}
  .etl-layout-horizontal .etl-title{font-size:clamp(18px,2.8cqi,24px)}
  .etl-layout-horizontal .etl-button{min-height:50px;padding-inline:10px;font-size:15px}
}

/* Phones always use the safe mobile layout, regardless of the chosen desktop layout. */
@container (max-width:560px){
  .etl-toplist .etl-card{grid-template-columns:86px minmax(0,1fr);grid-template-areas:'brand copy' 'rating rating' 'action action';gap:14px;padding:32px 14px 16px}
  .etl-toplist .etl-brand{grid-area:brand}.etl-toplist .etl-copy{grid-area:copy}.etl-toplist .etl-rating{grid-area:rating}.etl-toplist .etl-action{grid-area:action}
  .etl-toplist .etl-action{justify-self:stretch;width:100%;max-width:none;padding:0;text-align:stretch}.etl-toplist .etl-button{width:100%;max-width:100%;min-height:50px;margin:0}
  .etl-toplist .etl-rating{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;justify-self:stretch;width:100%;max-width:none}
  .etl-toplist .etl-rating strong{margin:0}.etl-toplist .etl-rating-label{text-align:left}.etl-toplist .etl-rating-tier{text-align:right}
  .etl-toplist .etl-brand img{max-width:76px;max-height:52px}.etl-toplist .etl-brand-text{font-size:10px}.etl-toplist .etl-title{font-size:20px}
  .etl-toplist .etl-badge{top:8px;right:8px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* Fallback for older browsers without container-query support. */
@supports not (container-type:inline-size){
  @media(max-width:850px){
    .etl-layout-auto .etl-card,.etl-layout-stacked .etl-card{grid-template-columns:120px 1fr;grid-template-areas:'brand copy' 'rating action';gap:14px;padding:30px 16px 20px}
    .etl-layout-auto .etl-brand,.etl-layout-stacked .etl-brand{grid-area:brand}.etl-layout-auto .etl-rating,.etl-layout-stacked .etl-rating{grid-area:rating;max-width:none}.etl-layout-auto .etl-copy,.etl-layout-stacked .etl-copy{grid-area:copy}.etl-layout-auto .etl-action,.etl-layout-stacked .etl-action{grid-area:action;max-width:none}.etl-layout-auto .etl-button,.etl-layout-stacked .etl-button{width:100%}
    .etl-layout-horizontal .etl-card{grid-template-columns:90px 115px minmax(0,1fr) 125px;gap:12px;padding:16px 18px}
  }
  @media(max-width:520px){
    .etl-toplist .etl-card{grid-template-columns:86px 1fr;grid-template-areas:'brand copy' 'rating rating' 'action action';gap:14px;padding:32px 14px 16px}
    .etl-toplist .etl-brand{grid-area:brand}.etl-toplist .etl-copy{grid-area:copy}.etl-toplist .etl-rating{grid-area:rating}.etl-toplist .etl-action{grid-area:action}
    .etl-toplist .etl-action,.etl-toplist .etl-button,.etl-toplist .etl-rating{width:100%;max-width:100%}
  }
}
@media(prefers-reduced-motion:reduce){.etl-card{transition:none}.etl-card:hover{transform:none}}
