/* Ajustes de la reunión de Rolleri. Conserva la dirección «Mercado claro». */
.category-branch-heading { display: flex; align-items: center; min-width: 0; }
.category-branch-heading > a { flex: 1; min-width: 0; }
.category-branch-toggle {
  display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px;
  padding: 6px; border: 0; border-radius: 9px; background: transparent;
  color: var(--brand-dark); cursor: pointer;
}
.category-branch-toggle svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.category-branch-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.category-branch-toggle:hover,
.category-branch-toggle:focus-visible { background: var(--brand-soft); }
.category-branch-toggle:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.category-submenu[hidden] { display: none !important; }
.category-dropdown .category-submenu { margin: 0 0 6px 14px; padding-left: 9px; border-left: 2px solid var(--accent); }
.category-dropdown .category-submenu a { font-weight: 500; font-size: 13px; }
.utility-nav { overflow: visible; z-index: 10; }
.utility-nav > div { flex-wrap: wrap; align-items: center; gap: 0 14px; overflow: visible; }
.utility-nav > div > a,
.utility-category > .category-branch-heading > a { min-height: 42px; display: flex; align-items: center; padding: 9px 0; }
.utility-category { position: relative; }
.utility-category .category-branch-toggle { flex-basis: 26px; width: 26px; height: 34px; }
.utility-category > .category-submenu {
  position: absolute; z-index: 25; top: 100%; left: 0; width: 260px;
  max-width: calc(100vw - 24px); max-height: 55vh; overflow-y: auto;
  margin: 0; padding: 9px; border: 1px solid var(--line); border-radius: 0 0 14px 14px;
  list-style: none; background: #fff; box-shadow: var(--shadow-md);
}
.utility-category:nth-last-child(-n + 5) > .category-submenu { left: auto; right: 0; }
.utility-category .category-submenu a { display: block; padding: 11px; white-space: normal; border-radius: 7px; }
.utility-category .category-submenu a:hover,
.utility-category .category-submenu a:focus-visible { background: var(--brand-soft); }
.utility-nav .utility-resource { color: var(--brand-dark); font-weight: 800; }
.market-info-bar > div > a:first-child { line-height: 1.3; }
.service-ribbon > .service-ribbon__link {
  display: flex; align-items: center; justify-content: center; gap: 13px;
  min-height: 80px; padding: 17px 19px; border: 0;
  background: #075be8; color: #fff; text-decoration: none; cursor: pointer;
  transition: background-color .2s ease;
}
.service-ribbon > .service-ribbon__link:hover { background: #004bc5; color: #fff; }
.service-ribbon > .service-ribbon__link:focus-visible { outline: 3px solid #ffce22; outline-offset: -4px; }
.service-ribbon > .service-ribbon__link b { color: #fff; text-decoration: none; }
.service-ribbon > .service-ribbon__link .service-route-link {
  display: block; color: rgba(255,255,255,.88); font-size: 12px; text-decoration: none;
}
.service-ribbon > .service-ribbon__about {
  display: flex; align-items: center; justify-content: center; gap: 13px;
  min-height: 80px; padding: 17px 19px; border: 0;
  background: #ed4b28; color: #fff; text-decoration: none; cursor: pointer;
  transition: background-color .2s ease;
}
.service-ribbon > .service-ribbon__about:hover { background: #d83c1c; color: #fff; }
.service-ribbon > .service-ribbon__about:focus-visible { outline: 3px solid #ffce22; outline-offset: -4px; }
.service-ribbon > .service-ribbon__about b { color: #fff; }
.service-ribbon > .service-ribbon__about p > span { display: block; color: rgba(255,255,255,.9); font-size: 12px; }
.hero-offer__tax { margin: 6px 0; font-size: 14px; font-weight: 800; }
.categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.company-photo--warehouse { aspect-ratio: 1.8 / 1; background: #eef4f6; }
.company-photo--warehouse img { position: absolute; inset: auto; top: 50%; left: -2.7624%; width: 217.3113%; height: auto; max-width: none; transform: translateY(-52.2075%); }
.company-benefits { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.catalog-results-heading h1 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.25rem); }
.filters-heading h2 { margin: 0 0 12px; font-size: 20px; }
.catalog-pdf-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 14px; font-weight: 750; color: var(--brand-dark); }
.product-image-placeholder {
  width: 100%; height: 100%; min-height: inherit; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 10px; padding: 24px 14px 45px;
  background: #f0f5f8; color: #567485;
}
.product-image-placeholder svg { width: 68px; height: 68px; fill: none; stroke: #7193a5; stroke-width: 1.5; stroke-linejoin: round; }
.product-image-placeholder small { font-size: 12px; font-weight: 500; letter-spacing: 0; }
.detail-image .product-image-placeholder { min-height: 350px; padding-bottom: 24px; }
.detail-image .product-image-placeholder svg { width: 110px; height: 110px; }
.product-image:has(.product-image-placeholder)::after { display: none; }
.floating-wa.is-above-credit { bottom: 70px; }

@media (max-width: 1050px) {
  .utility-nav > div { gap: 0 12px; }
  .company-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .header-shell { grid-template-columns: 82px minmax(0, 1fr) auto; grid-template-rows: 60px auto; gap: 4px 10px; }
  .site-header .brand { grid-row: 1; }
  .site-search { grid-column: 2; grid-row: 1; }
  .account-nav { grid-column: 3; grid-row: 1; }
  .category-menu { display: block; grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .catalog-trigger { min-height: 40px; padding: 5px 12px; }
  .site-header .category-dropdown { left: 0; top: 100%; width: min(390px, calc(100vw - 24px)); max-height: 65vh; }
  .utility-nav { padding: 0; overflow: visible; }
  .utility-nav > div { width: var(--content); margin: auto; padding: 4px 0; gap: 0 12px; overflow: visible; }
  .utility-nav > div > a,
  .utility-category > .category-branch-heading > a { min-height: 38px; padding: 8px 0; font-size: 11px; }
  .utility-category { position: static; }
  .utility-category .category-branch-toggle { width: 25px; flex-basis: 25px; }
  .utility-category > .category-submenu,
  .utility-category:nth-last-child(-n + 5) > .category-submenu { left: 12px; right: 12px; width: auto; max-width: none; }
  .categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-ribbon > .service-ribbon__link .service-route-link { font-size: 11px; }
  .company-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .market-info-bar > div > a:first-child { max-width: 65%; font-size: 10px; }
  .utility-nav > div { gap: 0 10px; }
  .service-ribbon > .service-ribbon__link { justify-content: flex-start; padding: 13px 10px; }
  .service-ribbon > .service-ribbon__about { justify-content: flex-start; padding: 13px 10px; }
  .product-image-placeholder { padding-inline: 8px; }
  .product-image-placeholder small { font-size: 10px; }
}
/* Páginas de información comercial. */
.meeting-page{max-width:1200px;margin:0 auto;padding:48px 24px 64px}.meeting-page h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;margin:10px 0 18px;color:#073c61}.meeting-lead{font-size:1.16rem;max-width:720px;color:#526577}.routes-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0}.routes-coverage,.routes-details{border-radius:24px;padding:32px}.routes-coverage{background:#0769d7;color:#fff}.routes-coverage h2{color:#fff}.routes-coverage ul{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-left:20px}.routes-details{background:#ffce22;color:#143447}.routes-details .eyebrow{color:#143447}.routes-details h2{font-size:1.8rem;line-height:1.2}.routes-details p{line-height:1.7}.pdf-actions{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0}.catalog-pdf-viewer{width:100%;height:740px;border:1px solid #d8e4ed;border-radius:18px;background:#eef3f7}.pdf-catalog-note{background:#edf7ff;border-radius:20px;padding:28px;margin-top:28px}.pdf-catalog-note h2{margin-top:0}@media(max-width:700px){.meeting-page{padding:28px 16px 40px}.routes-layout{grid-template-columns:1fr}.routes-coverage,.routes-details{padding:24px}.routes-coverage ul{grid-template-columns:1fr}.catalog-pdf-viewer{height:520px}.pdf-actions .button{width:100%;text-align:center}}
.theme-market .categories .category-real-card{padding:0 0 20px;min-height:260px;display:flex;flex-direction:column;text-align:left;isolation:isolate;background:#086ae1;border-radius:22px;overflow:hidden}.theme-market .categories .category-real-card:after{display:none}.theme-market .categories .category-real-card:nth-child(2){background:#ffd026}.theme-market .categories .category-real-card:nth-child(3){background:#04a678}.theme-market .categories .category-real-card:nth-child(4){background:#ef5328}.theme-market .categories .category-real-card:nth-child(5){background:#6744c4}.theme-market .categories .category-real-card:nth-child(6){background:#0a85bf}.theme-market .categories .category-real-card:nth-child(7){background:#17477a}.theme-market .category-real-card .category-real-media{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:180px;min-height:0;margin:0 0 14px;padding:18px 16px;background:#f3f7fa}.theme-market .category-real-card .category-real-media img{position:static;inset:auto;object-fit:contain;width:0;min-width:0;flex:1;height:100%;max-height:145px;filter:none;transform:none;border-radius:0}.theme-market .category-real-card .category-real-media svg{height:100px;fill:none;stroke:#7693a6;stroke-width:2}.theme-market .categories .category-real-card>strong,.theme-market .categories .category-real-card>span{position:static;margin:0;padding:0 18px;color:#fff}.theme-market .categories .category-real-card>strong{font-size:18px}.theme-market .categories .category-real-card>span{margin-top:6px;font-size:12px}.theme-market .categories .category-real-card:nth-child(2)>strong,.theme-market .categories .category-real-card:nth-child(2)>span{color:#173447}.theme-market .hero-slide--offer .hero-media:not(.is-split) img{object-fit:contain;width:100%;height:100%;max-height:270px;padding:12px}.theme-market .hero-slide--offer .hero-media-images{height:100%}@media(max-width:560px){.theme-market .categories .category-real-card{min-height:210px}.theme-market .category-real-card .category-real-media{height:140px;padding:12px 6px}.theme-market .categories .category-real-card>strong{font-size:14px}.theme-market .categories .category-real-card>strong,.theme-market .categories .category-real-card>span{padding-inline:12px}.theme-market .hero-slide--offer .hero-media:not(.is-split) img{max-height:230px;padding:8px}}
.theme-market .categories .category-real-card::before{display:none}.theme-market .category-real-card .category-real-media img{z-index:auto}.theme-market .categories .category-real-card>strong{text-shadow:none}
/* Cada categoría usa una escena de producto completa, sin recortes independientes. */
.theme-market .category-real-card .category-real-media{padding:0;background:#f4f0ea;overflow:hidden}
.theme-market .category-real-card .category-real-media img{display:block;flex:none;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;transform:none}
[data-gallery-placeholder][hidden],[data-gallery-main][hidden],[data-gallery-thumb][hidden]{display:none!important}.cart-no-image{display:block;padding:12px;font-size:11px;text-align:center;color:#587082}
.checkout-summary-item{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid #d2e0e8}.checkout-summary-item span{font-size:14px;color:#526577}
/* Cobertura Rolleri: límites comunales reales y llamadas de texto como en la referencia. */
.routes-page .routes-layout{grid-template-columns:minmax(0,1.23fr) minmax(0,1fr);align-items:stretch;gap:24px}
.routes-page .routes-coverage{margin:0;padding:26px 24px 20px;background:#fff;border:1px solid #dce6ed;box-shadow:0 12px 36px #103e6110;color:#143447;overflow:hidden}
.coverage-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.coverage-heading .eyebrow{font-size:11px;color:#0776be;letter-spacing:1.6px}
.routes-page .coverage-heading h2{margin:5px 0 0;color:#103f5b;font-size:26px;line-height:1.2}
.coverage-count{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:8px 12px;background:#e7f4ff;color:#086cae;font-size:13px;font-weight:800}
.coverage-map{display:block;width:100%;height:auto;margin:20px 0 0}
.coverage-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 20px;border-top:1px solid #e6edf2;padding-top:18px;font-size:12px;color:#3f5b6b}
.coverage-legend>span{display:inline-flex;align-items:center;gap:7px}.coverage-key{width:12px;height:12px;border-radius:3px;background:#0873d1;display:inline-block}.coverage-key--context{background:#dce3e8}
.coverage-caption{margin:14px 0 5px;text-align:center;font-size:13px;font-weight:600;color:#31586c}.coverage-source{margin:0;text-align:center;font-size:10px;line-height:1.6;color:#69808d}.coverage-source a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.routes-page .routes-details{min-width:0;display:flex;flex-direction:column;padding:0;overflow:hidden;background:#fff;border:1px solid #dce6ed;box-shadow:0 12px 36px #103e6110}.routes-details__offer{padding:32px;background:#ffce22}.routes-page .routes-details h2{font-size:clamp(25px,2.6vw,34px);line-height:1.18;margin:16px 0 0}.routes-details__body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:18px 32px}.routes-coordination{position:relative;padding:18px 0 18px 22px;border-bottom:1px solid #dce6ed}.routes-coordination:last-child{border-bottom:0}.routes-coordination::before{content:"";position:absolute;top:24px;left:0;width:9px;height:9px;border-radius:50%;background:#0873d1;box-shadow:0 0 0 4px #e7f4ff}.routes-coordination strong{font-size:17px;color:#143447}.routes-page .routes-details p{font-size:15px;line-height:1.65;margin:7px 0 0;color:#526577}.routes-details__action{padding:0 32px 32px}.routes-page .routes-details .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;background:#075b98;color:#fff;border-radius:999px;padding:14px 22px}.routes-page .routes-details .button:hover{background:#064773}
@media(max-width:850px){.routes-page .routes-layout{grid-template-columns:1fr}.routes-page .routes-coverage{max-width:690px;width:100%;margin-inline:auto}.routes-page .routes-details h2{max-width:620px}}
@media(max-width:560px){.routes-page .routes-coverage{padding:22px 12px 18px;border-radius:20px}.coverage-heading{gap:10px;padding-inline:6px}.routes-page .coverage-heading h2{font-size:23px}.coverage-heading .eyebrow{font-size:10px}.coverage-count{padding:7px 10px;font-size:11px}.coverage-map{margin-top:18px;width:calc(100% + 12px);max-width:none;margin-left:-6px}.coverage-legend{gap:10px 14px;font-size:11px}.coverage-source{font-size:9px}.coverage-caption{font-size:12px}.routes-details__offer{padding:26px}.routes-details__body{padding:12px 26px}.routes-details__action{padding:0 26px 26px}.routes-page .routes-details .button{width:100%;text-align:center}}

/* La cobertura y las condiciones deben verse al abrir la página. */
.routes-page{padding-top:22px}
.routes-page > .eyebrow{margin-bottom:3px}
.routes-page > h1{margin:4px 0 6px;font-size:clamp(30px,3vw,40px);line-height:1.12}
.routes-page > .meeting-lead{max-width:none;margin:0;font-size:15px;line-height:1.5}
.routes-page > .routes-layout{margin:20px 0 24px}
.routes-page .routes-coverage{padding-top:20px}
.routes-page .coverage-heading h2{font-size:23px}
.routes-page .coverage-map{margin-top:12px}
.routes-page .routes-details__offer{padding:22px 28px}
.routes-page .routes-details h2{margin-top:8px;font-size:clamp(23px,2.1vw,28px);line-height:1.2}
.routes-page .routes-details__body{justify-content:flex-start;padding:14px 28px}
.routes-page .routes-coordination{padding-top:14px;padding-bottom:14px}
.routes-page .routes-coordination::before{top:20px}
.routes-page .routes-coordination strong{font-size:16px}
.routes-page .routes-details p{font-size:14px;line-height:1.5}
.routes-page .routes-details__action{padding:0 28px 28px}
@media(min-width:851px){
  .routes-page .routes-coverage{padding-bottom:16px}
  .routes-page .coverage-map{width:96%;margin-right:auto;margin-left:auto}
  .routes-page .coverage-legend{padding-top:14px}
}
@media(max-width:700px){
  .routes-page{padding-top:18px}
  .routes-page > h1{font-size:30px}
  .routes-page > .meeting-lead{font-size:14px}
  .routes-page > .routes-layout{margin-top:16px}
  .routes-page .routes-details__offer{padding:20px 24px}
  .routes-page .routes-details__body{padding:12px 24px}
  .routes-page .routes-details__action{padding:0 24px 24px}
}

/* En Rutas, la barra secundaria aparece al volver a desplazarse hacia arriba. */
.page-routes .utility-nav{
  position:fixed;top:var(--routes-nav-top,82px);left:0;right:0;z-index:19;
  width:100%;margin:0;transform:translateY(calc(-100% - 1px));
  opacity:0;visibility:hidden;pointer-events:none;
  box-shadow:0 10px 22px rgba(12,55,80,.12);
  transition:transform .2s ease,opacity .2s ease,visibility .2s ease;
}
.page-routes .utility-nav.is-visible{
  transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto;
}
@media(prefers-reduced-motion:reduce){
  .page-routes .utility-nav{transition:none}
}

/* Franja de texto compacta para dar protagonismo a las fotos. */
.theme-market .categories .category-real-card{
  min-height:254px;
  padding-bottom:3px;
}
.theme-market .category-real-card .category-real-media{
  flex-shrink:0;
  height:204px;
  margin-bottom:3px;
}
.theme-market .categories .category-real-card>span{
  margin-top:3px;
  line-height:18px;
}

/* Solo Complementos crece 15% de alto y conserva el ancho de tres columnas. */
.theme-market .categories .category-real-card--wide{
  grid-column:1 / -1;
  min-height:292px;
}
.theme-market .category-real-card--wide .category-real-media{
  height:242px;
}
@media(max-width:560px){
  .theme-market .categories .category-real-card{
    min-height:203px;
    padding-bottom:3px;
  }
  .theme-market .category-real-card .category-real-media{
    height:159px;
    margin-bottom:3px;
  }
  .theme-market .categories .category-real-card--wide{
    min-height:233px;
  }
  .theme-market .category-real-card--wide .category-real-media{
    height:189px;
  }
}

/* Escenas promocionales a tamaño completo y precios legibles por formato. */
.theme-market .hero-carousel,
.theme-market .rolleri-hero-stage,
.theme-market .hero-slide--offer { height: 350px; }
.theme-market .hero-slide--offer .hero-media { padding: 0; }
.theme-market .hero-slide--offer .hero-media-images { height: 100%; border-radius: 0; background: #fff2e7; }
.theme-market .hero-slide--offer .hero-media:not(.is-split) img {
  display: block; width: 100%; height: 100%; max-height: none; padding: 0;
  object-fit: cover; object-position: center; mix-blend-mode: normal;
}
.theme-market .hero-slide--offer .hero-offer { padding: 15px 24px 18px 18px; }
.theme-market .pdf-page { margin: 16px auto 40px; padding-top: 0; padding-bottom: 0; }
.pdf-page-header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 16px 24px; margin-bottom: 14px; }
.pdf-page-header__copy { min-width: 0; }
.theme-market .pdf-page .eyebrow { margin: 0 0 3px; font-size: 10px; }
.theme-market .pdf-page h1 { margin: 0; font-size: 30px; line-height: 1.15; }
.theme-market .pdf-page .meeting-lead { max-width: none; margin: 6px 0 0; font-size: 14px; line-height: 1.4; }
.theme-market .pdf-page .pdf-actions { gap: 8px; margin: 0; }
.theme-market .pdf-page .pdf-actions .button { min-height: 42px; padding: 10px 14px; font-size: 13px; white-space: nowrap; }
.theme-market .pdf-page .catalog-pdf-viewer { display: block; }
@media(max-width:900px){
  .pdf-page-header { grid-template-columns: minmax(0,1fr); gap: 12px; }
}
@media(max-width:700px){
  .theme-market .pdf-page { margin-top: 12px; }
  .theme-market .pdf-page h1 { font-size: 25px; }
  .theme-market .pdf-page .meeting-lead { font-size: 13px; }
  .theme-market .pdf-page .pdf-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .theme-market .pdf-page .pdf-actions .button { min-height: 44px; padding: 8px; font-size: 12px; white-space: normal; }
}

.hero-offer__items { display: grid; gap: 7px; margin: 7px 0 0; padding: 0; list-style: none; }
.hero-offer__items li { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 9px 10px; border: 1px solid rgba(17,62,86,.12); border-radius: 10px; background: #fff; font-size: 13px; line-height: 1.2; }
.hero-offer__items li span { font-weight: 750; }
.hero-offer__items li strong { color: #d92e49; font-size: 19px; white-space: nowrap; }
.hero-slide--multi-offer .hero-offer__notice { padding: 7px 9px; }
@media(max-width:800px){
  .theme-market .hero-carousel,
  .theme-market .rolleri-hero-stage,
  .theme-market .hero-slide--offer { height: 580px; }
  .theme-market .hero-slide--offer .hero-offer { padding: 8px 14px 22px 8px; }
  .hero-offer__items li { font-size: 12px; padding: 7px; }
  .hero-offer__items li strong { font-size: 16px; }
}
@media(max-width:560px){
  .theme-market .hero-carousel,
  .theme-market .rolleri-hero-stage,
  .theme-market .hero-slide--offer { height: 745px; }
  .theme-market .hero-slide--offer { grid-template-columns: minmax(0,1fr); grid-template-rows: 200px 270px minmax(0,1fr); }
  .theme-market .hero-slide--offer .hero-copy { grid-column: 1; padding: 16px 22px 12px; }
  .theme-market .hero-slide--offer .hero-copy h2 { font-size: 1.75rem; margin-bottom: 4px; }
  .theme-market .hero-slide--offer .hero-copy > p:not(.eyebrow) { margin-bottom: 8px; }
  .theme-market .hero-slide--offer .hero-offer { max-height: none; margin: 0; padding: 14px 20px 28px; overflow-y: auto; }
  .hero-offer__items { gap: 5px; }
  .hero-offer__items li { padding: 6px 9px; }
}
