:root{--bg:#fafaf8;--ink:#111;--muted:#777;--line:#e5e0d8;--gap:2px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:.02em}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}img{display:block;user-select:none;-webkit-user-drag:none}.site-header{position:sticky;top:0;z-index:80;min-height:64px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;background:rgba(250,250,248,.94);backdrop-filter:blur(8px)}.brand{font-size:17px;letter-spacing:.16em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:22px}.header-lang{display:none}.nav a,.lang button,.cart-button{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.lang{display:flex;gap:7px;color:#111}.cart-button{display:none;border:1px solid var(--ink);border-radius:999px;padding:6px 11px}.cart-button.visible{display:inline-flex}.cart-count{margin-left:7px}.menu-toggle{display:none;font-size:20px;line-height:1}main{min-height:calc(100vh - 118px);padding:38px 32px}.intro{width:var(--now-view-w);max-width:calc(100vw - 64px);margin:28px auto 42px;text-align:right}.intro h1{margin:0 0 8px;font-weight:500;font-size:16px;letter-spacing:.035em}.intro p{margin:0 0 0 auto;max-width:560px;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:13px;line-height:1.45;color:#222;white-space:pre-line}.now-carousel{position:relative;width:var(--now-view-w);max-width:calc(100vw - 64px);margin:0 auto;min-height:calc(100vh - 270px);display:flex;align-items:center}.now-window{width:100%;overflow:hidden;cursor:grab;touch-action:pan-y}.now-window.dragging{cursor:grabbing}.now-track{display:block;transform:none!important}.now-row{display:flex;gap:var(--gap);margin:0 0 var(--gap);align-items:stretch;will-change:transform}.now-row:last-child{margin-bottom:0}.now-cell{flex:0 0 auto;background:transparent;overflow:hidden;height:var(--now-row-h);display:flex;align-items:center;justify-content:center}.now-cell img{height:100%;width:100%;object-fit:contain}.now-cell.ratio-1x1{width:var(--now-row-h)}.now-cell.ratio-16x9{width:calc(var(--now-row-h) * 16 / 9)}.now-cell.ratio-4x5{width:calc(var(--now-row-h) * 4 / 5)}.now-cell.ratio-16x10{width:calc(var(--now-row-h) * 16 / 10)}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:38px;height:38px;border-radius:50%;background:rgba(250,250,248,.82);font-size:26px}.carousel-arrow.left{left:-18px}.carousel-arrow.right{right:-18px}.page-title{max-width:1180px;margin:0 auto 28px}.page-title h1{margin:0;font-size:21px;font-weight:400;letter-spacing:.05em}.back-link{display:inline-block;margin-bottom:16px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#666}.filters{max-width:1180px;margin:0 auto 24px;display:flex;flex-wrap:wrap;align-items:center;gap:18px}.filters button{font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:#777}.filters button.active{color:#111;border-bottom:1px solid #111}.grid{max-width:1180px;margin:30px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.card{cursor:pointer}.card-cover{position:relative;height:0;padding-bottom:125%;background:#000;overflow:hidden}.card-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card-meta{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:12px;padding:12px 0 4px}.card h3{margin:0;font-size:15px;font-weight:600;line-height:1.25}.date{color:#777;font-size:12px}.card p{grid-column:1/-1;margin:0;color:#555;line-height:1.45}.archive-shell{max-width:1180px;margin:48px auto 0;padding-top:24px;border-top:1px solid var(--line)}.archive-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.archive-head h2{margin:0;font-size:14px;font-weight:400;letter-spacing:.08em;text-transform:uppercase}.month-arrows{display:flex;gap:8px}.month-arrows button{width:30px;height:30px;border:1px solid var(--line);border-radius:50%}.archive-months{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.month-card{border:1px solid var(--line);background:#fff;padding:14px 8px;text-align:center;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.month-card.active{border-color:#111}.empty-state{max-width:1180px;margin:28px auto;padding:26px;border:1px solid var(--line);background:#fff}.empty-state h2{font-size:16px;font-weight:500;margin:0 0 8px}.empty-state p{margin:0;color:#555;line-height:1.5}.event-layout{max-width:1180px;margin:0 auto}.event-view{display:grid;grid-template-columns:minmax(280px,520px) 1fr;gap:44px;align-items:start}.event-main-frame{aspect-ratio:4/5;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.event-main-frame img{width:100%;height:100%;object-fit:contain}.event-text h1{margin:0 0 8px;font-size:25px;font-weight:400}.event-text p{line-height:1.55}.media-tabs{display:flex;gap:18px;margin:24px 0}.media-tabs button{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#777}.media-tabs button.active{color:#111;border-bottom:1px solid #111}.image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.image-tile{position:relative;aspect-ratio:4/5;background:var(--bg);overflow:hidden}.image-tile img{width:100%;height:100%;object-fit:contain;cursor:pointer}.image-tile.active{outline:1px solid #111}.select-order{position:absolute;right:8px;bottom:8px;width:22px;height:22px;border-radius:50%;border:1px solid #111;background:rgba(250,250,248,.65)}.select-order.selected{background:#111}.select-order.disabled{display:none}.video-wrap{width:100%;aspect-ratio:16/9;background:#000}.video-wrap iframe{width:100%;height:100%;border:0}.sponsor-section{display:none;max-width:1180px;margin:64px auto 0;padding-top:24px;border-top:1px solid var(--line);text-align:center}.sponsor-section.visible{display:block}.sponsor-section h3{font-size:14px;font-weight:400;margin:0 0 28px}.sponsor-logos{display:flex;justify-content:flex-start;overflow:hidden;padding-bottom:5px}.sponsor-logos.no-scroll{justify-content:center}.sponsor-track{display:flex;align-items:center;gap:42px;width:max-content;will-change:transform}.sponsor-logos img{height:54px;background:#fff;opacity:.78}.contact{max-width:760px;margin:55px auto}.contact h1{font-size:48px;font-weight:700;letter-spacing:-.03em;margin-bottom:28px}.contact h2{margin-top:34px;font-size:17px;font-weight:400}.contact p{line-height:1.65;color:#333}.contact-info{display:grid;gap:18px;margin:34px 0}.contact-line{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:18px;font-size:21px;color:#3a3a3a}.contact-icon{font-size:22px;color:#777;text-align:center}.contact form{margin-top:30px;display:grid;gap:13px}.contact input,.contact textarea,.cart-panel input{width:100%;padding:12px;border:1px solid var(--line);background:#fff;font:inherit}.contact textarea{min-height:140px}.primary{border:1px solid #111;padding:12px 16px;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.contact-status{display:none;margin-top:22px;margin-top:14px;font-family:Georgia,"Times New Roman",serif;font-style:italic}.site-footer{min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;color:#777;font-size:11px;letter-spacing:.04em}.footer-instagram{font-size:16px;color:#777;border:1px solid #aaa;border-radius:6px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;line-height:1}.lightbox,.cart-modal,.thank-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.94)}.lightbox.open,.cart-modal.open,.thank-modal.open{display:flex}.lightbox img{max-width:88vw;max-height:86vh;object-fit:contain}.lb-close{position:absolute;top:22px;right:28px;color:#fff;font-size:30px}.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:44px}.lb-prev{left:32px}.lb-next{right:32px}.cart-panel,.thank-panel{width:min(780px,92vw);max-height:84vh;overflow:auto;padding:28px;background:var(--bg);color:#111}.cart-close{float:right;font-size:24px}.cart-row{display:grid;grid-template-columns:72px 1fr 32px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.cart-row img{width:72px;height:54px;object-fit:contain;background:#000}.trash{font-size:20px}.order-note{color:#555;font-size:12px;line-height:1.5}.hidden-field{display:none}.thank-panel h2{font-size:24px;font-weight:400;margin:0 0 12px}.thank-panel p{line-height:1.6}@media(min-width:861px){:root{--now-row-h:clamp(178px,18.7vw,270px);--now-view-w:calc((var(--now-row-h) * 4 / 5 * 6) + (var(--gap) * 5));}}@media(max-width:860px){:root{--now-row-h:132px;--now-view-w:calc((var(--now-row-h) * 4 / 5 * 3) + (var(--gap) * 2))}.site-header{position:sticky;top:0;min-height:64px;padding:0 18px;display:grid;grid-template-columns:1fr auto 74px;grid-template-rows:64px auto;align-items:center;column-gap:16px}.brand{font-size:14px;line-height:64px}.menu-toggle{display:block;grid-column:2;grid-row:1;justify-self:center;font-size:20px}.header-lang{display:flex;grid-column:3;grid-row:1;justify-self:end}.header-lang .lang{display:flex}.nav{grid-column:1/4;grid-row:2;width:100%;display:none;flex-direction:column;align-items:flex-start;gap:0;padding:0 0 22px;background:var(--bg);border-top:1px solid var(--line)}.nav.open{display:flex}.nav a{width:100%;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;text-transform:none;letter-spacing:.02em}.nav .cart-button{margin-top:13px}.nav .lang{display:none}main{padding:26px 18px}.intro{width:100%;padding:0;text-align:center;margin-top:78px;margin-bottom:36px}.intro h1{font-size:17px}.intro p{font-size:15px;max-width:330px;margin:auto}.now-carousel{max-width:calc(100vw - 36px);min-height:calc(100vh - 380px);align-items:center}.carousel-arrow.left{left:0}.carousel-arrow.right{right:0}.grid{grid-template-columns:1fr}.archive-months{grid-template-columns:repeat(3,1fr)}.event-view{display:block}.event-main-frame{max-width:520px;margin-bottom:24px}.image-grid{grid-template-columns:repeat(4,1fr);gap:10px}.site-footer{padding:16px;align-items:flex-start;gap:10px;min-height:auto}.contact h1{font-size:40px}.contact-line{font-size:18px}}


/* === RC9 NOW CORRECTION === */
:root{
  --now-gap:1px;
}

.now-carousel{
  width:var(--now-view-w) !important;
  max-width:calc(100vw - 64px) !important;
}

.now-window{
  width:100% !important;
  overflow:hidden !important;
  cursor:grab;
  touch-action:pan-y;
}

.now-window.dragging{
  cursor:grabbing;
}

.now-track{
  display:block !important;
  transform:none !important;
}

.now-row{
  display:flex !important;
  gap:var(--now-gap) !important;
  margin:0 0 var(--now-gap) 0 !important;
  padding:0 !important;
  height:var(--now-row-h) !important;
  min-height:var(--now-row-h) !important;
  max-height:var(--now-row-h) !important;
  align-items:stretch !important;
  overflow:hidden !important;
  line-height:0 !important;
  font-size:0 !important;
  will-change:transform;
}

.now-row:last-child{
  margin-bottom:0 !important;
}

.now-cell{
  flex:0 0 auto !important;
  height:var(--now-row-h) !important;
  min-height:var(--now-row-h) !important;
  max-height:var(--now-row-h) !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  display:block !important;
  line-height:0 !important;
  font-size:0 !important;
}

.now-cell img{
  display:block !important;
  height:100% !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
  object-position:center !important;
}

.now-cell.ratio-1x1{width:var(--now-row-h) !important;}
.now-cell.ratio-16x9{width:calc(var(--now-row-h) * 16 / 9) !important;}
.now-cell.ratio-4x5{width:calc(var(--now-row-h) * 4 / 5) !important;}
.now-cell.ratio-16x10{width:calc(var(--now-row-h) * 16 / 10) !important;}

@media(min-width:861px){
  :root{
    --now-row-h:clamp(178px,18.7vw,270px);
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 6) + (var(--now-gap) * 5));
  }
}

