/* màn hình lớn >=1200px; tablet 768-1199px; phone <=767px. */
.navbar-row,.nav-search-wrap,.nav-search-form input,.sun-hero>* {
    min-width:0;
}
.sun-products>*,.sun-catalog-layout>*,.sun-section-head>*,.sun-footer-grid>* {
    min-width:0;
}
.sun-products .product-name {
    height:auto;min-height:63px;display:-webkit-box;-webkit-line-clamp:3;
    -webkit-box-orient:vertical;overflow:hidden;
}
.sun-products .product-body {display:flex;flex:1;flex-direction:column;}
.sun-products .product-price {margin-top:auto;}
.sun-section-head>span {flex-shrink:0;}
.sun-nav .container {overscroll-behavior-inline:contain;}
.sun-nav a {min-height:36px;display:flex;align-items:center;}
.sun-btn,.sun-card-add {min-height:44px;}
.sun-card-add {white-space:normal;}
.sun-email,.sun-footer a,.sun-content-page p {overflow-wrap:anywhere;}
.nav-user-dropdown {right:0;left:auto;max-width:calc(100vw - 32px);}
.nav-item.is-open>.nav-user-dropdown {
    opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
}
.mobile-drawer {
    width:min(360px,90vw);height:100dvh;max-height:100dvh;overflow-y:auto;
    left:0;transform:translateX(-100%);visibility:hidden;pointer-events:none;
}
.mobile-drawer.open {left:0;transform:translateX(0);visibility:visible;pointer-events:auto;}
.drawer-header img {height:auto!important;width:min(205px,calc(100% - 52px))!important;object-fit:contain;}
.drawer-close,.btn-close-cart {width:44px;height:44px;flex-shrink:0;}
.drawer-theme-button {
    display:flex;align-items:center;gap:14px;width:100%;min-height:48px;
    padding:13px 18px;background:transparent;border:0;border-bottom:1px solid var(--color-border);
    color:var(--color-text-2);text-align:left;font:inherit;
}
.drawer-theme-button:hover {background:var(--color-primary-bg);color:var(--color-primary);}
.cart-sidebar {
    width:min(420px,100vw);height:100dvh;max-height:100dvh;
    right:0;transform:translateX(100%);visibility:hidden;pointer-events:none;
}
.cart-sidebar.show {right:0;transform:translateX(0);visibility:visible;pointer-events:auto;}
.cart-sidebar-body {min-height:0;overscroll-behavior:contain;}
.pd-config__row {flex-wrap:wrap;gap:8px 16px;}
.pd-config__row>span {overflow-wrap:anywhere;}
.pd-gallery__thumbs {min-width:0;overflow-x:auto;}
.pd-specs {table-layout:fixed;}
.pd-specs td {overflow-wrap:anywhere;white-space:normal;}
.pd-tabs__nav {overscroll-behavior-inline:contain;}
.order-summary-card {min-width:0;}
.order-item-info,.cart-item-info {min-width:0;}
.order-item-name,.cart-item-name {overflow-wrap:anywhere;}
.sun-filter-form summary {min-height:44px;margin-bottom:0;cursor:pointer;display:flex;align-items:center;gap:10px;}
.sun-filter-form summary::before {content:'\25BE';color:var(--color-primary);font-size:16px;}
.sun-filter-form details:not([open]) summary::before {content:'\25B8';}
.sun-filter-form summary::marker,.sun-filter-form summary::-webkit-details-marker {display:none;content:'';}

@media (min-width:1200px) {
    .navbar-row {height:100px;flex-wrap:nowrap;padding:0;}
    .nav-search-wrap {order:0;flex:1 1 300px;max-width:380px;width:auto;}
    .sun-products {grid-template-columns:repeat(4,minmax(0,1fr));}
    .sun-catalog-layout .sun-products {grid-template-columns:repeat(3,minmax(0,1fr));}
    .sun-filter-form {position:sticky;top:calc(var(--nav-h) + 24px);}
}

