/* Disroga — storefront glass. Loaded after the existing component styles. */
html { scroll-padding-top: 120px; }
body.storefront {
  background: radial-gradient(ellipse at 92% 2%,var(--glass-glow-one),transparent 38%), radial-gradient(ellipse at 4% 28%,var(--glass-glow-one),transparent 35%), radial-gradient(ellipse at 90% 70%,var(--glass-glow-two),transparent 45%),var(--gris-fondo);
  background-attachment: fixed;
  font-weight: 400;
  line-height: 1.5;
}
.storefront button, .storefront a, .storefront input, .storefront select { touch-action: manipulation; }
.storefront :focus-visible { outline: 2px solid var(--verde-oscuro); outline-offset: 4px; }
.storefront-content { max-width: 1328px; margin: 0 auto; padding: 0 32px; }
.navbar, .navbar.scrolled, .search-box, .product-card, .oferta-card, .delivery-glass, .cart-drawer, .modal {
  background: var(--glass-surface);
  border: 1px solid var(--glass-line);
  box-shadow: var(--glass-shadow),inset 0 1px 0 var(--glass-line);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}
.navbar, .navbar.scrolled {
  top: 16px; margin: 16px auto 0; width: calc(100% - 64px); max-width: 1264px;
  height: 78px; padding: 12px 22px; border-radius: 22px; gap: 22px;
}
.navbar__logo { flex-shrink: 0; }
.navbar__logo img { height: 48px; width: 130px; object-fit: contain; }
[data-theme="dark"] .navbar__logo img, [data-theme="dark"] #footer-logo { filter: brightness(0) invert(1); opacity: .9; }
.navbar__nav { position: static; transform: none; gap: 22px; margin-left: auto; }
.navbar__nav a { font-size: .82rem; color: var(--texto-suave); white-space: nowrap; }
.navbar__actions { gap: 8px !important; }
.navbar__logout, .btn-auth-open { color: var(--texto-medio) !important; }
.btn-alta-navbar { background: var(--glass-soft); color: var(--verde-oscuro); box-shadow: none; font-size: .76rem; font-weight: 600; padding: 10px 14px; letter-spacing: 0; }
[data-theme="dark"] .btn-alta-navbar { color: var(--verde-oscuro); }
.btn-alta-navbar:hover { background: var(--glass-action); color: var(--glass-on-action); box-shadow: none; transform: none; }
.theme-toggle, .navbar__cart-btn { width: 40px; height: 40px; border-color: var(--glass-line); background: var(--glass-surface); color: var(--texto-medio); }
.cart-badge { background: var(--glass-action); color: var(--glass-on-action); }
.hero { min-height: 0; padding: 45px 12px 34px; background: none; overflow: visible; }
.hero::before, .hero::after { display: none; }
.hero__grid { max-width: none; grid-template-columns: minmax(0,1fr) auto; gap: 28px; align-items: center; }
.hero__tag { background: none; border: 0; padding: 0; margin: 0 0 14px; color: var(--verde-oscuro); font-size: .65rem; font-weight: 600; text-transform: uppercase; letter-spacing: .14em; }
.hero__tag::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; margin-right: 8px; }
.hero__title { color: var(--texto-principal); font-size: clamp(2rem,3.7vw,3rem); font-weight: 500; line-height: 1.14; letter-spacing: -.045em; margin: 0; }
.hero__title em { color: var(--verde-oscuro); font-style: normal; }
.hero__desc { color: var(--texto-suave); font-size: .9rem; max-width: 480px; margin: 16px 0 0; }
.delivery-glass { display: flex; align-items: center; gap: 12px; border-radius: 18px; padding: 18px 20px; color: var(--verde-oscuro); }
.delivery-glass svg { flex-shrink: 0; }
.delivery-glass strong { display: block; color: var(--texto-principal); font-size: .88rem; font-weight: 600; }
.delivery-glass span { display: block; color: var(--texto-suave); font-size: .75rem; margin-top: 3px; }
.search-section { background: none; padding: 0; margin: 0; max-width: none; position: static; }
.search-box { max-width: none; padding: 14px 20px; border-radius: 17px; gap: 12px; }
.search-box input { color: var(--texto-principal); font-size: 1rem; min-width: 0; padding: 5px 0; }
.search-box input::placeholder { color: var(--texto-suave); }
[data-theme="dark"] .search-box { background: var(--glass-surface); box-shadow: var(--glass-shadow); }
[data-theme="dark"] .search-box input::placeholder { color: var(--texto-suave); }
.catalog-search-icon { color: var(--texto-suave); flex-shrink: 0; }
.catalog-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 18px 0 28px; }
.catalog-filter { font: inherit; font-size: .8rem; background: transparent; color: var(--texto-suave); border: 1px solid transparent; border-radius: 24px; padding: 10px 17px; cursor: pointer; }
.catalog-filter.active { background: var(--glass-action); color: var(--glass-on-action); }
.catalog-filter:hover { border-color: var(--verde-oscuro); }
#catalog-status { font-size: .8rem; color: var(--texto-suave); }
.catalog-layout { display: grid; grid-template-columns: minmax(0,1fr) 290px; align-items: start; gap: 24px; }
#productos { min-width: 0; max-width: none; padding: 0; margin: 0; }
.section__header { margin-bottom: 20px; }
#productos .section__header { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
#productos .section__eyebrow { display: none; }
.section__title { font-size: 1.25rem; font-weight: 600; letter-spacing: -.025em; color: var(--texto-principal); }
.section__title span { color: var(--verde-oscuro); }
.section__eyebrow { color: var(--verde-oscuro); }
.catalog-results { color: var(--texto-suave); font-size: .75rem; }
.products-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.product-card { cursor: default; border-radius: 22px; padding: 12px; display: flex; flex-direction: column; min-width: 0; }
.product-card:hover { transform: translateY(-3px); box-shadow: var(--glass-shadow); border-color: var(--gris-borde); }
.product-card__img { height: 155px; border-radius: 13px; background: radial-gradient(ellipse at 50% 80%,var(--glass-soft),transparent 75%); }
.product-card__img img { padding: 12px; }
.product-card__body { padding: 13px 2px 2px; flex: 1; display: flex; flex-direction: column; }
.product-card__cve { color: var(--texto-suave); font-family: inherit; font-size: .65rem; font-weight: 400; }
.product-card__name { font-size: .84rem; font-weight: 600; line-height: 1.45; min-height: 2.9em; margin: 5px 0 14px; overflow-wrap: anywhere; }
.product-card__footer { margin-top: auto; }
.product-card__price-value { color: var(--texto-principal); font-weight: 500; font-size: 1.3rem; letter-spacing: -.04em; }
.product-offer { color: var(--verde-oscuro); font-size: .68rem; margin-bottom: 5px; }
.product-offer del { color: var(--texto-suave); margin-left: 5px; }
.add-to-cart-row { gap: 8px; margin-top: 16px; }
.card-qty-control { border-radius: 10px; border: 1px solid var(--gris-borde); flex: 0 0 auto; }
.card-qty-input { width: 30px; font-size: .8rem; padding: 8px 0; }
.card-qty-btn { padding: 8px 6px; min-height: 36px; }
.btn-add-cart { margin: 0; border-radius: 10px; min-height: 38px; padding: 8px; font-size: .75rem; font-weight: 500; background: var(--glass-soft); color: var(--verde-oscuro); flex: 1; }
.btn-add-cart:hover { background: var(--glass-action); color: var(--glass-on-action); transform: none; }
.cart-drawer { color: var(--texto-principal); visibility: hidden; transition: transform .25s ease,visibility .25s; border-radius: 22px 0 0 22px; background: var(--glass-solid); }
.cart-drawer.open { visibility: visible; }
.cart-drawer__header { padding: 20px; border: 0; }
.cart-drawer__title { font-size: 1.05rem; font-weight: 600; }
.cart-drawer__items { padding: 0 20px; }
.cart-item { padding: 12px 0; gap: 10px; border-bottom-color: var(--glass-line); }
.cart-item__img { width: 38px; height: 45px; background: var(--glass-soft); }
.cart-item__name { font-size: .76rem; font-weight: 500; overflow-wrap: anywhere; }
.cart-item__unit-price { font-size: .67rem; color: var(--texto-suave); }
.cart-item__price { font-size: .86rem; color: var(--texto-principal); font-weight: 500; }
.cart-item__qty button { width: 28px; height: 28px; border-radius: 8px; }
.cart-item__remove { font-size: .8rem; color: var(--texto-suave); }
.cart-drawer__footer { padding: 16px 20px 20px; border-top: 1px solid var(--glass-line); }
.cart-total { gap: 12px; }
.cart-total__label { font-size: .75rem; font-weight: 400; }
.cart-total__value { font-weight: 500; font-size: 1.4rem; letter-spacing: -.04em; color: var(--texto-principal); }
.btn-checkout, .btn-form { background: var(--glass-action); color: var(--glass-on-action); border-radius: 13px; font-size: .84rem; font-weight: 500; }
.btn-checkout:hover, .btn-form:hover { background: var(--glass-action); filter: brightness(1.08); transform: none; }
.cart-empty { padding: 25px 0; font-size: .8rem; }
.cart-empty__icon svg { width: 42px; height: 42px; }
.cart-feedback { font-size: .73rem; color: var(--verde-oscuro); padding: 0 20px 10px; }
.cart-feedback:empty { padding: 0; }
.btn-checkout:disabled { opacity: .5; cursor: not-allowed; }
.pag-btn { color: var(--texto-principal); border: 1px solid var(--glass-line); background: var(--glass-surface); min-height: 38px; border-radius: 10px; }
.pag-info { color: var(--texto-suave); }
.ofertas-section { background: none; padding: 50px 0 0; margin: 0; }
.ofertas-section::before, .ofertas-section::after { display: none; }
.ofertas-inner { max-width: none; }
.ofertas-section .section__title { color: var(--texto-principal) !important; }
.ofertas-section .section__title span, .ofertas-search .solid-icon { color: var(--verde-oscuro) !important; }
.ofertas-search { background: var(--glass-surface); border: 1px solid var(--glass-line); border-radius: 15px; max-width: 480px; }
.ofertas-search input { color: var(--texto-principal); }
.ofertas-search input::placeholder { color: var(--texto-suave); opacity: 1; }
.ofertas-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.ofertas-grid > p { color: var(--texto-suave) !important; }
.oferta-card { padding: 18px; border-radius: 22px; min-width: 0; }
.oferta-card__img { background: radial-gradient(ellipse at bottom,var(--glass-soft),transparent); }
.oferta-card__product { color: var(--texto-principal); font-weight: 500; font-size: .9rem; overflow-wrap: anywhere; }
.oferta-card__new-price { color: var(--texto-principal); font-size: 1.4rem; font-weight: 500; }
.oferta-card__old-price, .oferta-card__cantidad-note, .oferta-card__acum-note { color: var(--texto-suave); }
.oferta-badge { background: var(--glass-soft); color: var(--verde-oscuro); border: 0; font-weight: 500; }
.oferta-card .card-qty-control, .oferta-card .card-qty-input { border-color: var(--gris-borde); }
.oferta-card .card-qty-btn, .oferta-card .card-qty-input { color: var(--texto-principal); }
.modal-overlay, .lightbox-overlay, .cart-overlay { background: rgba(4,15,9,.56); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.modal { background: var(--glass-solid); border-radius: 22px; color: var(--texto-principal); }
.modal__header { padding: 20px 24px; border-bottom-color: var(--glass-line); }
.modal__title { font-weight: 600; font-size: 1.05rem; }
.modal__body { padding: 22px 24px; }
.form-group input, .form-group textarea, .checkout-summary { background: var(--glass-surface); color: var(--texto-principal); border-color: var(--gris-borde); }
.form-group input:focus, .form-group textarea:focus { background: var(--glass-surface); border-color: var(--verde-oscuro); }
.auth-tab.active { color: var(--verde-oscuro); border-bottom-color: var(--verde-oscuro); }
[data-theme="dark"] .form-error { background: #3b2425; border-color: #765153; color: #ffc1c1; }
[data-theme="dark"] .form-success { background: #243e2b; border-color: #497153; color: #c3e8bd; }
.form-link, .form-alt-text, .form-hint { color: var(--texto-suave); }
.nosotros-section { background: transparent; padding: 70px 0 30px; }
.nosotros-inner { gap: 40px; }
.nosotros-title, .marcas-title { color: var(--texto-principal); font-weight: 500; font-size: 1.8rem; }
.nosotros-parrafo { color: var(--texto-suave); font-size: .9rem; }
.nosotros-badge { background: var(--glass-soft); color: var(--verde-oscuro); box-shadow: none; border-color: var(--glass-line); }
.nosotros-logo-container { background: var(--glass-surface); border: 1px solid var(--glass-line); box-shadow: none; }
[data-theme="dark"] #nosotros-logo-text-main, [data-theme="dark"] #nosotros-logo-d-bottom { fill: #d2e7c7; }
.marcas-section { background: transparent; padding: 30px 0 50px; }
/* Both management-requested carousels retain their continuous scroll. */
.marcas-track, .ofertas-preview-track { width: max-content; gap: 16px; padding: 14px 0; animation: glass-carousel 32s linear infinite; }
.marcas-track { flex-wrap: nowrap; justify-content: flex-start; }
.ofertas-preview-track { animation-duration: 40s; }
.marcas-track:hover, .ofertas-preview-track:hover, .is-paused { animation-play-state: paused; }
@keyframes glass-carousel { to { transform: translateX(calc(-50% - 8px)); } }
.marcas-card { min-width: 150px; width: 150px; height: 80px; padding: 12px 16px; background: #fff; box-shadow: none; border: 1px solid var(--glass-line); border-radius: 16px; }
.marcas-card img { max-width: 100%; max-height: 46px; }
[data-theme="dark"] .marcas-card { background: #fff; border-color: var(--glass-line); }
[data-theme="dark"] .marcas-card img { filter: none; opacity: 1; }
.marcas-eyebrow { color: var(--verde-oscuro); }
.carousel-toggle { border: 1px solid var(--gris-borde); background: transparent; color: var(--texto-suave); border-radius: 24px; padding: 9px 14px; font: inherit; font-size: .75rem; cursor: pointer; }
.carousel-toggle:hover { background: var(--glass-soft); color: var(--verde-oscuro); }
.ofertas-preview-section { background: transparent; padding: 28px 0 12px; }
.ofertas-preview-section::before { display: none; }
.ofertas-preview-header { align-items: center; gap: 12px; }
.ofertas-preview-header > div { margin-right: auto; }
.ofertas-preview-ver-mas, .ofertas-preview-ver-mas:hover { background: var(--glass-soft); color: var(--verde-oscuro); font-size: .8rem; font-weight: 500; box-shadow: none; transform: none; }
.oferta-prev-card { background: var(--glass-surface); border-color: var(--glass-line); box-shadow: var(--glass-shadow); backdrop-filter: blur(16px); border-radius: 22px; }
.oferta-prev-card:hover { transform: translateY(-3px); box-shadow: var(--glass-shadow); }
.oferta-prev-card__img-wrap, [data-theme="dark"] .oferta-prev-card__img-wrap { background: radial-gradient(ellipse at bottom,var(--glass-soft),transparent); }
.oferta-prev-card__badge { background: var(--glass-action); color: var(--glass-on-action); }
.oferta-prev-card__nombre { color: var(--texto-principal); font-weight: 500; }
.oferta-prev-card__precio { color: var(--texto-principal); font-weight: 600; }
.oferta-prev-card__precio-ant { color: var(--texto-suave); }
.footer { margin: 0 auto; max-width: 1264px; background: transparent; border-top: 1px solid var(--gris-borde); padding: 32px 16px; color: var(--texto-suave); }
.footer__grid { gap: 32px; }
.footer__tagline, .footer__links a, .footer__contact-item, .footer__copy { color: var(--texto-suave); }
.footer__col-title { color: var(--texto-principal); }
.footer__divider { border-color: var(--gris-borde); }
.fab-whatsapp { width: 46px; height: 46px; right: 20px; bottom: 20px; background: var(--glass-action); box-shadow: var(--glass-shadow); color: var(--glass-on-action); }
.fab-whatsapp svg { fill: currentColor; }
.fab-pulse { display: none; }
@media(min-width:1100px) {
  .cart-drawer, .cart-drawer.open { position: sticky; top: 112px; right: auto; bottom: auto; width: auto; max-width: none; max-height: calc(100dvh - 136px); transform: none; visibility: visible; border-radius: 22px; background: var(--glass-surface); z-index: 1; margin-top: 46px; }
  .cart-drawer__close { display: none; }
  .cart-drawer__items { max-height: 340px; min-height: 0; }
  .cart-overlay, .cart-overlay.open { display: none; }
}
@media(max-width:1190px) {
  .navbar__nav { gap: 14px; }
  .navbar__nav a { font-size: .75rem; }
  .navbar { gap: 12px; padding: 12px 16px; }
  .btn-alta-navbar { font-size: .7rem; padding: 9px; }
  .precio-descuento { display: none; }
  .catalog-layout { gap: 18px; grid-template-columns: minmax(0,1fr) 260px; }
  .products-grid { gap: 12px; }
  .product-card { padding: 10px; }
  .card-qty-btn { padding: 8px 4px; }
  .btn-add-cart svg { display: none; }
}
@media(max-width:1099px) {
  .catalog-layout { grid-template-columns: 1fr; }
  .products-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ofertas-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .navbar__nav { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 8px); flex-direction: column; align-items: stretch; padding: 16px; border: 1px solid var(--glass-line); border-radius: 18px; background: var(--glass-solid); box-shadow: var(--glass-shadow); }
  .navbar__nav.open { display: flex; }
  .navbar__nav a { padding: 10px; font-size: .9rem; }
  .navbar__hamburger { display: flex; flex-shrink: 0; padding: 12px; }
  .navbar__hamburger span { background: var(--texto-principal); }
  .navbar__actions { margin-left: auto; }
}
@media(max-width:700px) {
  .storefront-content { padding: 0 18px; }
  .navbar, .navbar.scrolled { width: calc(100% - 28px); top: 10px; margin-top: 10px; height: auto; min-height: 70px; flex-wrap: wrap; gap: 8px; padding: 10px 12px; }
  .navbar__logo img { width: 100px; height: 38px; }
  .navbar__actions { gap: 6px !important; }
  .btn-alta-navbar { order: 5; }
  .hero { padding: 30px 4px 24px; }
  .hero__grid { grid-template-columns: 1fr; text-align: left; gap: 23px; }
  .hero__title { font-size: clamp(1.9rem,6vw,2.6rem); }
  .hero__desc { margin: 14px 0 0; font-size: .85rem; }
  .delivery-glass { transform: none; padding: 14px 16px; gap: 12px; }
  .delivery-glass strong { font-size: .8rem; }
  .delivery-glass span { font-size: .72rem; }
  .search-box { padding: 12px; flex-wrap: nowrap; }
  .catalog-filters { gap: 8px; margin: 14px 0 23px; }
  .catalog-filter { font-size: .76rem; padding: 10px 14px; }
  .products-grid, .ofertas-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .product-card { border-radius: 18px; padding: 10px; }
  .product-card__img { height: 135px; }
  .product-card__name { font-size: .8rem; }
  .product-card__price-value { font-size: 1.2rem; }
  .add-to-cart-row { flex-wrap: wrap; gap: 8px; }
  .card-qty-control { flex: 1 1 100%; justify-content: space-between; }
  .card-qty-input { font-size: 16px; width: 42px; }
  .card-qty-btn { padding: 8px; min-width: 36px; min-height: 42px; }
  .btn-add-cart { min-height: 42px; }
  .section__title { font-size: 1.1rem; }
  .oferta-card { padding: 12px; }
  .oferta-card__img { height: 135px; }
  .cart-drawer { width: min(420px,94vw); max-width: none; }
  .cart-item__qty button { width: 36px; height: 36px; }
  .modal__body { padding: 18px; }
  .modal__header { padding: 18px; }
  .form-group input, .form-group textarea { font-size: 16px; }
  .nosotros-section { padding-top: 45px; }
  .nosotros-inner { grid-template-columns: 1fr; }
  .nosotros-visual { max-width: 380px; margin: auto; }
  .footer { padding: 28px 20px; }
}
@media(max-width:520px) {
  .navbar { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  .navbar__logo { grid-column: 1; grid-row: 1; }
  .navbar__hamburger { grid-column: 2; grid-row: 1; }
  .navbar__actions { grid-column: 1/-1; grid-row: 2; margin: 0; justify-content: flex-end; width: 100%; }
  #navbar-auth-area { margin-right: auto; min-width: 0; }
  .btn-auth-open { font-size: .73rem !important; padding: 8px 9px !important; white-space: nowrap; }
  .btn-alta-navbar { font-size: .68rem; padding: 9px; order: initial; }
  .btn-alta-navbar svg { display: none; }
  .theme-toggle, .navbar__cart-btn { width: 36px; height: 36px; }
  .navbar__logout { margin-left: 0 !important; font-size: .7rem; }
  html { scroll-padding-top: 150px; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .navbar, .navbar.scrolled, .search-box, .product-card, .oferta-card, .delivery-glass, .cart-drawer, .modal { background: var(--glass-solid); }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .marcas-slider { overflow-x: auto; mask-image: none; -webkit-mask-image: none; }
  .carousel-toggle { display: none; }
  .marcas-card:nth-child(n+9), .oferta-prev-card[aria-hidden="true"] { display: none; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .nosotros-logo-letter, #nosotros-logo-sub-text, #nosotros-logo-d-top, #nosotros-logo-d-bottom { opacity: 1 !important; transform: none !important; }
}

/* Profile: identity, contact details and account figures. */
.profile-modal { width: min(560px, calc(100vw - 28px)); max-width: 560px; background: var(--glass-surface); }
.profile-identity { display: flex; align-items: center; gap: 16px; margin-bottom: 26px; }
.profile-avatar { display: grid; place-items: center; flex: 0 0 56px; height: 56px; border-radius: 18px; background: var(--glass-soft); color: var(--verde-oscuro); font-size: 1.2rem; font-weight: 600; }
.profile-identity h2 { font-size: 1.2rem; font-weight: 500; line-height: 1.35; overflow-wrap: anywhere; }
.profile-eyebrow { font-size: .72rem; color: var(--texto-suave); margin-bottom: 5px; }
.profile-details { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 20px 24px; margin: 0; }
.profile-detail-wide { grid-column: 1/-1; }
.profile-details dt, .profile-account dt { color: var(--texto-suave); font-size: .75rem; font-weight: 400; margin-bottom: 5px; }
.profile-details dd { font-size: .88rem; color: var(--texto-principal); margin: 0; overflow-wrap: anywhere; }
.profile-account { background: var(--glass-surface); border: 1px solid var(--glass-line); border-radius: 18px; padding: 18px; margin-top: 26px; }
.profile-account h3 { font-size: .82rem; font-weight: 500; margin-bottom: 16px; }
.profile-account dl { margin: 0; display: grid; gap: 13px; }
.profile-account dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.profile-account dt { margin: 0; }
.profile-account dd { margin: 0; font-size: .85rem; font-weight: 500; text-align: right; }
.profile-discount { color: var(--verde-oscuro); }
.profile-actions { display: flex; gap: 12px; padding: 20px 24px; border-top: 1px solid var(--glass-line); }
.profile-button { flex: 1; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 12px 16px; border-radius: 24px; border: 1px solid var(--gris-borde); background: transparent; color: var(--texto-medio); font: inherit; font-size: .82rem; cursor: pointer; }
.profile-button--primary { background: var(--glass-action); border-color: var(--glass-action); color: var(--glass-on-action); }
.profile-button:hover { filter: brightness(1.08); }
.profile-message { text-align: center; padding: 24px 0; color: var(--texto-suave); }
@media(max-width:420px) {
  .profile-details { grid-template-columns: 1fr; gap: 16px; }
  .profile-identity { gap: 12px; }
  .profile-actions { padding: 16px 18px; gap: 8px; }
  .profile-button { padding: 12px 10px; }
}
.product-image-placeholder .ui-icon { width: 52px; height: 52px; color: var(--texto-suave); }
button.navbar__user-info {
  display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0;
  border: 0; border-radius: var(--radio-pill); background: transparent;
  color: var(--texto-medio); font: inherit; padding: 5px 8px 5px 5px;
  cursor: pointer; transition: var(--transicion);
}
button.navbar__user-info:hover { background: var(--glass-soft); }
.navbar__avatar {
  display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px;
  border-radius: 50%; background: var(--glass-soft); color: var(--verde-oscuro);
  font-size: .7rem; font-weight: 600; line-height: 1;
}
.navbar__account-label { font-size: .78rem; font-weight: 500; white-space: nowrap; }
.ofertas-preview-track.is-empty { animation: none; width: 100%; }
.carousel-empty { margin: 0; padding: 22px 0; color: var(--texto-suave); font-size: .88rem; }
.carousel-toggle[hidden] { display: none; }
.marcas-slider:focus .marcas-track, .marcas-slider:focus .ofertas-preview-track { animation-play-state: paused; }

/* Center the navigation independently of the logo and account actions. */
@media(min-width:1100px) {
  .navbar__nav { position: absolute; left: 50%; transform: translateX(-50%); margin: 0; }
  .navbar__actions { margin-left: auto; }
}

/* Frosted account forms with the same palette and surfaces as the profile. */
.modal.glass-form-modal {
  display: flex; flex-direction: column; overflow: hidden;
  max-width: 480px; max-height: min(90dvh, 900px);
  background: var(--glass-surface); border: 1px solid var(--glass-line);
  box-shadow: var(--glass-shadow), inset 0 1px 0 var(--glass-line);
  backdrop-filter: blur(28px); -webkit-backdrop-filter: blur(28px);
}
.modal.alta-modal.glass-form-modal { max-width: 680px; }
.glass-form-modal .modal__header { flex-shrink: 0; padding: 20px 24px; }
.glass-form-modal .modal__body { min-height: 0; overflow-y: auto; padding: 24px; scrollbar-width: thin; scrollbar-color: var(--gris-borde) transparent; }
.glass-form-modal .modal__title { font-size: 1rem; font-weight: 500; }
.glass-form-modal .modal__close { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--glass-line); border-radius: 50%; background: var(--glass-surface); flex-shrink: 0; }
.glass-form-modal .auth-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; background: var(--glass-surface); border: 1px solid var(--glass-line); padding: 5px; border-radius: 24px; margin-bottom: 24px; }
.glass-form-modal .auth-tab { border: 0; border-radius: 24px; margin: 0; padding: 10px 6px; font-size: .78rem; font-weight: 500; }
.glass-form-modal .auth-tab.active { background: var(--glass-action); color: var(--glass-on-action); }
.glass-form-modal .form-group label { color: var(--texto-medio); font-weight: 500; }
.glass-form-modal .form-group input { padding: 12px 14px; background: var(--glass-surface); border: 1px solid var(--gris-borde); border-radius: 13px; }
.glass-form-modal .form-group input::placeholder { color: var(--texto-suave); opacity: 1; }
.glass-form-modal .form-group input:focus { border-color: var(--verde-oscuro); outline: 2px solid var(--glass-soft); outline-offset: 2px; }
.glass-form-modal .btn-form { padding: 14px 16px; border-radius: 24px; }
.glass-form-modal .alta-section-title { font-size: .8rem; letter-spacing: 0; text-transform: none; font-weight: 500; background: var(--glass-soft); border-color: var(--glass-line); color: var(--verde-oscuro); padding: 10px 14px; border-radius: 13px; }
.glass-form-modal .form-alt-text { font-size: .78rem; }
@media(max-width:560px) {
  .glass-form-modal .modal__header { padding: 16px 18px; }
  .glass-form-modal .modal__body { padding: 18px; }
  .glass-form-modal .auth-tab { font-size: .72rem; padding: 10px 3px; }
  .glass-form-modal .form-group input { font-size: 16px; }
  .glass-form-modal .alta-row-3 { grid-template-columns: 1fr; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .modal.glass-form-modal { background: var(--glass-solid); }
}
#change-location { display: block; margin-top: 8px; padding: 0; border: 0; background: none; font: inherit; font-size: .72rem; cursor: pointer; }
.cart-item__qty button { min-width: 36px; min-height: 36px; }