@media(max-width:860px){
  :root{
    --now-row-h:132px;
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 3) + (var(--now-gap) * 2));
  }
  .now-carousel{
    width:var(--now-view-w) !important;
    max-width:calc(100vw - 36px) !important;
  }
}


/* === RC10 NOW BLOCK NAVIGATION === */
:root{
  --now-gap:2px;
}

.now-row{
  gap:var(--now-gap) !important;
  margin:0 0 var(--now-gap) 0 !important;
  height:var(--now-row-h) !important;
  min-height:var(--now-row-h) !important;
  max-height:var(--now-row-h) !important;
}

.now-cell{
  height:var(--now-row-h) !important;
  min-height:var(--now-row-h) !important;
  max-height:var(--now-row-h) !important;
}

@media(min-width:861px){
  :root{
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 6) + (var(--now-gap) * 5));
  }
}

@media(max-width:860px){
  :root{
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 3) + (var(--now-gap) * 2));
  }
}


/* === RC11 FINAL NOW OVERRIDE === */
:root{
  --gap:2px !important;
  --now-gap:2px !important;
}

.now-track{
  display:block !important;
  transform:none !important;
}

.now-row{
  display:flex !important;
  gap:2px !important;
  margin:0 0 2px 0 !important;
  padding:0 !important;
  height:var(--now-row-h) !important;
  min-height:var(--now-row-h) !important;
  max-height:var(--now-row-h) !important;
  align-items:stretch !important;
  overflow:visible !important;
  line-height:0 !important;
  font-size:0 !important;
}

.now-cell{
  flex:0 0 auto !important;
  height:var(--now-row-h) !important;
  min-height:var(--now-row-h) !important;
  max-height:var(--now-row-h) !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  display:block !important;
  background:transparent !important;
  line-height:0 !important;
  font-size:0 !important;
}

.now-cell img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  margin:0 !important;
  padding:0 !important;
}

.now-cell.ratio-1x1{width:var(--now-row-h) !important;}
.now-cell.ratio-16x9{width:calc(var(--now-row-h) * 16 / 9) !important;}
.now-cell.ratio-4x5{width:calc(var(--now-row-h) * 4 / 5) !important;}
.now-cell.ratio-16x10{width:calc(var(--now-row-h) * 16 / 10) !important;}

@media(min-width:861px){
  :root{
    --gap:2px !important;
    --now-gap:2px !important;
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 6) + 10px) !important;
  }
}

@media(max-width:860px){
  :root{
    --gap:2px !important;
    --now-gap:2px !important;
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 3) + 4px) !important;
  }
}


/* === RC12 FINAL NOW GAP + WIDTH OVERRIDE === */
:root{
  --gap:4px !important;
  --now-gap:4px !important;
}

.now-row{
  gap:4px !important;
  margin:0 0 4px 0 !important;
  height:var(--now-row-h) !important;
  min-height:var(--now-row-h) !important;
  max-height:var(--now-row-h) !important;
}

.now-cell{
  height:var(--now-row-h) !important;
  min-height:var(--now-row-h) !important;
  max-height:var(--now-row-h) !important;
}

@media(min-width:861px){
  :root{
    --gap:4px !important;
    --now-gap:4px !important;
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 6) + 20px) !important;
  }
}

@media(max-width:860px){
  :root{
    --gap:4px !important;
    --now-gap:4px !important;
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 3) + 8px) !important;
  }
}


/* === RC14 NOW PAGE NAVIGATION + IOS SAFETY === */
:root{
  --gap:4px !important;
  --now-gap:4px !important;
}

.now-window{
  overflow:hidden !important;
  touch-action:pan-y !important;
  -webkit-overflow-scrolling:touch;
}

.now-row{
  gap:4px !important;
  margin:0 0 4px 0 !important;
  height:var(--now-row-h) !important;
  min-height:var(--now-row-h) !important;
  max-height:var(--now-row-h) !important;
}

.now-cell{
  height:var(--now-row-h) !important;
  min-height:var(--now-row-h) !important;
  max-height:var(--now-row-h) !important;
  -webkit-tap-highlight-color:transparent;
}

@media(min-width:861px){
  :root{
    --gap:4px !important;
    --now-gap:4px !important;
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 6) + 20px) !important;
  }
}

@media(max-width:860px){
  :root{
    --gap:4px !important;
    --now-gap:4px !important;
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 3) + 8px) !important;
  }
}


/* === RC15 NOW SIMPLE NAVIGATION SAFETY === */
/* Layout remains controlled by JSON row + aspect. Navigation is independent of photos/fila. */
.now-window{
  touch-action:pan-y !important;
  -webkit-overflow-scrolling:touch;
}


/* === RC16 MOBILE NOW + MENU === */
@media(max-width:860px){
  .site-header{
    grid-template-columns:1fr 32px auto 74px !important;
    column-gap:18px !important;
  }

  .menu-toggle{
    grid-column:2 !important;
    justify-self:center !important;
    text-align:center !important;
  }

  .header-lang{
    grid-column:4 !important;
    justify-self:end !important;
  }

  .mobile-order-slot{
    display:flex !important;
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:center !important;
    align-items:center !important;
  }

  .mobile-order-slot .cart-button{
    display:none !important;
    border:1px solid var(--ink) !important;
    border-radius:999px !important;
    padding:6px 12px !important;
    font-size:12px !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    line-height:1 !important;
    background:var(--bg) !important;
  }

  .mobile-order-slot .cart-button.visible{
    display:inline-flex !important;
  }

  #siteNav > .cart-button{
    display:none !important;
  }

  .nav{
    grid-column:1/5 !important;
  }

  main{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .intro{
    margin-top:76px !important;
    margin-bottom:44px !important;
  }

  .now-carousel{
    width:calc(100vw - 32px) !important;
    max-width:calc(100vw - 32px) !important;
    min-height:auto !important;
    margin-top:0 !important;
    align-items:flex-start !important;
  }

  .now-window{
    width:100% !important;
  }

  :root{
    --now-row-h:clamp(176px, 42vw, 210px) !important;
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 4) + 12px) !important;
    --gap:4px !important;
    --now-gap:4px !important;
  }

  .now-row{
    gap:4px !important;
    margin-bottom:4px !important;
  }

  .carousel-arrow{
    width:34px !important;
    height:34px !important;
    font-size:24px !important;
    background:rgba(250,250,248,.78) !important;
  }

  .carousel-arrow.left{
    left:2px !important;
  }

  .carousel-arrow.right{
    right:2px !important;
  }
}


/* === RC17B SAFE MENU FIX === */

/* Desktop: restore original horizontal menu and hide mobile-only order slot. */
@media (min-width: 861px){
  .site-header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:64px !important;
    padding:0 32px !important;
  }

  .brand{
    flex:0 0 auto !important;
  }

  .nav{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:22px !important;
    width:auto !important;
    flex:0 0 auto !important;
    border:0 !important;
    padding:0 !important;
  }

  .nav .lang{
    display:flex !important;
  }

  .mobile-order-slot,
  .header-lang,
  .menu-toggle{
    display:none !important;
  }

  #siteNav > .cart-button.visible{
    display:inline-flex !important;
  }
}