@media (min-width:768px) and (max-width:1199px) {
    .container {padding-left:28px;padding-right:28px;}
    .navbar-row {height:auto;min-height:84px;display:flex;flex-wrap:wrap;gap:8px 24px;padding:10px 0 16px;}
    .nav-logo {margin-right:auto;}
    .logo-img {width:205px!important;height:65px!important;}
    .nav-right {margin-left:0;gap:14px;}
    .nav-search-wrap {order:3;flex:0 0 100%;max-width:none;width:100%;}
    .nav-search-form input {padding:12px 18px;font-size:14px;}
    .nav-search-form button {width:48px;}
    .nav-link-plain {display:none!important;}
    .nav-mobile-btn {display:flex!important;}
    .nav-icon-btn,.nav-theme-btn,.nav-mobile-btn {min-width:44px;min-height:44px;}
    .top-bar-left {display:none!important;}
    .top-bar-right {width:100%;justify-content:space-between;}
    .sun-nav .container {justify-content:flex-start;gap:28px;padding-top:7px;padding-bottom:7px;}
    .sun-nav a {font-size:13px;min-height:40px;}
    .sun-hero {gap:24px;padding-top:32px;}
    .sun-hero h1 {font-size:clamp(36px,4.5vw,49px);}
    .sun-hero-photo>img {height:390px;}
    .sun-hero-actions {flex-wrap:wrap;gap:18px 24px;}
    .sun-products {grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px;}
    .sun-categories {grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;}
    .sun-category {font-size:12px;}
    .sun-catalog-layout {grid-template-columns:minmax(0,1fr);gap:24px;}
    .sun-catalog-layout .sun-products {grid-template-columns:repeat(3,minmax(0,1fr));}
    .sun-filter-form {padding:10px 22px;}
    .sun-filter-form fieldset {display:inline-block;vertical-align:top;width:49%;}
    .sun-filter-form fieldset label {font-size:13px;min-height:30px;}
    .sun-filter-form .form-select {font-size:14px;}
    .sun-filter-form details>label {font-size:14px;}
    .product-name {font-size:14px!important;line-height:1.6!important;}
    .sun-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;}
    .sun-contact-grid {grid-template-columns:minmax(0,1fr);gap:28px;}
    .sun-benefit-strip>.container {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;}
    .sun-benefit-strip span {font-size:12px;}
    .sun-offer {margin-left:28px;margin-right:28px;width:auto;padding:40px;}
    .order-summary-card.sticky-top {position:static!important;}
    .nav-item:not(.is-open)>.nav-user-dropdown {opacity:0;visibility:hidden;pointer-events:none;}
}

