:root{
  /* Mini Creation Studio - aubergine + cerise on blush.
     Depth in the structure, one loud accent, soft supporting tones. */
  --plum:#4a1f3d;          /* structure: topbar, footer, sidebar */
  --plum-soft:#6e3459;
  --primary:#e0417f;       /* cerise - the single loud accent */
  --secondary:#ee6aa0;
  --cerise-deep:#c22b67;
  --peach:#ffb9a3;
  --gold:#d9a94c;
  --text:#3a2233;          /* ink */
  --muted:#8a6a7d;
  --bg:#fff5f7;            /* blush page */
  --card:#fffcf9;          /* shell surface */
  --shell:#fffcf9;
  --border:#f2d9e2;
  --line:#f2d9e2;
  --shadow:0 18px 40px -18px rgba(74,31,61,.28);
  --shadow-sm:0 10px 26px -14px rgba(74,31,61,.24);
  --radius:22px;
  --petal:28px 28px 28px 8px;
  --petal-alt:28px 8px 28px 28px;
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font-body);color:var(--text);background:linear-gradient(180deg,#fffcf9 0%,var(--bg) 100%);line-height:1.65;min-height:100vh;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.container{width:min(1180px,92%);margin:auto}.topbar{background:var(--text);color:#fff;font-size:14px;padding:9px 0;overflow:hidden;position:relative;white-space:nowrap}.topbar-track{display:inline-flex;align-items:center;gap:48px;min-width:max-content;animation:topbarSlideRightToLeft 18s linear infinite;will-change:transform}.topbar:hover .topbar-track{animation-play-state:paused}.topbar-item{display:inline-block;font-weight:900;padding-right:48px}@keyframes topbarSlideRightToLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}.navbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:15px 0}.brand{display:flex;gap:10px;align-items:center;font-weight:900;font-size:24px;color:var(--primary)}.logo{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:grid;place-items:center;color:#fff;box-shadow:var(--shadow)}.menu{display:flex;gap:26px;align-items:center;font-weight:700}.menu a:hover,.menu a.active{color:var(--primary)}.nav-actions{display:flex;gap:10px;align-items:center}.icon-btn,.btn{border:0;border-radius:999px;background:var(--primary);color:#fff;padding:12px 18px;font-weight:800;cursor:pointer;box-shadow:0 10px 25px rgba(74,31,61,.25);transition:.25s}.icon-btn:hover,.btn:hover{transform:translateY(-2px);background:var(--secondary)}.btn.outline{background:#fff;color:var(--primary);border:1px solid var(--border);box-shadow:none}.hamb{display:none}.cart-count{background:#fff;color:var(--primary);border-radius:99px;padding:2px 7px;margin-left:5px}.hero{padding:70px 0 40px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:35px;align-items:center}.badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);color:var(--primary);padding:9px 15px;border-radius:99px;font-weight:900;box-shadow:var(--shadow)}h1{font-size:clamp(38px,6vw,72px);line-height:1.02;margin:22px 0;font-weight:950;letter-spacing:-2px}.pink{color:var(--primary)}.lead{font-size:19px;color:#4b4b4b;max-width:620px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero-card{background:#fff;border:1px solid var(--border);border-radius:34px;padding:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;inset:-40px -30px auto auto;width:210px;height:210px;border-radius:50%;background:rgba(224,65,127,.22)}.mock-product{position:relative;border-radius:28px;background:linear-gradient(145deg,#fff,#ffe5f0);padding:22px;text-align:center;min-height:410px;display:grid;place-items:center}.bag{font-size:125px;filter:drop-shadow(0 22px 25px rgba(74,31,61,.18))}.floating{position:absolute;background:#fff;border:1px solid var(--border);border-radius:18px;padding:12px 15px;box-shadow:var(--shadow);font-weight:900}.f1{left:10px;top:35px}.f2{right:10px;bottom:35px}.section{padding:50px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px}.section-head h2{font-size:34px;line-height:1.1}.muted{color:var(--muted)}.grid{display:grid;gap:20px}.cat-grid{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:0 10px 35px rgba(74,31,61,.08)}.cat-card{min-height:130px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.cat-card:hover,.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.cat-icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:grid;place-items:center;font-size:25px}.product-grid{grid-template-columns:repeat(4,1fr)}.product-card{transition:.25s;overflow:hidden}.product-img{height:220px;border-radius:18px;background:linear-gradient(135deg,#fff0f4,#f2d9e2);display:grid;place-items:center;font-size:72px;margin-bottom:16px;position:relative}.tag{position:absolute;top:12px;left:12px;background:var(--text);color:#fff;border-radius:99px;padding:5px 10px;font-size:12px;font-weight:900}.product-title{font-weight:900;font-size:18px;margin-bottom:4px}.price{font-size:20px;font-weight:950;color:var(--primary)}.old-price{text-decoration:line-through;color:#999;font-size:14px;margin-left:6px}.product-actions{display:flex;gap:8px;margin-top:14px}.product-actions .btn{flex:1;padding:10px}.filter-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.filter-row input,.filter-row select,.field{border:1px solid var(--border);border-radius:16px;padding:13px 15px;background:#fff;outline:none}.filter-row input{min-width:260px}.page-title{padding:54px 0 28px;text-align:center}.page-title h1{font-size:46px;margin:0 0 10px}.content-card{background:#fff;border:1px solid var(--border);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.contact-grid,.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form{display:grid;gap:13px}.form label{font-weight:800}.form input,.form textarea,.form select{width:100%;border:1px solid var(--border);border-radius:16px;padding:13px 15px;background:#fff;outline:none}.form textarea{min-height:120px;resize:vertical}.table{width:100%;border-collapse:separate;border-spacing:0 12px}.table th{text-align:left;color:var(--muted);font-size:14px}.table td{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:13px}.table td:first-child{border-left:1px solid var(--border);border-radius:16px 0 0 16px}.table td:last-child{border-right:1px solid var(--border);border-radius:0 16px 16px 0}.qty{display:flex;gap:8px;align-items:center}.qty button{width:30px;height:30px;border:0;border-radius:10px;background:var(--primary);color:#fff;font-weight:900}.summary{position:sticky;top:95px}.policy{max-width:850px;margin:auto}.policy h3{margin:18px 0 6px;color:var(--primary)}.footer{margin-top:55px;background:var(--text);color:#fff;padding:40px 0 18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:24px}.footer a{display:block;color:#eee;margin:8px 0}.copy{text-align:center;color:#bbb;border-top:1px solid #333;margin-top:25px;padding-top:16px}.admin-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.admin-sidebar{background:var(--text);color:#fff;padding:22px;position:sticky;top:0;height:100vh}.admin-sidebar a{display:block;padding:12px 14px;border-radius:14px;margin:7px 0;color:#fff}.admin-sidebar a:hover,.admin-sidebar a.active{background:var(--primary)}.admin-main{padding:26px}.admin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.admin-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:20px;box-shadow:var(--shadow)}.admin-card strong{font-size:30px;color:var(--primary)}.admin-section{display:none}.admin-section.active{display:block}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mini-list{display:grid;gap:10px}.mini-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px}.danger{background:#ef4444!important}.success{background:#22c55e!important}.hidden{display:none!important}.empty{text-align:center;color:var(--muted);padding:35px}.toast{position:fixed;right:20px;bottom:20px;background:var(--text);color:#fff;border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);z-index:99;display:none}.toast.show{display:block;animation:pop .25s ease}@keyframes pop{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}

.product-link{display:block}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:18px}.breadcrumb a{color:var(--primary);font-weight:800}
.detail-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:32px;align-items:start}.detail-image{min-height:430px;border-radius:26px;background:linear-gradient(135deg,#fff0f4,#f2d9e2);border:1px solid var(--border);display:grid;place-items:center;font-size:150px;position:relative;box-shadow:var(--shadow)}.thumb-row{display:flex;gap:12px;margin-top:14px}.thumb{width:82px;height:82px;border:2px solid var(--border);background:#fff;border-radius:18px;font-size:34px;cursor:pointer}.thumb.active,.thumb:hover{border-color:var(--primary)}.detail-info h1{font-size:clamp(30px,4vw,48px);letter-spacing:-1px;margin:4px 0 10px}.detail-rating{color:var(--primary);font-weight:900;margin-bottom:12px}.detail-price{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}.detail-price .price{font-size:34px}.discount{background:var(--primary);color:#fff;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:900}.stock-line{display:inline-flex;background:#fff;border:1px dashed var(--primary);color:var(--primary);font-weight:900;border-radius:999px;padding:8px 12px;margin:12px 0}.detail-cart{display:flex;gap:12px;align-items:center;margin:18px 0}.detail-cart input{width:78px;border:1px dashed var(--primary);border-radius:14px;padding:12px;text-align:center;font-weight:900}.small{font-size:14px}.trust-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;border:1px dashed var(--primary);background:#fff0f4;border-radius:22px;padding:18px;margin:32px 0}.trust-item{text-align:center;font-weight:900}.trust-icon{font-size:42px;display:block}.tabs{margin-top:28px}.tab-head{display:flex;gap:8px;border-bottom:1px solid var(--border)}.tab-head button{border:1px solid var(--border);border-bottom:0;background:#fff;padding:10px 16px;border-radius:14px 14px 0 0;font-weight:900;color:var(--primary)}.tab-body{background:#fff;border:1px solid var(--border);border-top:0;padding:22px;border-radius:0 0 20px 20px}.tab-body ul{padding-left:20px}.related-title{text-align:center;color:var(--primary);font-size:34px;margin:35px 0 20px}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr}.detail-image{min-height:320px;font-size:110px}.trust-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.detail-cart{align-items:stretch;flex-direction:column}.detail-cart input{width:100%}.trust-strip{grid-template-columns:1fr}.thumb{width:68px;height:68px}}

@media(max-width:900px){.hero-grid,.contact-grid,.checkout-grid,.two-col{grid-template-columns:1fr}.cat-grid,.product-grid,.admin-cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.hamb{display:block}.menu{position:fixed;left:0;right:0;top:104px;background:#fff;display:none;flex-direction:column;padding:22px;border-bottom:1px solid var(--border)}.menu.open{display:flex}.admin-layout{grid-template-columns:1fr}.admin-sidebar{height:auto;position:relative}.admin-sidebar nav{display:flex;overflow:auto;gap:6px}.admin-sidebar a{white-space:nowrap}}
@media(max-width:560px){.cat-grid,.product-grid,.admin-cards,.footer-grid{grid-template-columns:1fr}.nav-actions .btn{display:none}.brand{font-size:19px}.product-img{height:180px}.table{font-size:14px}.table td,.table th{padding:8px}.page-title h1{font-size:34px}}
.product-photo{width:100%;height:100%;object-fit:cover;border-radius:18px;display:block}.detail-photo{width:100%;height:100%;object-fit:cover;border-radius:26px;display:block}.thumb img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block}.image-preview,.gallery-preview{display:flex;gap:10px;flex-wrap:wrap;align-items:center;border:1px dashed var(--border);border-radius:16px;padding:12px;background:#fff}.image-preview img,.gallery-preview img{width:86px;height:86px;object-fit:cover;border-radius:14px;border:1px solid var(--border)}.check-line{display:flex!important;align-items:center;gap:9px}.check-line input{width:auto!important}.admin-product-line{display:flex;align-items:center;gap:12px}.admin-mini-img,.admin-mini-emoji,.admin-mini-placeholder{width:52px;height:52px;border-radius:14px;background:#fff0f4;border:1px solid var(--border);display:grid;place-items:center;object-fit:cover;font-size:11px;font-weight:800;color:var(--primary);text-align:center;flex:none}.no-image,.no-product-image{display:grid;place-items:center;width:100%;height:100%;border-radius:inherit;background:#fff0f4;color:var(--primary);font-size:12px;font-weight:900;text-align:center;padding:8px}

/* Home page premium sections */
.cute-hero{padding:64px 0 28px;background:radial-gradient(circle at 15% 20%,rgba(224,65,127,.18),transparent 28%),radial-gradient(circle at 80% 10%,rgba(74,31,61,.14),transparent 24%),linear-gradient(180deg,#fff,#fff5f7)}
.cute-hero-card .mock-product{background:linear-gradient(145deg,#fffcf9,#f2d9e2);min-height:390px}.cute-hero-card .bag{font-size:142px}.topbar{background:var(--primary);font-weight:900;letter-spacing:.2px}.trust-section{padding:16px 0 22px;background:#fff}.trust-section .trust-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;border:3px dashed var(--secondary);background:#ffe7ef;border-radius:22px;padding:20px 22px;margin:0;box-shadow:0 10px 28px rgba(74,31,61,.10)}.trust-section .trust-item{text-align:center}.trust-section .trust-icon{font-size:58px;line-height:1;margin-bottom:8px;filter:drop-shadow(0 12px 12px rgba(74,31,61,.14))}.trust-section h3{font-size:22px;line-height:1;font-weight:950;margin-bottom:4px;color:#000}.trust-section p{font-size:14px;color:#3a2233}.centered{justify-content:center;text-align:center}.soft-section{background:linear-gradient(180deg,#fff5f7,#fff)}.loved-section{background:#fff}.review-slider{overflow:hidden;position:relative}.review-track{display:flex;gap:20px;width:max-content;animation:reviewSlideRightToLeft 28s linear infinite;will-change:transform}.review-slider:hover .review-track{animation-play-state:paused}.review-card{flex:0 0 360px;max-width:360px;text-align:center;padding:26px}.review-card .stars{color:var(--primary);font-size:22px;font-weight:950;margin-bottom:10px}.review-card p{color:#444;margin-bottom:16px}.review-card h4{color:var(--primary);font-size:18px}@keyframes reviewSlideRightToLeft{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 10px))}}.cat-card{text-align:left;background:linear-gradient(180deg,#fff,#fff1f5)}.cat-card h3{font-size:20px}.section h2{color:var(--primary)}
@media(max-width:900px){.trust-section .trust-strip{grid-template-columns:repeat(2,1fr)}.review-card{flex:0 0 min(84vw,360px);max-width:min(84vw,360px)}.review-track{animation-duration:22s}.cute-hero-card .mock-product{min-height:300px}.cute-hero-card .bag{font-size:105px}}
@media(max-width:560px){.trust-section .trust-strip{grid-template-columns:1fr;padding:16px}.trust-section h3{font-size:20px}.section-head{align-items:flex-start;flex-direction:column}.centered{align-items:center}.hero-actions .btn{width:100%;text-align:center}.topbar{font-size:12px;padding:8px 12px}}

/* Category image and Our Products dropdown menu */
.cat-icon{overflow:hidden}
.cat-photo{width:100%;height:100%;object-fit:cover;border-radius:18px;display:block}
.menu-dropdown{position:relative;display:flex;align-items:center}
.menu-dropdown>a,.dropdown-cat-title{font-weight:900;color:var(--text)}
.dropdown-panel{position:absolute;top:100%;left:0;min-width:270px;background:#fff;border:1px solid var(--border);border-radius:20px;padding:10px;box-shadow:var(--shadow);display:none;z-index:50}
.menu-dropdown:hover .dropdown-panel{display:block;animation:pop .2s ease}
.dropdown-cat{position:relative}
.dropdown-cat-title{display:flex!important;align-items:center;gap:10px;padding:11px 12px!important;border-radius:14px;white-space:nowrap}
.dropdown-cat-title:hover{background:#fff0f4;color:var(--primary)}
.dropdown-sub-panel{position:absolute;left:100%;top:0;min-width:230px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:10px;box-shadow:var(--shadow);display:none}
.dropdown-cat:hover .dropdown-sub-panel{display:block}
.dropdown-sub-panel a{display:flex!important;align-items:center;gap:10px;padding:10px 12px!important;border-radius:13px;white-space:nowrap;color:var(--text)}
.dropdown-sub-panel a:hover{background:#fff0f4;color:var(--primary)}
.dropdown-img{width:34px;height:34px;border-radius:10px;object-fit:cover;background:#fff0f4;border:1px solid var(--border);display:grid;place-items:center;flex:none;font-size:18px}
.dropdown-empty{display:block;color:var(--muted);padding:10px 12px;white-space:nowrap}
@media(max-width:900px){.menu-dropdown{display:block}.dropdown-panel,.dropdown-sub-panel{position:static;display:block;box-shadow:none;border:0;padding:4px 0 4px 14px;min-width:0}.dropdown-cat-title,.dropdown-sub-panel a{white-space:normal}.dropdown-sub-panel{background:#fff5f7;margin-left:10px;border-radius:14px}.menu-dropdown:hover .dropdown-panel,.dropdown-cat:hover .dropdown-sub-panel{display:block}}

.site-logo{width:58px;height:58px;object-fit:contain;border-radius:12px;background:#fff;display:block}.brand .site-logo{box-shadow:0 8px 20px rgba(74,31,61,.12)}.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:10px}.footer-logo{width:72px;height:72px;border-radius:16px}.logo-preview img{max-width:170px;max-height:120px;object-fit:contain;background:#fff;border-radius:14px;padding:8px}.admin-sidebar .brand .site-logo{width:46px;height:46px}.admin-sidebar .brand{color:#fff}.admin-sidebar .brand:hover{background:transparent}

/* Round Shop by Category design */
.round-category-card{min-height:auto;text-align:center;align-items:center;justify-content:flex-start;gap:14px;padding:18px 14px;background:#fff;border-radius:26px;}
.round-category-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.cat-round-image{width:150px;height:150px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#fff0f4,#f2d9e2);border:3px solid #fff;outline:2px dashed var(--secondary);display:grid;place-items:center;margin:0 auto 8px;font-size:58px;box-shadow:0 14px 30px rgba(74,31,61,.16);}
.cat-round-photo{width:100%;height:100%;object-fit:cover;display:block;}
.round-category-card h3{font-size:20px;font-weight:950;color:var(--text);margin:0;line-height:1.2;}
@media(max-width:560px){.cat-round-image{width:135px;height:135px}.round-category-card{padding:16px 12px}}

.sub-category-section{margin:18px 0 30px;padding:10px 0 20px;}
.sub-category-section .section-head{margin-bottom:20px;}
.sub-category-section .round-category-card{background:#fff5f7;border:1px solid #f2d9e2;}
.sub-category-section .cat-round-image{width:155px;height:155px;}
@media(max-width:560px){.sub-category-section .cat-round-image{width:135px;height:135px}}

/* Category click page: show round sub-category images first */
.result-title{font-size:30px;color:var(--primary);text-align:center;margin:26px 0 20px;font-weight:950;}
.sub-round-card p{margin:2px 0 0;color:var(--muted);font-weight:800;font-size:14px;}
.sub-category-section .cat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.sub-category-section .round-category-card{display:flex;flex-direction:column;text-decoration:none;}
.sub-category-section .round-category-card h3{margin-top:2px;}
@media(max-width:560px){.result-title{font-size:24px}.sub-category-section .cat-grid{grid-template-columns:repeat(2,1fr)}}


/* Top product search bar */
.top-search{flex:1;max-width:360px;display:flex;align-items:center;background:#fff;border:2px solid #f2d9e2;border-radius:999px;padding:4px;box-shadow:0 8px 22px rgba(74,31,61,.08);}
.top-search input{width:100%;border:0;outline:0;background:transparent;padding:10px 12px;font-weight:800;color:var(--text);font-family:inherit;}
.top-search input::placeholder{color:#9b6b7c;}
.top-search button{width:42px;height:42px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;cursor:pointer;font-weight:950;box-shadow:0 8px 18px rgba(74,31,61,.22);}
.top-search button:hover{transform:translateY(-1px);}
@media(max-width:1050px){.top-search{max-width:280px}.top-search input{padding:9px 10px}}
@media(max-width:900px){.nav-wrap{flex-wrap:wrap}.top-search{order:3;flex-basis:100%;max-width:none;margin-top:10px}.menu{top:164px}}
@media(max-width:560px){.top-search{margin-top:8px}.top-search button{width:38px;height:38px}.top-search input{font-size:14px}}


/* Admin login page */
.login-page{min-height:100vh;background:radial-gradient(circle at 15% 15%,rgba(224,65,127,.25),transparent 28%),radial-gradient(circle at 85% 10%,rgba(74,31,61,.20),transparent 24%),linear-gradient(180deg,#fff,#fff5f7);}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px 16px;}
.login-card{width:min(480px,100%);background:#fff;border:1px solid var(--border);border-radius:32px;padding:30px;box-shadow:var(--shadow);}
.login-brand{justify-content:center;margin-bottom:18px;}
.login-head{text-align:center;margin-bottom:18px;}
.login-head h1{font-size:46px;margin:14px 0 8px;}
.password-field{display:flex;align-items:center;border:1px solid var(--border);border-radius:16px;background:#fff;overflow:hidden;}
.password-field input{border:0!important;border-radius:0!important;box-shadow:none!important;}
.password-field button{width:52px;height:48px;border:0;background:#fff0f4;cursor:pointer;font-size:18px;}
.login-note{text-align:center;font-size:14px;}
.login-back{text-align:center;display:block;}
@media(max-width:560px){.login-card{padding:22px;border-radius:24px}.login-head h1{font-size:38px}}

/* Product detail description/review tabs */
.tab-head{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:14px}
.tab-head button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:12px 22px;font-weight:950;cursor:pointer;color:var(--text)}
.tab-head button.active,.tab-head button:hover{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-color:transparent;box-shadow:0 12px 24px rgba(74,31,61,.20)}
.tab-panel{display:none}.tab-panel.active{display:block}.tab-body{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:0 12px 32px rgba(74,31,61,.08)}
.star-on{color:var(--primary)}.star-off{color:#ffd0e4}.review-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.review-form{background:#fff5f7;border:1px dashed #e9c4d3;border-radius:22px;padding:22px;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.review-form label{display:grid;grid-template-columns:155px minmax(0,1fr);align-items:center;gap:18px;font-weight:900;margin-bottom:18px}.review-form label:has(textarea){align-items:start}.review-form label textarea{min-height:140px;resize:vertical}.review-form label input[type="file"]{padding:13px;background:#fff}.review-form .field{width:100%;margin:0}.review-image-preview{display:flex;align-items:center;gap:12px;border:1px dashed var(--border);border-radius:16px;background:#fff;padding:12px;margin:0 0 16px 173px}.review-image-preview img{width:90px;height:90px;border-radius:14px;object-fit:cover}.review-list{display:grid;gap:16px}.review-item{border:1px solid var(--border);border-radius:22px;padding:18px;background:#fff;box-shadow:0 10px 24px rgba(74,31,61,.06)}.review-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}.review-stars{font-size:18px;letter-spacing:1px}.review-uploaded-img{width:150px;height:150px;border-radius:18px;object-fit:cover;border:1px solid var(--border);margin-top:10px;display:block}.detail-rating .star-on,.detail-rating .star-off{font-size:18px}
@media(max-width:560px){.form-grid{grid-template-columns:1fr;gap:0}.review-form label{grid-template-columns:1fr;gap:8px}.review-image-preview{margin-left:0}.review-summary{align-items:flex-start;flex-direction:column}.tab-body{padding:18px}.review-uploaded-img{width:130px;height:130px}}

/* Coupon management and coupon apply design */
.coupon-box{border:1px dashed #e9c4d3;background:#fff5f7;border-radius:20px;padding:16px;margin:18px 0;display:grid;gap:10px}
.coupon-box label{font-weight:950;color:var(--primary)}
.coupon-row{display:flex;gap:10px;align-items:center}
.coupon-row .field{flex:1;text-transform:uppercase;font-weight:900}
.coupon-row .btn{white-space:nowrap;padding:13px 18px}
.coupon-remove{width:max-content;padding:10px 15px!important;font-size:14px}
.coupon-message{font-size:14px;color:var(--muted);font-weight:800;margin:0}
.grand-total{border-top:1px solid var(--border);padding-top:12px;margin-top:10px;font-size:20px}
.grand-total b{color:var(--primary)}
@media(max-width:560px){.coupon-row{flex-direction:column;align-items:stretch}.coupon-remove{width:100%}}


/* Product variation system */
.variation-admin-box{border:1px dashed #e9c4d3;background:#fff5f7;border-radius:22px;padding:16px;margin:8px 0;display:grid;gap:12px}
.variation-admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.variation-admin-head h3{margin:0;color:var(--primary)}
.variation-row{background:#fff;border:1px solid var(--border);border-radius:20px;padding:14px;margin:12px 0;box-shadow:0 8px 20px rgba(74,31,61,.06)}
.variation-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.small-btn{padding:8px 12px!important;font-size:13px!important}
.variation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.variation-preview{display:flex;align-items:center;gap:10px;border:1px dashed var(--border);border-radius:16px;padding:10px;background:#fff;margin-top:8px}
.variation-preview img{width:82px;height:82px;object-fit:cover;border-radius:14px;border:1px solid var(--border)}
.variation-box{border:1px solid var(--border);background:#fff5f7;border-radius:22px;padding:16px;margin:18px 0}
.variation-box h3{margin:0 0 12px;color:var(--primary)}
.variation-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.variation-option{border:2px solid var(--border);background:#fff;border-radius:18px;padding:10px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;color:var(--text);transition:.2s;font-weight:800}
.variation-option:hover,.variation-option.active{border-color:var(--primary);box-shadow:0 10px 24px rgba(74,31,61,.18);transform:translateY(-2px)}
.variation-option img{width:54px;height:54px;border-radius:14px;object-fit:cover;border:1px solid var(--border);flex:none}
.variation-option small{display:block;color:var(--muted);font-weight:800;line-height:1.25}
.variation-dot{width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,#fff0f4,#f2d9e2);border:1px solid var(--border);display:block;flex:none}
.cart-product-title,.checkout-product-line{display:flex;align-items:center;gap:10px}
.cart-mini-img,.checkout-mini-img{width:52px;height:52px;object-fit:cover;border-radius:14px;border:1px solid var(--border);background:#fff0f4;flex:none}
@media(max-width:560px){.variation-grid{grid-template-columns:1fr}.variation-options{grid-template-columns:1fr}.variation-option{align-items:flex-start}.cart-product-title,.checkout-product-line{align-items:flex-start}}

/* Home category click dropdown */
.category-click-card{width:100%;border:1px solid var(--border);cursor:pointer;font-family:inherit;color:inherit;}
.category-click-card.active{border-color:var(--primary);box-shadow:var(--shadow);background:linear-gradient(180deg,#fff,#fff0f4);}
.cat-click-text{font-size:13px;font-weight:900;color:var(--primary);margin-top:2px;}
.home-subcategory-dropdown{display:none;margin-top:26px;background:#fff;border:2px dashed var(--secondary);border-radius:30px;padding:24px;box-shadow:0 18px 45px rgba(74,31,61,.12);}
.home-subcategory-dropdown.show{display:block;animation:fadeUp .25s ease;}
.home-sub-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;}
.home-sub-head h3{font-size:28px;color:var(--primary);margin:0 0 4px;font-weight:950;}
.home-sub-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}
.home-sub-grid .round-category-card{background:#fff5f7;border:1px solid #f2d9e2;}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.home-sub-head{display:block}.home-sub-head .btn{margin-top:14px}.home-subcategory-dropdown{padding:16px}.home-sub-grid{grid-template-columns:repeat(2,1fr)}}

/* Admin category/sub-category order controls */
.sortable-admin-item{align-items:center;gap:14px;}
.sort-number{width:34px;height:34px;border-radius:50%;background:#fff0f4;border:1px solid var(--border);display:inline-grid;place-items:center;font-weight:950;color:var(--primary);flex:none;}
.admin-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;}
.admin-move-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.admin-move-actions .small-btn{padding:8px 11px!important;font-size:12px!important;border-radius:999px!important;}
.admin-move-actions .small-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}
.admin-edit-actions{display:flex;gap:8px;align-items:center;}
@media(max-width:760px){.sortable-admin-item{align-items:flex-start;flex-direction:column}.admin-item-actions{width:100%;justify-content:flex-start}.admin-move-actions{justify-content:flex-start}.admin-edit-actions{width:100%}.admin-edit-actions .btn{flex:1}}

/* Admin product search and filter toolbar */
.admin-product-toolbar{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr .8fr auto;gap:12px;align-items:end;background:#fff5f7;border:1px dashed var(--border);border-radius:22px;padding:14px;margin:12px 0 16px;}
.admin-product-toolbar label{font-weight:900;color:var(--text);font-size:13px;display:grid;gap:6px;}
.admin-product-toolbar input,.admin-product-toolbar select{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 13px;font-weight:800;background:#fff;color:var(--text);outline:none;}
.admin-product-toolbar input:focus,.admin-product-toolbar select:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(74,31,61,.12);}
.admin-product-count{font-weight:900;color:var(--primary);font-size:14px;margin:0 0 12px;}
@media(max-width:1024px){.admin-product-toolbar{grid-template-columns:1fr 1fr;}.admin-product-toolbar .btn{width:100%;}}
@media(max-width:560px){.admin-product-toolbar{grid-template-columns:1fr;}}

.product-status-check{justify-content:flex-start;background:#fff5f7;border:1px solid var(--border);border-radius:16px;padding:13px 15px;margin:0}.product-status-check input{width:18px!important;height:18px;accent-color:var(--primary);flex:none}.product-status-check span{font-weight:900}


/* Announcement bar: single line right-to-left slide */
.topbar{
  background:var(--primary)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:.2px!important;
  padding:8px 0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  position:relative!important;
  line-height:1.2!important;
  height:34px!important;
  display:block!important;
}
/* Old single-span marquee removed: padding-left:100% left a blank gap
   before the text re-entered. The seamless two-half loop is defined at the
   end of this file instead. */
@media(max-width:560px){
  .topbar{font-size:12px!important;height:30px!important;padding:7px 0!important;}
}


/* Admin order detail popup */
.modal-open{overflow:hidden}
.admin-order-card{cursor:pointer;transition:.25s}
.admin-order-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.admin-order-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}
.admin-order-actions .field{max-width:220px}
.order-detail-modal{position:fixed;inset:0;z-index:9999}
.order-detail-backdrop{position:absolute;inset:0;background:rgba(20,20,20,.55);backdrop-filter:blur(6px)}
.order-detail-panel{position:relative;width:min(1120px,94vw);max-height:92vh;overflow:auto;margin:4vh auto;background:#fff;border:1px solid var(--border);border-radius:26px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.order-close{position:sticky;top:0;float:right;width:44px;height:44px;border:0;border-radius:50%;background:var(--primary);color:#fff;font-size:28px;font-weight:900;cursor:pointer;z-index:2}
.order-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:18px}
.order-detail-head h2{font-size:30px;margin:0;color:var(--text)}
.order-status-select{max-width:230px}
.order-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}
.order-info-card{background:#fff5f7;border:1px solid var(--border);border-radius:20px;padding:18px}
.order-info-card h3{color:var(--primary);margin-bottom:10px}
.order-items-box{border:1px solid var(--border);border-radius:22px;overflow:hidden;background:#fff;margin-bottom:18px}
.order-detail-table{width:100%;border-collapse:collapse}
.order-detail-table th{background:#fff5f7;color:var(--muted);text-align:left;padding:14px}
.order-detail-table td{border-top:1px solid var(--border);padding:14px;vertical-align:middle}
.order-product-cell{display:flex;align-items:center;gap:14px}
.order-product-cell img{width:58px;height:58px;border-radius:12px;object-fit:cover;border:1px solid var(--border)}
.order-total-box{margin-left:auto;width:min(380px,100%);background:#fff5f7;border:1px solid var(--border);border-radius:22px;padding:18px;display:grid;gap:10px}
.order-total-box div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.order-grand-total{border-top:1px solid var(--border);padding-top:12px;font-size:20px;color:var(--primary)}
@media(max-width:800px){
 .order-info-grid{grid-template-columns:1fr}
 .order-detail-head{flex-direction:column}
 .order-status-select{max-width:100%}
 .order-detail-panel{padding:18px}
 .order-detail-table{font-size:14px}
 .order-product-cell{align-items:flex-start}
}


.order-head-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.order-head-actions .danger{box-shadow:0 10px 25px rgba(239,68,68,.20)}
@media(max-width:800px){.order-head-actions{width:100%;justify-content:flex-start}.order-head-actions .field,.order-head-actions .btn{width:100%;max-width:100%}}


/* Modern centered delete confirmation popup */
.modern-confirm-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px}
.modern-confirm-backdrop{position:absolute;inset:0;background:rgba(20,20,20,.55);backdrop-filter:blur(8px)}
.modern-confirm-card{position:relative;width:min(430px,92vw);background:#fff;border:1px solid var(--border);border-radius:28px;padding:32px 28px;text-align:center;box-shadow:0 30px 90px rgba(20,20,20,.28);animation:confirmPop .22s ease}
.modern-confirm-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#fff0f4;border:2px dashed var(--primary);color:var(--primary);font-size:34px;font-weight:950}
.modern-confirm-card h3{font-size:26px;margin:0 0 8px;color:var(--text)}
.modern-confirm-card p{color:var(--muted);font-size:16px;margin-bottom:22px}
.modern-confirm-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.modern-confirm-actions .btn{min-width:135px}
.modern-confirm-actions .danger{background:#ef4444!important}
@keyframes confirmPop{from{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
@media(max-width:480px){.modern-confirm-card{padding:26px 20px}.modern-confirm-actions .btn{width:100%}}


/* Modern centered toast message */
.toast{
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%) scale(.92)!important;
  z-index:10001!important;
  min-width:min(420px,90vw)!important;
  max-width:90vw!important;
  background:#3a2233!important;
  color:#fff!important;
  border-radius:22px!important;
  padding:18px 24px!important;
  text-align:center!important;
  font-size:17px!important;
  font-weight:900!important;
  box-shadow:0 30px 90px rgba(20,20,20,.35)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  display:none!important;
}
.toast.show{
  display:block!important;
  animation:modernToastPop .28s ease forwards!important;
}
@keyframes modernToastPop{
  from{opacity:0;transform:translate(-50%,-50%) scale(.88);}
  to{opacity:1;transform:translate(-50%,-50%) scale(1);}
}
@media(max-width:480px){
  .toast{font-size:15px!important;padding:16px 18px!important;border-radius:18px!important;}
}


/* checkout order note field */
#checkoutForm textarea[name="notes"]{
  min-height:100px;
  background:#fff5f7;
}


/* checkout country state dropdown */
#checkoutCountry,
#checkoutState{
  width:100%;
  border:1px solid var(--border);
  border-radius:16px;
  padding:13px 15px;
  background:#fff;
  outline:none;
}
#checkoutCountry:focus,
#checkoutState:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(74,31,61,.12);
}

/* Tiered pricing */
.tiered-admin-box{border:1px dashed #e9c4d3;background:#fff5f7;border-radius:22px;padding:16px;margin:14px 0;display:grid;gap:12px}
.tiered-admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tiered-admin-head h3{margin:0;color:var(--primary)}
.tier-row{background:#fff;border:1px solid var(--border);border-radius:18px;padding:12px;margin:10px 0}
.tier-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.tiered-price-box{border:1px dashed var(--primary);background:#fff5f7;border-radius:22px;padding:16px;margin:18px 0}
.tiered-price-box h3{margin:0 0 10px;color:var(--primary)}
.tiered-price-list{display:grid;gap:8px}
.tiered-price-list div{display:flex;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px 12px;font-weight:900}
.tiered-price-list b{color:var(--primary)}
@media(max-width:680px){.tier-grid{grid-template-columns:1fr}.tier-grid .btn{width:100%}.tiered-price-list div{flex-direction:column;gap:2px}}


/* Tiered pricing fixed/percentage dropdown */
.tiered-admin-box{border:1px dashed #e9c4d3;background:#fff5f7;border-radius:22px;padding:16px;margin:14px 0;display:grid;gap:12px}
.tiered-admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tiered-admin-head h3{margin:0;color:var(--primary)}
.tier-type-label{font-weight:900;display:grid;gap:8px;max-width:420px}
.tier-price-head{margin-top:6px}
.tier-row{background:#fff;border:1px solid var(--border);border-radius:18px;padding:12px;margin:10px 0}
.tier-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.tier-grid-simple{grid-template-columns:1fr 1fr 42px!important;align-items:center!important}
.tier-remove-btn{width:36px;height:36px;border:0;border-radius:50%;background:#8a6a7d;color:#fff;font-size:22px;font-weight:900;cursor:pointer;line-height:1}
.tier-remove-btn:hover{background:#ef4444}
.tiered-price-box{border:1px dashed var(--primary);background:#fff5f7;border-radius:22px;padding:16px;margin:18px 0}
.tiered-price-box h3{margin:0 0 10px;color:var(--primary)}
.tiered-price-list{display:grid;gap:8px}
.tiered-price-list div{display:flex;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px 12px;font-weight:900}
.tiered-price-list b{color:var(--primary)}
@media(max-width:680px){.tier-grid,.tier-grid-simple{grid-template-columns:1fr!important}.tier-grid .btn,.tier-remove-btn{width:100%}.tiered-price-list div{flex-direction:column;gap:2px}}


/* Quantity discount vs coupon rule note */
.quantity-coupon-note{color:var(--primary);font-weight:900}


/* Admin State-wise Shipping */
.state-shipping-admin-box{border:1px dashed #e9c4d3;background:#fff5f7;border-radius:24px;padding:18px;margin:18px 0;display:grid;gap:14px}
.state-shipping-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.state-shipping-head h2{color:var(--primary);margin:0}
.state-toggle{background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px 14px}
.state-shipping-form{display:grid;grid-template-columns:1.3fr .8fr .7fr auto;gap:12px;align-items:end}
.state-shipping-actions{display:flex;gap:8px;flex-wrap:wrap}
.state-shipping-list{display:grid;gap:10px}
.state-rate-item{background:#fff}
@media(max-width:980px){.state-shipping-form{grid-template-columns:1fr 1fr}.state-shipping-actions{grid-column:1/-1}}
@media(max-width:560px){.state-shipping-form{grid-template-columns:1fr}.state-shipping-head{align-items:flex-start;flex-direction:column}.state-shipping-actions .btn{width:100%}}


/* Buy Now button */
.buy-now-btn{
  background:#e0417f!important;
  color:#fff!important;
  border:1px solid #e0417f!important;
  border-radius:999px!important;
  box-shadow:0 10px 25px rgba(74,31,61,.25)!important;
  font-weight:900!important;
}
.buy-now-btn:hover{
  background:#ee6aa0!important;
  border-color:#ee6aa0!important;
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(74,31,61,.32)!important;
}
.detail-cart .buy-now-btn{
  white-space:nowrap;
}
@media(max-width:560px){
  .detail-cart{
    flex-wrap:wrap;
  }
  .detail-cart input{
    width:100%;
  }
  .detail-cart .btn{
    flex:1;
    text-align:center;
  }
}


/* Product card Buy Now quantity-safe button */
.buy-now-btn{
  background:#e0417f!important;
  color:#fff!important;
  border:1px solid #e0417f!important;
  border-radius:999px!important;
  box-shadow:0 10px 25px rgba(74,31,61,.25)!important;
  font-weight:900!important;
}
.buy-now-btn:hover{
  background:#ee6aa0!important;
  border-color:#ee6aa0!important;
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(74,31,61,.32)!important;
}
.detail-cart .buy-now-btn{white-space:nowrap}
@media(max-width:560px){
  .detail-cart{flex-wrap:wrap}
  .detail-cart input{width:100%}
  .detail-cart .btn{flex:1;text-align:center}
}


/* Order details fixed item table */
.order-items-box{overflow-x:auto;border:1px solid #f2d9e2;border-radius:22px;background:#fff;padding:10px}
.order-detail-table{width:100%;border-collapse:separate;border-spacing:0;min-width:620px}
.order-detail-table th{background:#fff0f4;color:#e0417f;text-align:left;padding:14px;border-bottom:1px solid #f2d9e2;font-weight:900}
.order-detail-table td{padding:14px;border-bottom:1px solid #ffe0ea;vertical-align:middle}
.order-detail-table tr:last-child td{border-bottom:0}
.order-product-cell,.order-item{display:flex;align-items:center;gap:12px}
.order-product-cell img,.order-item img{width:50px;height:50px;object-fit:cover;border-radius:14px;border:1px solid #f2d9e2;background:#fff}
.order-product-cell small,.order-item small{display:block;color:#8a6a7d;margin-top:4px}
.admin-mini-placeholder{width:50px;height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid #f2d9e2;background:#fff0f4;color:#e0417f;font-size:11px;font-weight:900;text-align:center}
@media(max-width:680px){.order-detail-panel{width:96vw}.order-items-box{padding:6px}.order-detail-table{min-width:620px}}

/* Email Settings / SMTP Settings */
.email-table-card{padding:0;overflow:hidden}
.email-table-wrap{overflow-x:auto;width:100%}
.email-settings-table{width:100%;border-collapse:separate;border-spacing:0;min-width:820px}
.email-settings-table th{background:#fff0f4;color:#e0417f;text-align:left;padding:15px;border-bottom:1px solid #f2d9e2;font-weight:900}
.email-settings-table td{padding:14px;border-bottom:1px solid #ffe0ea;vertical-align:middle;background:#fff}
.email-settings-table tr:hover td{background:#fff5f7}
.email-status-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.email-status-toggle input{display:none}
.email-enabled,.email-disabled{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:900}
.email-enabled{background:#e7f4ff;color:#1677c8;border:1px solid #b9def9}
.email-disabled{background:#f2f2f2;color:#888;border:1px solid #ddd}
.email-manage-modal{position:fixed;inset:0;z-index:9999}
.email-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.email-modal-panel{position:relative;margin:4vh auto;background:#fff;border-radius:28px;width:min(940px,94vw);max-height:92vh;overflow:auto;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.25)}
.email-modal-panel h2{color:#e0417f;margin-top:0}
.email-log-success{background:#e9fff1;color:#0a8f3c;border:1px solid #bce8cc;border-radius:999px;padding:5px 10px;font-weight:900}
.email-log-failed{background:#fff0f0;color:#d63b3b;border:1px solid #ffd0d0;border-radius:999px;padding:5px 10px;font-weight:900}
@media(max-width:680px){.email-modal-panel{padding:16px;border-radius:20px}.email-settings-table{min-width:760px}}


/* Home Sections Admin / Home Reviews Admin */
.sortable-admin-item{align-items:flex-start!important}
.sort-number{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:#fff0f4;color:#e0417f;font-weight:900;margin-right:8px;border:1px solid #f2d9e2}
.admin-move-actions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.admin-item-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.small-btn{padding:8px 10px!important;font-size:12px!important}
#homeSectionForm textarea,#homeReviewForm textarea{min-height:120px}
@media(max-width:680px){.admin-item-actions{justify-content:flex-start}.admin-move-actions .btn{flex:1}}

.section-inline-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.section-inline-head h2{margin:0}

/* Dynamic home sections added from Admin Home Sections */
#dynamicHomeSections .section{display:block}


/* Fix Loved by Our Customers cards cutting from bottom/sides */
.loved-section{
  overflow:hidden;
  padding-bottom:56px;
}
.review-slider{
  overflow:hidden;
  padding:18px 0 34px;
  margin-bottom:18px;
}
.review-track{
  align-items:stretch;
  padding:0 0 18px;
}
.review-card{
  min-height:170px;
  height:auto!important;
  overflow:visible!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px 26px!important;
  margin-bottom:16px;
}
.review-card p{
  overflow:visible!important;
  display:block!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  max-height:none!important;
  margin:12px 0!important;
}
.review-card h4{
  margin:8px 0 0!important;
  line-height:1.35;
}
@media(max-width:680px){
  .loved-section{padding-bottom:42px}
  .review-slider{padding-bottom:30px}
  .review-card{min-height:160px;padding:24px 20px!important}
}


/* Category / sub-category dropdown close and animation */
.home-subcategory-dropdown,
.subcategory-dropdown{
  display:none;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .25s ease, transform .25s ease;
}
.home-subcategory-dropdown.show,
.home-subcategory-dropdown.open,
.subcategory-dropdown.open{
  display:block;
  opacity:1;
  transform:translateY(0);
}
.category-click-card.active{
  border-color:#e0417f!important;
  box-shadow:0 16px 35px rgba(74,31,61,.18);
}
@media(max-width:680px){
  .home-subcategory-dropdown.show,
  .home-subcategory-dropdown.open{
    display:block;
  }
}


/* Admin sidebar scroll fix */
.admin-layout{
  min-height:100vh;
}
.admin-sidebar{
  height:100vh;
  max-height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  position:sticky;
  top:0;
  padding-bottom:24px;
  scrollbar-width:thin;
  scrollbar-color:#e0417f rgba(255,255,255,.12);
}
.admin-sidebar::-webkit-scrollbar{
  width:8px;
}
.admin-sidebar::-webkit-scrollbar-track{
  background:rgba(255,255,255,.08);
  border-radius:999px;
}
.admin-sidebar::-webkit-scrollbar-thumb{
  background:#e0417f;
  border-radius:999px;
}
.admin-sidebar nav{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-bottom:22px;
}
.admin-sidebar a:last-child{
  margin-bottom:18px;
}
@media(max-width:900px){
  .admin-sidebar{
    position:relative;
    height:auto;
    max-height:70vh;
    overflow-y:auto;
  }
}


/* Admin Product List - Edit/Delete Button Alignment */
#adminProductList .admin-product-item{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  width:100%!important;
  padding:14px!important;
  border:1px solid #e9c4d3!important;
  border-radius:18px!important;
  background:#fff!important;
}
#adminProductList .admin-product-left,
#adminProductList .product-left{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
#adminProductList .admin-product-info,
#adminProductList .product-info{
  flex:1 1 auto!important;
  min-width:0!important;
}
#adminProductList .admin-product-info h3,
#adminProductList .product-info h3{
  margin:0 0 4px!important;
  font-size:16px;
  line-height:1.25;
}
#adminProductList .admin-product-info p,
#adminProductList .product-info p{
  margin:0!important;
  line-height:1.45!important;
  overflow-wrap:anywhere;
}
#adminProductList .admin-product-actions,
#adminProductList .product-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex:0 0 auto!important;
  min-width:158px!important;
}
#adminProductList .admin-product-actions .btn,
#adminProductList .product-actions .btn,
#adminProductList .edit-btn,
#adminProductList .delete-btn{
  height:50px!important;
  min-width:72px!important;
  padding:0 18px!important;
  border:none!important;
  border-radius:999px!important;
  font-weight:800!important;
  cursor:pointer!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
  white-space:nowrap!important;
  margin:0!important;
}
#adminProductList .edit-btn{
  background:#e0417f!important;
  color:#fff!important;
}
#adminProductList .delete-btn{
  background:#ff3b3b!important;
  color:#fff!important;
}
#adminProductList .admin-mini-img,
#adminProductList .admin-mini-placeholder{
  flex:0 0 52px!important;
}
@media(max-width:600px){
  #adminProductList .admin-product-item{
    align-items:flex-start!important;
    gap:12px!important;
  }
  #adminProductList .admin-product-actions,
  #adminProductList .product-actions{
    flex-direction:column!important;
    gap:8px!important;
    min-width:82px!important;
  }
  #adminProductList .admin-product-actions .btn,
  #adminProductList .product-actions .btn,
  #adminProductList .edit-btn,
  #adminProductList .delete-btn{
    width:82px!important;
    min-width:82px!important;
    height:44px!important;
    padding:0 12px!important;
  }
}

/* Payment settings and checkout payment methods */
.payment-settings-admin-box{border:1px dashed #e9c4d3;background:#fff5f7;border-radius:24px;padding:18px;margin:18px 0;display:grid;gap:12px}
.payment-settings-admin-box h2{margin:0;color:#e0417f}
.payment-method-box{border:1px solid #f2d9e2;background:#fff5f7;border-radius:22px;padding:16px;display:grid;gap:12px}
.payment-method-box h3{margin:0;color:#e0417f}
.payment-option{display:flex;align-items:center;gap:12px;border:1px solid #e9c4d3;border-radius:18px;background:#fff;padding:14px;cursor:pointer}
.payment-option input{width:18px;height:18px;accent-color:#e0417f}
.payment-option span{display:grid;gap:3px}
.payment-option small{color:#8a6a7d;font-weight:600}
.payment-option:hover{box-shadow:0 12px 26px rgba(74,31,61,.14);transform:translateY(-1px)}
@media(max-width:600px){.payment-option{align-items:flex-start}.payment-settings-admin-box .two-col{grid-template-columns:1fr}}

/* Home Hero Admin Settings */
.hero-image-preview img{max-height:170px;object-fit:cover;border-radius:18px}
.hero-uploaded-img{width:100%;max-height:360px;object-fit:cover;border-radius:28px;display:block}
.admin-hero-preview-card{border:1px solid #f2d9e2;background:#fff5f7;border-radius:24px;padding:22px;display:grid;gap:12px}
.admin-hero-preview-card h2{margin:0;color:#3a2233;font-size:28px;line-height:1.15}
.admin-hero-preview-card p{margin:0;color:#6e3459;line-height:1.5}
.admin-hero-preview-card img{width:100%;max-height:220px;object-fit:cover;border-radius:18px;border:1px solid #f2d9e2}
#homeHeroForm textarea{min-height:120px}
@media(max-width:680px){.admin-hero-preview-card h2{font-size:22px}.hero-uploaded-img{max-height:260px}}


/* Product card spacing fix: image to title gap */
.product-card .product-img,
.product-card .product-image,
.product-card-image,
.product-card .img-box,
.product-card .product-thumb{
  margin-bottom:16px!important;
}
.product-card h3,
.product-card .product-title{
  margin-top:0!important;
  margin-bottom:12px!important;
  line-height:1.28!important;
  display:block;
}
.product-card .price,
.product-card .product-price{
  margin-top:0!important;
  margin-bottom:18px!important;
}
.product-card .product-actions,
.product-card .card-actions{
  margin-top:16px!important;
}
.product-card{
  gap:0!important;
}
@media(max-width:560px){
  .product-card .product-img,
  .product-card .product-image,
  .product-card-image,
  .product-card .img-box,
  .product-card .product-thumb{
    margin-bottom:14px!important;
  }
  .product-card h3,
  .product-card .product-title{
    margin-bottom:10px!important;
  }
}


/* Product card more spacing between image and title */
.product-card .product-img,
.product-card .product-image,
.product-card-image,
.product-card .img-box,
.product-card .product-thumb{
  margin-bottom:24px!important;
}
.product-card h3,
.product-card .product-title{
  margin-top:0!important;
  margin-bottom:14px!important;
  line-height:1.32!important;
}
.product-card .price,
.product-card .product-price{
  margin-bottom:22px!important;
}
.product-card .product-actions,
.product-card .card-actions{
  margin-top:20px!important;
}
@media(max-width:560px){
  .product-card .product-img,
  .product-card .product-image,
  .product-card-image,
  .product-card .img-box,
  .product-card .product-thumb{
    margin-bottom:20px!important;
  }
  .product-card h3,
  .product-card .product-title{
    margin-bottom:12px!important;
  }
}


/* Hide top products page controls for direct sub-category product view */
body:has(#productGrid) .filter-row[style*="display: none"] + #subCategorySection + #productResultTitle + #productGrid,
body:has(#productGrid) .filter-row[style*="display:none"] + #subCategorySection + #productResultTitle + #productGrid{
  margin-top:0!important;
}


/* Direct sub-category page: show only sub-category name above products */
.page-title[style*="display: none"] + .section .filter-row[style*="display: none"] ~ .result-title,
.page-title[style*="display:none"] + .section .filter-row[style*="display:none"] ~ .result-title{
  margin-top:0!important;
  margin-bottom:28px!important;
  text-align:center;
}


/* Category page: hide duplicate filter row and duplicate "Sub Categories" heading */
#subCategorySection .section-head{
  display:none!important;
}
#subCategorySection{
  margin-top:10px!important;
}
.page-title + .section .filter-row[style*="display: none"]{
  display:none!important;
}


/* Category page title color like reference image */
.pink-page-title{
  color:#e0417f!important;
}


/* Products page: remove top title/filter area, show product heading only */
.page-title[style*="display: none"] + .section{
  padding-top:24px!important;
}
.page-title[style*="display:none"] + .section{
  padding-top:24px!important;
}
.page-title[style*="display: none"] + .section .filter-row[style*="display: none"] ~ .result-title,
.page-title[style*="display:none"] + .section .filter-row[style*="display:none"] ~ .result-title{
  margin-top:0!important;
  margin-bottom:28px!important;
  text-align:center;
}


/* Product short line and key features */
.product-feature-lines{
  margin:14px 0 18px;
  padding:16px 18px;
  border:1px solid #f2d9e2;
  background:#fff5f7;
  border-radius:18px;
  color:#6e3459;
  line-height:1.6;
}
.product-feature-lines p{
  margin:0 0 8px;
}
.product-feature-lines p:last-child{
  margin-bottom:0;
}
.product-feature-lines b{
  color:#3a2233;
}
.product-feature-lines span{
  color:#6e3459;
}
.product-feature-lines .feature-dot{
  color:#e0417f;
  font-weight:900;
}
#productForm textarea[name="shortDesc"],
#productForm textarea[name="keyFeatures"]{
  min-height:90px;
}
@media(max-width:560px){
  .product-feature-lines{
    padding:14px;
    font-size:14px;
  }
}


/* Key Features only inside Description tab */
.description-only-features{
  margin-top:18px!important;
  margin-bottom:0!important;
}
.description-only-features .short-product-line{
  margin-bottom:14px!important;
}
.description-only-features .feature-heading{
  margin:0 0 10px!important;
}
.description-only-features ul{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:8px;
}
.description-only-features li{
  line-height:1.5;
  color:#6e3459;
}


/* Blank product description when admin leaves Description / Key Features / Short Product Line empty */
.product-description-content:empty,
.product-feature-lines:empty{
  display:none!important;
}


/* Short Product Line below product price only */
.detail-short-product-line{
  margin:8px 0 18px!important;
  color:#6e3459;
  line-height:1.6;
  font-size:16px;
}
.description-only-features .short-product-line{
  display:none!important;
}


/* Product detail stock label clean format */
.stock-line{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  padding:12px 18px!important;
  border:1px dashed #e0417f!important;
  border-radius:999px!important;
  background:#fff5f7!important;
  color:#e0417f!important;
  font-weight:900!important;
  line-height:1.2!important;
}

/* Quantity input respects product/variation stock */
#detailQty:invalid{
  border-color:#e0417f!important;
  box-shadow:0 0 0 3px rgba(74,31,61,.12)!important;
}

/* Out of stock state */
.stock-line.out-of-stock{
  color:#ff3b3b!important;
  border-color:#ff3b3b!important;
  background:#fff3f3!important;
}
.detail-cart .btn.disabled,
.detail-cart .btn:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:none!important;
}
#detailQty:disabled{
  opacity:.6;
  cursor:not-allowed;
}

/* Product variation size field */
.variation-grid{
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
}
.variation-option small{
  display:block;
}


/* Order details popup: spacing between Delete Order and close button */
.order-detail-actions,
.order-detail-header .order-actions,
.order-detail-head .order-actions,
.order-detail-top-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:18px!important;
}
.order-detail-actions .btn.danger,
.order-detail-header .btn.danger,
.order-detail-head .btn.danger,
.order-detail-top-actions .btn.danger{
  margin-right:8px!important;
}
.order-detail-actions .close-btn,
.order-detail-header .close-btn,
.order-detail-head .close-btn,
.order-detail-top-actions .close-btn,
.order-detail-actions [onclick*="closeOrderDetails"],
.order-detail-header [onclick*="closeOrderDetails"],
.order-detail-head [onclick*="closeOrderDetails"]{
  margin-left:10px!important;
}
@media(max-width:600px){
  .order-detail-actions,
  .order-detail-header .order-actions,
  .order-detail-head .order-actions,
  .order-detail-top-actions{
    gap:12px!important;
    flex-wrap:wrap;
  }
}

/* International shipping setting */
#settingsForm [name="internationalShippingAmount"]{
  border-color:#e9c4d3;
}

/* Order tracking details in admin order popup */
.tracking-box{
  border:1px solid #e9c4d3;
  border-radius:22px;
  background:#fff5f7;
  padding:18px;
  margin:18px 0;
}
.tracking-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.tracking-head h3{
  margin:0;
  color:#e0417f;
}
.tracking-sent{
  font-size:13px;
  font-weight:800;
  color:#278a44;
  background:#eafff0;
  border:1px solid #b9f2c8;
  padding:8px 12px;
  border-radius:999px;
}
.tracking-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.tracking-grid label{
  display:grid;
  gap:6px;
  font-weight:800;
}
.tracking-grid textarea{
  resize:vertical;
}
.tracking-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
}
@media(max-width:700px){
  .tracking-grid{grid-template-columns:1fr}
  .tracking-actions{justify-content:flex-start}
}


/* Order details close button scrolls with Delete Order button */
.order-detail-panel > .order-close{
  display:none!important;
}
.order-head-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:18px!important;
  flex-wrap:wrap;
}
.order-head-actions .order-close{
  position:static!important;
  float:none!important;
  flex:0 0 44px!important;
  width:44px!important;
  height:44px!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  border:0!important;
  border-radius:50%!important;
  background:#e0417f!important;
  color:#fff!important;
  font-size:28px!important;
  font-weight:900!important;
  cursor:pointer!important;
  z-index:auto!important;
}
@media(max-width:700px){
  .order-detail-head{
    align-items:flex-start!important;
  }
  .order-head-actions{
    gap:10px!important;
  }
}

/* Home Section manual product picker */
.home-product-picker-box{
  grid-column:1/-1;
  border:1px dashed #e9c4d3;
  background:#fff5f7;
  border-radius:20px;
  padding:14px;
  display:grid;
  gap:10px;
}
.selected-home-products{
  display:grid;
  gap:8px;
}
.selected-home-product{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid #e9c4d3;
  background:#fff;
  border-radius:14px;
  padding:10px 12px;
}
.selected-home-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.tiny-btn{
  min-height:30px!important;
  height:30px!important;
  padding:0 10px!important;
  font-size:12px!important;
}
@media(max-width:640px){
  .selected-home-product{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Home Section product searchable picker */
.home-product-search-results{
  display:grid;
  gap:8px;
  max-height:260px;
  overflow:auto;
  padding-right:4px;
}
.home-product-result{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #e9c4d3;
  background:#fff;
  border-radius:16px;
  padding:10px;
  text-align:left;
  cursor:pointer;
}
.home-product-result:hover{
  border-color:#e0417f;
  box-shadow:0 10px 24px rgba(74,31,61,.12);
  transform:translateY(-1px);
}
.home-product-result img,
.home-product-result .admin-mini-placeholder{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:12px;
  object-fit:cover;
}
.home-product-result span{
  flex:1;
  min-width:0;
  display:grid;
  gap:2px;
}
.home-product-result small{
  color:#8a6a7d;
  font-weight:700;
}
.home-product-result em{
  font-style:normal;
  font-weight:900;
  color:#e0417f;
}
#homeSectionProductSearch{
  font-weight:700;
}


/* Admin Home Section List: keep Edit/Delete aligned */
#homeSectionList .home-section-row{
  display:grid!important;
  grid-template-columns:1fr auto auto!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
}
#homeSectionList .section-info{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
#homeSectionList .section-info > span:last-child{
  min-width:0!important;
}
#homeSectionList .section-move-buttons{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
}
#homeSectionList .section-move-buttons .admin-move-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  margin:0!important;
}
#homeSectionList .section-action-buttons{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
  min-width:164px!important;
}
#homeSectionList .section-action-buttons .btn{
  height:48px!important;
  min-width:76px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  margin:0!important;
  line-height:1!important;
  font-weight:800!important;
}
#homeSectionList .section-action-buttons .btn.danger{
  margin-top:0!important;
  display:inline-flex!important;
  width:auto!important;
}
@media(max-width:900px){
  #homeSectionList .home-section-row{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  #homeSectionList .section-move-buttons,
  #homeSectionList .section-move-buttons .admin-move-actions,
  #homeSectionList .section-action-buttons{
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }
  #homeSectionList .section-action-buttons{
    min-width:0!important;
  }
  #homeSectionList .section-action-buttons .btn{
    flex:0 0 auto!important;
    min-width:120px!important;
  }
}
@media(max-width:480px){
  #homeSectionList .section-action-buttons .btn{
    flex:1 1 120px!important;
  }
}

/* Dynamic store name fix: hide old/default store text until admin Store Name is saved */
[data-store]:empty,
[data-store][style*="display: none"]{
  display:none!important;
}
.brand [data-store]{
  line-height:1;
}

/* =========================================================
   MOBILE FRIENDLY PATCH ONLY
   Desktop style unchanged. These rules apply only on tablets/phones.
   ========================================================= */
@media (max-width: 768px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;}
  .container{width:min(100% - 28px,1180px)!important;}
  h1{letter-spacing:-1px;}
  .section{padding:34px 0!important;}
  .section-head{align-items:flex-start!important;flex-direction:column!important;gap:12px!important;}
  .section-head h2{font-size:28px!important;}
  .page-title{padding:34px 0 18px!important;}
  .page-title h1{font-size:34px!important;line-height:1.08!important;}
  .content-card,.card{padding:18px!important;border-radius:22px!important;}

  /* Header / menu */
  .navbar{position:sticky!important;top:0!important;}
  .nav-wrap{gap:10px!important;padding:12px 0!important;}
  .brand{min-width:0!important;font-size:20px!important;line-height:1.15!important;}
  .brand span,.brand [data-store]{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:180px!important;display:inline-block;}
  .logo,.site-logo{width:42px!important;height:42px!important;flex:0 0 42px!important;}
  .nav-actions{margin-left:auto!important;gap:8px!important;}
  .icon-btn{padding:10px 13px!important;min-height:42px!important;}
  .hamb{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:42px!important;}
  .menu{top:112px!important;z-index:99!important;max-height:calc(100vh - 112px)!important;overflow:auto!important;box-shadow:0 18px 40px rgba(74,31,61,.12)!important;}
  .menu a{padding:10px 0!important;}
  .dropdown-panel,.dropdown-sub-panel{max-height:none!important;overflow:visible!important;}

  /* Home */
  .hero{padding:34px 0 24px!important;}
  .hero-grid{gap:22px!important;}
  .hero-actions{flex-direction:column!important;align-items:stretch!important;}
  .hero-actions .btn{width:100%!important;text-align:center!important;}
  .mock-product{min-height:260px!important;padding:18px!important;}
  .bag{font-size:90px!important;}
  .floating{font-size:13px!important;padding:9px 11px!important;}
  .trust-strip{grid-template-columns:1fr!important;gap:10px!important;padding:14px!important;}

  /* Product/category grids */
  .cat-grid,.product-grid,.admin-cards,.home-sub-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  .product-card{padding:14px!important;border-radius:20px!important;}
  .product-img{height:170px!important;font-size:52px!important;border-radius:16px!important;}
  .product-title{font-size:16px!important;line-height:1.25!important;}
  .product-actions{flex-direction:column!important;}
  .product-actions .btn{width:100%!important;}
  .round-category-card{padding:14px 10px!important;}
  .cat-round-image{width:118px!important;height:118px!important;}
  .round-category-card h3{font-size:17px!important;}

  /* Product detail */
  .detail-grid{grid-template-columns:1fr!important;gap:22px!important;}
  .detail-image{width:100%!important;min-height:320px!important;max-height:none!important;font-size:92px!important;border-radius:22px!important;overflow:hidden!important;}
  .detail-image img,.detail-main-image{width:100%!important;height:auto!important;max-height:360px!important;object-fit:contain!important;}
  .thumb-row{overflow-x:auto!important;padding-bottom:6px!important;}
  .thumb{width:70px!important;height:70px!important;flex:0 0 70px!important;}
  .detail-info h1{font-size:34px!important;line-height:1.08!important;}
  .detail-price .price{font-size:30px!important;}
  .detail-cart{flex-direction:column!important;align-items:stretch!important;}
  .detail-cart .btn,.detail-cart input{width:100%!important;}
  .variation-options{grid-template-columns:1fr!important;}

  /* Forms */
  .filter-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .filter-row input,.filter-row select,.field,.form input,.form textarea,.form select{width:100%!important;min-width:0!important;max-width:100%!important;}
  .form-grid,.contact-grid,.checkout-grid,.two-col,.tier-grid,.tier-grid-simple,.state-shipping-form{grid-template-columns:1fr!important;}

  /* Cart / checkout / tables */
  .table{display:block!important;width:100%!important;overflow-x:auto!important;white-space:nowrap!important;border-spacing:0 10px!important;}
  .table thead,.table tbody,.table tr{width:100%;}
  .table td,.table th{padding:10px!important;font-size:13px!important;}
  .qty{min-width:110px!important;}
  .summary{position:static!important;top:auto!important;}
  .coupon-row{flex-direction:column!important;align-items:stretch!important;}

  /* Admin layout */
  .admin-layout{display:block!important;min-height:100vh!important;}
  .admin-sidebar{position:relative!important;height:auto!important;max-height:none!important;width:100%!important;padding:16px!important;border-radius:0 0 22px 22px!important;}
  .admin-sidebar .brand{margin-bottom:12px!important;}
  .admin-sidebar nav{display:flex!important;flex-direction:row!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:8px!important;-webkit-overflow-scrolling:touch!important;}
  .admin-sidebar a{flex:0 0 auto!important;white-space:nowrap!important;margin:0!important;padding:10px 13px!important;font-size:14px!important;}
  .admin-main{padding:18px 14px!important;overflow:hidden!important;}
  .admin-main h1{font-size:36px!important;line-height:1.08!important;margin:14px 0!important;}
  .admin-card{padding:16px!important;}
  .admin-card strong{font-size:24px!important;}
  .mini-item,.sortable-admin-item{align-items:flex-start!important;flex-direction:column!important;gap:12px!important;}
  .mini-item .btn,.sortable-admin-item .btn,.admin-edit-actions .btn{width:100%!important;}
  .admin-item-actions,.admin-edit-actions,.section-action-buttons,.order-head-actions{width:100%!important;justify-content:flex-start!important;}
  .admin-product-toolbar{grid-template-columns:1fr!important;}
  .email-table-wrap,.order-items-box{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  .email-settings-table,.order-detail-table{min-width:680px!important;}
  .order-detail-panel{width:96vw!important;margin:2vh auto!important;padding:16px!important;border-radius:22px!important;}
  .order-detail-head{flex-direction:column!important;}
  .order-info-grid{grid-template-columns:1fr!important;}
  .order-total-box{width:100%!important;margin-left:0!important;}

  /* Login */
  .login-shell{padding:18px 14px!important;align-items:start!important;place-items:start center!important;}
  .login-card{width:100%!important;max-width:440px!important;padding:22px 18px!important;border-radius:24px!important;}
  .login-head h1{font-size:38px!important;margin:10px 0!important;}
  .password-field button{flex:0 0 52px!important;}

  /* Modals/toast */
  .modern-confirm-card,.email-modal-panel{width:94vw!important;max-width:94vw!important;padding:22px 18px!important;border-radius:22px!important;}
  .modern-confirm-actions{flex-direction:column!important;}
  .modern-confirm-actions .btn{width:100%!important;}
  .toast{min-width:90vw!important;max-width:90vw!important;font-size:14px!important;}
}

@media (max-width: 480px){
  .container{width:min(100% - 22px,1180px)!important;}
  .topbar{font-size:11px!important;}
  .brand{font-size:18px!important;}
  .brand span,.brand [data-store]{max-width:132px!important;}
  .nav-actions .btn{display:none!important;}
  .menu{top:104px!important;max-height:calc(100vh - 104px)!important;padding:16px!important;}
  h1{font-size:34px!important;}
  .hero h1{font-size:36px!important;}
  .lead{font-size:16px!important;}
  .cat-grid,.product-grid,.admin-cards{grid-template-columns:1fr!important;}
  .home-sub-grid,.sub-category-section .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .cat-round-image{width:105px!important;height:105px!important;}
  .product-img{height:190px!important;}
  .detail-image{min-height:280px!important;}
  .detail-info h1{font-size:30px!important;}
  .tab-head{overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:14px!important;}
  .tab-head button{white-space:nowrap!important;flex:0 0 auto!important;}
  .review-form{padding:16px!important;}
  #adminProductList .admin-product-item{flex-direction:column!important;align-items:stretch!important;}
  #adminProductList .admin-product-left,#adminProductList .product-left{width:100%!important;}
  #adminProductList .admin-product-actions,#adminProductList .product-actions{width:100%!important;min-width:0!important;flex-direction:row!important;}
  #adminProductList .admin-product-actions .btn,#adminProductList .product-actions .btn,#adminProductList .edit-btn,#adminProductList .delete-btn{flex:1 1 0!important;width:auto!important;min-width:0!important;}
  .admin-main h1{font-size:32px!important;}
  .btn,.icon-btn{min-height:44px!important;}
}

/* =========================================================
   MOBILE FRIENDLY FINAL PATCH - cart, checkout, menu, 2-column cards
   Only affects phone/tablet screens. Desktop design unchanged.
   ========================================================= */
@media (max-width: 768px){
  body{overflow-x:hidden!important;}
  .navbar{z-index:999!important;}
  .nav-wrap{display:grid!important;grid-template-columns:auto 1fr auto auto!important;align-items:center!important;column-gap:10px!important;row-gap:12px!important;}
  .brand{grid-column:1/2!important;max-width:58vw!important;}
  .top-search{grid-column:1/-1!important;order:10!important;width:100%!important;margin:0!important;}
  .nav-actions{grid-column:3/5!important;display:flex!important;align-items:center!important;gap:8px!important;justify-content:flex-end!important;}
  .hamb{display:inline-flex!important;width:46px!important;height:46px!important;border-radius:50%!important;font-size:22px!important;padding:0!important;}
  .cart-btn,.nav-actions .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:46px!important;padding:0 18px!important;border-radius:999px!important;white-space:nowrap!important;}
  .logo,.site-logo{width:48px!important;height:48px!important;border-radius:16px!important;object-fit:cover!important;}
  .brand span,.brand [data-store]{max-width:145px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}

  /* Mobile slide/drop menu: clean, centered and compact */
  .menu{position:fixed!important;left:0!important;right:0!important;top:0!important;bottom:0!important;width:100%!important;max-height:100vh!important;overflow-y:auto!important;padding:110px 22px 32px!important;background:rgba(255,255,255,.98)!important;box-shadow:none!important;border:0!important;display:none!important;flex-direction:column!important;align-items:center!important;gap:18px!important;z-index:900!important;text-align:center!important;}
  .menu.open{display:flex!important;}
  .menu > a,.menu-dropdown > a{font-size:20px!important;font-weight:950!important;padding:6px 0!important;line-height:1.25!important;}
  .menu-dropdown{width:100%!important;max-width:360px!important;display:block!important;text-align:center!important;}
  .dropdown-panel{position:static!important;display:block!important;width:100%!important;min-width:0!important;padding:10px 0 0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
  .dropdown-cat{width:100%!important;margin:8px 0!important;border:1px solid #f2d9e2!important;background:#fff5f7!important;border-radius:18px!important;padding:8px!important;}
  .dropdown-cat-title{display:grid!important;grid-template-columns:48px 1fr!important;gap:12px!important;align-items:center!important;text-align:left!important;white-space:normal!important;padding:8px!important;font-size:18px!important;line-height:1.2!important;}
  .dropdown-sub-panel{position:static!important;display:grid!important;gap:8px!important;width:100%!important;min-width:0!important;margin:6px 0 0!important;padding:10px!important;background:#fff0f4!important;border:0!important;border-radius:16px!important;box-shadow:none!important;}
  .dropdown-sub-panel a{display:grid!important;grid-template-columns:42px 1fr!important;gap:10px!important;align-items:center!important;text-align:left!important;white-space:normal!important;font-size:16px!important;line-height:1.2!important;padding:8px!important;border-radius:12px!important;}
  .dropdown-img{width:42px!important;height:42px!important;border-radius:12px!important;font-size:12px!important;overflow:hidden!important;}

  /* Product/category/sub-category cards: two cards in one row on mobile */
  .product-grid,.cat-grid,.home-sub-grid,.sub-category-section .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  .product-card,.round-category-card,.cat-card{padding:12px!important;border-radius:20px!important;min-width:0!important;}
  .product-img{height:142px!important;border-radius:16px!important;font-size:38px!important;margin-bottom:12px!important;}
  .product-title,.product-card h3{font-size:15px!important;line-height:1.25!important;margin-bottom:8px!important;word-break:break-word!important;}
  .product-card .price,.product-card .product-price,.price{font-size:19px!important;}
  .old-price{font-size:12px!important;}
  .product-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:10px!important;}
  .product-actions .btn{width:100%!important;min-height:42px!important;padding:9px 8px!important;font-size:14px!important;}
  .cat-round-image{width:96px!important;height:96px!important;font-size:12px!important;}
  .round-category-card h3{font-size:16px!important;line-height:1.2!important;margin:10px 0 4px!important;word-break:break-word!important;}
  .round-category-card p{font-size:12px!important;line-height:1.25!important;}
  .sub-category-section{padding:16px!important;border-radius:24px!important;overflow:hidden!important;}
  .sub-category-section .section-head{display:block!important;margin-bottom:14px!important;}
  .sub-category-section .section-head h2{font-size:30px!important;line-height:1.15!important;letter-spacing:-.5px!important;word-break:break-word!important;}
  .sub-category-section .section-head .muted{font-size:16px!important;line-height:1.35!important;}
  .sub-category-section .section-head .btn{margin-top:12px!important;width:auto!important;max-width:100%!important;white-space:normal!important;}

  /* Product detail mobile */
  .detail-grid{grid-template-columns:1fr!important;}
  .detail-image{min-height:300px!important;max-height:380px!important;overflow:hidden!important;}
  .detail-image img,.detail-main-image{max-height:350px!important;width:100%!important;height:auto!important;object-fit:contain!important;}
  .variation-options{grid-template-columns:1fr!important;}
  .detail-cart{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .detail-cart input,.detail-cart .btn{width:100%!important;}

  /* Cart page: convert table to mobile cards */
  #cartTable,.cart-table,.table{width:100%!important;white-space:normal!important;overflow:visible!important;}
  #cartTable thead,.cart-table thead,table.table thead{display:none!important;}
  #cartBody,tr.cart-row{display:block!important;width:100%!important;}
  #cartBody tr,table.table tbody tr{display:block!important;background:#fff!important;border:1px solid #e9c4d3!important;border-radius:20px!important;margin:0 0 14px!important;padding:12px!important;box-shadow:0 10px 24px rgba(74,31,61,.06)!important;}
  #cartBody td,table.table tbody td{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;border:0!important;border-radius:0!important;background:transparent!important;padding:8px 0!important;font-size:15px!important;white-space:normal!important;}
  #cartBody td:first-child{display:block!important;}
  #cartBody td:nth-child(2)::before{content:'Price';font-weight:900;color:#8a6a7d;}
  #cartBody td:nth-child(3)::before{content:'Qty';font-weight:900;color:#8a6a7d;}
  #cartBody td:nth-child(4)::before{content:'Total';font-weight:900;color:#8a6a7d;}
  #cartBody td:nth-child(5){justify-content:flex-start!important;}
  #cartBody td:nth-child(5) .btn{width:100%!important;}
  .cart-product-title{display:grid!important;grid-template-columns:54px 1fr!important;gap:10px!important;align-items:center!important;}
  .cart-mini-img{width:54px!important;height:54px!important;}
  .qty{justify-content:flex-end!important;min-width:130px!important;}
  .qty button{width:42px!important;height:42px!important;border-radius:14px!important;font-size:20px!important;}
  .cart-page .content-card,.content-card:has(#cartBody){overflow:visible!important;}

  /* Checkout page */
  .checkout-grid{grid-template-columns:1fr!important;gap:18px!important;}
  .payment-method-box{padding:16px!important;border-radius:22px!important;}
  .payment-option{display:grid!important;grid-template-columns:42px 1fr!important;align-items:center!important;gap:14px!important;padding:14px!important;border-radius:18px!important;min-height:auto!important;}
  .payment-option input{width:26px!important;height:26px!important;margin:0!important;justify-self:center!important;align-self:start!important;margin-top:4px!important;}
  .payment-option span{min-width:0!important;text-align:left!important;}
  .payment-option b{font-size:18px!important;line-height:1.25!important;display:block!important;}
  .payment-option small{font-size:14px!important;line-height:1.35!important;display:block!important;margin-top:4px!important;}
  .payment-method-box .muted.small{font-size:14px!important;line-height:1.45!important;}
  #placeOrderBtn{width:100%!important;min-height:56px!important;font-size:18px!important;}
  #checkoutItems .mini-item{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important;}
  .checkout-product-line{display:grid!important;grid-template-columns:48px 1fr!important;gap:10px!important;align-items:center!important;}
  .checkout-mini-img{width:48px!important;height:48px!important;}
  .coupon-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .coupon-row .btn,.coupon-remove{width:100%!important;}
}

@media (max-width: 420px){
  .container{width:calc(100% - 22px)!important;}
  .product-grid,.cat-grid,.home-sub-grid,.sub-category-section .cat-grid{gap:10px!important;}
  .product-card,.round-category-card{padding:10px!important;border-radius:18px!important;}
  .product-img{height:128px!important;font-size:32px!important;}
  .product-title,.product-card h3{font-size:14px!important;}
  .product-card .price,.product-card .product-price,.price{font-size:17px!important;}
  .product-actions .btn{font-size:13px!important;min-height:40px!important;}
  .cat-round-image{width:84px!important;height:84px!important;}
  .round-category-card h3{font-size:14px!important;}
  .topbar{font-size:12px!important;}
  .cart-btn{padding:0 14px!important;}
  .menu{padding-top:105px!important;}
}

/* =========================================================
   FINAL MOBILE RESPONSIVE FIXES ONLY
   Keeps desktop unchanged; fixes phone menu, 2-column cards,
   cart, checkout payment alignment and horizontal overflow.
   ========================================================= */
@media (max-width: 768px){
  html, body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body.mobile-menu-open{overflow:hidden!important;}
  *{max-width:100%;}
  img{max-width:100%;height:auto;}
  .container{width:100%!important;max-width:100%!important;padding-left:14px!important;padding-right:14px!important;margin-left:auto!important;margin-right:auto!important;}
  .section{padding:28px 0!important;}
  .content-card{padding:18px!important;border-radius:24px!important;overflow:hidden!important;}
  .page-title{padding:34px 0 18px!important;}
  .page-title h1{font-size:36px!important;line-height:1.08!important;letter-spacing:-1px!important;}
  .section-head{display:block!important;margin-bottom:18px!important;}
  .section-head h2{font-size:30px!important;line-height:1.12!important;}
  .section-head .btn{display:inline-flex!important;margin-top:12px!important;}

  /* Header and hamburger */
  .topbar{font-size:13px!important;line-height:1.3!important;padding:8px 0!important;white-space:nowrap!important;}
  .navbar{position:sticky!important;top:0!important;z-index:9999!important;background:#fff!important;}
  .nav-wrap{
    display:grid!important;
    grid-template-columns:auto 1fr auto auto!important;
    align-items:center!important;
    gap:10px!important;
    padding:12px 14px!important;
  }
  .brand{min-width:0!important;max-width:52vw!important;gap:8px!important;font-size:18px!important;}
  .brand [data-store], .brand span[data-store]{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;}
  .logo,.site-logo{width:48px!important;height:48px!important;border-radius:15px!important;object-fit:cover!important;flex:0 0 48px!important;}
  .nav-actions{grid-column:3/5!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;}
  .nav-actions .icon-btn{min-width:auto!important;min-height:48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;}
  .nav-actions a.icon-btn{padding:0 16px!important;font-size:16px!important;white-space:nowrap!important;}
  .hamb{display:inline-flex!important;width:48px!important;height:48px!important;padding:0!important;font-size:22px!important;line-height:1!important;}
  .top-search{grid-column:1/-1!important;width:100%!important;margin:4px 0 0!important;order:10!important;}
  .top-search input{width:100%!important;min-width:0!important;height:52px!important;padding-right:58px!important;}
  .top-search button{width:46px!important;height:46px!important;right:4px!important;top:3px!important;}

  /* Clean right-side mobile menu */
  .menu{
    position:fixed!important;
    top:0!important;
    right:0!important;
    left:auto!important;
    bottom:0!important;
    width:min(88vw,360px)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:88px 16px 28px!important;
    background:#fff!important;
    border-left:1px solid var(--border)!important;
    box-shadow:-18px 0 45px rgba(20,20,20,.18)!important;
    z-index:10000!important;
    transform:translateX(110%)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:transform .28s ease, opacity .28s ease!important;
    text-align:left!important;
  }
  .menu.open{
    transform:translateX(0)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .menu > a,
  .menu-dropdown > a,
  .drop-main{
    display:block!important;
    width:100%!important;
    padding:14px 12px!important;
    border-radius:16px!important;
    background:#fff5f7!important;
    color:var(--text)!important;
    font-size:18px!important;
    font-weight:950!important;
    line-height:1.2!important;
    text-align:left!important;
  }
  .menu > a:hover,.menu-dropdown > a:hover{background:#ffe8f2!important;color:var(--primary)!important;}
  .menu-dropdown{display:block!important;width:100%!important;max-width:100%!important;}
  .dropdown-panel{
    position:static!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:8px 0 0!important;
    margin:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .dropdown-cat{
    width:100%!important;
    margin:8px 0!important;
    padding:8px!important;
    border:1px solid #f2d9e2!important;
    border-radius:18px!important;
    background:#fff5f7!important;
    overflow:hidden!important;
  }
  .dropdown-cat-title{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    padding:8px!important;
    border-radius:14px!important;
    font-size:16px!important;
    line-height:1.25!important;
    font-weight:950!important;
    white-space:normal!important;
    word-break:break-word!important;
    text-align:left!important;
  }
  .dropdown-sub-panel{
    position:static!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    margin:6px 0 0!important;
    padding:8px!important;
    background:#fff0f4!important;
    border:0!important;
    border-radius:16px!important;
    box-shadow:none!important;
  }
  .dropdown-sub-panel a{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    padding:8px!important;
    border-radius:12px!important;
    background:#fff!important;
    font-size:15px!important;
    line-height:1.25!important;
    font-weight:900!important;
    white-space:normal!important;
    word-break:break-word!important;
    text-align:left!important;
  }
  .dropdown-img,
  .dropdown-cat-title .no-image,
  .dropdown-sub-panel .no-image{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    border-radius:12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    object-fit:cover!important;
    overflow:hidden!important;
    background:#fff0f4!important;
    color:var(--primary)!important;
    border:0!important;
    font-size:10px!important;
    font-weight:900!important;
    text-align:center!important;
    padding:3px!important;
    line-height:1.1!important;
  }

  /* Products: exactly 2 cards per row on mobile */
  .grid.product-grid,
  #productGrid,
  #bestsellerGrid,
  #newArrivalGrid,
  #saleGrid,
  #featuredGrid,
  #relatedGrid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
  }
  .product-card{
    min-width:0!important;
    width:100%!important;
    padding:10px!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }
  .product-img{
    width:100%!important;
    height:135px!important;
    min-height:135px!important;
    border-radius:16px!important;
    margin-bottom:10px!important;
    font-size:34px!important;
    overflow:hidden!important;
  }
  .product-photo,
  .product-img img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    display:block!important;
  }
  .tag{font-size:10px!important;padding:4px 8px!important;top:8px!important;left:8px!important;}
  .product-title,
  .product-card h3{
    font-size:14px!important;
    line-height:1.25!important;
    min-height:35px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    word-break:break-word!important;
  }
  .product-card .price{font-size:18px!important;line-height:1.1!important;}
  .old-price{font-size:12px!important;margin-left:3px!important;}
  .product-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:10px!important;
  }
  .product-actions .btn{
    width:100%!important;
    min-height:42px!important;
    padding:9px 6px!important;
    font-size:14px!important;
    line-height:1.15!important;
    border-radius:999px!important;
    white-space:normal!important;
  }

  /* Category and sub-category cards: 2 per row, no overlap */
  .grid.cat-grid,
  #categoryGrid,
  #subCategoryGrid,
  .home-sub-grid,
  .sub-category-section .cat-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
  }
  .cat-card,
  .round-category-card,
  .sub-category-section .round-category-card{
    width:100%!important;
    min-width:0!important;
    padding:12px 8px!important;
    border-radius:20px!important;
    overflow:hidden!important;
    text-align:center!important;
  }
  .cat-round-image,
  .round-category-card .cat-photo,
  .round-category-card .no-image{
    width:92px!important;
    height:92px!important;
    max-width:92px!important;
    max-height:92px!important;
    min-width:92px!important;
    min-height:92px!important;
    margin:0 auto 8px!important;
    border-radius:50%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    object-fit:cover!important;
    font-size:12px!important;
    line-height:1.1!important;
    padding:4px!important;
    overflow:hidden!important;
  }
  .round-category-card h3,
  .cat-card h3{
    font-size:15px!important;
    line-height:1.2!important;
    min-height:auto!important;
    margin:6px 0!important;
    word-break:break-word!important;
    overflow-wrap:anywhere!important;
  }
  .round-category-card p,
  .cat-card p{
    font-size:12px!important;
    line-height:1.25!important;
    margin:0!important;
    overflow-wrap:anywhere!important;
  }
  .sub-category-section{
    padding:16px!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  .sub-category-section .section-head h2,
  #subCategoryTitle{
    font-size:27px!important;
    line-height:1.15!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    margin-bottom:8px!important;
  }
  .sub-category-section .section-head .muted{font-size:15px!important;line-height:1.35!important;}
  .sub-category-section .btn,
  .sub-category-section .section-head .btn{
    width:100%!important;
    max-width:100%!important;
    justify-content:center!important;
    white-space:normal!important;
    line-height:1.2!important;
    margin-top:12px!important;
  }

  /* Cart table becomes stacked cards on mobile */
  .checkout-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;width:100%!important;}
  .summary{position:static!important;top:auto!important;}
  table.table,
  table.table thead,
  table.table tbody,
  table.table tr,
  table.table th,
  table.table td{
    width:100%!important;
  }
  table.table{display:block!important;border-collapse:separate!important;border-spacing:0!important;overflow:visible!important;}
  table.table thead{display:none!important;}
  table.table tbody{display:block!important;}
  table.table tbody tr{
    display:block!important;
    width:100%!important;
    background:#fff!important;
    border:1px solid #e9c4d3!important;
    border-radius:20px!important;
    margin:0 0 14px!important;
    padding:12px!important;
    box-shadow:0 10px 24px rgba(74,31,61,.06)!important;
    overflow:hidden!important;
  }
  table.table tbody td{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    padding:8px 0!important;
    font-size:15px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  #cartBody td:first-child{display:block!important;padding-bottom:10px!important;border-bottom:1px dashed #f2d9e2!important;}
  #cartBody td:nth-child(2)::before{content:'Price';font-weight:950;color:#8a6a7d;margin-right:12px;}
  #cartBody td:nth-child(3)::before{content:'Qty';font-weight:950;color:#8a6a7d;margin-right:12px;}
  #cartBody td:nth-child(4)::before{content:'Total';font-weight:950;color:#8a6a7d;margin-right:12px;}
  #cartBody td:nth-child(5){display:block!important;}
  #cartBody td:nth-child(5) .btn{width:100%!important;min-height:44px!important;}
  .cart-product-title{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    width:100%!important;
  }
  .cart-mini-img{width:56px!important;height:56px!important;border-radius:14px!important;object-fit:cover!important;}
  .cart-product-title b{font-size:16px!important;line-height:1.25!important;overflow-wrap:anywhere!important;}
  .qty{justify-content:flex-end!important;gap:8px!important;min-width:auto!important;}
  .qty button{width:40px!important;height:40px!important;border-radius:13px!important;font-size:18px!important;}
  .coupon-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .coupon-row .field,.coupon-row .btn,.coupon-remove{width:100%!important;}
  .grand-total b{font-size:20px!important;}

  /* Checkout payment method alignment */
  .payment-method-box{padding:16px!important;border-radius:22px!important;overflow:hidden!important;}
  #paymentMethodOptions{display:grid!important;gap:12px!important;width:100%!important;}
  .payment-option{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:14px!important;
    width:100%!important;
    min-height:auto!important;
    padding:14px!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .payment-option input{
    flex:0 0 26px!important;
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    margin:3px 0 0!important;
    padding:0!important;
  }
  .payment-option span{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    width:auto!important;
    text-align:left!important;
  }
  .payment-option b{display:block!important;font-size:18px!important;line-height:1.25!important;margin:0 0 4px!important;word-break:break-word!important;}
  .payment-option small{display:block!important;font-size:14px!important;line-height:1.35!important;color:#8a6a7d!important;word-break:break-word!important;}
  .payment-method-box .muted.small{font-size:14px!important;line-height:1.45!important;margin-top:12px!important;}
  #placeOrderBtn{width:100%!important;min-height:56px!important;font-size:18px!important;}
  #checkoutItems .mini-item{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important;}
  .mini-item{max-width:100%!important;overflow-wrap:anywhere!important;}

  /* Forms/footer */
  .form input,.form textarea,.form select,.field,.filter-row input,.filter-row select{width:100%!important;min-width:0!important;max-width:100%!important;}
  .filter-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .footer-grid{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;}
}

@media (max-width: 420px){
  .container{padding-left:12px!important;padding-right:12px!important;}
  .brand{max-width:46vw!important;font-size:16px!important;}
  .nav-actions a.icon-btn{padding:0 13px!important;font-size:15px!important;}
  .hamb{width:46px!important;height:46px!important;}
  .menu{width:90vw!important;padding-left:14px!important;padding-right:14px!important;}
  .grid.product-grid,#productGrid,#bestsellerGrid,#newArrivalGrid,#saleGrid,#featuredGrid,#relatedGrid{gap:10px!important;}
  .product-card{padding:9px!important;border-radius:18px!important;}
  .product-img{height:122px!important;min-height:122px!important;}
  .product-title,.product-card h3{font-size:13px!important;min-height:33px!important;}
  .product-card .price{font-size:17px!important;}
  .product-actions .btn{font-size:13px!important;min-height:39px!important;}
  .cat-round-image,.round-category-card .cat-photo,.round-category-card .no-image{width:82px!important;height:82px!important;min-width:82px!important;min-height:82px!important;}
  .round-category-card h3,.cat-card h3{font-size:14px!important;}
  .sub-category-section .section-head h2,#subCategoryTitle{font-size:24px!important;}
  .content-card{padding:16px!important;}
}

/* Cart title-only + product image fix */
.cart-product-title .cart-title-only .muted,
.cart-product-title .cart-category,
.cart-product-title .product-category,
.cart-product-title br + .muted{
  display:none!important;
}
.cart-product-title{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}
.cart-title-only{
  min-width:0!important;
  display:block!important;
}
.cart-title-only b{
  display:block!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.3!important;
}
.cart-mini-img{
  width:58px!important;
  height:58px!important;
  object-fit:cover!important;
  border-radius:14px!important;
  border:1px solid var(--border)!important;
  background:#fff0f4!important;
  flex:0 0 58px!important;
}
.cart-no-img{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--pink)!important;
  font-size:11px!important;
  font-weight:900!important;
  text-align:center!important;
}
@media (max-width:768px){
  .cart-product-title{
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    align-items:center!important;
  }
  .cart-mini-img{
    width:58px!important;
    height:58px!important;
    flex-basis:58px!important;
  }
  #cartBody td:first-child{
    display:block!important;
  }
}


/* Checkout payment method under total amount */
.checkout-payment-under-total{
  margin-top:20px;
}
.checkout-place-order-btn{
  width:100%;
  margin-top:16px;
}
@media (max-width:768px){
  .checkout-payment-under-total{
    margin-top:18px;
  }
  .checkout-place-order-btn{
    min-height:54px;
    font-size:16px;
  }
}

/* Checkout spacing fix: total amount, payment method and place order button */
.checkout-payment-under-total{
  margin-top:24px!important;
  margin-bottom:24px!important;
}
.checkout-place-order-btn{
  margin-top:24px!important;
  margin-bottom:8px!important;
}
.grand-total + .checkout-payment-under-total{
  margin-top:26px!important;
}
@media (max-width:768px){
  .checkout-payment-under-total{
    margin-top:22px!important;
    margin-bottom:22px!important;
  }
  .checkout-place-order-btn{
    width:100%!important;
    margin-top:22px!important;
    min-height:54px!important;
  }
}


/* Final Checkout spacing only fix */
.summary .mini-item.grand-total,
.content-card.summary .mini-item.grand-total{
  margin-bottom:24px!important;
}
.summary .payment-method-box.checkout-payment-under-total,
.content-card.summary .payment-method-box.checkout-payment-under-total{
  margin-top:24px!important;
  margin-bottom:24px!important;
  display:grid!important;
}
.summary .checkout-place-order-btn,
.content-card.summary .checkout-place-order-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:24px!important;
}
@media (max-width:768px){
  .summary .mini-item.grand-total,
  .content-card.summary .mini-item.grand-total{
    margin-bottom:20px!important;
  }
  .summary .payment-method-box.checkout-payment-under-total,
  .content-card.summary .payment-method-box.checkout-payment-under-total{
    margin-top:20px!important;
    margin-bottom:20px!important;
  }
  .summary .checkout-place-order-btn,
  .content-card.summary .checkout-place-order-btn{
    margin-top:20px!important;
  }
}
@media (max-width:480px){
  .summary .mini-item.grand-total,
  .content-card.summary .mini-item.grand-total{
    margin-bottom:18px!important;
  }
  .summary .payment-method-box.checkout-payment-under-total,
  .content-card.summary .payment-method-box.checkout-payment-under-total{
    margin-top:18px!important;
    margin-bottom:18px!important;
  }
  .summary .checkout-place-order-btn,
  .content-card.summary .checkout-place-order-btn{
    margin-top:18px!important;
  }
}

/* Checkout spacing only: add clean gap between Total Amount and Payment Method */
.content-card.summary > .mini-item.grand-total,
.summary > .mini-item.grand-total{
  margin-bottom:24px!important;
}
.content-card.summary > .payment-method-box.checkout-payment-under-total,
.summary > .payment-method-box.checkout-payment-under-total{
  margin-top:0!important;
}
@media (max-width:768px){
  .content-card.summary > .mini-item.grand-total,
  .summary > .mini-item.grand-total{
    margin-bottom:22px!important;
  }
}
@media (max-width:480px){
  .content-card.summary > .mini-item.grand-total,
  .summary > .mini-item.grand-total{
    margin-bottom:20px!important;
  }
}

/* Checkout spacing only: clean gap between Payment Method section and Place Order button */
.content-card.summary > .payment-method-box.checkout-payment-under-total,
.summary > .payment-method-box.checkout-payment-under-total{
  margin-bottom:26px!important;
}
.content-card.summary > .payment-method-box.checkout-payment-under-total + .checkout-place-order-btn,
.summary > .payment-method-box.checkout-payment-under-total + .checkout-place-order-btn{
  margin-top:0!important;
}
@media (max-width:768px){
  .content-card.summary > .payment-method-box.checkout-payment-under-total,
  .summary > .payment-method-box.checkout-payment-under-total{
    margin-bottom:22px!important;
  }
}
@media (max-width:480px){
  .content-card.summary > .payment-method-box.checkout-payment-under-total,
  .summary > .payment-method-box.checkout-payment-under-total{
    margin-bottom:20px!important;
  }
}

/* Cart + Checkout summary row spacing only */
.content-card.summary > p.mini-item:not(.grand-total),
.summary > p.mini-item:not(.grand-total){
  margin-top:0!important;
  margin-bottom:8px!important;
}
.content-card.summary > .mini-list > .mini-item,
.summary > .mini-list > .mini-item{
  margin-bottom:8px!important;
}
.content-card.summary > p.mini-item.grand-total,
.summary > p.mini-item.grand-total{
  margin-top:8px!important;
}
@media (max-width:768px){
  .content-card.summary > p.mini-item:not(.grand-total),
  .summary > p.mini-item:not(.grand-total),
  .content-card.summary > .mini-list > .mini-item,
  .summary > .mini-list > .mini-item{
    margin-bottom:7px!important;
  }
  .content-card.summary > p.mini-item.grand-total,
  .summary > p.mini-item.grand-total{
    margin-top:7px!important;
  }
}
@media (max-width:480px){
  .content-card.summary > p.mini-item:not(.grand-total),
  .summary > p.mini-item:not(.grand-total),
  .content-card.summary > .mini-list > .mini-item,
  .summary > .mini-list > .mini-item{
    margin-bottom:6px!important;
  }
  .content-card.summary > p.mini-item.grand-total,
  .summary > p.mini-item.grand-total{
    margin-top:6px!important;
  }
}

/* Cart page only: reduce extra gap between Total Amount and Proceed to Checkout button */
.content-card.summary > p.mini-item.grand-total + br,
.summary > p.mini-item.grand-total + br{
  display:none!important;
}
.content-card.summary > p.mini-item.grand-total + br + a.btn,
.summary > p.mini-item.grand-total + br + a.btn{
  margin-top:12px!important;
}
@media (max-width:768px){
  .content-card.summary > p.mini-item.grand-total + br + a.btn,
  .summary > p.mini-item.grand-total + br + a.btn{
    margin-top:12px!important;
  }
}
@media (max-width:480px){
  .content-card.summary > p.mini-item.grand-total + br + a.btn,
  .summary > p.mini-item.grand-total + br + a.btn{
    margin-top:10px!important;
  }
}

/* Cart product title line-format fix */
#cartBody .cart-product-title,
.cart-product-title{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:auto!important;
  min-width:220px!important;
  max-width:100%!important;
}
#cartBody .cart-title-only,
.cart-title-only{
  display:block!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
#cartBody .cart-title-only b,
.cart-title-only b,
#cartBody .cart-product-title b,
.cart-product-title b{
  display:block!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-height:1.35!important;
  max-width:220px!important;
}
#cartBody td:first-child{
  min-width:260px!important;
}
@media (max-width:900px){
  #cartTable thead,
  .cart-table thead,
  table.table thead{
    display:none!important;
  }
  #cartBody tr,
  table.table tbody tr{
    display:block!important;
    width:100%!important;
  }
  #cartBody td,
  table.table tbody td{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
  }
  #cartBody td:first-child{
    display:block!important;
    min-width:0!important;
    width:100%!important;
  }
  #cartBody .cart-product-title{
    min-width:0!important;
    width:100%!important;
  }
  #cartBody .cart-title-only b{
    max-width:none!important;
  }
}

/* Cart empty box equal left/right spacing fix */
#cartBody tr:has(td.empty[colspan]),
#cartBody tr:has(td.empty){
  width:100%!important;
}
#cartBody td.empty[colspan],
#cartBody td.empty{
  box-sizing:border-box!important;
  width:100%!important;
  text-align:center!important;
  border:1px solid var(--border)!important;
  border-radius:18px!important;
  background:#fff!important;
  padding:18px 16px!important;
  margin:0!important;
}
@media (max-width:900px){
  #cartBody tr:has(td.empty[colspan]),
  #cartBody tr:has(td.empty){
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  #cartBody td.empty[colspan],
  #cartBody td.empty{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:18px 14px!important;
    border:1px solid var(--border)!important;
    border-radius:18px!important;
    text-align:center!important;
    background:#fff!important;
  }
}

/* Checkout payment options gap only */
#paymentMethodOptions{
  display:grid!important;
  gap:14px!important;
}
.payment-method-box .payment-option{
  margin:0!important;
}
@media (max-width:768px){
  #paymentMethodOptions{
    gap:12px!important;
  }
}


/* Frontend page visibility settings */
.page-visibility-card{margin:18px 0;}
.page-visibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:12px;}
.page-visibility-line{margin:0!important;align-items:center!important;}
@media(max-width:768px){.page-visibility-grid{grid-template-columns:1fr;}}

/* Checkout mobile order summary title line fix */
@media (max-width: 768px){
  #checkoutItems .mini-item{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
  }
  #checkoutItems .checkout-product-line{
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  #checkoutItems .checkout-product-line > span{
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    line-height: 1.35 !important;
  }
  #checkoutItems .checkout-mini-img{
    width: 52px !important;
    height: 52px !important;
    flex: 0 0 52px !important;
    object-fit: cover !important;
  }
}

@media (max-width: 480px){
  #checkoutItems .mini-item{
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 14px !important;
  }
  #checkoutItems .checkout-product-line > span{
    font-size: 15px !important;
  }
}

/* Mobile sub-category heading/button spacing fix */
@media (max-width: 768px){
  .home-subcategory-dropdown .home-sub-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:18px!important;
    margin-bottom:22px!important;
  }
  .home-subcategory-dropdown .home-sub-head > div{
    width:100%!important;
    max-width:100%!important;
  }
  .home-subcategory-dropdown .home-sub-head h3{
    margin:0 0 12px!important;
    line-height:1.18!important;
    max-width:100%!important;
  }
  .home-subcategory-dropdown .home-sub-head .muted{
    display:block!important;
    margin:0!important;
    line-height:1.4!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    max-width:100%!important;
  }
  .home-subcategory-dropdown .home-sub-head .btn{
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    clear:both!important;
    z-index:1!important;
  }
}

@media (max-width: 480px){
  .home-subcategory-dropdown .home-sub-head{
    gap:16px!important;
    margin-bottom:20px!important;
  }
  .home-subcategory-dropdown .home-sub-head h3{
    font-size:32px!important;
    line-height:1.2!important;
  }
  .home-subcategory-dropdown .home-sub-head .muted{
    font-size:18px!important;
  }
}

/* MOBILE HEADER ALIGNMENT PATCH: left menu, center logo, right cart only */
@media (max-width: 768px){
  .navbar .nav-wrap{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr) auto!important;
    grid-template-areas:
      "hamb brand cart"
      "search search search"!important;
    align-items:center!important;
    column-gap:10px!important;
    row-gap:12px!important;
    padding:12px 14px!important;
    min-height:76px!important;
  }

  .navbar .brand{
    grid-area:brand!important;
    justify-self:center!important;
    align-self:center!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:0!important;
    width:auto!important;
    max-width:120px!important;
    min-width:0!important;
    margin:0 auto!important;
    text-align:center!important;
  }

  .navbar .brand [data-store],
  .navbar .brand span[data-store]{
    display:none!important;
  }

  .navbar .brand .logo,
  .navbar .brand .site-logo,
  .navbar .brand img{
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    border-radius:16px!important;
    object-fit:cover!important;
    display:block!important;
  }

  .navbar .nav-actions{
    display:contents!important;
  }

  .navbar .hamb,
  .navbar #hamb{
    grid-area:hamb!important;
    justify-self:start!important;
    align-self:center!important;
    display:inline-flex!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    padding:0!important;
    margin:0!important;
    border-radius:999px!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:24px!important;
    line-height:1!important;
    z-index:10002!important;
  }

  .navbar .nav-actions > a.icon-btn,
  .navbar .cart-btn{
    grid-area:cart!important;
    justify-self:end!important;
    align-self:center!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:108px!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 18px!important;
    margin:0!important;
    border-radius:999px!important;
    white-space:nowrap!important;
    font-size:17px!important;
    line-height:1!important;
    z-index:10002!important;
  }

  .navbar .cart-count{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:30px!important;
    height:30px!important;
    padding:0 8px!important;
    margin-left:7px!important;
    border-radius:999px!important;
  }

  .navbar .top-search,
  .top-search{
    grid-area:search!important;
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    order:unset!important;
  }

  .navbar .top-search input,
  .top-search input{
    width:100%!important;
    min-width:0!important;
  }

  .navbar .menu{
    text-align:left!important;
  }
}

@media (max-width: 480px){
  .navbar .nav-wrap{
    grid-template-columns:52px minmax(0,1fr) auto!important;
    padding-left:12px!important;
    padding-right:12px!important;
    column-gap:8px!important;
  }
  .navbar .brand .logo,
  .navbar .brand .site-logo,
  .navbar .brand img{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    max-width:52px!important;
  }
  .navbar .hamb,
  .navbar #hamb{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
  }
  .navbar .nav-actions > a.icon-btn,
  .navbar .cart-btn{
    min-width:96px!important;
    height:50px!important;
    min-height:50px!important;
    padding:0 14px!important;
    font-size:16px!important;
  }
}



/* =========================================================
   MOBILE HAMBURGER OUR PRODUCTS CLICK DROPDOWN FIX
   CSS visibility only for mobile menu. Desktop remains unchanged.
   ========================================================= */
@media (max-width: 768px){
  .navbar .nav-wrap{
    display:grid!important;
    grid-template-columns:56px 1fr auto!important;
    align-items:center!important;
    gap:10px!important;
  }
  .navbar .hamb{
    grid-column:1!important;
    grid-row:1!important;
    order:0!important;
  }
  .navbar .brand{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    width:auto!important;
    max-width:150px!important;
    order:0!important;
  }
  .navbar .brand [data-store]{
    display:none!important;
  }
  .navbar .nav-actions{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin-left:0!important;
  }
  .navbar .nav-actions .hamb{
    position:absolute!important;
    left:0!important;
  }
  .navbar .nav-actions .icon-btn[href*="cart"],
  .navbar .nav-actions a.icon-btn{
    order:2!important;
  }
  .navbar .top-search,
  .top-search{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    margin-top:14px!important;
  }

  #menu.menu{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:0!important;
    width:100%!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    padding:84px 18px 30px!important;
    background:#fff!important;
    z-index:9998!important;
    transform:translateX(-105%)!important;
    transition:transform .28s ease!important;
    box-shadow:0 20px 40px rgba(74,31,61,.16)!important;
  }
  #menu.menu.open{
    transform:translateX(0)!important;
  }
  #menu.menu > a,
  #menu.menu .drop-main{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:58px!important;
    padding:16px 18px!important;
    margin:0 0 14px!important;
    border-radius:18px!important;
    background:#fff5f7!important;
    color:#3a2233!important;
    font-size:22px!important;
    font-weight:900!important;
    line-height:1.15!important;
    text-decoration:none!important;
  }

  #menu.menu .menu-dropdown{
    display:block!important;
    width:100%!important;
    margin:0 0 14px!important;
    padding:0!important;
    position:static!important;
  }
  #menu.menu .dropdown-panel{
    display:none!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    margin:0 0 14px!important;
    padding:14px!important;
    border:1px solid #ffc1dc!important;
    border-radius:22px!important;
    background:#fff5f7!important;
    box-shadow:none!important;
  }
  #menu.menu .menu-dropdown.mobile-open > .dropdown-panel{
    display:block!important;
  }

  #menu.menu .dropdown-cat{
    display:block!important;
    position:static!important;
    width:100%!important;
    margin:0 0 12px!important;
    padding:12px!important;
    border:1px solid #f2d9e2!important;
    border-radius:18px!important;
    background:#fff!important;
  }
  #menu.menu .dropdown-cat-title{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    padding:0!important;
    margin:0!important;
    color:#3a2233!important;
    font-size:20px!important;
    font-weight:900!important;
    line-height:1.2!important;
    white-space:normal!important;
    background:transparent!important;
    text-decoration:none!important;
  }
  #menu.menu .dropdown-cat-title span{
    flex:1!important;
    min-width:0!important;
  }
  #menu.menu .dropdown-img{
    width:52px!important;
    height:52px!important;
    flex:0 0 52px!important;
    border-radius:14px!important;
    font-size:13px!important;
    text-align:center!important;
  }
  #menu.menu .dropdown-sub-panel{
    display:none!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    margin:12px 0 0!important;
    padding:12px!important;
    border:0!important;
    border-radius:18px!important;
    background:#fff0f4!important;
    box-shadow:none!important;
  }
  #menu.menu .dropdown-cat.sub-open > .dropdown-sub-panel{
    display:block!important;
  }
  #menu.menu .dropdown-sub-panel a,
  #menu.menu .dropdown-empty{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    padding:12px 14px!important;
    margin:0 0 10px!important;
    border-radius:15px!important;
    background:#fff!important;
    color:#3a2233!important;
    font-size:18px!important;
    font-weight:800!important;
    line-height:1.2!important;
    white-space:normal!important;
    text-decoration:none!important;
  }
  #menu.menu .dropdown-sub-panel a:last-child{
    margin-bottom:0!important;
  }
}

@media (max-width: 480px){
  #menu.menu{
    padding:78px 14px 24px!important;
  }
  #menu.menu > a,
  #menu.menu .drop-main{
    font-size:20px!important;
    min-height:54px!important;
    padding:15px 16px!important;
  }
  #menu.menu .dropdown-cat-title{
    font-size:18px!important;
  }
  #menu.menu .dropdown-sub-panel a{
    font-size:16px!important;
  }
}

/* =========================================================
   MOBILE HEADER EQUAL GAP FIX ONLY
   Left: hamburger menu | Center: logo | Right: cart
   Keeps desktop unchanged.
   ========================================================= */
@media (max-width: 768px){
  .navbar .nav-wrap{
    display:grid!important;
    grid-template-columns:minmax(64px,1fr) auto minmax(64px,1fr)!important;
    grid-template-areas:
      "mobileMenu mobileLogo mobileCart"
      "mobileSearch mobileSearch mobileSearch"!important;
    align-items:center!important;
    justify-items:center!important;
    column-gap:12px!important;
    row-gap:14px!important;
    padding:14px 20px!important;
    width:100%!important;
  }

  .navbar .brand{
    grid-area:mobileLogo!important;
    justify-self:center!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:0!important;
    gap:0!important;
  }

  .navbar .brand [data-store],
  .navbar .brand span[data-store]{
    display:none!important;
  }

  .navbar .brand .logo,
  .navbar .brand .site-logo,
  .navbar .brand img{
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    border-radius:16px!important;
    object-fit:cover!important;
    display:block!important;
  }

  .navbar .nav-actions{
    display:contents!important;
    margin:0!important;
    padding:0!important;
  }

  .navbar .hamb,
  .navbar #hamb,
  .navbar .nav-actions .hamb{
    grid-area:mobileMenu!important;
    justify-self:start!important;
    align-self:center!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    order:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
    margin:0!important;
    padding:0!important;
    border-radius:999px!important;
    font-size:24px!important;
    line-height:1!important;
    z-index:10002!important;
  }

  .navbar .nav-actions > a.icon-btn,
  .navbar .nav-actions a[href*="cart"],
  .navbar .cart-btn{
    grid-area:mobileCart!important;
    justify-self:end!important;
    align-self:center!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:108px!important;
    height:56px!important;
    min-height:56px!important;
    margin:0!important;
    padding:0 18px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
    font-size:17px!important;
    line-height:1!important;
    z-index:10002!important;
  }

  .navbar .cart-count{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:32px!important;
    height:32px!important;
    padding:0 8px!important;
    margin-left:8px!important;
    border-radius:999px!important;
  }

  .navbar .top-search,
  .top-search{
    grid-area:mobileSearch!important;
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
}

@media (max-width: 480px){
  .navbar .nav-wrap{
    grid-template-columns:minmax(56px,1fr) auto minmax(56px,1fr)!important;
    column-gap:10px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .navbar .brand .logo,
  .navbar .brand .site-logo,
  .navbar .brand img{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    max-width:52px!important;
  }

  .navbar .hamb,
  .navbar #hamb,
  .navbar .nav-actions .hamb{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
  }

  .navbar .nav-actions > a.icon-btn,
  .navbar .nav-actions a[href*="cart"],
  .navbar .cart-btn{
    min-width:96px!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 14px!important;
    font-size:16px!important;
  }
}

/* Mobile hamburger dropdown smooth up/down animation fix */
@media (max-width: 768px) {
  #menu.menu .dropdown-panel {
    display: block !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transform: translateY(-6px) !important;
    transition: max-height .35s ease, opacity .25s ease, transform .25s ease, padding .25s ease, margin .25s ease !important;
  }

  #menu.menu .menu-dropdown.mobile-open > .dropdown-panel {
    max-height: 1800px !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    margin-bottom: 14px !important;
    transform: translateY(0) !important;
  }

  #menu.menu .dropdown-sub-panel {
    display: block !important;
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    transform: translateY(-5px) !important;
    transition: max-height .32s ease, opacity .22s ease, transform .22s ease, padding .22s ease, margin .22s ease !important;
  }

  #menu.menu .dropdown-cat.sub-open > .dropdown-sub-panel {
    max-height: 700px !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    margin-top: 12px !important;
    transform: translateY(0) !important;
  }

  #menu.menu .dropdown-cat {
    transition: background .22s ease, border-color .22s ease, box-shadow .22s ease !important;
  }

  #menu.menu .dropdown-cat.sub-open {
    background: #fffafd !important;
    border-color: #ff9ccc !important;
  }

  #menu.menu .drop-main::after,
  #menu.menu .dropdown-cat-title::after {
    content: '⌄';
    margin-left: auto;
    font-size: 20px;
    line-height: 1;
    transition: transform .25s ease;
  }

  #menu.menu .menu-dropdown.mobile-open > .drop-main::after,
  #menu.menu .dropdown-cat.sub-open > .dropdown-cat-title::after {
    transform: rotate(180deg);
  }
}


/* Mobile horizontal feature cards */
@media (max-width:768px){
  .features-grid,.feature-grid,.benefits-grid,.trust-features,.features{
    display:flex!important;
    flex-direction:row!important;
    overflow-x:auto;
    gap:12px;
    padding:12px 4px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .features-grid>*,
  .feature-grid>*,
  .benefits-grid>*,
  .trust-features>*,
  .features>*{
    flex:0 0 150px;
    min-width:150px;
    scroll-snap-align:start;
  }
  .features-grid::-webkit-scrollbar,
  .feature-grid::-webkit-scrollbar,
  .benefits-grid::-webkit-scrollbar,
  .trust-features::-webkit-scrollbar,
  .features::-webkit-scrollbar{display:none;}
}

/* FINAL FIX: Home trust/features section horizontal swipe on mobile */
@media (max-width: 768px) {
  .trust-section .trust-strip {
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: row !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 14px !important;
    margin: 0 !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .trust-section .trust-strip::-webkit-scrollbar {
    display: none;
  }

  .trust-section .trust-item {
    flex: 0 0 148px !important;
    min-width: 148px !important;
    max-width: 148px !important;
    min-height: 150px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 10px !important;
    border-radius: 18px !important;
    scroll-snap-align: start;
  }

  .trust-section .trust-icon {
    font-size: 44px !important;
    line-height: 1 !important;
    margin: 0 0 9px !important;
  }

  .trust-section .trust-item h3 {
    font-size: 15px !important;
    line-height: 1.2 !important;
    margin: 0 0 5px !important;
    white-space: normal !important;
  }

  .trust-section .trust-item p {
    font-size: 12px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    white-space: normal !important;
  }
}

@media (max-width: 480px) {
  .trust-section .trust-item {
    flex-basis: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
  }
}

/* Admin forgot-password link */
.login-help-row{display:flex;justify-content:flex-end;margin:-4px 0 4px}
.forgot-password-link{color:var(--primary,#e0417f);font-weight:800;text-decoration:none;font-size:15px}
.forgot-password-link:hover{text-decoration:underline}
.login-head .muted{margin:0 auto;max-width:360px;line-height:1.55}
@media(max-width:560px){.login-help-row{margin-top:-2px}.forgot-password-link{font-size:14px}}

/* FINAL FIX: Product detail trust/features section horizontal swipe on mobile */
@media (max-width: 768px) {
  body:has(#productDetail) .trust-strip {
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 14px !important;
    margin: 24px 0 !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body:has(#productDetail) .trust-strip::-webkit-scrollbar {
    display: none;
  }

  body:has(#productDetail) .trust-strip .trust-item {
    flex: 0 0 148px !important;
    min-width: 148px !important;
    max-width: 148px !important;
    min-height: 150px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 14px 10px !important;
    border-radius: 18px !important;
    scroll-snap-align: start;
    white-space: normal !important;
  }

  body:has(#productDetail) .trust-strip .trust-icon {
    font-size: 44px !important;
    line-height: 1 !important;
    margin: 0 0 9px !important;
  }

  body:has(#productDetail) .trust-strip .muted {
    display: block !important;
    margin-top: 5px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }
}

@media (max-width: 480px) {
  body:has(#productDetail) .trust-strip .trust-item {
    flex-basis: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
  }
}

/* Physical + Digital product format */
.digital-format-admin{border:1px solid #f2d9e2;border-radius:18px;padding:16px;background:#fffcf9;display:grid;gap:12px}.digital-format-admin h3{margin:0}.product-format-box{margin:16px 0}.product-format-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-format-card{border:2px solid #eadde4;border-radius:16px;padding:14px;display:flex;gap:10px;align-items:flex-start;cursor:pointer;background:#fff;transition:.2s}.product-format-card.active,.product-format-card:has(input:checked){border-color:#e0417f;background:#fff1f5;box-shadow:0 8px 24px rgba(74,31,61,.12)}.product-format-card input{margin-top:4px}.product-format-card span{display:flex;flex-direction:column;gap:3px}.product-format-card small{color:#8a6a7d}.product-format-card b{color:#e0417f}.digital-delivery-note{padding:10px 12px;border-radius:12px;background:#eef9ff;color:#15536b;margin:10px 0}.cart-format-label{display:block;color:#8a6a7d;font-size:12px;margin-top:3px}@media(max-width:640px){.product-format-options{grid-template-columns:1fr}}


/* Editable feature/trust strip images and Admin controls */
.trust-custom-image{width:90px;height:74px;max-width:100%;display:block;object-fit:contain;margin:0 auto 9px;filter:drop-shadow(0 12px 12px rgba(74,31,61,.14))}
.trust-strip .trust-item h3{margin:0 0 5px;line-height:1.15}
.trust-strip .trust-item p{margin:0;font-weight:600;line-height:1.3}
body:has(#productDetail) .trust-strip .trust-item h3{font-size:16px;color:#3a2233}
body:has(#productDetail) .trust-strip .trust-item p{font-size:13px;color:#8a6a7d}
.trust-settings-card{margin:20px 0}
.trust-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.trust-admin-item{border:1px solid #f2d9e2;background:#fffcf9;border-radius:18px;padding:16px;display:grid;gap:11px}
.trust-admin-item h3{margin:0;color:var(--primary)}
.trust-image-preview{min-height:112px}
.trust-image-preview img{width:110px;height:96px;max-width:100%;object-fit:contain}
@media(max-width:760px){.trust-admin-grid{grid-template-columns:1fr}.trust-custom-image{width:82px;height:66px;margin-bottom:9px}}


/* FINAL FIX: extra-large uploaded feature images and no emoji fallback */
.trust-section .trust-custom-image{width:125px;height:100px;max-width:100%;object-fit:contain;margin:0 auto 8px}
body:has(#productDetail) .trust-strip .trust-custom-image{width:115px;height:92px;max-width:100%;object-fit:contain;margin:0 auto 8px}
@media(max-width:768px){
  .trust-section .trust-custom-image,
  body:has(#productDetail) .trust-strip .trust-custom-image{width:98px!important;height:80px!important;margin:0 auto 8px!important}
}

/* FINAL FIX: smaller feature-strip text on Home page only */
@media (min-width: 769px) {
  #homePage .trust-section .trust-item h3 {
    font-size: 18px !important;
    line-height: 1.15 !important;
    margin-bottom: 4px !important;
  }

  #homePage .trust-section .trust-item p {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
}


/* Full-width Home Hero Image Slider */
.home-hero-slider{position:relative;width:100%;padding:0;background:#fff;overflow:hidden}
.hero-slider-shell{position:relative;width:100%;height:836px;min-height:836px;overflow:hidden;background:linear-gradient(135deg,#fff1f7,#ffdbea)}
.hero-slider-track{display:flex;width:100%;height:100%;will-change:transform;transform:translate3d(0,0,0)}
.hero-slide{position:relative;flex:0 0 100%;width:100%;height:100%;overflow:hidden;background:#ffe7ef}
.hero-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.hero-slide-empty{background:linear-gradient(135deg,#fff1f5,#f2d9e2)}
.hero-slider-actions{position:absolute;left:50%;bottom:34px;z-index:3;display:flex;justify-content:center;align-items:center;gap:14px;transform:translateX(-50%);width:min(92%,760px);pointer-events:none}
.hero-slider-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-width:145px;pointer-events:auto;background:var(--primary);color:#fff;border:2px solid #fff;box-shadow:0 14px 35px rgba(0,0,0,.20)}
.hero-slider-actions .btn.outline{background:#fff;color:var(--primary);border-color:#fff}
.hero-slider-actions .btn.outline:hover{background:var(--secondary);color:#fff}

/* Hero slider admin controls */
.hero-slide-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hero-slide-upload-card{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:18px;background:#fffcf9}
.hero-slide-upload-card .hero-image-preview{min-height:112px;align-content:center}
.hero-slide-upload-card .hero-image-preview img{width:100%;height:105px;max-height:none;object-fit:cover;border-radius:14px}
.admin-hero-only-preview{position:relative;padding:0;overflow:hidden;min-height:290px;background:linear-gradient(135deg,#fff1f5,#f2d9e2)}
.admin-hero-preview-images{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:10px}
.admin-hero-preview-images img{width:100%;height:125px;max-height:none;object-fit:cover;border-radius:14px;border:1px solid #f2d9e2}
.admin-hero-empty-preview{min-height:300px;background:linear-gradient(135deg,#fff1f5,#f2d9e2)}
.admin-preview-actions{bottom:18px;width:92%}
.admin-preview-actions .btn{min-width:115px;padding:10px 14px}

@media(max-width:900px){
 .hero-slider-shell{height:500px;min-height:500px}
 .hero-slider-actions{bottom:24px}
}
@media(max-width:680px){
 .hero-slide-upload-grid{grid-template-columns:1fr}
 .hero-slider-shell{height:420px;min-height:420px}
 .hero-slide img{object-fit:cover}
 .hero-slider-actions{bottom:18px;gap:10px;width:94%}
 .hero-slider-actions .btn{min-width:0;flex:1;padding:11px 12px;font-size:14px}
 .admin-hero-preview-images{grid-template-columns:1fr}
 .admin-hero-preview-images img{height:145px}
}


/* Separate mobile hero image uploads */
.mobile-hero-upload-grid{margin-bottom:18px}
.admin-preview-label{margin:10px 10px 0;color:var(--primary);font-size:16px}
.admin-mobile-hero-preview-images img{object-position:center}
.admin-mobile-fallback-note{padding:10px 12px 80px;margin:0}
@media(max-width:680px){
 .hero-slide img{object-fit:cover;object-position:center}
}

/* FINAL MOBILE PRODUCT CARD FIX: full image + compact title/price spacing */
@media (max-width: 768px) {
  .product-card {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
  }

  .product-card .product-link {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  .product-card .product-img {
    width: 100% !important;
    height: 155px !important;
    min-height: 155px !important;
    margin: 0 0 8px !important;
    padding: 6px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .product-card .product-img .product-photo,
  .product-card .product-img > img,
  .product-card .product-photo {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 12px !important;
  }

  .product-card .product-title,
  .product-card h3 {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    line-height: 1.25 !important;
  }

  .product-card .product-link + div {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.15 !important;
  }

  .product-card .price,
  .product-card .old-price {
    vertical-align: baseline !important;
  }

  .product-card .product-actions {
    margin-top: 10px !important;
  }
}

@media (max-width: 420px) {
  .product-card .product-img {
    height: 140px !important;
    min-height: 140px !important;
  }
}

/* FINAL MOBILE PRODUCT DETAIL IMAGE FIX: show the complete image without cropping */
@media (max-width: 768px) {
  #productDetail .detail-image {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 12px !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
  }

  #productDetail .detail-image .detail-photo,
  #productDetail .detail-image > img,
  #productDetail #mainDetailImage {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 18px !important;
    display: block !important;
  }

  #productDetail .detail-image .tag {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    z-index: 2 !important;
  }
}

/* Digital products do not use physical stock */
.physical-product-fields{display:grid;gap:12px}

/* MOBILE PRODUCT CARD IMAGE — FINAL NO-CROP OVERRIDE */
@media (max-width: 768px) {
  .product-grid .product-card .product-img {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 170px !important;
    min-height: 170px !important;
    max-height: 170px !important;
    padding: 10px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
  }

  .product-grid .product-card .product-img img,
  .product-grid .product-card .product-img .product-photo {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
    transform: none !important;
  }
}

@media (max-width: 420px) {
  .product-grid .product-card .product-img {
    height: 155px !important;
    min-height: 155px !important;
    max-height: 155px !important;
    padding: 8px !important;
  }
}


/* Performance optimization: skip off-screen layout/paint work until needed. */
@supports (content-visibility:auto){
  #shopByCategory, .soft-section, .loved-section, #dynamicHomeSections, .footer{
    content-visibility:auto;
    contain-intrinsic-size:1px 700px;
  }
}
.product-card img,.cat-card img,.trust-custom-image{image-rendering:auto;}


/* Product detail quantity stepper */
.detail-qty-control{
  display:inline-flex;
  align-items:center;
  overflow:hidden;
  border:1px dashed var(--primary);
  border-radius:14px;
  background:#fff;
  min-height:50px;
}
.detail-qty-control #detailQty{
  width:58px;
  min-width:58px;
  height:48px;
  padding:0 6px;
  border:0!important;
  border-radius:0!important;
  text-align:center;
  font-weight:900;
  background:#fff;
  appearance:textfield;
  -moz-appearance:textfield;
}
.detail-qty-control #detailQty::-webkit-inner-spin-button,
.detail-qty-control #detailQty::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.detail-qty-btn{
  width:46px;
  height:48px;
  border:0;
  background:#fff0f4;
  color:var(--primary);
  font-size:26px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
}
.detail-qty-btn:hover{background:var(--primary);color:#fff}
.detail-qty-btn:disabled{opacity:.45;cursor:not-allowed}

/* Mobile product-detail spacing and quantity controls */
@media (max-width:768px){
  #productDetail .detail-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    align-items:start!important;
  }
  #productDetail .detail-grid > div:first-child{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    align-self:start!important;
    margin:0!important;
    padding:0!important;
  }
  #productDetail .thumb-row{
    margin-top:12px!important;
    margin-bottom:0!important;
    padding-bottom:4px!important;
  }
  #productDetail .detail-info{
    margin:0!important;
    padding-top:0!important;
    align-self:start!important;
  }
  #productDetail .detail-info h1{
    margin-top:0!important;
  }
  #productDetail .detail-cart{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  #productDetail .detail-qty-control{
    display:flex;
    width:100%!important;
    min-height:54px;
  }
  #productDetail .detail-qty-control #detailQty{
    width:auto!important;
    min-width:0!important;
    flex:1 1 auto;
    height:52px;
  }
  #productDetail .detail-qty-btn{
    width:58px;
    height:52px;
    flex:0 0 58px;
  }
}

/* Footer uploaded logo: larger and no placeholder/background */
.footer-brand [data-logo="footer"]:empty{display:none!important}
.footer-brand .footer-logo{
  width:190px!important;
  height:100px!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
@media(max-width:560px){
  .footer-brand .footer-logo{
    width:160px!important;
    height:88px!important;
  }
}

.footer-brand img,.footer-logo img,[data-logo="footer"] img{max-width:250px!important;max-height:250px!important;width:auto!important;height:auto!important;object-fit:contain!important;}
@media(max-width:768px){.footer-brand img,.footer-logo img,[data-logo="footer"] img{max-width:250px!important;max-height:250px!important;}}


/* Frontend footer logo size: desktop 310 x 310px; mobile remains 250 x 250px */
@media (min-width: 769px){
  .footer-brand [data-logo="footer"],
  .footer-brand .footer-logo{
    width:290px!important;
    height:290px!important;
    max-width:290px!important;
    max-height:290px!important;
    flex:0 0 310px!important;
  }
  .footer-brand [data-logo="footer"] img,
  .footer-brand .footer-logo img,
  .footer-brand img.footer-logo{
    width:290px!important;
    height:290px!important;
    max-width:290px!important;
    max-height:290px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
}
@media (max-width: 768px){
  .footer-brand [data-logo="footer"],
  .footer-brand .footer-logo{
    width:250px!important;
    height:250px!important;
    max-width:250px!important;
    max-height:250px!important;
  }
  .footer-brand [data-logo="footer"] img,
  .footer-brand .footer-logo img,
  .footer-brand img.footer-logo{
    width:250px!important;
    height:250px!important;
    max-width:250px!important;
    max-height:250px!important;
    object-fit:contain!important;
  }
}

/* Frontend footer section: fixed 400px height on desktop only */
@media (min-width: 769px){
  body:not(#adminApp) .footer{
    height:400px!important;
    min-height:400px!important;
    max-height:400px!important;
    box-sizing:border-box!important;
    padding:8px 0 6px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    overflow:hidden!important;
  }
  body:not(#adminApp) .footer .footer-grid{
    flex:1 1 auto!important;
    min-height:0!important;
    align-items:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }
  body:not(#adminApp) .footer .footer-brand{
    margin-bottom:0!important;
  }
  body:not(#adminApp) .footer .copy{
    flex:0 0 auto!important;
    margin-top:0!important;
    padding-top:8px!important;
    padding-bottom:0!important;
  }
}

/* Frontend header logo: desktop 100 x 100px, no placeholder */
@media (min-width: 769px){
  body:not(#adminApp) .navbar .brand [data-logo="header"]{
    width:100px!important;
    height:100px!important;
    min-width:100px!important;
    max-width:100px!important;
    min-height:100px!important;
    max-height:100px!important;
    flex:0 0 100px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  body:not(#adminApp) .navbar .brand [data-logo="header"]:empty{
    display:none!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    flex-basis:0!important;
  }
  body:not(#adminApp) .navbar .brand [data-logo="header"] img,
  body:not(#adminApp) .navbar .brand .site-logo{
    width:100px!important;
    height:100px!important;
    min-width:100px!important;
    max-width:100px!important;
    min-height:100px!important;
    max-height:100px!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}

/* Frontend desktop header section fixed height: 107px */
@media (min-width: 769px){
  body:not(#adminApp) .navbar{
    height:107px!important;
    min-height:107px!important;
    max-height:107px!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  body:not(#adminApp) .navbar .nav-wrap{
    height:107px!important;
    min-height:107px!important;
    max-height:107px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    align-items:center!important;
  }
}

/* Mobile frontend footer layout: centered 210px logo with comfortable left spacing */
@media (max-width: 768px){
  body:not(#adminApp) .footer .footer-grid{
    grid-template-columns:1fr!important;
    gap:22px!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  body:not(#adminApp) .footer .footer-grid > div:first-child{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  body:not(#adminApp) .footer .footer-brand{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    margin:0 auto!important;
  }
  body:not(#adminApp) .footer .footer-brand [data-logo="footer"],
  body:not(#adminApp) .footer .footer-brand .footer-logo{
    width:210px!important;
    height:210px!important;
    min-width:210px!important;
    max-width:210px!important;
    min-height:210px!important;
    max-height:210px!important;
    margin:0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body:not(#adminApp) .footer .footer-brand [data-logo="footer"] img,
  body:not(#adminApp) .footer .footer-brand .footer-logo img,
  body:not(#adminApp) .footer .footer-brand img.footer-logo,
  body:not(#adminApp) .footer [data-logo="footer"] img{
    width:210px!important;
    height:210px!important;
    min-width:210px!important;
    max-width:210px!important;
    min-height:210px!important;
    max-height:210px!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0 auto!important;
  }
  body:not(#adminApp) .footer .footer-grid > div:nth-child(2),
  body:not(#adminApp) .footer .footer-grid > div:nth-child(3),
  body:not(#adminApp) .footer .footer-grid > div:nth-child(4){
    padding-left:10px!important;
    padding-right:4px!important;
    text-align:left!important;
  }
}

/* Mobile frontend header: remove logo placeholder/background only */
@media (max-width: 768px){
  body:not(#adminApp) .navbar .brand [data-logo="header"]:empty{
    display:none!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body:not(#adminApp) .navbar .brand [data-logo="header"]{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:0!important;
  }
  body:not(#adminApp) .navbar .brand [data-logo="header"] .site-logo,
  body:not(#adminApp) .navbar .brand img.site-logo{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:0!important;
    object-fit:contain!important;
  }
  body:not(#adminApp) .navbar .brand:has([data-logo="header"]:empty){
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* FINAL: Mobile feature strip — all 5 items visible in one horizontal line */
@media (max-width: 768px) {
  #homePage .trust-section .container,
  body:has(#productDetail) .container:has(> .trust-strip) {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  #homePage .trust-section .trust-strip,
  body:has(#productDetail) .trust-strip {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 2px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding: 8px 4px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-width: 2px !important;
    border-radius: 14px !important;
    scroll-snap-type: none !important;
  }

  #homePage .trust-section .trust-item,
  body:has(#productDetail) .trust-strip .trust-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    min-height: 88px !important;
    padding: 4px 1px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    text-align: center !important;
    overflow: hidden !important;
  }

  #homePage .trust-section .trust-custom-image,
  body:has(#productDetail) .trust-strip .trust-custom-image {
    width: 52px !important;
    height: 48px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    margin: 0 auto 5px !important;
    object-fit: contain !important;
  }

  #homePage .trust-section .trust-item h3,
  body:has(#productDetail) .trust-strip .trust-item h3 {
    width: 100% !important;
    font-size: 7.5px !important;
    line-height: 1.08 !important;
    margin: 0 0 3px !important;
    padding: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  #homePage .trust-section .trust-item p,
  body:has(#productDetail) .trust-strip .trust-item p,
  body:has(#productDetail) .trust-strip .muted {
    display: block !important;
    width: 100% !important;
    font-size: 6.2px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    color: #222 !important;
  }
}

@media (max-width: 390px) {
  #homePage .trust-section .trust-custom-image,
  body:has(#productDetail) .trust-strip .trust-custom-image {
    width: 46px !important;
    height: 42px !important;
    min-width: 46px !important;
    max-width: 46px !important;
  }
  #homePage .trust-section .trust-item h3,
  body:has(#productDetail) .trust-strip .trust-item h3 { font-size: 7px !important; }
  #homePage .trust-section .trust-item p,
  body:has(#productDetail) .trust-strip .trust-item p,
  body:has(#productDetail) .trust-strip .muted { font-size: 5.8px !important; }
}

/* FINAL v2: Mobile feature strip — larger images, smaller text */
@media (max-width: 768px) {
  #homePage .trust-section .trust-item,
  body:has(#productDetail) .trust-strip .trust-item {
    min-height: 96px !important;
    padding: 4px 0 !important;
  }

  #homePage .trust-section .trust-custom-image,
  body:has(#productDetail) .trust-strip .trust-custom-image {
    width: 62px !important;
    height: 58px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    margin: 0 auto 3px !important;
  }

  #homePage .trust-section .trust-item h3,
  body:has(#productDetail) .trust-strip .trust-item h3 {
    font-size: 6.4px !important;
    line-height: 1.02 !important;
    margin-bottom: 2px !important;
    letter-spacing: -0.05px !important;
  }

  #homePage .trust-section .trust-item p,
  body:has(#productDetail) .trust-strip .trust-item p,
  body:has(#productDetail) .trust-strip .muted {
    font-size: 5.1px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.04px !important;
  }
}

@media (max-width: 390px) {
  #homePage .trust-section .trust-custom-image,
  body:has(#productDetail) .trust-strip .trust-custom-image {
    width: 56px !important;
    height: 52px !important;
    min-width: 56px !important;
    max-width: 56px !important;
  }

  #homePage .trust-section .trust-item h3,
  body:has(#productDetail) .trust-strip .trust-item h3 {
    font-size: 6px !important;
  }

  #homePage .trust-section .trust-item p,
  body:has(#productDetail) .trust-strip .trust-item p,
  body:has(#productDetail) .trust-strip .muted {
    font-size: 4.8px !important;
  }
}


/* Mobile search input: prevent iOS Safari auto zoom */
@media (max-width:768px){
  #searchProduct,
  input[type="search"],
  .search-input,
  .search-bar input{
    font-size:16px !important;
  }
}

/* Mobile admin product checkbox alignment fix */
@media (max-width: 768px) {
  #productForm label.check-line,
  #productForm .check-line,
  #productForm label.product-status-check {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    white-space: normal !important;
  }

  #productForm label.check-line input[type="checkbox"],
  #productForm .check-line input[type="checkbox"],
  #productForm label.product-status-check input[type="checkbox"] {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }

  #productForm label.check-line span,
  #productForm label.product-status-check span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    text-align: left !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
}

@media(max-width:680px){
.tier-grid .tier-remove-btn{
width:44px!important;
height:44px!important;
border-radius:12px!important;
display:flex!important;
align-items:center!important;
justify-content:center!important;
margin-top:8px!important;
background:var(--primary)!important;
color:#fff!important;
font-size:24px!important;
}
.tier-grid .tier-remove-btn:hover{background:var(--primary)!important;}
.tier-grid{align-items:center!important;}
}

/* Mobile Home Hero Slider admin alignment fix */
@media (max-width: 768px) {
  #homeHeroForm label.check-line {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  #homeHeroForm label.check-line input[type="checkbox"] {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }

  #homeHeroForm .hero-slide-upload-card > label.check-line {
    padding-top: 4px !important;
  }

  #homeHeroForm .form-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #homeHeroForm .form-actions .btn {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 10px 8px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 390px) {
  #homeHeroForm .form-actions {
    gap: 8px !important;
  }

  #homeHeroForm .form-actions .btn {
    font-size: 12px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
}

/* Mobile Home Sections admin: keep Active Section checkbox and label inline */
@media (max-width: 768px) {
  #homeSectionForm label.check-line {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    white-space: normal !important;
  }

  #homeSectionForm label.check-line input[type="checkbox"] {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }
}

/* Mobile Home Reviews admin: keep Active Review checkbox and label inline */
@media (max-width: 768px) {
  #homeReviewForm label.check-line {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    white-space: normal !important;
  }

  #homeReviewForm label.check-line input[type="checkbox"] {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }
}

/* Mobile Coupons admin: keep Active Coupon checkbox and label inline */
@media (max-width: 768px) {
  #couponForm label.check-line {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    white-space: normal !important;
  }

  #couponForm label.check-line input[type="checkbox"] {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }
}

/* Mobile Admin Settings: keep checkbox controls and labels inline */
@media (max-width: 768px) {
  #settingsForm label.check-line,
  #settingsForm .page-visibility-line {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  #settingsForm label.check-line input[type="checkbox"],
  #settingsForm .page-visibility-line input[type="checkbox"] {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }

  #settingsForm .page-visibility-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #settingsForm .trust-admin-item > label.check-line,
  #settingsForm label.state-toggle {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Mobile Categories/Sub Categories checkbox alignment and Home Reviews actions */
@media (max-width: 768px) {
  #catForm label.check-line,
  #subForm label.check-line {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  #catForm label.check-line input[type="checkbox"],
  #subForm label.check-line input[type="checkbox"] {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }

  #homeReviewList .admin-item-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }

  #homeReviewList .admin-item-actions .admin-move-actions {
    flex: 0 0 100% !important;
    width: 100% !important;
  }

  #homeReviewList .admin-item-actions > .btn {
    flex: 1 1 calc(50% - 5px) !important;
    width: calc(50% - 5px) !important;
    min-width: 0 !important;
    margin: 0 !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* Mobile Coupons: keep Edit and Delete buttons in one horizontal row */
@media (max-width: 768px) {
  #couponList .mini-item > span:last-child {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #couponList .mini-item > span:last-child .btn {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
}

/* Mobile State-wise Shipping: keep checkbox away from rounded outline */
@media (max-width: 768px) {
  #settingsForm label.state-toggle {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 14px 18px !important;
    margin: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: hidden !important;
  }

  #settingsForm label.state-toggle input[type="checkbox"] {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }
}

/* Mobile order controls: Categories, Sub Categories, Home Sections, Home Reviews */
@media (max-width: 768px) {
  #catList .admin-move-actions,
  #subList .admin-move-actions,
  #homeSectionList .admin-move-actions,
  #homeReviewList .admin-move-actions {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
  }

  #catList .admin-move-actions .small-btn,
  #subList .admin-move-actions .small-btn,
  #homeSectionList .admin-move-actions .small-btn,
  #homeReviewList .admin-move-actions .small-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    font-size: 12px !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
  }

  #catList .admin-item-actions,
  #subList .admin-item-actions,
  #homeReviewList .admin-item-actions,
  #homeSectionList .section-move-buttons {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #homeSectionList .section-move-buttons {
    display: block !important;
  }
}

@media (max-width: 380px) {
  #catList .admin-move-actions,
  #subList .admin-move-actions,
  #homeSectionList .admin-move-actions,
  #homeReviewList .admin-move-actions {
    gap: 4px !important;
  }

  #catList .admin-move-actions .small-btn,
  #subList .admin-move-actions .small-btn,
  #homeSectionList .admin-move-actions .small-btn,
  #homeReviewList .admin-move-actions .small-btn {
    font-size: 10px !important;
    padding: 0 2px !important;
  }
}

/* Search bar: keep the normal white background after choosing a browser-saved search */
.top-search input:-webkit-autofill,
.top-search input:-webkit-autofill:hover,
.top-search input:-webkit-autofill:focus,
.top-search input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--text) !important;
  caret-color: var(--text) !important;
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  border-radius: 999px !important;
  transition: background-color 9999s ease-out 0s !important;
}

.top-search input:autofill {
  color: var(--text) !important;
  background-color: #fff !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  border-radius: 999px !important;
}


/* Product listing pagination: 12 products per page */
.product-pagination{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin:32px 0 4px}
.product-pagination .page-btn{min-width:42px;height:42px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text);font-weight:900;cursor:pointer;box-shadow:0 7px 20px rgba(74,31,61,.10);transition:.2s}
.product-pagination .page-btn:hover:not(:disabled),.product-pagination .page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-1px)}
.product-pagination .page-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.product-pagination .page-dots{font-weight:900;color:var(--muted);padding:0 2px}
@media(max-width:560px){.product-pagination{gap:6px;margin-top:24px}.product-pagination .page-btn{min-width:38px;height:38px;padding:0 11px;font-size:13px}}

/* Contact form: remove browser autofill blue background while preserving autofill */
#contactForm input:-webkit-autofill,
#contactForm input:-webkit-autofill:hover,
#contactForm input:-webkit-autofill:focus,
#contactForm input:-webkit-autofill:active,
#contactForm textarea:-webkit-autofill,
#contactForm textarea:-webkit-autofill:hover,
#contactForm textarea:-webkit-autofill:focus,
#contactForm textarea:-webkit-autofill:active {
  -webkit-text-fill-color: var(--text) !important;
  caret-color: var(--text) !important;
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  background-color: #fff !important;
  border-color: var(--border) !important;
  transition: background-color 9999s ease-out 0s !important;
}

#contactForm input:autofill,
#contactForm textarea:autofill {
  color: var(--text) !important;
  background-color: #fff !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  border-color: var(--border) !important;
}

/* Mobile product pagination: 12 items per page are controlled in app.js. */
@media(max-width:560px){
  #productPagination.product-pagination{display:flex;max-width:100%;justify-content:center;overflow:visible}
  #productPagination .page-btn{flex:0 0 auto}
}

/* =========================================================================
   THEME LAYER - "aubergine + cerise"
   Loaded last so it wins over the base rules above without editing them.
   Typography, shape language and component polish live here.
   ========================================================================= */

/* ---------- typography ---------- */
h1,h2,h3,.brand,.page-title h1,.section-head h2,.product-title,.price,
.admin-card strong,.hero-slide-title,.policy h3{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-.02em;
}
h1,.page-title h1{font-weight:600;letter-spacing:-.028em;line-height:1.06}
h1{font-size:clamp(36px,5.4vw,60px)}
.page-title h1{font-size:clamp(32px,4.6vw,46px)}
.section-head h2{font-size:clamp(26px,3.4vw,36px);line-height:1.14}
.lead{font-size:17.5px;color:var(--muted);line-height:1.6}
.product-title{font-family:var(--font-body);font-weight:600;font-size:15.5px;line-height:1.38;letter-spacing:0}
.price{font-size:21px;font-weight:600;color:var(--plum)}
.old-price{color:var(--muted)}
.muted,.table th{color:var(--muted)}
.pink{color:var(--primary);font-style:italic}

/* ---------- top bar & navigation ---------- */
.topbar{background:var(--plum);color:#ffeaf2;font-weight:500;font-size:13.5px}
.topbar-item,.topbar-single{font-weight:500;letter-spacing:.005em}
.navbar{background:rgba(255,252,249,.94);border-bottom:1px solid var(--line)}
.brand{color:var(--plum);font-size:23px;letter-spacing:-.015em}
.logo{border-radius:16px 16px 16px 5px;box-shadow:var(--shadow-sm)}
.menu{font-weight:500}
.menu a{position:relative;padding:4px 0}
.menu a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;
  background:var(--primary);border-radius:2px;transition:right .25s ease;
}
.menu a:hover::after,.menu a.active::after{right:0}

/* ---------- buttons ---------- */
.icon-btn,.btn{
  background:var(--primary);font-weight:600;font-size:14.5px;
  box-shadow:0 12px 26px -12px var(--cerise-deep);
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}
.icon-btn:hover,.btn:hover{background:var(--cerise-deep);transform:translateY(-2px)}
.btn.outline{
  background:transparent;color:var(--plum);border:1.5px solid var(--line);box-shadow:none;
}
.btn.outline:hover{background:#fff0f4;border-color:var(--primary);color:var(--primary)}
.cart-count{background:rgba(255,255,255,.26);color:#fff;font-weight:600}
.qty button{background:var(--plum);border-radius:10px}
.qty button:hover{background:var(--primary)}
/* Visible keyboard focus everywhere. */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--gold);outline-offset:2px;
}

/* ---------- petal shape language ----------
   Three soft corners and one tight corner, alternating across a row.
   This is what stops the grid reading like a stock template. */
.card,.cat-card,.product-card,.content-card,.admin-card{border-radius:var(--petal)}
.cat-grid>*:nth-child(even),
.product-grid>*:nth-child(even){border-radius:var(--petal-alt)}
.card,.product-card,.cat-card{
  background:var(--shell);border-color:var(--line);box-shadow:var(--shadow-sm);
}
.cat-card:hover,.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.product-img{
  border-radius:20px 20px 20px 6px;
  background:linear-gradient(145deg,#ffdde8,#fff0e4);
}
.cat-icon{
  border-radius:16px 16px 16px 5px;
  background:linear-gradient(140deg,var(--primary),var(--secondary));
}
.tag{background:var(--plum);color:#ffe9f1;font-weight:600;font-size:11.5px;padding:5px 11px}
.hero-card{border-radius:34px 34px 34px 10px;background:var(--shell)}
.floating{border-radius:18px 18px 18px 5px;background:var(--shell);font-weight:600}

/* ---------- forms ---------- */
.form input,.form textarea,.form select,.field,
.filter-row input,.filter-row select{
  background:var(--shell);border:1.5px solid var(--line);border-radius:16px;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.form input:focus,.form textarea:focus,.form select:focus,
.field:focus,.filter-row input:focus,.filter-row select:focus{
  border-color:var(--primary);box-shadow:0 0 0 4px rgba(224,65,127,.12);outline:none;
}
.form label{font-weight:600;font-size:14.5px;color:var(--plum)}

/* ---------- tables & surfaces ---------- */
.table td{background:var(--shell)}
.mini-item,.content-card{background:var(--shell);border-color:var(--line)}
.content-card{border-radius:28px 28px 28px 8px}

/* ---------- footer ---------- */
.footer{background:var(--plum);color:#f6dce7}
.footer a{color:#d9b6c8;font-weight:400}
.footer a:hover{color:var(--peach)}
.footer h4,.footer strong{color:#fff}
.copy{color:#c9a3b8;border-top-color:rgba(255,255,255,.14)}

/* ---------- admin ---------- */
.admin-sidebar{background:var(--plum)}
.admin-sidebar a{border-radius:14px 14px 14px 4px;font-weight:500}
.admin-sidebar a:hover,.admin-sidebar a.active{background:var(--primary)}
.admin-card strong{color:var(--plum);font-size:31px}
.admin-mini-img{border-radius:12px 12px 12px 4px}

/* ---------- misc ---------- */
.badge{background:var(--shell);color:var(--plum);border-color:var(--line);font-weight:600}
.toast{background:var(--plum);border-radius:16px 16px 16px 5px;font-weight:500}
.policy h3{color:var(--plum)}
.empty{color:var(--muted)}

/* ---------- accessibility ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important;
  }
}

/* =========================================================================
   Product page: tabs (left) + sticky info card (right)
   ========================================================================= */
.tabs-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:24px;
  align-items:start;
}
.tabs-layout>.tabs{min-width:0}

.product-side-card{
  background:var(--shell);
  border:1px solid var(--line);
  border-radius:28px 28px 28px 8px;
  padding:22px;
  box-shadow:var(--shadow-sm);
  position:sticky;
  top:96px;
}
.psc-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.psc-row{display:flex;gap:14px;align-items:flex-start}
.psc-ic{
  width:42px;height:42px;flex:none;
  border-radius:14px 14px 14px 4px;
  background:linear-gradient(140deg,#ffe0ea,#fff0e4);
  color:var(--primary);
  display:grid;place-items:center;
}
.psc-ic svg{width:21px;height:21px;display:block}
.psc-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.psc-text b{font-size:15px;font-weight:600;color:var(--plum);line-height:1.3}
.psc-text span,.psc-text a{font-size:14px;color:var(--muted);line-height:1.45}
.psc-text a{color:var(--primary);font-weight:600;text-decoration:none}
.psc-text a:hover{text-decoration:underline}

/* free shipping progress */
.freeship-box{
  margin-top:20px;padding:16px 16px 14px;
  background:linear-gradient(160deg,#fff0f4,#ffe7ef);
  border:1px solid var(--line);
  border-radius:20px 20px 20px 6px;
  text-align:center;
}
.freeship-msg{display:flex;flex-direction:column;gap:3px;font-size:14px;color:var(--plum);line-height:1.4}
.freeship-msg b{color:var(--cerise-deep);font-weight:700}
.freeship-msg .fs-head{
  font-family:var(--font-display);font-size:18px;letter-spacing:-.01em;
  color:var(--primary);font-weight:600;
}
.freeship-bar{
  margin:11px 0 7px;height:9px;border-radius:99px;
  background:#ffd7e4;overflow:hidden;
}
.freeship-bar>span{
  display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--secondary),var(--cerise-deep));
  transition:width .45s ease;
}
.freeship-nums{font-size:12.5px;color:var(--muted);font-weight:600}
.freeship-box.reached{background:linear-gradient(160deg,#eaf9ef,#dcf4e4);border-color:#bfe6cb}
.freeship-box.reached .freeship-msg b{color:#1a7f42}
.freeship-box.reached .freeship-bar>span{background:linear-gradient(90deg,#3fb768,#1a7f42)}

@media (max-width:1024px){
  .tabs-layout{grid-template-columns:minmax(0,1fr) 300px;gap:18px}
}
@media (max-width:860px){
  /* Stack on mobile, and put the card ABOVE the tabs so delivery and
     free-shipping info is seen before the long description. */
  .tabs-layout{grid-template-columns:1fr}
  .product-side-card{position:static;order:-1}
}
@media (prefers-reduced-motion:reduce){
  .freeship-bar>span{transition:none}
}

/* =========================================================================
   Footer social icons
   ========================================================================= */
.footer-social{margin-top:16px}
.social-list{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.social-list a{
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:13px 13px 13px 4px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  color:#f6dce7;
  transition:background .22s ease,color .22s ease,transform .22s ease,border-color .22s ease;
}
.social-list a:hover{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
  transform:translateY(-3px);
}
.social-list a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.social-list svg{width:19px;height:19px;display:block}
@media (max-width:860px){
  .social-list{gap:9px}
  .social-list a{width:38px;height:38px}
}

/* =========================================================================
   Announcement bar - seamless right-to-left loop
   The track holds two identical halves; shifting it by exactly -50% puts
   the second half where the first began, so there is no gap and no jump.
   Duration is set inline by JS from the measured width, keeping the scroll
   speed constant whatever the message length.
   ========================================================================= */
.topbar{
  overflow:hidden!important;
  white-space:nowrap!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
}
.topbar-track{
  display:inline-flex!important;
  align-items:center;
  gap:0;
  min-width:max-content;
  flex:none;
  will-change:transform;
  animation-name:topbarSlideRightToLeft;
  animation-timing-function:linear;
  animation-iteration-count:infinite;
  animation-duration:18s; /* replaced inline by JS */
}
.topbar:hover .topbar-track,
.topbar:focus-within .topbar-track{animation-play-state:paused}
.topbar-item{
  display:inline-block;
  padding-right:56px;
  font-weight:500;
  letter-spacing:.005em;
}
@keyframes topbarSlideRightToLeft{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){
  .topbar-track{animation:none!important;transform:none!important}
  .topbar{justify-content:center}
}

/* =========================================================================
   Order tracking page
   ========================================================================= */
.track-wrap{max-width:860px;margin:0 auto;display:grid;gap:22px}
.track-form{border-radius:28px 28px 28px 8px}
.track-fields{display:grid;grid-template-columns:1fr 1.3fr;gap:14px}
.track-form .btn{justify-self:start;margin-top:4px}

.track-card{border-radius:28px 28px 28px 8px}
.track-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.track-head h2{font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--plum);margin:0 0 4px;letter-spacing:-.02em}
.track-head p{margin:0}
.track-badge{
  background:var(--plum);color:#ffe9f1;border-radius:999px;
  padding:7px 16px;font-size:13.5px;font-weight:600;white-space:nowrap;
}
.track-badge.warn{background:var(--gold);color:#3a2233}
.track-badge.bad{background:#c0392b;color:#fff}

/* progress line */
.track-steps{list-style:none;margin:26px 0 8px;padding:0;display:grid;gap:0}
.track-step{display:flex;gap:16px;padding-bottom:26px;position:relative}
.track-step:last-child{padding-bottom:0}
.track-step::before{
  content:"";position:absolute;left:10px;top:22px;bottom:0;width:2px;background:var(--line);
}
.track-step:last-child::before{display:none}
.track-step.done::before{background:var(--primary)}
.track-dot{
  width:22px;height:22px;border-radius:50%;flex:none;margin-top:1px;
  border:2px solid var(--line);background:var(--shell);position:relative;z-index:1;
}
.track-step.done .track-dot{background:var(--primary);border-color:var(--primary)}
.track-step.done .track-dot::after{
  content:"\2713";position:absolute;inset:0;display:grid;place-items:center;
  color:#fff;font-size:12px;font-weight:700;
}
.track-step.current .track-dot{
  border-color:var(--primary);background:var(--shell);
  box-shadow:0 0 0 5px rgba(224,65,127,.16);
}
.track-step-text{display:flex;flex-direction:column;gap:2px}
.track-step-text b{font-size:15.5px;font-weight:600;color:var(--muted)}
.track-step-text span{font-size:13.5px;color:var(--muted)}
.track-step.done .track-step-text b,
.track-step.current .track-step-text b{color:var(--plum)}
.track-step.current .track-step-text b{font-weight:700}

.track-exception{
  margin:22px 0 4px;padding:16px 18px;border-radius:18px 18px 18px 5px;
  font-size:15px;line-height:1.55;
}
.track-exception.warn{background:#fdf3e0;border:1px solid #f0dcb4;color:#7a5a17}
.track-exception.bad{background:#fdeceb;border:1px solid #f4cfcc;color:#8c2d22}

/* detail lists */
.track-dl{display:grid;gap:12px;margin:22px 0 0}
.track-dl>div{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.track-dl dt{font-size:14px;color:var(--muted);margin:0}
.track-dl dd{font-size:14.5px;font-weight:600;color:var(--plum);margin:0;text-align:right}
.track-summary{border-top:1px solid var(--line);padding-top:18px}

.track-courier{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.track-courier h3,.track-items h3{
  font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--plum);margin:0 0 6px;
}
.track-courier .btn{margin-top:14px}

.track-items{margin-top:22px;border-top:1px solid var(--line);padding-top:18px;display:grid;gap:12px}
.track-item{display:flex;align-items:center;gap:13px}
.track-item img,.track-item-noimg{
  width:52px;height:52px;flex:none;border-radius:14px 14px 14px 4px;object-fit:cover;
  background:linear-gradient(140deg,#ffe0ea,#fff0e4);
}
.track-item-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.track-item-text b{font-size:14.5px;font-weight:600;color:var(--text);line-height:1.35}
.track-item-text small{font-size:12.5px;color:var(--muted)}
.track-item-price{font-size:15px;font-weight:600;color:var(--plum);white-space:nowrap}

.track-help{margin:22px 0 0;border-top:1px solid var(--line);padding-top:16px}
.track-help a{color:var(--primary);font-weight:600}
.track-empty p,.track-loading p{margin:0;text-align:center;color:var(--muted);font-size:15px}

@media (max-width:640px){
  .track-fields{grid-template-columns:1fr}
  .track-form .btn{justify-self:stretch;width:100%}
  .track-head{flex-direction:column;gap:10px}
  .track-dl>div{flex-direction:column;gap:2px}
  .track-dl dd{text-align:left}
}