/* Mobile: brand | centered hamburger | order | ES/EN */
@media (max-width: 860px){
  .site-header{
    display:grid !important;
    grid-template-columns:1fr 28px auto 74px !important;
    grid-template-rows:64px auto !important;
    column-gap:14px !important;
    align-items:center !important;
    min-height:64px !important;
    padding:0 18px !important;
  }

  .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
  }

  .menu-toggle{
    display:block !important;
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:center !important;
    width:28px !important;
    padding:0 !important;
    text-align:center !important;
  }

  .mobile-order-slot{
    display:flex !important;
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:center !important;
    align-items:center !important;
  }

  .header-lang{
    display:flex !important;
    grid-column:4 !important;
    grid-row:1 !important;
    justify-self:end !important;
  }

  .header-lang .lang{
    display:flex !important;
  }

  #siteNav{
    grid-column:1/5 !important;
    grid-row:2 !important;
  }

  #siteNav > .cart-button,
  #siteNav .lang{
    display:none !important;
  }

  .mobile-order-slot .cart-button{
    display:none !important;
    border:1px solid var(--ink) !important;
    border-radius:999px !important;
    padding:5px 10px !important;
    font-size:11px !important;
    letter-spacing:.13em !important;
    text-transform:uppercase !important;
    line-height:1 !important;
    background:var(--bg) !important;
    white-space:nowrap !important;
  }

  .mobile-order-slot .cart-button.visible{
    display:inline-flex !important;
  }

  .carousel-arrow{
    background:rgba(250,250,248,.58) !important;
  }
}


/* === RC18 MOBILE MENU OVERLAY + ORDER FIX === */
/* Desktop no se toca. Sólo mobile. */
@media(max-width:860px){
  .site-header{
    display:grid !important;
    grid-template-columns:1fr 28px 74px !important;
    grid-template-rows:64px !important;
    column-gap:18px !important;
    align-items:center !important;
    min-height:64px !important;
    padding:0 18px !important;
    position:sticky !important;
    top:0 !important;
    z-index:90 !important;
  }

  body.has-cart-mobile .site-header{
    grid-template-columns:1fr 28px auto 74px !important;
  }

  .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
  }

  .menu-toggle{
    display:block !important;
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:center !important;
    align-self:center !important;
    width:28px !important;
    padding:0 !important;
    margin:0 !important;
    text-align:center !important;
  }

  .mobile-order-slot{
    display:none !important;
  }

  body.has-cart-mobile .mobile-order-slot{
    display:flex !important;
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:center !important;
    align-items:center !important;
  }

  .mobile-order-slot .cart-button{
    display:none !important;
    border:1px solid var(--ink) !important;
    border-radius:999px !important;
    padding:5px 10px !important;
    font-size:11px !important;
    letter-spacing:.13em !important;
    text-transform:uppercase !important;
    line-height:1 !important;
    background:var(--bg) !important;
    white-space:nowrap !important;
  }

  body.has-cart-mobile .mobile-order-slot .cart-button.visible{
    display:inline-flex !important;
  }

  .header-lang{
    display:flex !important;
    grid-row:1 !important;
    grid-column:3 !important;
    justify-self:end !important;
  }

  body.has-cart-mobile .header-lang{
    grid-column:4 !important;
  }

  .header-lang .lang{
    display:flex !important;
  }

  /* Menú vertical: overlay, no empuja NOW ni el resto de la página */
  #siteNav{
    position:absolute !important;
    left:18px !important;
    right:18px !important;
    top:64px !important;
    z-index:95 !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:auto !important;
    display:none !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
    padding:0 0 22px 0 !important;
    background:rgba(250,250,248,.96) !important;
    backdrop-filter:blur(8px) !important;
    border-top:1px solid var(--line) !important;
  }

  #siteNav.open{
    display:flex !important;
  }

  #siteNav a{
    width:100% !important;
    padding:13px 0 !important;
    border-bottom:1px solid var(--line) !important;
    font-size:15px !important;
    text-transform:none !important;
    letter-spacing:.02em !important;
  }

  #siteNav > .cart-button,
  #siteNav .lang{
    display:none !important;
  }

  .carousel-arrow{
    background:rgba(250,250,248,.58) !important;
  }
}


/* === RC19 MOBILE MENU VISUAL === */
/* Desktop no se toca. Sólo mobile. */
@media(max-width:860px){
  .site-header{
    position:sticky !important;
    top:0 !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-rows:64px !important;
    align-items:center !important;
    min-height:64px !important;
    padding:0 18px !important;
    background:var(--bg) !important;
    z-index:90 !important;
  }

  .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    z-index:92 !important;
  }

  /* Hamburguesa centrada visualmente en el header mobile */
  .menu-toggle{
    display:block !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    width:32px !important;
    height:32px !important;
    padding:0 !important;
    margin:0 !important;
    text-align:center !important;
    line-height:32px !important;
    z-index:93 !important;
  }

  .header-lang{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    display:flex !important;
    z-index:92 !important;
  }

  .header-lang .lang{
    display:flex !important;
  }

  /* ORDER queda entre hamburguesa y ES/EN cuando hay selección */
  .mobile-order-slot{
    display:none !important;
    position:absolute !important;
    right:88px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:93 !important;
  }

  body.has-cart-mobile .mobile-order-slot{
    display:flex !important;
    align-items:center !important;
  }

  .mobile-order-slot .cart-button{
    display:none !important;
    border:1px solid var(--ink) !important;
    border-radius:999px !important;
    padding:5px 10px !important;
    font-size:11px !important;
    letter-spacing:.13em !important;
    text-transform:uppercase !important;
    line-height:1 !important;
    background:var(--bg) !important;
    white-space:nowrap !important;
  }

  body.has-cart-mobile .mobile-order-slot .cart-button.visible{
    display:inline-flex !important;
  }

  /* Menú vertical estilo autoral: sólido, ancho completo, no traslúcido */
  #siteNav{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:64px !important;
    width:100vw !important;
    z-index:91 !important;
    display:none !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
    padding:0 18px 22px 18px !important;
    background:var(--bg) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-top:1px solid var(--line) !important;
    box-shadow:none !important;
  }

  #siteNav.open{
    display:flex !important;
  }

  #siteNav a{
    width:100% !important;
    padding:15px 0 !important;
    border-bottom:1px solid var(--line) !important;
    font-size:17px !important;
    line-height:1.15 !important;
    font-weight:400 !important;
    text-transform:none !important;
    letter-spacing:.01em !important;
  }

  #siteNav > .cart-button,
  #siteNav .lang{
    display:none !important;
  }
}


/* === RC20 MOBILE HEADER CONTROLS === */
/* Desktop no se toca. Mobile: TRYB(E) | espacio | hamburguesa | ORDER | ES/EN */
@media(max-width:860px){
  .site-header{
    position:sticky !important;
    top:0 !important;
    display:grid !important;
    grid-template-columns:auto 1fr 28px auto 74px !important;
    grid-template-rows:64px !important;
    column-gap:14px !important;
    align-items:center !important;
    min-height:64px !important;
    padding:0 18px !important;
    background:var(--bg) !important;
    z-index:90 !important;
  }

  .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    align-self:center !important;
    z-index:92 !important;
  }

  .menu-toggle{
    position:static !important;
    transform:none !important;
    display:block !important;
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:center !important;
    align-self:center !important;
    width:28px !important;
    height:28px !important;
    padding:0 !important;
    margin:0 !important;
    text-align:center !important;
    line-height:28px !important;
    z-index:93 !important;
  }

  .mobile-order-slot{
    position:static !important;
    transform:none !important;
    right:auto !important;
    top:auto !important;
    display:none !important;
    grid-column:4 !important;
    grid-row:1 !important;
    justify-self:center !important;
    align-self:center !important;
    z-index:93 !important;
  }

  body.has-cart-mobile .mobile-order-slot{
    display:flex !important;
    align-items:center !important;
  }

  .mobile-order-slot .cart-button{
    display:none !important;
    border:1px solid var(--ink) !important;
    border-radius:999px !important;
    padding:5px 10px !important;
    font-size:11px !important;
    letter-spacing:.13em !important;
    text-transform:uppercase !important;
    line-height:1 !important;
    background:var(--bg) !important;
    white-space:nowrap !important;
  }

  body.has-cart-mobile .mobile-order-slot .cart-button.visible{
    display:inline-flex !important;
  }

  .header-lang{
    grid-column:5 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    z-index:92 !important;
  }

  .header-lang .lang{
    display:flex !important;
  }

  #siteNav{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:64px !important;
    width:100vw !important;
    z-index:91 !important;
    display:none !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
    padding:0 18px 22px 18px !important;
    background:var(--bg) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-top:1px solid var(--line) !important;
    box-shadow:none !important;
  }

  #siteNav.open{
    display:flex !important;
  }
}


/* === RC21 MOBILE ORDER SAFE POSITION === */
/* Desktop no se toca. Mobile: ORDER deja de competir con hamburguesa/ES-EN. */
@media(max-width:860px){
  .site-header{
    position:sticky !important;
    top:0 !important;
    display:grid !important;
    grid-template-columns:auto 1fr 28px 74px !important;
    grid-template-rows:64px auto !important;
    column-gap:16px !important;
    align-items:center !important;
    min-height:64px !important;
    padding:0 18px !important;
    background:var(--bg) !important;
    z-index:90 !important;
  }

  .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    align-self:center !important;
  }

  .menu-toggle{
    position:static !important;
    transform:none !important;
    display:block !important;
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:center !important;
    align-self:center !important;
    width:28px !important;
    height:28px !important;
    padding:0 !important;
    margin:0 !important;
    text-align:center !important;
    line-height:28px !important;
    z-index:93 !important;
  }

  .header-lang{
    grid-column:4 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
  }

  .header-lang .lang{
    display:flex !important;
  }

  /* ORDER baja a una micro-fila propia, alineado a la derecha.
     Así no tapa hamburguesa ni ES/EN. */
  .mobile-order-slot{
    position:static !important;
    transform:none !important;
    right:auto !important;
    top:auto !important;
    display:none !important;
    grid-column:1/5 !important;
    grid-row:2 !important;
    justify-self:end !important;
    align-self:center !important;
    padding:0 0 10px 0 !important;
    z-index:93 !important;
  }

  body.has-cart-mobile .mobile-order-slot{
    display:flex !important;
    align-items:center !important;
  }

  .mobile-order-slot .cart-button{
    display:none !important;
    border:1px solid var(--ink) !important;
    border-radius:999px !important;
    padding:5px 10px !important;
    font-size:11px !important;
    letter-spacing:.13em !important;
    text-transform:uppercase !important;
    line-height:1 !important;
    background:var(--bg) !important;
    white-space:nowrap !important;
  }

  body.has-cart-mobile .mobile-order-slot .cart-button.visible{
    display:inline-flex !important;
  }

  #siteNav{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:64px !important;
    width:100vw !important;
    z-index:91 !important;
    display:none !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
    padding:0 18px 22px 18px !important;
    background:var(--bg) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-top:1px solid var(--line) !important;
    box-shadow:none !important;
  }

  body.has-cart-mobile #siteNav{
    top:98px !important;
  }

  #siteNav.open{
    display:flex !important;
  }

  #siteNav > .cart-button,
  #siteNav .lang{
    display:none !important;
  }
}