@media (max-width:767px) {
    .navbar-row {height:auto;min-height:74px;gap:8px;padding:8px 0 12px;}
    .logo-img {width:158px!important;height:56px!important;}
    .navbar-row:has(.nav-notif-wrap) .logo-img {width:136px!important;}
    .nav-right {gap:4px;margin-left:auto;}
    .nav-icon-btn,.nav-mobile-btn {width:42px;height:44px;min-width:42px;padding:0;}
    .navbar-row:has(.nav-notif-wrap) .nav-icon-btn,
    .navbar-row:has(.nav-notif-wrap) .nav-mobile-btn,
    .navbar-row:has(.nav-notif-wrap) .nav-link-btn.nav-user-btn {width:40px;min-width:40px;}
    .nav-icon-btn.cart-toggle {margin-right:0;}
    .nav-theme-btn {display:none;}
    .nav-link-btn.nav-user-btn {padding:0;width:42px;height:44px;justify-content:center;}
    .nav-user-btn>.fa-chevron-down {display:none;}
    .nav-user-avatar {width:30px;height:30px;flex-shrink:0;}
    .nav-item:not(.is-open)>.nav-user-dropdown {opacity:0;visibility:hidden;pointer-events:none;}
    .nav-account-link {display:none!important;}
    .nav-search-wrap {order:3;flex:0 0 100%;max-width:none;width:100%;}
    .nav-search-form {width:100%;}
    .nav-search-form input {font-size:16px;padding:10px 14px;}
    .nav-search-form button {width:46px;min-height:44px;}
    .nav-notif-dropdown {position:fixed;top:var(--nav-h);left:16px;right:16px;width:auto;max-height:65dvh;overflow-y:auto;}
    .sun-nav .container {gap:24px;padding-top:4px;padding-bottom:4px;}
    .sun-nav a {font-size:12px;min-height:40px;}
    .sun-hero {grid-template-columns:minmax(0,1fr);}
    .sun-hero h1 {font-size:clamp(32px,8.8vw,45px);letter-spacing:-1.3px;}
    .sun-hero-actions {flex-wrap:wrap;gap:18px;}
    .sun-hero-photo>img {height:auto;aspect-ratio:3/2;}
    .sun-hero p {font-size:14px;}
    .sun-hero-note {font-size:11px;}
    .sun-section-head {align-items:flex-start;gap:12px;}
    .sun-section-head>div {flex:1;}
    .sun-section-head>span {font-size:11px;white-space:nowrap;}
    .sun-section-head p {font-size:12px;}
    .sun-section h1,.page-heading {font-size:27px;line-height:1.4;overflow-wrap:anywhere;}
    .sun-section h2 {font-size:26px;}
    .sun-categories {grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 12px;}
    .sun-category {font-size:11px;}
    .sun-products,.sun-catalog-layout .sun-products {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;}
    .product-name {font-size:13px!important;line-height:1.6!important;height:auto;min-height:62px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
    .product-cat {font-size:9px!important;letter-spacing:1px;}
    .product-rating small {font-size:10px;}
    .price-current {font-size:15px!important;}
    .sun-card-add {font-size:12px;gap:6px;}
    .product-img-wrap {padding:7px;}
    .product-actions {right:7px;top:7px;}
    .product-actions .action-btn {width:34px;height:34px;}
    .sun-filter-form {padding:8px 16px;}
    .sun-filter-form fieldset {display:block;width:100%;}
    .sun-filter-form fieldset label {font-size:14px;min-height:32px;display:flex;align-items:center;gap:8px;}
    .sun-filter-form input[type=checkbox],.sun-filter-form input[type=radio] {width:18px;height:18px;}
    .sun-filter-form .form-select {font-size:16px;min-height:44px;}
    .sun-filter-form details>label {font-size:14px;}
    .sun-filter-form details>button {width:100%;}
    .sun-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;}
    .sun-footer h3 {font-size:13px;line-height:1.6;}
    .sun-footer p,.sun-footer-grid>div>a {font-size:12px;}
    .sun-footer-grid>div>a {min-height:32px;}
    .sun-newsletter input {font-size:16px;min-height:44px;}
    .sun-newsletter button {min-width:44px;}
    .sun-footer-bottom {flex-wrap:wrap;font-size:10px;}
    .sun-offer {margin-left:18px;margin-right:18px;width:auto;}
    .pd-grid {grid-template-columns:minmax(0,1fr);padding:16px;gap:22px;}
    .pd-info__title {font-size:24px;line-height:1.4;}
    .pd-info__meta {flex-wrap:wrap;gap:8px;}
    .pd-gallery__main {min-height:260px;aspect-ratio:1;height:auto;}
    .pd-gallery__thumb {width:64px;height:64px;flex-shrink:0;}
    .pd-config__row {font-size:13px;}
    .pd-tabs__body {padding:16px;}
    .pd-specs td {font-size:13px;padding:12px 8px;}
    .pd-cta {grid-template-columns:minmax(0,1fr);}
    .pd-cta button {min-height:48px;}
    .pd-actions {flex-wrap:wrap;gap:10px;}
    .pd-related__grid,.pd-related-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
    .order-summary-card.sticky-top {position:static!important;}
    .checkout-card,.order-summary-card {padding:20px 16px;}
    .checkout-card-title,.summary-title {font-size:18px;line-height:1.5;}
    .form-control,.form-select,.form-sun {font-size:16px;min-height:44px;}
    textarea.form-control {min-height:96px;}
    .payment-card {gap:10px;padding:14px 12px;}
    .payment-card>i {font-size:24px;}
    .payment-card strong {font-size:14px;}
    .payment-card small {font-size:12px;white-space:normal;}
    .order-item {gap:10px;flex-wrap:wrap;}
    .order-item>strong {margin-left:auto;font-size:13px;}
    .order-item-name {font-size:12px;}
    .cart-item-card {gap:12px;padding:16px 14px 70px;}
    .cart-item-controls {left:14px;right:14px;bottom:16px;}
    .cart-qty-btn,.cart-qty-input,.btn-remove-item {min-height:42px;}
    .summary-row {gap:12px;}
    .summary-row>strong {white-space:nowrap;}
    .cart-table {font-size:12px;}
    .cart-table th,.cart-table td {padding:10px 8px;}
    .sun-content-page h1 {font-size:30px;line-height:1.4;}
    .sun-contact-grid {grid-template-columns:minmax(0,1fr);}
    .auth-card {padding:24px 18px;}
    .breadcrumb {font-size:12px;overflow-wrap:anywhere;}
    .scroll-top {width:42px;height:42px;right:16px;bottom:16px;}
}

@media (max-width:359px) {
    .container {padding-left:14px;padding-right:14px;}
    .logo-img {width:124px!important;}
    .nav-icon-btn,.nav-mobile-btn,.nav-link-btn.nav-user-btn {min-width:36px;width:36px;}
    .navbar-row:has(.nav-notif-wrap) .nav-icon-btn,
    .navbar-row:has(.nav-notif-wrap) .nav-mobile-btn,
    .navbar-row:has(.nav-notif-wrap) .nav-link-btn.nav-user-btn {width:36px;min-width:36px;}
    .navbar-row:has(.nav-notif-wrap) .logo-img {width:110px!important;}
    .sun-categories {grid-template-columns:repeat(3,minmax(0,1fr));}
    .sun-products,.sun-catalog-layout .sun-products {gap:20px 10px;}
    .product-name {font-size:12px!important;}
    .sun-card-add {font-size:11px;}
    .sun-section-head {flex-wrap:wrap;}
}

@media (prefers-reduced-motion:reduce) {
    html {scroll-behavior:auto;}
    *,*::before,*::after {transition:none!important;animation:none!important;}
}
