/* Mimo storefront refinement: readable product information and a calm buying path.
   Kept separate from historical styles so the final layer is explicit and reversible. */
:root {
  --mimo-ink: #182c58;
  --mimo-blue: #3452c5;
  --mimo-muted: #526174;
  --mimo-line: #dce3ef;
  --mimo-surface: #f5f7fb;
}
body { color: var(--mimo-ink); }
.wrap { width: min(1280px, calc(100% - 64px)); }
.site-header { background: #fff; backdrop-filter: none; }
.site-header .header-inner { gap: 26px; }
.site-header .search-box { background: #f5f7fb; border-color: #d4deef; }
.site-header .search-box:focus-within { border-color: #3452c5; box-shadow: 0 0 0 3px #3452c519; }
.site-header .search-box input { font-size: 16px; }
.site-header .search-box input::placeholder { color: #64738c; opacity: 1; }
.site-header .header-search-form input { font-size: 16px; }
.site-header .account-entry, .site-header .shopping-open { min-height: 46px; }
.search-panel { max-height: min(70dvh, 550px); overflow-y: auto; overscroll-behavior: contain; z-index: 50; }
.search-option { text-decoration: none; color: var(--mimo-ink); min-height: 78px; }
.search-option-copy strong { font-size: 14px; }
.search-panel-heading, .search-option-copy small { font-size: 12px; color: #526174; }
.search-panel-heading button { width: 44px; height: 44px; flex: 0 0 44px; }
.search-all { min-height: 48px; }
.store-navigation-links > a, .category-menu summary { font-size: 14px; }
.store-navigation-links > a:focus-visible, .category-menu summary:focus-visible { outline-offset: -3px; }
.category-menu-panel { box-shadow: 0 16px 40px #182c581a; }

/* One clear introduction, followed by the shopping task. */
.storefront .shop-hero { border-radius: 16px; background: #1d3c79; box-shadow: none; }
.storefront .shop-hero::before { display: none; }
.storefront .shop-hero .campaign-copy h1 { font-weight: 800; line-height: 1.12; letter-spacing: -.045em; }
.storefront .shop-hero .campaign-copy h1 span { color: #c9d6ff; }
.storefront .shop-hero .campaign-copy > p#hero-description { font-size: 15px; line-height: 1.7; color: #e3ebff; }
.storefront .shop-hero .campaign-kicker { font-size: 10px; letter-spacing: .13em; color: #cbd8f7; }
.storefront .shop-hero .campaign-button { min-height: 48px; padding: 12px 20px; font-size: 14px; border-radius: 9px; }
.storefront .shop-hero .hero-how { display: inline-flex; align-items: center; min-height: 48px; color: #fff; font-size: 13px; }
.storefront .shop-hero .hero-note { font-size: 12px; line-height: 1.6; color: #e3ebff; }
.featured-heading h2 { font-size: 14px; }
.featured-controls button { min-width: 40px; width: 40px; min-height: 40px; height: 40px; }
.featured-product { padding: 14px 12px; box-shadow: none; }
.featured-product img { height: 120px; }
.featured-product-title { font-size: 13px; line-height: 1.45; min-height: 57px; }
.featured-product-tag { font-size: 11px; min-height: 30px; }
.featured-condition, .featured-store { font-size: 11px; }
.featured-price { font-size: 23px; }
.featured-details { min-height: 30px; font-size: 12px; }
.featured-note { color: #e3ebff; font-size: 11px; }
.store-clarity {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 0 0 24px; margin-top: -6px; margin-bottom: 24px; border-bottom: 1px solid var(--mimo-line);
}
.store-clarity p { display: flex; align-items: center; gap: 10px; margin: 0; color: #445675; font-size: 13px; line-height: 1.5; }
.store-clarity .icon { width: 20px; height: 20px; color: #3452c5; }
.store-clarity strong { color: #263c65; font-weight: 650; }
.store-clarity button { flex-shrink: 0; min-height: 44px; font-size: 13px; font-weight: 650; color: #3452c5; text-decoration: underline; text-underline-offset: 4px; }
.storefront .shop-departments h2 { font-size: 23px; }
.storefront .department-card { border-radius: 12px; padding: 16px 10px; }
.storefront .department-photo { width: 68px; height: 68px; flex-basis: 68px; }
.storefront .department-copy strong { font-size: 14px; line-height: 1.4; }
.storefront .department-copy small { font-size: 12px; color: #526174; }

/* The catalog stays the primary destination; filters are optional on a phone. */
.storefront .catalog-section { padding-block: 36px 40px; background: #f5f7fb; }
.catalog-heading { margin-bottom: 22px; }
.catalog-heading h2 { font-size: clamp(26px, 2.6vw, 32px); }
.catalog-heading #catalog-summary { font-size: 13px; color: #526174; }
.catalog-filter-panel { margin: 0 0 4px; border: 0; }
.catalog-filter-panel > summary { display: none; }
.catalog-tools { border-radius: 12px; padding: 18px; box-shadow: none; margin-bottom: 0; }
.catalog-tools .filter-field > span { display: block; font-size: 12px; color: #526174; }
.catalog-tools .filter-field select { min-height: 46px; font-size: 14px; background-color: #fff; }
.results-row { min-height: 56px; margin: 8px 0 14px; }
.results-row #results-count { font-size: 13px; }
.catalog-favorites { min-height: 44px; padding: 8px 12px; font-size: 13px; }
.active-filters { margin-block: 10px; }
.active-filters button { min-height: 40px; font-size: 12px; background: #eaf0fd; color: #29457d; }
.catalog-page-status { margin: 0; font-size: 13px; color: #526174; }
.catalog-pagination .secondary-button { min-height: 48px; font-size: 14px; }
.empty-state { padding: 44px 22px; background: #fff; border: 1px solid var(--mimo-line); border-radius: 12px; }
.empty-state h3 { font-size: 22px; }
.empty-state p { font-size: 14px; }
.catalog-load-error { padding: 24px; background: #fff; border-radius: 12px; grid-column: 1/-1; }
.catalog-load-error h3 { font-size: 21px; }
.catalog-load-error p { color: #526174; }

/* Photos have one padding layer. Prices and payment conditions stay together. */
.product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.product-grid .product-card { max-width: none; padding: 0; border: 1px solid #dce3ef; border-radius: 12px; background: #fff; overflow: hidden; box-shadow: none; }
.product-grid .product-card:hover { border-color: #9cadd1; box-shadow: 0 4px 16px #182c580b; transform: none; }
.product-grid .product-image { height: auto; aspect-ratio: 1; border-radius: 0; border-bottom: 1px solid #edf0f6; background: #fff; }
.product-grid .product-open { display: flex; align-items: center; justify-content: center; padding: 25px; background: #fff; }
.product-grid .product-image img { width: 100%; height: 100%; padding: 0; object-fit: contain; mix-blend-mode: normal; }
.product-grid .save-button { width: 44px; height: 44px; top: 8px; right: 8px; border-color: #dce3ef; background: #fff; }
.product-grid .save-button.saved { background: #edf2ff; border-color: #b9c7ef; }
.product-grid .product-tag { top: 12px; left: 12px; max-width: calc(100% - 72px); border: 0; border-radius: 5px; padding: 4px 7px; background: #eaf4ed; color: #24623c; font-size: 11px; line-height: 1.6; }
.product-grid .product-info { padding: 16px; gap: 0; }
.product-grid .store-label { font-size: 11px; line-height: 1.5; letter-spacing: .025em; margin: 0 0 8px; color: #526174; text-transform: none; }
.product-grid .store-label .store-dot { width: 7px; height: 7px; }
.product-grid .product-info h3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; min-height: 63px; max-height: 63px; margin: 0 0 14px; font-size: 14px; font-weight: 650; line-height: 1.5; letter-spacing: 0; }
.product-grid .product-info h3 a { color: #182c58; }
.product-grid .product-info h3 a:hover { color: #3452c5; text-decoration: underline; text-underline-offset: 3px; }
.product-grid .card-pricing { min-height: 87px; gap: 3px; margin-bottom: 12px; }
.product-grid .card-pricing .old-price { min-height: 18px; font-size: 12px; line-height: 1.5; color: #586781; }
.product-grid .card-pricing strong { font-size: 27px; line-height: 1.2; color: #182c58; font-weight: 800; letter-spacing: -.04em; margin: 0; font-variant-numeric: tabular-nums; }
.product-grid .card-pricing small { font-size: 12px; line-height: 1.45; min-height: 18px; color: #526174; }
.product-grid .card-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; margin-top: 0; }
.product-grid .card-actions .offer-button { grid-column: 1/-1; min-height: 46px; padding: 10px 8px; border-radius: 8px; font-size: 13px; gap: 6px; line-height: 1.4; background: #3452c5; color: #fff; }
.product-grid .card-actions .offer-button:hover { background: #263f9d; }
.product-grid .card-actions .offer-button .icon { width: 16px; height: 16px; }
.product-grid .card-actions .details-button, .product-grid .card-actions .shopping-card-add { min-height: 44px; font-size: 12px; border-radius: 8px; padding: 8px 4px; }
.product-grid .card-actions .shopping-card-add { background: #f7f9fd; }
.product-grid .card-actions .offer-button:focus-visible, .product-grid .save-button:focus-visible { outline-offset: 3px; }
.price-note { font-size: 12px; line-height: 1.7; color: #526174; }

/* Information that helps choose stays readable on product/category/guide pages. */
.product-page-info h1 { font-size: clamp(26px, 2.6vw, 36px); line-height: 1.3; }
.product-choice-lead { color: #526174; font-size: 15px; line-height: 1.8; margin-bottom: 22px; }
.product-page .detail-price-panel { border-radius: 14px; background: #f4f7fd; }
.product-page .detail-price-panel > span:first-child, .product-page .detail-price-panel p, .product-page .detail-redirect { font-size: 13px; line-height: 1.65; }
.product-page .buy-link { min-height: 52px; font-size: 15px; }
.product-page .detail-actions button { min-height: 46px; font-size: 13px; }
.product-page .detail-description p, .product-page .detail-description li { font-size: 15px; line-height: 1.8; }
.product-page .detail-description .editorial-source-note { font-size: 13px; line-height: 1.7; color: #526174; }
.product-page .affiliate-note { font-size: 12px; line-height: 1.8; color: #526174; }
.product-comparison .product-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.product-comparison-details { margin: 24px 0 12px; border: 1px solid #dce3ef; border-radius: 10px; padding: 0 16px; }
.product-comparison-details > summary { min-height: 48px; padding: 14px 0; font-size: 14px; font-weight: 650; cursor: pointer; }
.product-comparison-details .comparison-scroll { margin: 4px 0 16px; }
.product-comparison-details caption { font-size: 13px; line-height: 1.6; text-align: left; padding: 10px 0 16px; color: #526174; }
.product-checkout-help { border: 1px solid #dce3ef; border-radius: 10px; margin: 18px 0; padding: 0 16px; }
.product-checkout-help > summary { cursor: pointer; padding: 15px 0; min-height: 48px; font-size: 14px; font-weight: 650; }
.product-checkout-help p { color: #526174; font-size: 14px; line-height: 1.8; }
.category-types { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 32px; }
.category-types a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 9px 13px; border: 1px solid #dce3ef; border-radius: 8px; background: #fff; color: #29416f; font-size: 13px; text-decoration: none; }
.category-types a:hover { border-color: #3452c5; background: #f1f5ff; }
.category-types a span { display: inline-grid; place-items: center; min-width: 22px; height: 22px; border-radius: 5px; background: #eef2f9; font-size: 11px; }
.category-product-group { margin-bottom: 40px; scroll-margin-top: 112px; }
.category-product-group .shop-section-heading { align-items: center; margin-bottom: 18px; }
.category-product-group .shop-section-heading h2 { font-size: 24px; line-height: 1.3; }
.category-product-group .shop-section-heading > span { font-size: 13px; color: #526174; white-space: nowrap; }
.home-guide > p, .storefront .faq-section > div > p { font-size: 15px; line-height: 1.8; color: #526174; }
.home-guide .guide-card h3 { font-size: 17px; line-height: 1.4; }
.home-guide .guide-card p { font-size: 13px; line-height: 1.7; }
.home-guide .guide-card strong { font-size: 13px; }
.home-guide > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: #3452c5; }
.faq-section summary { min-height: 52px; padding-block: 16px; font-size: 14px; }
.faq-section details p { font-size: 14px; line-height: 1.8; }
.shop-footer .footer-navigation a, .shop-footer .footer-navigation button, .shop-footer .footer-links a, .shop-footer .footer-links button { font-size: 14px; }
.shop-footer .footer-bottom { font-size: 12px; color: #526174; }
.privacy-choice { border-color: #cbd6e8; box-shadow: 0 -4px 20px #182c5810; }
.privacy-choice p { font-size: 13px; line-height: 1.7; }
.privacy-choice .privacy-actions button { min-height: 44px; }

@media (max-width: 1050px) {
  .site-header .header-inner { grid-template-columns: 138px minmax(0, 1fr) auto; gap: 16px; }
  .site-header .account-entry > span { display: none; }
  .storefront .shop-hero { gap: 24px; }
  .featured-product-title { font-size: 12px; min-height: 53px; }
  .featured-product img { height: 100px; }
  .featured-price { font-size: 21px; }
  .product-grid { gap: 16px; }
  .product-grid .product-info { padding: 14px; }
}
@media (max-width: 800px) {
  .wrap { width: calc(100% - 40px); }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .storefront .shop-hero { grid-template-columns: 1fr; padding: 26px; gap: 24px; }
  .storefront .shop-hero .campaign-copy h1 { font-size: 36px; }
  .storefront .shop-hero .campaign-copy > p#hero-description { max-width: 540px; }
  .featured-product img { height: 140px; }
  .featured-product-title { font-size: 14px; min-height: 61px; }
  .featured-price { font-size: 24px; }
  .store-clarity { flex-wrap: wrap; gap: 12px 20px; }
  .store-clarity p { flex: 1 1 40%; font-size: 12px; }
  .store-clarity button { padding: 0; }
  .catalog-filter-panel { background: #fff; border: 1px solid #dce3ef; border-radius: 12px; }
  .catalog-filter-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 12px 16px; list-style: none; cursor: pointer; font-size: 14px; font-weight: 700; }
  .catalog-filter-panel > summary::-webkit-details-marker { display: none; }
  .catalog-filter-panel > summary::after { content: '+'; font-size: 23px; font-weight: 400; line-height: 1; color: #3452c5; }
  .catalog-filter-panel[open] > summary::after { content: '−'; }
  .catalog-filter-panel #filter-selection-status { margin-left: auto; color: #526174; font-size: 12px; font-weight: 500; }
  .catalog-filter-panel > .catalog-tools { border: 0; border-top: 1px solid #e7ecf5; border-radius: 0 0 12px 12px; padding: 16px; }
  .catalog-tools .filter-field > span { font-size: 12px; }
}
@media (max-width: 620px) {
  .wrap { width: calc(100% - 32px); }
  .site-header .header-inner { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; padding-block: 10px; }
  .site-header .header-actions { gap: 7px; }
  .site-header .brand { font-size: 26px; }
  .site-header .search-box input { height: 46px; padding: 11px 44px 11px 13px; font-size: 16px; }
  .site-header .header-search-form input { font-size: 16px; }
  .site-header .shopping-open { min-height: 44px; padding: 8px 10px !important; }
  .store-navigation-inner { grid-template-columns: auto minmax(0, 1fr); }
  .store-navigation-links { justify-content: flex-start; gap: 17px; padding: 0 0 0 13px; overflow-x: auto; scrollbar-width: thin; overscroll-behavior-x: contain; }
  .store-navigation-links > a { flex: 0 0 auto; padding: 0; font-size: 13px; min-height: 48px; }
  .store-navigation-links > a[data-nav-catalog], .store-navigation-links > a[href="/guias"] { display: flex; }
  .category-menu summary { font-size: 13px; min-height: 48px; padding-right: 12px; gap: 7px; }
  .category-menu-grid a { font-size: 14px; }
  .storefront .shop-hero { padding: 22px 16px; gap: 22px; margin-block: 16px 22px; border-radius: 13px; }
  .storefront .shop-hero .campaign-copy { padding: 0; }
  .storefront .shop-hero .campaign-copy h1 { max-width: 340px; font-size: 32px; line-height: 1.15; margin-bottom: 12px; }
  .storefront .shop-hero .campaign-copy > p#hero-description { font-size: 14px; margin-bottom: 16px; }
  .storefront .shop-hero .campaign-kicker { font-size: 10px; margin-bottom: 11px; }
  .storefront .shop-hero .campaign-button { font-size: 14px; min-height: 46px; padding: 11px 16px; }
  .storefront .shop-hero .hero-how { font-size: 13px; min-height: 46px; max-width: none; }
  .featured-heading { flex-wrap: wrap; gap: 8px; }
  .featured-heading h2 { font-size: 13px; }
  .featured-controls { gap: 5px; }
  .featured-controls button { width: 36px; min-width: 36px; height: 36px; min-height: 36px; }
  .featured-status { font-size: 11px; min-width: 32px; }
  .featured-track { --featured-gap: 7px; }
  .featured-product { padding: 10px 7px; border-radius: 9px; }
  .featured-product img { height: 90px; margin-bottom: 9px; }
  .featured-product-tag { min-height: 30px; font-size: 10px; line-height: 1.5; }
  .featured-product-title { font-size: 12px; line-height: 1.45; min-height: 70px; -webkit-line-clamp: 4; }
  .featured-price { font-size: 18px; letter-spacing: -.045em; }
  .featured-condition, .featured-store { font-size: 10px; line-height: 1.5; }
  .featured-condition { min-height: 30px; }
  .featured-store { min-height: 30px; }
  .featured-details { font-size: 11px; min-height: 32px; margin-top: 9px; }
  .featured-note { font-size: 11px; }
  .store-clarity { margin-top: 0; margin-bottom: 24px; padding-bottom: 18px; gap: 8px 14px; }
  .store-clarity p { flex-basis: 100%; gap: 9px; font-size: 13px; }
  .store-clarity p:first-child { display: none; }
  .store-clarity button { font-size: 13px; }
  .storefront .shop-departments h2 { font-size: 22px; }
  .storefront .shop-departments .inline-link { font-size: 12px; min-height: 44px; }
  .storefront .department-grid { gap: 9px; }
  .storefront .department-card { gap: 9px; padding: 12px 9px; }
  .storefront .department-photo { width: 42px; height: 42px; flex-basis: 42px; }
  .storefront .department-copy strong { font-size: 13px; line-height: 1.4; }
  .storefront .department-copy small { font-size: 11px; }
  .storefront .catalog-section { padding-block: 28px 30px; }
  .catalog-heading h2 { font-size: 27px; }
  .catalog-tools .filter-field select { font-size: 16px; padding-right: 26px; min-width: 0; }
  .catalog-tools .filter-group { gap: 14px 10px; }
  .catalog-tools .sort-box { grid-template-columns: 1fr; gap: 6px; }
  .results-row { gap: 8px; flex-wrap: wrap; margin-block: 12px 16px; }
  .results-row #results-count { font-size: 12px; }
  .results-actions { gap: 8px; }
  .catalog-favorites { font-size: 12px; }
  .results-actions .inline-link { font-size: 12px; min-height: 44px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .product-grid .product-open { padding: 19px 14px; }
  .product-grid .save-button { top: 5px; right: 5px; }
  .product-grid .product-tag { left: 8px; top: 10px; font-size: 10px; padding: 3px 6px; max-width: calc(100% - 60px); }
  .product-grid .product-info { padding: 13px 11px 12px; }
  .product-grid .store-label { font-size: 11px; gap: 5px; }
  .product-grid .product-info h3 { font-size: 13px; line-height: 1.5; min-height: 59px; max-height: 59px; margin-bottom: 12px; }
  .product-grid .card-pricing { min-height: 90px; }
  .product-grid .card-pricing strong { font-size: 24px; }
  .product-grid .card-pricing .old-price { font-size: 11px; }
  .product-grid .card-pricing small { font-size: 11px; min-height: 30px; line-height: 1.4; }
  .product-grid .card-actions { gap: 7px; }
  .product-grid .card-actions .offer-button { min-height: 52px; padding: 10px 4px; font-size: 12px; gap: 4px; }
  .product-grid .card-actions .offer-button .icon { display: none; }
  .product-grid .card-actions .details-button, .product-grid .card-actions .shopping-card-add { min-height: 44px; font-size: 11px; padding-inline: 3px; }
  .product-page-info h1 { font-size: 26px; line-height: 1.35; }
  .product-page .detail-price-panel { padding: 22px 18px; }
  .product-page .detail-description p, .product-page .detail-description li { font-size: 15px; }
  .category-types { flex-wrap: nowrap; overflow-x: auto; padding-block: 4px 10px; margin-block: 18px 24px; scrollbar-width: thin; overscroll-behavior-x: contain; }
  .category-types a { flex: 0 0 auto; font-size: 13px; }
  .category-product-group { margin-bottom: 32px; scroll-margin-top: 148px; }
  .category-product-group .shop-section-heading { gap: 12px; }
  .category-product-group .shop-section-heading h2 { font-size: 22px; }
  .category-product-group .shop-section-heading > span { font-size: 12px; }
  .home-guide .guide-card h3 { font-size: 16px; }
  .home-guide .guide-card p { font-size: 13px; }
  .faq-section summary { font-size: 14px; }
  .shop-footer .footer-app-link { min-height: 48px; }
}
@media (max-width: 360px) {
  .wrap { width: calc(100% - 24px); }
  .store-navigation-links > a:first-child { display: flex; }
  .storefront .shop-hero { padding-inline: 12px; }
  .featured-price { font-size: 16px; }
  .featured-product-title { font-size: 11px; min-height: 64px; }
  .product-grid { gap: 9px; }
  .product-grid .product-info { padding-inline: 9px; }
  .product-grid .card-pricing strong { font-size: 22px; }
  .product-grid .card-actions .offer-button .icon { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .product-grid .product-image img, .product-grid .product-card, .featured-product { transition: none; }
}