/* === RC22 MOBILE ORDER INSIDE HAMBURGER MENU === */
/* Desktop no se toca. Mobile header limpio + badge rojo. */
@media(max-width:860px){
  .site-header{
    position:sticky !important;
    top:0 !important;
    display:grid !important;
    grid-template-columns:auto 1fr 28px 74px !important;
    grid-template-rows:64px !important;
    column-gap:16px !important;
    align-items:center !important;
    min-height:64px !important;
    padding:0 18px !important;
    background:var(--bg) !important;
    z-index:90 !important;
  }

  .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    align-self:center !important;
  }

  .menu-toggle{
    position:relative !important;
    transform:none !important;
    display:block !important;
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:center !important;
    align-self:center !important;
    width:28px !important;
    height:28px !important;
    padding:0 !important;
    margin:0 !important;
    text-align:center !important;
    line-height:28px !important;
    z-index:93 !important;
  }

  body.has-cart-mobile .menu-toggle::after{
    content:"" !important;
    position:absolute !important;
    width:6px !important;
    height:6px !important;
    border-radius:50% !important;
    background:#c60000 !important;
    top:4px !important;
    right:2px !important;
  }

  .header-lang{
    grid-column:4 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
  }

  .header-lang .lang{
    display:flex !important;
  }

  /* ORDER nunca aparece en la barra horizontal mobile */
  .mobile-order-slot,
  body.has-cart-mobile .mobile-order-slot{
    display:none !important;
  }

  #siteNav{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:64px !important;
    width:100vw !important;
    z-index:91 !important;
    display:none !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
    padding:0 18px 22px 18px !important;
    background:var(--bg) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-top:1px solid var(--line) !important;
    box-shadow:none !important;
  }

  #siteNav.open{
    display:flex !important;
  }

  #siteNav a,
  #siteNav .mobile-order-menu-button{
    width:100% !important;
    padding:15px 0 !important;
    border-bottom:1px solid var(--line) !important;
    font-size:17px !important;
    line-height:1.15 !important;
    font-weight:400 !important;
    text-transform:none !important;
    letter-spacing:.01em !important;
    text-align:left !important;
    color:var(--ink) !important;
    background:transparent !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:0 !important;
    border-radius:0 !important;
  }

  #siteNav .mobile-order-menu-button{
    display:none !important;
  }

  body.has-cart-mobile #siteNav .mobile-order-menu-button{
    display:block !important;
  }

  #siteNav > .cart-button,
  #siteNav .lang{
    display:none !important;
  }
}


/* === RC23 FINAL MOBILE MENU / DESKTOP SAFETY === */

/* Desktop: hide any mobile-only generated ORDER row/button. Do not alter desktop layout. */
@media(min-width:861px){
  #siteNav .mobile-order-menu-button,
  .mobile-order-slot,
  #cartButtonMobile{
    display:none !important;
  }
}

/* Mobile only */
@media(max-width:860px){
  /* Clean header: TRYB(E) | flexible space | hamburger | ES/EN */
  .site-header{
    position:sticky !important;
    top:0 !important;
    display:grid !important;
    grid-template-columns:auto 1fr 34px 92px !important;
    grid-template-rows:64px !important;
    column-gap:18px !important;
    align-items:center !important;
    min-height:64px !important;
    padding:0 18px !important;
    background:var(--bg) !important;
    z-index:120 !important;
  }

  .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:center !important;
    justify-self:start !important;
  }

  .menu-toggle{
    position:relative !important;
    transform:none !important;
    display:flex !important;
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:center !important;
    align-self:center !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    padding:0 !important;
    margin:0 !important;
    line-height:1 !important;
    font-size:20px !important;
    z-index:125 !important;
  }

  body.has-cart-mobile .menu-toggle::after{
    content:"" !important;
    position:absolute !important;
    width:6px !important;
    height:6px !important;
    border-radius:50% !important;
    background:#c60000 !important;
    top:5px !important;
    right:4px !important;
  }

  .header-lang{
    grid-column:4 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    align-items:center !important;
    min-width:92px !important;
    z-index:124 !important;
  }

  .header-lang .lang{
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    white-space:nowrap !important;
  }

  .mobile-order-slot,
  body.has-cart-mobile .mobile-order-slot,
  #cartButtonMobile{
    display:none !important;
  }

  /* The vertical menu is fixed to viewport, attached to the header.
     It no longer detaches or lets page content show through above it. */
  #siteNav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    top:64px !important;
    width:100vw !important;
    z-index:119 !important;
    display:none !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
    padding:0 18px 22px 18px !important;
    margin:0 !important;
    background:var(--bg) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-top:1px solid var(--line) !important;
    box-shadow:none !important;
  }

  #siteNav.open{
    display:flex !important;
  }

  #siteNav a,
  #siteNav .mobile-order-menu-button{
    width:100% !important;
    padding:15px 0 !important;
    margin:0 !important;
    border-bottom:1px solid var(--line) !important;
    font-size:17px !important;
    line-height:1.15 !important;
    font-weight:400 !important;
    text-transform:none !important;
    letter-spacing:.01em !important;
    text-align:left !important;
    color:var(--ink) !important;
    background:transparent !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:0 !important;
    border-radius:0 !important;
  }

  #siteNav .mobile-order-menu-button{
    display:none !important;
  }

  body.has-cart-mobile #siteNav .mobile-order-menu-button{
    display:block !important;
  }

  #siteNav > .cart-button,
  #siteNav .lang{
    display:none !important;
  }
}


/* === RC24 MOBILE MENU SPACING / POSITION FIX === */
/* Desktop no se toca. Sólo corrige mobile. */
@media(max-width:860px){

  /* Header mobile:
     TRYB(E) | espacio flexible | hamburguesa | ES / EN
     El aire se da ENTRE hamburguesa y ES/EN, no dentro de ES/EN. */
  .site-header{
    display:grid !important;
    grid-template-columns:auto 1fr 34px 82px !important;
    grid-template-rows:64px !important;
    column-gap:24px !important;
    align-items:center !important;
    min-height:64px !important;
    padding:0 18px !important;
    background:var(--bg) !important;
    position:sticky !important;
    top:0 !important;
    z-index:120 !important;
  }

  .menu-toggle{
    grid-column:3 !important;
    grid-row:1 !important;
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    justify-self:center !important;
    align-self:center !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    padding:0 !important;
    margin:0 !important;
    line-height:1 !important;
    font-size:20px !important;
    transform:none !important;
    z-index:125 !important;
  }

  .header-lang{
    grid-column:4 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    align-items:center !important;
    min-width:82px !important;
    z-index:124 !important;
  }

  .header-lang .lang{
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    white-space:nowrap !important;
    line-height:1 !important;
  }

  .header-lang .lang button{
    line-height:1 !important;
    padding:0 !important;
  }

  body.has-cart-mobile .menu-toggle::after{
    top:4px !important;
    right:3px !important;
  }

  /* Menú vertical pegado al header.
     Se fuerza fixed y top exacto para que no aparezca la foto entre header y menú. */
  .site-header #siteNav,
  #siteNav.nav,
  #siteNav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    top:64px !important;
    width:100vw !important;
    max-width:100vw !important;
    margin:0 !important;
    padding:0 18px 22px 18px !important;
    background:var(--bg) !important;
    z-index:119 !important;
    transform:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-top:1px solid var(--line) !important;
    box-shadow:none !important;
  }

  #siteNav.open{
    display:flex !important;
  }

  body.has-cart-mobile #siteNav,
  body.has-cart-mobile .site-header #siteNav,
  body.has-cart-mobile #siteNav.nav{
    top:64px !important;
  }
}


