/** Shopify CDN: Minification failed

Line 117:0 Unexpected "{"
Line 117:1 Expected identifier but found "%"
Line 117:34 Expected identifier but found whitespace
Line 117:46 Unexpected "("
Line 117:54 Expected identifier but found "%"
Line 118:0 Unexpected "<"
Line 189:2 Comments in CSS use "/* ... */" instead of "//"
Line 197:2 Comments in CSS use "/* ... */" instead of "//"
Line 201:2 Comments in CSS use "/* ... */" instead of "//"
Line 214:2 Comments in CSS use "/* ... */" instead of "//"

**/
/* Grid (use on your collection grid wrapper if needed) */
.rs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 1.25rem; }

/* Card */
.rs-card { display: flex; flex-direction: column; background: #fff; border-radius: 1rem; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,.06); transition: transform .2s ease, box-shadow .2s ease; }
.rs-card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.08); }

/* Media (square + hover swap) */
.rs-media { position: relative; aspect-ratio: 1/1; background: #f7f7f7; }
.rs-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rs-img.is-hover { opacity: 0; transition: opacity .2s ease; }
.rs-card:hover .rs-img.is-hover { opacity: 1; }

/* Badges */
.rs-badge { position: absolute; top: .75rem; left: .75rem; font-size: .80rem; font-weight: 600; padding: .3rem .5rem; border-radius: .5rem; color: #fff; }
.rs-badge--sale { background: #e53935; }
.rs-badge--stock { left: auto; right: .75rem; background: #0e9f6e; }

/* Body */
.rs-body { padding: .9rem .9rem 1rem; display: flex; flex-direction: column; gap: .55rem; }
.rs-title { font-size: 1rem; line-height: 1.3; margin: 0; }
.rs-title a { color: #111; text-decoration: none; }
.rs-title a:hover { text-decoration: underline; }

/* Price row */
.rs-price-row { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.rs-price { font-weight: 700; font-size: 1.05rem; }
.rs-price--compare { color: #888; text-decoration: line-through; }
.rs-rating { margin-left: auto; font-size: .9rem; color: #333; }

/* Trust line */
.rs-trust { font-size: .82rem; color: #666; }

/* CTAs */
.rs-cta { display: flex; align-items: center; gap: .5rem; margin-top: .25rem; }
.rs-btn { display: inline-flex; justify-content: center; align-items: center; width: 100%; padding: .6rem .9rem; border-radius: .75rem; border: none; background: #111; color: #fff; font-weight: 600; cursor: pointer; }
.rs-btn:hover { filter: brightness(1.1); }
.rs-btn[disabled] { opacity: .5; cursor: not-allowed; }
.rs-btn.rs-btn--secondary { background: #f0f0f0; color: #111; }
.rs-size-link { font-size: .85rem; color: #555; text-decoration: underline; white-space: nowrap; }

/* Layout */
.rs-collection__head { display:flex; flex-direction:column; gap:.5rem; margin-bottom:1rem; }
.rs-toolbar { margin-top:.5rem; display:flex; justify-content:flex-end; }
.rs-layout { display:grid; grid-template-columns: 260px 1fr; gap: 2rem; }
@media (max-width: 980px){ .rs-layout { grid-template-columns: 1fr; } }

/* Sidebar filters */
.rs-filters details { border-bottom: 1px solid #eee; padding: .4rem 0; }
.rs-filters summary { cursor: pointer; font-weight: 600; }
.rs-filter-list { list-style: none; margin: .4rem 0 .6rem; padding: 0; display: grid; gap: .35rem; }
.rs-filter-actions { display:flex; gap:.5rem; margin-top:.75rem; }

/* Pagination */
.rs-pagination { display:flex; align-items:center; justify-content:center; gap:1rem; margin:1.25rem 0 2rem; }
.rs-page-link { padding:.5rem .75rem; border:1px solid #ddd; border-radius:.5rem; text-decoration:none; color:#111; }
.rs-page-link:hover { background:#f7f7f7; }
.rs-page-counter { color:#666; }

/* Product grid (cards are already styled) */
.rs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.25rem; }

/* (From earlier) card styles… keep the ones you already added */
/* Sidebar cleanup: keep only the filters form */
.rs-sidebar > *:not(#Facets) { display: none !important; }
/* Centered hero header */
.rs-collection__head { 
  display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:.5rem; margin: 12px 0 18px;
}
.rs-collection__title {
  font-size: clamp(28px, 4.5vw, 48px);
  font-weight: 800; line-height:1.1;
  animation: rs-fade-down .45s ease-out both;
}
.rs-collection__title::after {
  content:""; display:block; width:72px; height:3px; margin:.5rem auto 0;
  background:#111; opacity:.15; border-radius:2px;
}
@keyframes rs-fade-down { 
  from { opacity:0; transform: translateY(-8px) scale(.98); } 
  to   { opacity:1; transform: translateY(0) scale(1); } 
}
/* Centered hero header */
.rs-collection__head { 
  display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:.5rem; margin: 12px 0 18px;
}
.rs-collection__title {
  font-size: clamp(28px, 4.5vw, 48px);
  font-weight: 800; line-height:1.1;
  animation: rs-fade-down .45s ease-out both;
}
.rs-collection__title::after {
  content:""; display:block; width:72px; height:3px; margin:.5rem auto 0;
  background:#111; opacity:.15; border-radius:2px;
}
@keyframes rs-fade-down { 
  from { opacity:0; transform: translateY(-8px) scale(.98); } 
  to   { opacity:1; transform: translateY(0) scale(1); } 
}

{%- comment -%} Right-side drawer: Size Guide (Caps) {%- endcomment -%}
<aside id="rs-size-drawer" class="rs-drawer" aria-hidden="true">
  <div class="rs-drawer__overlay" data-rs-close></div>

  <div class="rs-drawer__panel" role="dialog" aria-modal="true" aria-labelledby="rs-sg-title">
    <button class="rs-drawer__close" aria-label="Cerrar" data-rs-close>×</button>

    <h2 id="rs-sg-title" class="rs-drawer__title">Guía de tallas · Gorras</h2>

    <div class="rs-segment" role="tablist" aria-label="Unidades">
      <button type="button" class="is-active" data-unit="cm" role="tab" aria-selected="true">CM</button>
      <button type="button" data-unit="in" role="tab" aria-selected="false">IN</button>
    </div>

    <div class="rs-table-wrap" data-table="cm">
      <table class="rs-table">
        <thead><tr><th>Circunferencia (cm)</th><th>Talla (Fitted)</th></tr></thead>
        <tbody>
          <tr><td>54.9</td><td>6 7/8</td></tr>
          <tr><td>55.8</td><td>7</td></tr>
          <tr><td>56.8</td><td>7 1/8</td></tr>
          <tr><td>57.7</td><td>7 1/4</td></tr>
          <tr><td>58.7</td><td>7 3/8</td></tr>
          <tr><td>59.6</td><td>7 1/2</td></tr>
          <tr><td>60.6</td><td>7 5/8</td></tr>
          <tr><td>61.5</td><td>7 3/4</td></tr>
          <tr><td>62.5</td><td>7 7/8</td></tr>
          <tr><td>63.5</td><td>8</td></tr>
        </tbody>
      </table>
    </div>

    <div class="rs-table-wrap is-hidden" data-table="in">
      <table class="rs-table">
        <thead><tr><th>Circunferencia (in)</th><th>Talla (Fitted)</th></tr></thead>
        <tbody>
          <tr><td>21.6</td><td>6 7/8</td></tr>
          <tr><td>22.0</td><td>7</td></tr>
          <tr><td>22.4</td><td>7 1/8</td></tr>
          <tr><td>22.7</td><td>7 1/4</td></tr>
          <tr><td>23.1</td><td>7 3/8</td></tr>
          <tr><td>23.5</td><td>7 1/2</td></tr>
          <tr><td>23.9</td><td>7 5/8</td></tr>
          <tr><td>24.2</td><td>7 3/4</td></tr>
          <tr><td>24.6</td><td>7 7/8</td></tr>
          <tr><td>25.0</td><td>8</td></tr>
        </tbody>
      </table>
    </div>

    <div class="rs-note">
      <strong>Cómo medir:</strong> rodea tu cabeza con una cinta por encima de cejas y orejas.
      Si estás entre tallas, elige la mayor. <br>
      <strong>Snapback/Ajustable:</strong> talla única (≈55–61 cm).
    </div>
  </div>
</aside>

<script>
(() => {
  const root = document.getElementById('rs-size-drawer');
  if (!root) return;

  const open = () => {
    root.classList.add('is-open');
    document.documentElement.classList.add('rs-no-scroll');
  };
  const close = () => {
    root.classList.remove('is-open');
    document.documentElement.classList.remove('rs-no-scroll');
  };

  // Open from any trigger
  document.addEventListener('click', (e) => {
    const t = e.target.closest('[data-open-size-guide], .rs-size-link, a[href="/pages/guia-de-tallas"]');
    if (!t) return;
    e.preventDefault();
    open();
  });

  // Close handlers
  root.querySelectorAll('[data-rs-close]').forEach(el => el.addEventListener('click', close));
  document.addEventListener('keydown', (e) => { if (e.key === 'Escape') close(); });

  // Unit toggle
  const seg = root.querySelector('.rs-segment');
  seg?.addEventListener('click', (e) => {
    const btn = e.target.closest('button[data-unit]');
    if (!btn) return;
    seg.querySelectorAll('button').forEach(b => b.classList.remove('is-active'));
    btn.classList.add('is-active');
    const unit = btn.getAttribute('data-unit');
    root.querySelectorAll('.rs-table-wrap').forEach(w => {
      w.classList.toggle('is-hidden', w.getAttribute('data-table') !== unit);
    });
  });

  // Click overlay closes
  root.querySelector('.rs-drawer__overlay')?.addEventListener('click', close);
})();
</script>
.rs-card { position: relative; }
.rs-card__cover {
  position: absolute; inset: 0; z-index: 1;
}
.rs-cta, .rs-size-link, .rs-link-button { position: relative; z-index: 2; } /* keep buttons above the cover */
/* Drawer base (CSS :target) */
.rs-drawer { position: fixed; inset: 0; z-index: 9999; opacity: 0; pointer-events: none; }
.rs-drawer:target { opacity: 1; pointer-events: auto; }

.rs-drawer__overlay { position:absolute; inset:0; background:rgba(0,0,0,.45); display:block; }

.rs-drawer__panel {
  position:absolute; top:0; right:0; height:100%; width:min(520px,92vw);
  background:#fff; box-shadow:-10px 0 30px rgba(0,0,0,.12);
  transform: translateX(100%); transition: transform .3s ease;
  padding: 1.1rem 1.1rem 1.25rem; overflow:auto;
}
.rs-drawer:target .rs-drawer__panel { transform: translateX(0); }

.rs-drawer__close { position:absolute; top:.7rem; right:.7rem; width:34px; height:34px;
  border-radius:.5rem; background:#111; color:#fff; display:inline-flex; align-items:center;
  justify-content:center; text-decoration:none; font-weight:700; }
.rs-drawer__title { margin:0 2rem .75rem 0; font-size:1.25rem; }

/* Segment toggle */
.rs-segment { display:inline-flex; border:1px solid #ddd; border-radius:.6rem; overflow:hidden; margin:.25rem 0 1rem; }
.rs-segment a { padding:.35rem .7rem; text-decoration:none; color:#111; background:#fff; }
.rs-segment a.is-active { background:#111; color:#fff; }

/* Table */
.rs-table { width:100%; border-collapse:collapse; font-size:.95rem; }
.rs-table th, .rs-table td { padding:.55rem .6rem; border-bottom:1px solid #eee; text-align:left; }
.rs-table-wrap.is-hidden { display:none; }
.rs-note { margin-top:1rem; color:#444; font-size:.9rem; line-height:1.4; }
/* ===== Drawer container (CSS :target opens it) ===== */
.rs-drawer{position:fixed;inset:0;z-index:9999;opacity:0;pointer-events:none}
.rs-drawer:target{opacity:1;pointer-events:auto}
.rs-drawer__overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);display:block}
.rs-drawer__panel{position:absolute;top:0;right:0;height:100%;width:min(640px,94vw);background:#fff;
  box-shadow:-12px 0 40px rgba(0,0,0,.15);transform:translateX(100%);transition:transform .3s ease;
  padding:1.2rem 1.2rem 1.5rem;overflow:auto;border-radius:16px 0 0 16px}
.rs-drawer:target .rs-drawer__panel{transform:translateX(0)}
.rs-drawer__close{position:absolute;top:.8rem;right:.8rem;width:36px;height:36px;border-radius:.6rem;
  background:#111;color:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700}

/* ===== Hero ===== */
.rs-hero{margin:0 0 .6rem;text-align:center}
.rs-hero h2{margin:0;font-size:clamp(22px,2.6vw,28px);line-height:1.2;font-weight:800}
.rs-gradient{background:linear-gradient(90deg,#111,#1a73e8);-webkit-background-clip:text;color:transparent}
.rs-subtitle{color:#666;margin:.25rem 0 .75rem}

/* ===== Content blocks ===== */
.rs-h3{margin:1rem 0 .4rem;font-size:1rem}
.rs-list{margin:.25rem 0 .75rem 1.1rem}
.rs-list li{margin:.2rem 0}

/* ===== Calculator ===== */
.rs-calc{background:#fafafa;border:1px solid #eee;border-radius:1rem;padding:.9rem;margin:.6rem 0 1rem}
.rs-calc__head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.rs-segment{display:inline-flex;border:1px solid #ddd;border-radius:.6rem;overflow:hidden}
.rs-segment button{padding:.35rem .7rem;background:#fff;border:0;cursor:pointer}
.rs-segment button.is-active{background:#111;color:#fff}
.rs-inputs{display:grid;gap:.5rem;margin-top:.6rem}
.rs-inputs__row{display:flex;align-items:center;gap:.4rem}
.rs-inputs input[type="number"]{width:110px;padding:.45rem .55rem;border:1px solid #ddd;border-radius:.5rem}
.rs-inputs input[type="range"]{width:100%}
.rs-unit{display:inline-flex;align-items:center;gap:.25rem;background:#f2f2f2;border:1px solid #e5e5e5;border-radius:.5rem;padding:.4rem .55rem;font-size:.9rem}

/* ===== Recommendation ===== */
.rs-reco{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}
.rs-reco__title{font-weight:700}
.rs-chips{display:flex;gap:.4rem;align-items:center}
.rs-chip{display:inline-flex;align-items:center;gap:.35rem;background:#111;color:#fff;border-radius:999px;padding:.35rem .6rem;font-weight:700;font-size:.9rem}
.rs-chip--soft{background:#eef5ff;color:#113}
.rs-table-card{background:#fff;border:1px solid #eee;border-radius:1rem;padding:.6rem}

/* ===== Table ===== */
.rs-table{width:100%;border-collapse:collapse;font-size:.95rem}
.rs-table th,.rs-table td{padding:.6rem .7rem;border-bottom:1px solid #eee;text-align:left}
.rs-table thead th{background:#111;color:#fff;border:none}
.rs-table .is-right{text-align:right}
#rs-sg-body tr:nth-child(even){background:#fafafa}
#rs-sg-body tr.is-hot{outline:2px solid #1a73e8;background:#eef5ff}
.rs-checks{list-style:"✅ ";margin:.35rem 0 .75rem 1rem}
.rs-checks li{padding-left:.25rem;margin:.25rem 0}
.rs-note{margin-top:.5rem;color:#444;font-size:.9rem}
/* Base button */
.rs-size-btn{
  display:inline-flex; align-items:center; gap:.45rem;
  font-size:.9rem; font-weight:600; line-height:1;
  padding:.5rem .75rem; border-radius:999px; text-decoration:none;
  transition:background .2s, color .2s, border-color .2s, box-shadow .2s;
  white-space:nowrap;
}
.rs-size-btn--sm{ font-size:.85rem; padding:.45rem .65rem; }
.rs-size-ic{ flex:0 0 auto; }

/* Style A — Outline Pill (clean default) */
.rs-size-btn--outline{
  background:#fff; color:#111; border:1px solid #e5e5e5;
}
.rs-size-btn--outline:hover{
  border-color:#c7d2fe; background:#f6f8ff; color:#1a73e8;
}
.rs-size-btn--outline:focus{ outline:0; box-shadow:0 0 0 3px rgba(26,115,232,.25); }

/* Style B — Solid (match Add to cart) */
.rs-size-btn--solid{
  background:#111; color:#fff; border:1px solid #111;
}
.rs-size-btn--solid:hover{ filter:brightness(1.08); }
.rs-size-btn--solid:focus{ outline:0; box-shadow:0 0 0 3px rgba(0,0,0,.2); }

/* Style C — Ghost link (minimal) */
.rs-size-btn--ghost{
  background:transparent; color:#111; border:1px solid transparent;
  text-decoration:underline; text-underline-offset:2px;
}
.rs-size-btn--ghost:hover{ color:#1a73e8; }

/* Keep it above the card cover link */
.rs-cta .rs-size-btn{ position:relative; z-index:2; }
/* Confine the invisible overlay to the card */
.rs-card { position: relative; }
.rs-card__cover {
  position: absolute; inset: 0; z-index: 1; display: block; border-radius: inherit;
}

/* Keep interactive elements above the overlay */
.rs-cta, .rs-cta * , .rs-size-btn, .rs-size-link { position: relative; z-index: 5; }
.rs-media { position: relative; z-index: 2; }     /* hover image swap stays above cover */
.rs-btn { cursor: pointer; }

/* Safety so nothing external overlays the grid */
.rs-grid, .rs-content { position: relative; z-index: 0; }

/* (Optional) debug — see the overlay box; remove when done */
/* .rs-card__cover { outline: 2px dashed rgba(26,115,232,.6); } */
/* Visually-hidden but accessible label */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Wrapper: center it; make it optionally sticky under the header */
.rs-sort{
  display:flex; justify-content:center; align-items:center;
  margin: 8px 0 18px;
  /* Optional sticky bar — uncomment next 3 lines to keep it visible on scroll */
  /* position: sticky; top: 72px; z-index: 6; background:#fff; */
}

/* Modern pill select with custom arrow */
.rs-sort__select{
  -webkit-appearance:none; appearance:none;
  cursor:pointer;
  padding: .6rem 2.2rem .6rem .85rem;   /* space for arrow */
  border:1px solid #e5e7eb; border-radius: 999px;
  background:#fff;
  font-weight:600; font-size:.95rem; line-height:1;
  box-shadow: 0 1px 2px rgba(0,0,0,.03);
  transition: border-color .15s, box-shadow .15s, background .15s;

  /* Chevron arrow (SVG data URI) */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;
  background-position: right .75rem center;
  background-size: 14px;
}

.rs-sort__select:hover{
  background:#f9fafb;
  border-color:#c7d2fe;
}

.rs-sort__select:focus{
  outline:0;
  border-color:#1a73e8;
  box-shadow: 0 0 0 3px rgba(26,115,232,.25);
}

/* Compact on mobile */
@media (max-width: 768px){
  .rs-sort{ margin: 6px 0 12px; padding: 0 .5rem; }
  .rs-sort__select{ width: 100%; max-width: 420px; }
}
.rs-price{margin:.5rem 0 .75rem}
.rs-price__row{display:flex;align-items:center;gap:.5rem}
.rs-price__input{
  display:flex;align-items:center;gap:.35rem;background:#fff;
  border:1px solid #e5e7eb;border-radius:.55rem;padding:.4rem .55rem
}
.rs-price__input input{width:100px;border:0;outline:0;font-weight:600}
.rs-price__currency{color:#6b7280}
.rs-price__dash{color:#9ca3af}
.rs-btn--sm{padding:.45rem .65rem;font-size:.85rem;border-radius:.5rem}
/* Hide the currency prefix inside the price inputs */
.rs-price__currency{ display:none !important; }

/* Remove extra left padding if you kept the wrapper */
.rs-price__input{ padding-left:.55rem; }
.rs-price__input{
  background:#fff; border:1px solid #e5e7eb; border-radius:.55rem;
  padding:.4rem .55rem;
}
.rs-price__input input{
  width:110px; border:0; outline:0; font-weight:600;
}
/* Precio inputs */
.rs-price{ margin:.5rem 0 .75rem }
.rs-price__row{ display:flex; align-items:center; gap:.5rem }
.rs-price__input{
  position:relative; display:flex; align-items:center;
  background:#fff; border:1px solid #e5e7eb; border-radius:.55rem;
  padding:.4rem .55rem; min-width:150px;
}
.rs-price__input input{
  width:100%; border:0; outline:0; font-weight:600;
  /* space for the currency prefix */
  padding-left:1.1rem;
}
.rs-price__curr{
  position:absolute; left:.55rem; top:50%; transform:translateY(-50%);
  color:#6b7280; pointer-events:none; font-weight:600;
}
.rs-price__dash{ color:#9ca3af }
.rs-filter{ border-bottom:1px solid #f0f0f0; margin-bottom:.75rem; }
.rs-filter__summary{
  cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  padding:.5rem 0; list-style:none; user-select:none;
}
.rs-filter__summary::-webkit-details-marker{ display:none; }
.rs-filter__summary::after{ content:"▾"; opacity:.6; transition:transform .2s; }
.rs-filter[open] .rs-filter__summary::after{ transform:rotate(-180deg); }
/* Collapsible summaries */
.rs-filter{ border-bottom:1px solid #f0f0f0; margin-bottom:.75rem; }
.rs-filter__summary{ cursor:pointer; display:flex; justify-content:space-between; align-items:center; padding:.5rem 0; }
.rs-filter__summary::-webkit-details-marker{ display:none; }
.rs-filter__summary::after{ content:"▾"; opacity:.6; transition:transform .2s; }
.rs-filter[open] .rs-filter__summary::after{ transform:rotate(-180deg); }

/* Precio inputs with currency prefix */
.rs-price{ margin:.5rem 0 .75rem }
.rs-price__row{ display:flex; align-items:center; gap:.5rem }
.rs-price__input{ position:relative; display:flex; align-items:center; background:#fff; border:1px solid #e5e7eb; border-radius:.55rem; padding:.4rem .55rem; min-width:150px; }
.rs-price__input input{ width:100%; border:0; outline:0; font-weight:600; padding-left:1.1rem; }
.rs-price__curr{ position:absolute; left:.55rem; top:50%; transform:translateY(-50%); color:#6b7280; pointer-events:none; font-weight:600; }
.rs-price__dash{ color:#9ca3af }
/* ----- GRID LAYOUT ----- */
.rs-layout{
  display:grid;
  grid-template-columns: 280px 1fr;
  gap:2rem;
}
@media (max-width: 1024px){
  .rs-layout{ grid-template-columns: 240px 1fr; gap:1.5rem; }
}
@media (max-width: 900px){
  /* Stack sidebar above products on mobile */
  .rs-layout{ grid-template-columns: 1fr; gap:1rem; }
  .rs-sidebar{ order:1; }
  .rs-content{ order:2; }
}

/* Product grid: 4 on large, 3 on tablet, 2 on phones */
.rs-grid{
  display:grid;
  gap:1.25rem;
  grid-template-columns: repeat(4, minmax(0,1fr));
}
@media (max-width: 1200px){
  .rs-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 900px){
  .rs-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:1rem; }
}
@media (max-width: 480px){
  .rs-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:.75rem; }
}

/* ----- CARD POLISH FOR SMALL SCREENS ----- */
.rs-card{ border-radius:16px; overflow:hidden; background:#fff; }
.rs-media{
  position:relative; overflow:hidden; aspect-ratio:1/1; /* square thumbs on mobile */
}
.rs-img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.rs-img.is-hover{ position:absolute; inset:0; opacity:0; transition:opacity .2s ease; }
.rs-card:hover .is-hover{ opacity:1; }
.rs-card:hover .is-primary{ transform:scale(1.03); }

.rs-title{
  font-size:clamp(.9rem, 1.5vw, 1rem);
  line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:2.6em; /* holds two lines */
  margin: .35rem 0 .15rem;
}

.rs-price-row{ display:flex; align-items:center; gap:.35rem; flex-wrap:wrap; }
.rs-price{ font-weight:800; font-size:clamp(0.95rem, 1.6vw, 1.05rem); }
.rs-price--compare{ color:#9ca3af; text-decoration:line-through; font-size:.95em; }
.rs-trust{ color:#6b7280; font-size:.85rem; margin:.25rem 0 .5rem; }
@media (max-width: 480px){
  .rs-trust{ display:none; } /* keep cards compact on very small screens */
}

.rs-cta .rs-btn{
  width:100%;
  border-radius:.8rem;
  padding:.55rem .7rem;
  font-size:.95rem;
}

/* ----- FILTER SUMMARIES & PRECIO INPUTS (from earlier) ----- */
.rs-filter{ border-bottom:1px solid #f0f0f0; margin-bottom:.75rem; }
.rs-filter__summary{
  cursor:pointer; display:flex; justify-content:space-between; align-items:center;
  padding:.5rem 0;
}
.rs-filter__summary::-webkit-details-marker{ display:none; }
.rs-filter__summary::after{ content:"▾"; opacity:.6; transition:transform .2s; }
.rs-filter[open] .rs-filter__summary::after{ transform:rotate(-180deg); }

.rs-price{ margin:.5rem 0 .75rem }
.rs-price__row{ display:flex; align-items:center; gap:.5rem }
.rs-price__input{
  position:relative; display:flex; align-items:center;
  background:#fff; border:1px solid #e5e7eb; border-radius:.55rem;
  padding:.4rem .55rem; min-width:150px;
}
.rs-price__input input{
  width:100%; border:0; outline:0; font-weight:600; padding-left:1.1rem;
}
.rs-price__curr{
  position:absolute; left:.55rem; top:50%; transform:translateY(-50%);
  color:#6b7280; pointer-events:none; font-weight:600;
}
.rs-price__dash{ color:#9ca3af }
.sg-drawer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}
.sg-drawer.is-open { display: block; }

.sg-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.5);
}

.sg-panel {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: min(640px, 92vw);
  background: #fff;
  box-shadow: -12px 0 30px rgba(0,0,0,.28);
  overflow: auto;
}

.sg-close {
  position: absolute;
  top: .75rem;
  right: .75rem;
  font-size: 1.25rem;
  line-height: 1;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.sg-title { margin: 1.25rem 1.25rem .5rem; }
.sg-panel > * { padding: 0 1.25rem 1rem; }
