html,body{max-width:100%;overflow-x:hidden}.nav>*,.catalog-toolbar>*,.checkout-band>*,.login-required>*{min-width:0}@media(max-width:940px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.checkout-band{grid-template-columns:1fr 1fr}.checkout-band>div,.notes-field,.order-submit{grid-column:1/-1}.store-hero{min-height:390px}.hero-copy{width:65%}.desktop-nav{display:none}.mobile-menu-button{display:grid}}
@media(max-width:680px){.container{width:min(100% - 20px,1180px)}.nav{height:62px;gap:10px}.brand-copy small,.user-name,.account-actions .compact{display:none}.account-actions{margin-right:auto}.mobile-menu{inset-block-start:62px}.store-hero{min-height:350px;background-image:linear-gradient(90deg,#07132130,#071321 75%),var(--hero-image);background-position:35% center}.hero-copy{width:72%;padding-block:36px}.hero-copy h1{font-size:31px}.hero-copy p{font-size:13px}.category-tabs{margin-inline:-10px;padding-inline:10px}.category-tabs a{min-width:105px}.promo-strip>div{align-items:flex-start;flex-wrap:wrap;gap:4px 10px}.promo-strip small{width:100%}.catalog-toolbar{align-items:stretch;flex-direction:column;margin-top:24px}.search-form label{width:100%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-visual{height:150px}.product-copy{padding:10px 9px 2px}.product-copy h3{font-size:13px}.product-copy p{display:none}.product-price{padding:8px 9px}.product-price strong{font-size:14px}.product-actions{grid-template-columns:1fr;padding:0 9px 10px}.quantity-control{display:block}.add-product{height:38px;font-size:11px}.sale-chip,.featured-chip{top:7px;right:7px;padding:3px 6px}.checkout-band{grid-template-columns:1fr}.checkout-band>*,.notes-field,.order-submit{grid-column:auto}.login-required{grid-template-columns:1fr;align-items:stretch}.login-required .primary-button{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.footer-content{align-items:start;flex-direction:column;gap:10px}.invoice-meta{grid-template-columns:1fr}.invoice-meta span{border-left:0;border-bottom:1px solid var(--line)}}
@media(max-width:390px){.hero-copy{width:82%}.hero-copy h1{font-size:27px}.brand-mark{width:38px;height:38px}.login-link{font-size:12px}.product-visual{height:132px}.product-copy h3{font-size:12px}.stock-state{padding-inline:5px;font-size:9px}}
/* Loaded last so responsive layout rules are not overridden by page-specific styles. */
img,
video,
iframe { max-width: 100%; }

button,
input,
select,
textarea,
.home-header-inner > *,
.home-header-actions,
.home-account-links,
.home-service-links,
.reference-section-heading > *,
.selection-bar > * { min-width: 0; }

.footer-location,
.footer-whatsapp {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--ink);
}

.footer-location svg,
.footer-whatsapp svg,
.footer-social-links svg {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.footer-location:hover,
.footer-location:focus-visible { color: var(--blue); }
.footer-whatsapp { color: #4add7d; }
.footer-location span,
.footer-whatsapp span { min-width: 0; }
.footer-location b,
.footer-location small,
.footer-whatsapp b,
.footer-whatsapp small { overflow-wrap: anywhere; }

.footer-social { padding: 13px; }
.footer-social > b { margin-bottom: 9px; }
.footer-social-links {
    display: grid;
    grid-template-columns: 1.35fr repeat(3, minmax(92px, 1fr));
    gap: 7px;
}

.footer-social-links a {
    min-width: 0;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: color-mix(in srgb, var(--paper) 82%, transparent);
    color: var(--ink);
    font-size: 11px;
    font-weight: 800;
}

.footer-social-links a:hover,
.footer-social-links a:focus-visible { border-color: var(--blue); color: var(--blue); }
.footer-social-links .social-whatsapp { border-color: #248c63; color: #64dfa9; }
.footer-social-links span,
.footer-social-links small { min-width: 0; }
.footer-social-links small { color: var(--muted); font-size: 8px; font-weight: 600; }

.footer-content { grid-template-columns: minmax(0, .9fr) minmax(0, .6fr) minmax(0, 2fr); }

@media (max-width: 1080px) {
    .footer-content { grid-template-columns: 1fr 1fr; }
    .footer-social { grid-column: 1 / -1; border-inline-end: 0; border-top: 1px solid var(--line); }
}

@media (max-width: 820px) {
    .home-header-inner { grid-template-columns: minmax(0, 1fr) auto; }
    .home-logo { min-width: 0; }
    .home-mobile-nav nav {
        width: min(260px, calc(100vw - 20px));
        max-height: calc(100vh - 115px);
        overflow-y: auto;
        right: auto;
        left: 0;
    }
    .home-mobile-nav nav a { min-height: 44px; display: flex; align-items: center; }
    .home-benefits {
        width: min(calc(100% - 20px), 1180px);
        grid-template-columns: repeat(3, minmax(0, 1fr));
        overflow: visible;
        margin-inline: auto;
    }
    .home-benefits > div,
    .home-benefits > button { min-width: 0; }
    .footer-social-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-social-links .social-whatsapp { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
    .container { width: min(calc(100% - 20px), 1180px); }
    .home-utility-inner { min-width: 0; flex-wrap: wrap; }
    .home-account-links { max-width: 100%; justify-content: center; }
    .home-account-display { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .home-header-actions { gap: 7px; }
    .home-theme-toggle,
    .home-cart,
    .home-mobile-nav summary,
    .home-account-menu > summary.home-account-button { width: 42px; height: 42px; }
    .reference-hero,
    .reference-hero > img { min-height: 0; }
    .reference-hero > img { height: auto; aspect-ratio: 2.5 / 1; object-fit: cover; }
    .reference-hero-action { inset-block-end: 12px; }
    .home-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 10px;
    }
    .home-benefits > :last-child { grid-column: 1 / -1; }
    .home-benefits b { font-size: 10px; overflow-wrap: anywhere; }
    .home-product-sections { display: grid; grid-template-columns: 1fr; overflow: visible; }
    .home-product-sections .home-showcase { min-width: 0; }
    .home-search { grid-template-columns: minmax(0, 1fr) auto; }
    .home-search input { width: 100%; min-width: 0; }
    .reference-section-heading { align-items: flex-start; gap: 10px; }
    .reference-section-heading h2 { overflow-wrap: anywhere; }
    .selection-bar { gap: 8px; flex-wrap: wrap; }
    .selection-bar strong { width: 100%; }
    .page-title,
    .section-row { align-items: stretch; flex-direction: column; gap: 10px; }
    .page-title .primary-button,
    .section-row .primary-button { width: 100%; min-height: 44px; }
    .footer-content { grid-template-columns: 1fr; }
    .footer-content > * {
        width: 100%;
        min-height: 58px;
        padding: 12px;
        border-inline-end: 0;
        border-bottom: 1px solid var(--line);
        text-align: start;
    }
    .footer-content > *:last-child { border-bottom: 0; }
    .footer-content b { font-size: 11px; }
    .footer-content small { font-size: 9px; }
    .footer-location,
    .footer-whatsapp { justify-content: flex-start; }
    .footer-social > b { text-align: center; }
    .footer-social-links a { min-height: 52px; font-size: 11px; }
}

/* Keep product content shrinkable instead of letting long values widen the page. */
.product-detail,
.product-gallery,
.product-summary,
.phone-spec-showcase,
.phone-spec-heading > *,
.phone-spec-card,
.phone-spec-card > div,
.specification-tabs,
.specification-group,
.specification-group dl,
.specification-group dl > div,
.comments-section,
.comments-section article {
    min-width: 0;
}

.product-summary h1,
.detail-description,
.spec-list dd,
.phone-spec-heading h2,
.phone-spec-card p,
.specification-group dd,
.comments-section article p {
    overflow-wrap: anywhere;
}

@media (max-width: 760px) {
    .notification-menu .header-dropdown {
        position: fixed;
        top: 70px;
        right: 10px;
        left: 10px;
        width: auto;
        max-width: none;
    }

    .notification-menu .header-dropdown > a,
    .notification-menu .header-dropdown b,
    .notification-menu .header-dropdown small {
        min-width: 0;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 359px) {
    .nav { gap: 6px; }
    .account-actions { gap: 5px; }
    .brand-copy { display: none; }
    .home-logo img { width: 42px; height: 42px; }
    .home-header-actions { gap: 5px; }
    .home-theme-toggle,
    .home-cart,
    .home-mobile-nav summary,
    .home-account-menu > summary.home-account-button { width: 40px; height: 40px; }
    .reference-catalog .product-grid { grid-template-columns: 1fr; }
    .reference-catalog .product-visual { height: 210px; }
    .footer-social-links { grid-template-columns: 1fr; }
    .footer-social-links .social-whatsapp { grid-column: auto; }
}