/* === RC25 MOBILE BADGE FIX — FINAL HEADER STABILITY === */
/* Desktop no se toca. Sólo mobile. */
@media(max-width:860px){

  /* Header mobile estable: no cambia con selección/no selección */
  .site-header,
  body.has-cart-mobile .site-header{
    position:sticky !important;
    top:0 !important;
    display:grid !important;
    grid-template-columns:auto 1fr 34px 82px !important;
    grid-template-rows:64px !important;
    column-gap:24px !important;
    align-items:center !important;
    min-height:64px !important;
    padding:0 18px !important;
    background:var(--bg) !important;
    z-index:120 !important;
  }

  .brand,
  body.has-cart-mobile .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    align-self:center !important;
  }

  /* La hamburguesa queda fija: el estado del carrito NO modifica su layout */
  .menu-toggle,
  body.has-cart-mobile .menu-toggle{
    grid-column:3 !important;
    grid-row:1 !important;
    position:relative !important;
    transform:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    justify-self:center !important;
    align-self:center !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    padding:0 !important;
    margin:0 !important;
    line-height:1 !important;
    font-size:20px !important;
    z-index:125 !important;
  }

  /* Punto rojo: dibujado dentro del botón, no altera layout */
  body.has-cart-mobile .menu-toggle::after{
    content:"" !important;
    position:absolute !important;
    width:6px !important;
    height:6px !important;
    border-radius:50% !important;
    background:#c60000 !important;
    top:5px !important;
    right:6px !important;
    pointer-events:none !important;
  }

  body:not(.has-cart-mobile) .menu-toggle::after{
    content:none !important;
    display:none !important;
  }

  .header-lang,
  body.has-cart-mobile .header-lang{
    grid-column:4 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    align-items:center !important;
    min-width:82px !important;
    z-index:124 !important;
  }

  .header-lang .lang,
  body.has-cart-mobile .header-lang .lang{
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    white-space:nowrap !important;
    line-height:1 !important;
  }

  .header-lang .lang button{
    line-height:1 !important;
    padding:0 !important;
  }

  /* ORDER nunca aparece en barra horizontal mobile */
  .mobile-order-slot,
  body.has-cart-mobile .mobile-order-slot,
  #cartButtonMobile{
    display:none !important;
  }

  /* Menú vertical fijo al header, sólido, ancho completo */
  .site-header #siteNav,
  #siteNav.nav,
  #siteNav,
  body.has-cart-mobile #siteNav,
  body.has-cart-mobile .site-header #siteNav,
  body.has-cart-mobile #siteNav.nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    top:64px !important;
    width:100vw !important;
    max-width:100vw !important;
    margin:0 !important;
    padding:0 18px 22px 18px !important;
    background:var(--bg) !important;
    z-index:119 !important;
    transform:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-top:1px solid var(--line) !important;
    box-shadow:none !important;
  }

  #siteNav.open{
    display:flex !important;
  }

  #siteNav a,
  #siteNav .mobile-order-menu-button{
    width:100% !important;
    padding:15px 0 !important;
    margin:0 !important;
    border-bottom:1px solid var(--line) !important;
    font-size:17px !important;
    line-height:1.15 !important;
    font-weight:400 !important;
    text-transform:none !important;
    letter-spacing:.01em !important;
    text-align:left !important;
    color:var(--ink) !important;
    background:transparent !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:0 !important;
    border-radius:0 !important;
  }

  #siteNav .mobile-order-menu-button{
    display:none !important;
  }

  body.has-cart-mobile #siteNav .mobile-order-menu-button{
    display:block !important;
  }

  #siteNav > .cart-button,
  #siteNav .lang{
    display:none !important;
  }
}


/* === RC26 FINAL CHANGES 1/2/3 === */

/* Cards/listados: sólo título + fecha */
.card .card-meta p{display:none!important}
.card .card-meta{padding-top:16px!important}
.card .card-meta h3{margin:0!important;font-size:14px!important;line-height:1.15!important;font-weight:600!important}
.card .card-meta .date{display:block!important;margin-top:6px!important;font-size:12px!important;color:var(--muted)!important;line-height:1!important}

/* Subgrupos dinámicos */
.subgroup-filters[hidden]{display:none!important}
.subgroup-filters{display:flex!important;flex-wrap:wrap!important;gap:28px!important;margin:12px 0 28px 0!important}
.subgroup-filters a{color:var(--muted)!important;text-decoration:none!important;font-size:13px!important;line-height:1!important}
.subgroup-filters a.active{color:var(--ink)!important;text-decoration:underline!important;text-underline-offset:4px!important}

/* Archives: índice editorial, sin caja */
#archiveMonths{display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:10px 18px!important}
#archiveMonths .month-card{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:0 0 10px 0!important;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;text-decoration:none!important;color:var(--ink)!important;font-size:12px!important;letter-spacing:.08em!important;text-transform:uppercase!important}
#archiveMonths .month-card span:last-child{color:var(--muted)!important;letter-spacing:0!important}
#archiveMonths .month-card.active{text-decoration:none!important;border-bottom-color:var(--ink)!important}

@media(max-width:860px){
  .card .card-meta h3{font-size:16px!important}
  .card .card-meta .date{font-size:13px!important}
  #archiveMonths{grid-template-columns:repeat(2,1fr)!important;gap:12px 18px!important}
  .subgroup-filters{gap:18px!important;margin-top:10px!important}
}


/* === RC27 POLISH CHANGES 4/5/6 === */

/* 4) Archives: contador pegado al mes con punto editorial. */
#archiveMonths .month-card{
  justify-content:flex-start!important;
  gap:6px!important;
}
#archiveMonths .month-card .archive-dot{
  color:var(--muted)!important;
  letter-spacing:0!important;
}
#archiveMonths .month-card span:last-child{
  color:var(--muted)!important;
  letter-spacing:0!important;
}

/* 5) Cards: fecha debajo del título, no a la derecha. */
.event-meta-row,
.card .card-meta{
  display:block!important;
}
.event-meta-row h3,
.card .card-meta h3{
  margin:0 0 6px 0!important;
}
.event-meta-row time,
.card .card-meta .date{
  display:block!important;
  margin-top:6px!important;
  text-align:left!important;
}

/* 6) Subgrupos: segunda línea reservada, alineada al bloque de filtros, sin desplazar grilla. */
.subgroup-filters,
.subgroup-filters.empty{
  min-height:18px!important;
  height:18px!important;
  margin:12px 0 22px 0!important;
  padding:0!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:28px!important;
  overflow:visible!important;
}
.subgroup-filters.empty{
  pointer-events:none!important;
}
.subgroup-filters[hidden]{
  display:flex!important;
}
.subgroup-filters a{
  font-size:13px!important;
  line-height:1!important;
  color:var(--muted)!important;
}
.subgroup-filters a.active{
  color:var(--ink)!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
}

@media(max-width:860px){
  .subgroup-filters,
  .subgroup-filters.empty{
    min-height:18px!important;
    height:18px!important;
    margin:10px 0 20px 0!important;
    gap:18px!important;
  }
}


/* === RC30 DESKTOP SUBGROUP ALIGNMENT ONLY === */
/* Base: RC27 estable. Mobile no se toca. */
@media(min-width:861px){
  /*
    En desktop la línea de subgrupos debe pertenecer visualmente al mismo bloque
    que el título, filtros, grilla y Archives. 
    Se fuerza el mismo ancho central que el listado.
  */
  #subgroupFilters.subgroup-filters{
    width:min(100%, 1120px) !important;
    max-width:1120px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
    text-align:left !important;
  }

  #subgroupFilters.subgroup-filters a:first-child{
    margin-left:0 !important;
  }
}


/* === RC31 SUBGROUP DESKTOP POLISH === */
/* Base: RC30 estable. Sólo ajuste visual desktop de subgrupos. */
@media(min-width:861px){
  #subgroupFilters.subgroup-filters{
    /*
      Desplaza la segunda línea apenas hacia la derecha para que quede
      visualmente asociada a RUGBY, sin alinearla a ALL.
    */
    padding-left:22px !important;
    box-sizing:border-box !important;
  }

  #subgroupFilters.subgroup-filters a{
    font-size:12px !important;
    color:rgba(30,30,30,.55) !important;
    font-weight:400 !important;
  }

  #subgroupFilters.subgroup-filters a.active{
    color:rgba(30,30,30,.78) !important;
    text-decoration:underline !important;
    text-underline-offset:4px !important;
  }
}

/* Mobile no se toca: mantiene comportamiento visual de RC30/RC27. */


/* === RC32 ARCHIVES / CONTACT / BULLETS / ORDER TEXT === */

/* Archives month page: remove ghost/white rectangle placeholder. */
.archive-empty,
.empty-archive,
.archive-placeholder,
.archive-note,
#archiveEmpty,
#emptyArchive,
main .empty:empty,
section .empty:empty{
  display:none !important;
  border:0 !important;
  background:transparent !important;
  min-height:0 !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
}

/* Covers: area remains 4:5; non-4:5 images show by width, aligned top, no crop. */
.card-cover{
  aspect-ratio:4/5 !important;
  background:transparent !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
}
.card-cover img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:top center !important;
  display:block !important;
}

/* Bullet clean unselected state + sync target. */
.select-bullet:not(.active):not(.selected),
.order-bullet:not(.active):not(.selected),
.photo-bullet:not(.active):not(.selected),
.bullet:not(.active):not(.selected){
  background:transparent !important;
}

/* Contact page editorial layout foundation. */
.contact-page main,
body[data-page="contact"] main{
  max-width:1120px !important;
  margin:0 auto !important;
}

.contact-layout,
.contact-grid{
  display:grid !important;
  grid-template-columns:minmax(260px,340px) 1fr !important;
  gap:80px !important;
  align-items:start !important;
}

.contact-photo img,
.contact-portrait img{
  width:100% !important;
  height:auto !important;
  display:block !important;
}

.contact-card,
.contact-info,
.contact-panel,
.contact-statement,
.contact-bio,
.contact-distinctions{
  background:rgba(255,255,255,.38) !important;
  padding:28px !important;
}

.contact-statement,
.contact-bio,
.contact-distinctions{
  margin-bottom:48px !important;
}

.contact-order,
.contact-form-wrap{
  margin-top:64px !important;
}

@media(max-width:860px){
  .contact-layout,
  .contact-grid{
    display:block !important;
  }
  .contact-photo,
  .contact-portrait{
    margin-bottom:32px !important;
  }
  .contact-card,
  .contact-info,
  .contact-panel,
  .contact-statement,
  .contact-bio,
  .contact-distinctions{
    padding:22px !important;
    margin-bottom:28px !important;
  }
}


/* === RC33 FIX: reserved subgroup line restored === */
.subgroup-filters,
.subgroup-filters.empty,
#subgroupFilters,
#subgroupFilters.empty{
  min-height:18px !important;
  height:18px !important;
  margin:12px 0 22px 0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  flex-wrap:wrap !important;
  gap:28px !important;
  overflow:visible !important;
}
.subgroup-filters[hidden],
#subgroupFilters[hidden]{
  display:flex !important;
  visibility:hidden !important;
}
.subgroup-filters.empty,
#subgroupFilters.empty{
  visibility:hidden !important;
  pointer-events:none !important;
}
.subgroup-filters:not(.empty),
#subgroupFilters:not(.empty){
  visibility:visible !important;
}

/* Contact RC32 note:
   The visible redesign requires new Contact HTML/content; RC32/RC33 only keep safe foundation CSS.
   No visual forced layout is applied until we build that page intentionally. */


/* === RC34 fixes: bullet immediate state + archive filters/subgroups === */
.subgroup-filters,
.subgroup-filters.empty,
#subgroupFilters,
#subgroupFilters.empty{
  min-height:18px !important;
  height:18px !important;
  margin:12px 0 22px 0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  flex-wrap:wrap !important;
  gap:28px !important;
  overflow:visible !important;
}
.subgroup-filters[hidden],
#subgroupFilters[hidden]{
  display:flex !important;
  visibility:hidden !important;
}
.subgroup-filters.empty,
#subgroupFilters.empty{
  visibility:hidden !important;
  pointer-events:none !important;
}
.subgroup-filters:not(.empty),
#subgroupFilters:not(.empty){
  visibility:visible !important;
}

/* Selection bullet immediate visual feedback */
.select-order.selected,
.select-order.active{
  background:#111 !important;
}
.select-order:not(.selected):not(.active){
  background:transparent !important;
}


/* === RC36 MOBILE ARCHIVE FILTERS FIX === */
/* En mobile, Archive por mes debe mostrar filtros y segunda línea igual que Desktop. */
@media(max-width:860px){
  body[data-mode="archive"] #filters,
  body[data-mode="archive"] .filters{
    display:flex !important;
    visibility:visible !important;
    min-height:18px !important;
    height:auto !important;
    margin:0 0 0 0 !important;
    padding:0 !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:16px !important;
    flex-wrap:wrap !important;
  }

  body[data-mode="archive"] #filters a,
  body[data-mode="archive"] .filters a{
    display:inline-block !important;
    visibility:visible !important;
  }

  body[data-mode="archive"] #subgroupFilters.subgroup-filters,
  body[data-mode="archive"] .subgroup-filters,
  body[data-mode="archive"] .subgroup-filters.empty{
    display:flex !important;
    min-height:18px !important;
    height:18px !important;
    margin:10px 0 20px 0 !important;
    padding:0 !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:18px !important;
    flex-wrap:wrap !important;
  }

  body[data-mode="archive"] .subgroup-filters.empty{
    visibility:hidden !important;
  }

  body[data-mode="archive"] .subgroup-filters:not(.empty){
    visibility:visible !important;
  }

  body[data-mode="archive"] #eventGrid.grid{
    margin-top:0 !important;
  }
}

/* === RC36 SPONSOR AUTOSCROLL === */
.sponsor-logos{
  justify-content:flex-start !important;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
}

.sponsor-logos.sponsor-autoscroll{
  overflow-x:auto !important;
}

.sponsor-logos.sponsor-autoscroll img{
  flex:0 0 auto;
}


/* === RC37 STABLE: MOBILE LISTING FILTERS UNIFIED === */
/* Events y Archives comparten el mismo interlineado mobile: referencia Archives. */
@media(max-width:860px){
  body[data-page="listing"] #filters,
  body[data-page="listing"] .filters{
    display:flex !important;
    visibility:visible !important;
    min-height:18px !important;
    height:auto !important;
    margin:0 0 0 0 !important;
    padding:0 !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:16px !important;
    flex-wrap:wrap !important;
  }

  body[data-page="listing"] #filters a,
  body[data-page="listing"] .filters a{
    display:inline-block !important;
    visibility:visible !important;
  }

  body[data-page="listing"] #subgroupFilters.subgroup-filters,
  body[data-page="listing"] .subgroup-filters,
  body[data-page="listing"] .subgroup-filters.empty{
    display:flex !important;
    min-height:18px !important;
    height:18px !important;
    margin:10px 0 20px 0 !important;
    padding:0 !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:18px !important;
    flex-wrap:wrap !important;
  }

  body[data-page="listing"] .subgroup-filters.empty{
    visibility:hidden !important;
    pointer-events:none !important;
  }

  body[data-page="listing"] .subgroup-filters:not(.empty){
    visibility:visible !important;
  }

  body[data-page="listing"] #eventGrid.grid{
    margin-top:0 !important;
  }
}


/* === RC37 STABLE: SPONSORS SLOW AUTOSCROLL === */
.sponsor-logos{
  display:flex !important;
  flex-wrap:nowrap !important;
  justify-content:flex-start !important;
  gap:42px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-behavior:auto !important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.sponsor-logos::-webkit-scrollbar{
  display:none;
}

.sponsor-logos img{
  flex:0 0 auto !important;
  height:58px;
}

.sponsor-logos.sponsor-autoscroll{
  cursor:grab;
}

.sponsor-logos.sponsor-autoscroll:active{
  cursor:grabbing;
}

/* === RC38 ABOUT + SPONSORS EDITORIAL === */
body[data-page="contact"] main{
  max-width:1180px !important;
  margin:0 auto !important;
  padding-top:58px !important;
}
.about-page{
  max-width:1180px;
  margin:0 auto 72px;
}
.about-grid{
  display:grid;
  grid-template-columns:minmax(260px,360px) minmax(0,1fr);
  gap:clamp(58px,7vw,104px);
  align-items:start;
}
.about-left{
  position:sticky;
  top:104px;
}
.about-photo{
  margin:0 0 30px 0;
  background:transparent;
}
.about-photo img{
  width:100%;
  height:auto;
  display:block;
  
}
.about-contact h1{
  margin:0 0 22px;
  font-size:15px;
  line-height:1.2;
  font-weight:400;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.about-contact a{
  display:block;
  margin:0 0 11px;
  color:#333;
  font-size:12px;
  line-height:1.5;
  letter-spacing:.08em;
}
.about-right{
  max-width:680px;
}
.about-section{
  margin:0 0 56px;
}
.about-section h2{
  margin:0 0 18px;
  font-size:11px;
  line-height:1.2;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#777;
}
.about-section p{
  margin:0 0 16px;
  max-width:650px;
  color:#222;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  line-height:1.72;
  letter-spacing:.01em;
}
.about-bio p,
.about-service p{
  font-size:15px;
  line-height:1.72;
}
.about-recognitions ul{
  list-style:none;
  margin:0;
  padding:0;
}
.about-recognitions li{
  margin:0 0 12px;
  color:#222;
  font-size:13px;
  line-height:1.5;
  letter-spacing:.05em;
}
.about-form form{
  max-width:560px;
  margin-top:20px;
}
.about-form input,
.about-form textarea{
  width:100%;
  display:block;
  margin-bottom:12px;
  padding:13px 0;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:#111;
  font:inherit;
  letter-spacing:.04em;
}
.about-form textarea{
  min-height:118px;
  resize:vertical;
}
.about-form input:focus,
.about-form textarea:focus{
  outline:0;
  border-bottom-color:#111;
}
.about-form .primary{
  margin-top:12px;
  padding:11px 0;
  border:0;
  border-bottom:1px solid #111;
  background:transparent;
  color:#111;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px;
}
.contact-status{display:none;margin-top:22px;
  max-width:560px;
  margin-top:16px;
  color:#555;
  font-size:12px;
}
.sponsor-section{
  padding-top:30px !important;
}
.sponsor-section h3{
  margin:0 0 28px !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:400 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:#777 !important;
}
.sponsor-logos{
  justify-content:center !important;
  gap:46px !important;
}
.sponsor-logos.sponsor-autoscroll{
  justify-content:flex-start !important;
}
.sponsor-logos img{
  height:52px !important;
  width:auto !important;
  object-fit:contain !important;
  opacity:.78;
  transition:opacity .25s ease;
}
.sponsor-logos img:hover{
  opacity:1;
}
@media(max-width:860px){
  body[data-page="contact"] main{
    padding-top:42px !important;
  }
  .about-grid{
    display:block;
  }
  .about-left{
    position:static;
    margin-bottom:48px;
  }
  .about-photo{
    max-width:320px;
    margin-bottom:28px;
  }
  .about-right{
    max-width:none;
  }
  .about-section{
    margin-bottom:46px;
  }
  .about-section p{
    font-size:16px;
    line-height:1.68;
  }
  .about-bio p,
  .about-service p{
    font-size:14px;
  }
  .sponsor-section h3{
    margin-bottom:24px !important;
  }
  .sponsor-logos{
    gap:34px !important;
  }
  .sponsor-logos img{
    height:44px !important;
  }
}

/* === RC40 GLOBAL JSON NEWLINES === */
.json-text{
  white-space:pre-line !important;
}


/* === RC41 DESKTOP CURATORIAL CONSISTENCY === */
@media(min-width:861px){
  /* Header: brand left, menu visually centered, language right. Brand is editable via site.brand in JSON. */
  .site-header{
    display:grid !important;
    grid-template-columns:1fr auto 1fr !important;
    align-items:center !important;
  }
  .brand{justify-self:start !important;}
  #siteNav.nav{justify-self:center !important;}
  .header-lang{
    display:flex !important;
    justify-self:end !important;
  }
  #siteNav .lang{display:none !important;}

  /* HOW: screen fit, slightly stronger carousel, tighter editorial vertical balance. */
  body[data-page="now"] main{
    min-height:calc(100vh - 118px) !important;
    padding-top:20px !important;
    padding-bottom:14px !important;
    display:flex !important;
    flex-direction:column !important;
  }
  body[data-page="now"] .intro{
    margin-top:8px !important;
    margin-bottom:24px !important;
  }
  body[data-page="now"] .intro p{
    line-height:1.72 !important;
  }
  body[data-page="now"] .now-carousel{
    flex:1 1 auto !important;
    min-height:0 !important;
    align-items:flex-start !important;
    padding-top:8px !important;
  }
  :root{
    --now-row-h:clamp(188px,19.2vw,278px);
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 6) + (var(--gap) * 5));
  }

  /* Listing filters: quieter and visually more compact. */
  .filters button,
  .media-tabs button{
    color:rgba(30,30,30,.46) !important;
    font-size:11px !important;
    letter-spacing:.12em !important;
  }
  .filters button.active,
  .media-tabs button.active{
    color:rgba(30,30,30,.76) !important;
    border-bottom-color:rgba(30,30,30,.76) !important;
  }
  .filters{
    margin-bottom:8px !important;
  }
  #subgroupFilters.subgroup-filters{
    margin-top:4px !important;
    margin-bottom:20px !important;
    height:14px !important;
    min-height:14px !important;
  }
  #subgroupFilters.subgroup-filters a{
    color:rgba(30,30,30,.42) !important;
    font-size:11px !important;
  }
  #subgroupFilters.subgroup-filters a.active{
    color:rgba(30,30,30,.72) !important;
  }

  /* Order bullets: present but quieter. */
  .select-order{
    width:18px !important;
    height:18px !important;
    border-color:#111 !important;
    background:rgba(60,60,60,.10) !important;
  }
  .select-order.selected{
    background:rgba(60,60,60,.72) !important;
  }

  /* About: closer to the authorial website's hierarchy, but still TRYB(E). */
  body[data-page="contact"] main{
    padding-top:52px !important;
  }
  .about-grid{
    grid-template-columns:minmax(250px,340px) minmax(0,1fr) !important;
    gap:clamp(58px,6.5vw,96px) !important;
  }
  .about-left{
    top:96px !important;
  }
  .about-main-title{
    margin:0 0 28px !important;
    font-size:42px !important;
    line-height:1.05 !important;
    font-weight:700 !important;
    letter-spacing:-.035em !important;
    text-transform:none !important;
  }
  .about-contact{
    margin-top:24px !important;
  }
  .about-contact a{
    font-size:12px !important;
    color:#333 !important;
  }
  .about-section{
    margin-bottom:62px !important;
  }
  .about-section h2{
    margin-bottom:16px !important;
    font-size:17px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    text-transform:none !important;
    color:#111 !important;
  }
  .about-section p{
    max-width:700px !important;
    font-family:Helvetica,Arial,sans-serif !important;
    font-size:15px !important;
    line-height:1.68 !important;
    font-weight:400 !important;
    letter-spacing:.01em !important;
    color:#202020 !important;
  }
  .about-statement p{
    font-size:15px !important;
    line-height:1.7 !important;
  }
  .about-bio p,
  .about-service p{
    font-size:14px !important;
    line-height:1.66 !important;
  }
  .about-recognitions li{
    font-size:13px !important;
    line-height:1.55 !important;
    color:#222 !important;
  }
  .about-form{
    margin-top:70px !important;
  }
  .contact-status{display:none;margin-top:22px;
    margin-top:28px !important;
  }
}

@media(max-width:860px){
  .about-main-title{
    margin:0 0 24px !important;
    font-size:38px !important;
    line-height:1.06 !important;
    font-weight:700 !important;
    letter-spacing:-.035em !important;
    text-transform:none !important;
  }
  .about-section h2{
    font-size:16px !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    text-transform:none !important;
    color:#111 !important;
  }
  .about-section p{
    font-family:Helvetica,Arial,sans-serif !important;
  }
  .contact-status{display:none;margin-top:22px;margin-top:24px !important;}
}


/* === RC42 DESKTOP FINAL POLISH === */
/* Respect site.brand exactly as written in JSON. */
.brand{
  text-transform:none !important;
}

@media(min-width:861px){
  /* HOW: lower carousel a breath after RC41 enlargement. */
  body[data-page="now"] .intro{
    margin-bottom:36px !important;
  }
  body[data-page="now"] .now-carousel{
    padding-top:18px !important;
  }

  /* Footer: centered editorial group with quieter social links. */
  .site-footer{
    justify-content:center !important;
    gap:30px !important;
    text-align:center !important;
  }
}

.footer-socials{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}
.footer-social{
  font-size:11px;
  line-height:1;
  letter-spacing:.08em;
  color:#777;
  text-transform:uppercase;
}
.footer-social:hover{color:#111;}

/* Event order bullets: legible on dark and light images, still quiet. */
.select-order{
  width:18px !important;
  height:18px !important;
  border:1px solid rgba(0,0,0,.72) !important;
  background:rgba(250,250,248,.72) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.62),0 1px 5px rgba(0,0,0,.18) !important;
}
.select-order.selected{
  background:rgba(17,17,17,.82) !important;
  border-color:rgba(255,255,255,.82) !important;
  box-shadow:0 0 0 1px rgba(0,0,0,.48),0 1px 5px rgba(0,0,0,.20) !important;
}

/* Slightly more air for contact links when optional social fields appear. */
.about-contact{
  gap:10px !important;
}

/* === RC43 DESKTOP FINAL FIX === */
@media(min-width:861px){
  .site-footer{
    gap:42px !important;
  }
}
.footer-socials{
  gap:16px !important;
}
.footer-social{
  width:18px !important;
  height:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#777 !important;
  opacity:.86 !important;
}
.footer-social svg{
  width:15px !important;
  height:15px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.55 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.footer-social[aria-label="facebook"] svg{
  fill:currentColor !important;
  stroke:none !important;
  width:14px !important;
  height:14px !important;
}
.footer-social:hover{color:#111 !important;opacity:1 !important;}
.now-cell,.now-cell img,.now-carousel img,.image-tile img,.card-cover img{
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}


/* === RC46 PERFORMANCE SPONSORS ORDER CONTACT === */
.contact-status{display:none;margin-top:22px;
  display:block !important;
  margin-top:30px !important;
  min-height:18px !important;
  color:#444 !important;
  font-size:12px !important;
  line-height:1.5 !important;
}
.contact-status:empty{display:block !important;}

/* === RC46C FINAL FIXES === */
/* One visible reserved line: subgroups stay hidden until a sport is selected. */
#subgroupFilters.subgroup-filters.empty,
.subgroup-filters.empty{
  visibility:hidden !important;
  pointer-events:none !important;
}
#subgroupFilters.subgroup-filters:not(.empty),
.subgroup-filters:not(.empty){
  visibility:visible !important;
}

/* Sponsor track: JS moves the inner track; desktop/iPad must not rely on native scroll. */
.sponsor-logos{
  display:flex !important;
  overflow:hidden !important;
  justify-content:center !important;
  white-space:nowrap !important;
  scrollbar-width:none !important;
}
.sponsor-logos.sponsor-autoscroll{
  justify-content:flex-start !important;
  overflow:hidden !important;
}
.sponsor-track{
  display:flex !important;
  align-items:center !important;
  gap:46px !important;
  width:max-content !important;
  flex:0 0 auto !important;
  will-change:transform !important;
}
.sponsor-logos img{
  flex:0 0 auto !important;
  height:52px !important;
  width:auto !important;
  object-fit:contain !important;
}

/* Contact form success message: hidden until JS sets text after successful submit. */
.contact-status{
  display:none;
  margin-top:30px !important;
  color:#444 !important;
  font-size:12px !important;
  line-height:1.5 !important;
  min-height:18px !important;
}
.contact-status:not(:empty){
  display:block !important;
}


/* RC46D — Sponsors: same interaction logic as HOW carousel */
.sponsor-logos{
  display:flex !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
  width:100% !important;
  cursor:grab !important;
  touch-action:pan-y !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  scrollbar-width:none !important;
}
.sponsor-logos::-webkit-scrollbar{display:none !important;}
.sponsor-logos.no-scroll{
  justify-content:center !important;
  cursor:default !important;
}
.sponsor-logos.sponsor-autoscroll{
  justify-content:flex-start !important;
}
.sponsor-logos.is-dragging{cursor:grabbing !important;}
.sponsor-track{
  display:flex !important;
  align-items:center !important;
  gap:46px !important;
  width:max-content !important;
  min-width:max-content !important;
  flex:0 0 auto !important;
  will-change:transform !important;
  transform:translate3d(0,0,0);
}
.sponsor-logos img{
  flex:0 0 auto !important;
  height:52px !important;
  width:auto !important;
  max-width:none !important;
  object-fit:contain !important;
  opacity:.74 !important;
  pointer-events:none !important;
  -webkit-user-drag:none !important;
  user-select:none !important;
  background:transparent !important;
}
.sponsor-logos img:hover{opacity:.9 !important;}
@media(max-width:860px){
  .sponsor-track{gap:34px !important;}
  .sponsor-logos img{height:42px !important;}
}

/* RC46E — Archive empty month editorial state */
#archiveEmpty.empty-state:empty{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  min-height:0 !important;
  height:0 !important;
}
#archiveEmpty.empty-state:not(:empty){
  display:block !important;
  max-width:1180px !important;
  margin:76px auto 86px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  min-height:0 !important;
  height:auto !important;
  color:rgba(17,17,17,.55) !important;
}
#archiveEmpty.empty-state h2{
  margin:0 0 12px !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  color:rgba(17,17,17,.58) !important;
}
#archiveEmpty.empty-state p{
  margin:0 !important;
  max-width:520px !important;
  font-size:12px !important;
  line-height:1.65 !important;
  letter-spacing:.02em !important;
  color:rgba(17,17,17,.46) !important;
}
@media(max-width:860px){
  #archiveEmpty.empty-state:not(:empty){
    margin:56px auto 64px !important;
  }
}

/* === RC47 MOBILE CURATORIAL — mobile only; desktop untouched === */
@media(max-width:860px){
  /* HOW: manifesto follows the desktop editorial alignment and the block rises slightly. */
  body[data-page="now"] main{
    padding-top:16px !important;
  }
  body[data-page="now"] .intro{
    margin-top:66px !important;
    margin-bottom:44px !important;
    text-align:right !important;
  }
  body[data-page="now"] .intro h1,
  body[data-page="now"] .intro p{
    max-width:330px !important;
    margin-left:auto !important;
    margin-right:0 !important;
    text-align:right !important;
  }

  /* Mobile listings: bring filters closer to the page title and tighten subgroup relationship. */
  body[data-page="listing"] .page-title{
    margin-bottom:18px !important;
  }
  body[data-page="listing"] #filters,
  body[data-page="listing"] .filters{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  body[data-page="listing"] #subgroupFilters.subgroup-filters,
  body[data-page="listing"] .subgroup-filters,
  body[data-page="listing"] .subgroup-filters.empty,
  body[data-mode="archive"] #subgroupFilters.subgroup-filters,
  body[data-mode="archive"] .subgroup-filters,
  body[data-mode="archive"] .subgroup-filters.empty{
    margin-top:4px !important;
    margin-bottom:18px !important;
  }

  /* Mobile listing cards: title/date sit a breath closer to the image. */
  body[data-page="listing"] .card .card-meta{
    margin-top:8px !important;
    padding-top:10px !important;
  }

  /* About mobile: lift portrait and pull contact details closer. */
  body[data-page="contact"] main{
    padding-top:32px !important;
  }
  body[data-page="contact"] .about-photo{
    margin-bottom:22px !important;
  }
  body[data-page="contact"] .about-left{
    margin-bottom:48px !important;
  }
}


/* === RC47.1 MOBILE EVENT COMPACT META — mobile only; desktop untouched === */
@media(max-width:860px){
  body[data-page="event"] .event-main-frame{
    margin-bottom:12px !important;
  }
  body[data-page="event"] .event-text h1{
    margin-bottom:4px !important;
  }
  body[data-page="event"] #eventDate{
    margin-top:0 !important;
    margin-bottom:14px !important;
  }
}

/* === RC48 FINAL CANDIDATE — iPad HOW + mobile/iPad event title; desktop untouched === */

/* Mobile + iPad: event title a little quieter, image remains protagonist. */
@media(max-width:1180px){
  body[data-page="event"] .event-text h1{
    font-size:23px !important;
    line-height:1.18 !important;
  }
}

/* iPad / tablet HOW only: keep cover page closed and arrows inside carousel. */
@media(min-width:861px) and (max-width:1180px){
  body[data-page="now"]{
    min-height:100dvh !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }

  body[data-page="now"] main{
    flex:1 1 auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding-top:18px !important;
    padding-bottom:18px !important;
  }

  body[data-page="now"] .site-footer{
    flex:0 0 auto !important;
  }

  body[data-page="now"] .intro{
    width:var(--now-view-w) !important;
    max-width:calc(100vw - 64px) !important;
    margin:0 auto 34px !important;
    text-align:right !important;
  }

  body[data-page="now"] .intro h1,
  body[data-page="now"] .intro p{
    margin-left:auto !important;
    margin-right:0 !important;
    text-align:right !important;
  }

  body[data-page="now"] .intro p{
    max-width:560px !important;
  }

  body[data-page="now"] .now-carousel{
    min-height:auto !important;
    align-items:flex-start !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  body[data-page="now"] .carousel-arrow{
    top:calc(var(--now-row-h) + (var(--now-gap) / 2)) !important;
    transform:translateY(-50%) !important;
  }
}

/* iPad portrait behaves like a narrow editorial cover: manifesto block aligned like mobile. */
@media(min-width:861px) and (max-width:1180px) and (orientation:portrait){
  body[data-page="now"]{
    --now-row-h:clamp(160px, 22vw, 200px) !important;
    --now-view-w:calc((var(--now-row-h) * 4 / 5 * 4) + 12px) !important;
  }

  body[data-page="now"] .intro{
    max-width:calc(100vw - 64px) !important;
    margin-bottom:30px !important;
  }

  body[data-page="now"] .intro p{
    max-width:330px !important;
  }

  body[data-page="now"] .now-carousel{
    width:var(--now-view-w) !important;
    max-width:calc(100vw - 64px) !important;
  }
}


/* === RC49 FINAL CANDIDATE POLISH — iPad HOW + Mobile/iPad Event title only === */
/* Desktop remains untouched: these rules target touch tablet/mobile breakpoints. */
@media (hover:none) and (pointer:coarse) and (min-width:861px) and (max-width:1180px){
  body[data-page="now"]{
    height:100svh !important;
    min-height:100svh !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
  }
  body[data-page="now"] main{
    flex:1 1 auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
  body[data-page="now"] .site-footer{
    flex:0 0 auto !important;
    min-height:44px !important;
  }
  body[data-page="now"] .carousel-arrow{
    top:calc(var(--now-row-h) + (var(--now-gap) / 2)) !important;
    transform:translateY(-50%) !important;
  }
}

/* iPad portrait: larger cover mosaic, same right-aligned manifesto language as Mobile. */
@media (hover:none) and (pointer:coarse) and (min-width:861px) and (max-width:1180px) and (orientation:portrait){
  body[data-page="now"]{
    --now-row-h:clamp(200px,28vw,232px) !important;
    --now-view-w:calc(100vw - 96px) !important;
  }
  body[data-page="now"] main{
    justify-content:center !important;
    transform:translateY(22px) !important;
  }
  body[data-page="now"] .intro{
    width:var(--now-view-w) !important;
    max-width:calc(100vw - 64px) !important;
    margin:0 auto 30px !important;
    text-align:right !important;
  }
  body[data-page="now"] .intro h1,
  body[data-page="now"] .intro p{
    max-width:340px !important;
    margin-left:auto !important;
    margin-right:0 !important;
    text-align:right !important;
  }
  body[data-page="now"] .now-carousel{
    width:var(--now-view-w) !important;
    max-width:calc(100vw - 64px) !important;
    min-height:auto !important;
    align-items:flex-start !important;
  }
}

/* iPad landscape: keep HOW as a closed cover page with footer visible, without changing Desktop. */
@media (hover:none) and (pointer:coarse) and (min-width:861px) and (max-width:1180px) and (orientation:landscape){
  body[data-page="now"]{
    --now-row-h:clamp(150px,15.6vw,205px) !important;
    --now-view-w:calc(100vw - 110px) !important;
  }
  body[data-page="now"] .intro{
    width:var(--now-view-w) !important;
    max-width:calc(100vw - 64px) !important;
    margin:0 auto 28px !important;
  }
  body[data-page="now"] .now-carousel{
    width:var(--now-view-w) !important;
    max-width:calc(100vw - 64px) !important;
    min-height:auto !important;
    align-items:flex-start !important;
  }
}

/* Mobile + iPad touch: one last quieting of Event title; Desktop untouched. */
@media (hover:none) and (pointer:coarse) and (max-width:1180px){
  body[data-page="event"] .event-text h1{
    font-size:22px !important;
    line-height:1.18 !important;
  }
}

/* === RC50 FINAL HOW iPad polish — no Desktop changes === */
/* iPad portrait HOW: keep the stronger mosaic, but move the whole editorial block lower. */
@media (hover:none) and (pointer:coarse) and (min-width:861px) and (max-width:1180px) and (orientation:portrait){
  body[data-page="now"] main{
    transform:translateY(68px) !important;
  }
}

/* iPad landscape HOW: fit as a closed cover page with footer visible, no scroll. */
@media (hover:none) and (pointer:coarse) and (min-width:861px) and (max-width:1180px) and (orientation:landscape){
  body[data-page="now"]{
    --now-row-h:clamp(138px,14.2vw,184px) !important;
    --now-view-w:calc(100vw - 116px) !important;
    height:100dvh !important;
    min-height:100dvh !important;
    overflow:hidden !important;
  }
  body[data-page="now"] main{
    flex:1 1 auto !important;
    min-height:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    justify-content:center !important;
  }
  body[data-page="now"] .intro{
    margin:0 auto 22px !important;
  }
  body[data-page="now"] .site-footer{
    flex:0 0 42px !important;
    min-height:42px !important;
  }
  body[data-page="now"] .now-carousel{
    width:var(--now-view-w) !important;
    max-width:calc(100vw - 64px) !important;
    min-height:auto !important;
  }
  body[data-page="now"] .carousel-arrow{
    top:calc(var(--now-row-h) + (var(--now-gap) / 2)) !important;
  }
}


/* v1.0 final patch — stronger mobile/iPad image protection */
img,
.now-cell,
.now-cell img,
.now-carousel,
.now-window,
.card-cover,
.card-cover img,
.event-main-frame,
.event-main-frame img,
.image-tile,
.image-tile img,
.lightbox,
.lightbox img,
.about-photo,
.about-photo img{
  -webkit-touch-callout:none !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}
.lightbox img,
.now-cell img{
  pointer-events:none !important;
}
