:root {
    --bg: #fff8fb;
    --surface: #ffffff;
    --surface-2: #fff1f6;
    --text: #211826;
    --muted: #6d6472;
    --line: #eadbe4;
    --primary: #d9468f;
    --primary-dark: #b83275;
    --secondary: #7c3aed;
    --success: #0f9f6e;
    --danger: #cc2f52;
    --shadow: 0 18px 50px rgba(78, 28, 72, 0.08);
    --radius: 22px;
    --radius-sm: 14px;
    --container: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: Inter, Arial, sans-serif;
    color: var(--text);
    background: linear-gradient(180deg, #fffafb 0%, #fff 100%);
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(var(--container), calc(100% - 64px)); margin: 0 auto; }
.section { padding: 64px 0; }
.section.muted { background: #fff5f8; }
.eyebrow {
    display: inline-block;
    padding: 8px 12px;
    border-radius: 999px;
    background: #fff0f7;
    color: var(--primary-dark);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
    margin-bottom: 14px;
}

/* Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(234,219,228,.9);
}
.header-main-row {
    border-bottom: 1px solid rgba(234,219,228,.65);
}
.header-main-grid {
    min-height: 86px;
    display: grid;
    grid-template-columns: 240px minmax(280px, 1fr) auto;
    align-items: center;
    gap: 22px;
    padding: 0 18px;
}
.brand {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: -.03em;
    white-space: nowrap;
    padding-left: 0;
}
.brand-gelsin { color: var(--text); }
.brand-magnet { color: var(--primary); }
.site-search {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.site-search input {
    min-width: 0;
    width: 100%;
    min-height: 50px;
    border: 1px solid #e7d5e0;
    background: #fff;
    border-radius: 16px;
    padding: 0 18px;
    font: inherit;
    color: inherit;
    box-shadow: 0 10px 26px rgba(92, 28, 79, .04);
}
.site-search input::placeholder { color: #8c8090; }
.site-search button {
    min-height: 50px;
    padding: 0 18px;
    border: 0;
    border-radius: 16px;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    color: #fff;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
}
.header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}
.header-btn,
.header-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border-radius: 999px;
    font-weight: 800;
    white-space: nowrap;
}
.header-btn {
    padding: 0 18px;
}
.header-btn-wa {
    background: linear-gradient(135deg, #14b669, #0f9f6e);
    color: #fff;
}
.header-btn-soft {
    background: #fff;
    border: 1px solid var(--line);
    color: var(--text);
}
.header-link {
    padding: 0 12px;
    color: var(--muted);
}
.header-link:hover { color: var(--text); }
.header-link-admin {
    background: var(--text);
    color: #fff;
    padding: 0 16px;
}
.header-menu-row { background: rgba(255,255,255,.72); }
.menu-bar {
    min-height: 60px;
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
    padding: 0 18px;
}
.menu-item { position: relative; }
.menu-link {
    display: inline-flex;
    align-items: center;
    min-height: 60px;
    color: #5f5665;
    font-weight: 800;
    font-size: 15px;
    white-space: nowrap;
}
.menu-link:hover { color: var(--text); }
.has-dropdown:hover .menu-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.menu-dropdown {
    position: absolute;
    left: 0;
    top: calc(100% - 6px);
    width: min(720px, calc(100vw - 48px));
    padding-top: 12px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all .18s ease;
}
.menu-dropdown-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: 0 22px 50px rgba(56, 18, 52, .14);
}
.dropdown-card {
    display: grid;
    gap: 6px;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid #f0e2ea;
    background: linear-gradient(180deg, #fff8fb, #fff);
}
.dropdown-card strong { font-size: 15px; }
.dropdown-card span {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
}
.dropdown-card:hover { border-color: #e8c6d8; }

.flash {
    padding: 14px 18px;
    border-radius: 16px;
    margin: 18px auto 0;
    font-weight: 600;
}
.flash-success { background: #eafbf4; color: #116f4f; border: 1px solid #b7ead0; }
.flash-error { background: #fff0f3; color: #a21e48; border: 1px solid #f2bfd0; }

/* Home */
.hero { padding: 72px 0 48px; }
.hero-grid {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 34px;
    align-items: stretch;
}
.hero h1 {
    margin: 0 0 14px;
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1.05;
    letter-spacing: -0.04em;
}
.hero p {
    margin: 0 0 24px;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.7;
}
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 0 18px;
    border-radius: 16px;
    font-weight: 800;
    border: 0;
    cursor: pointer;
}
.btn-primary { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: #fff; }
.btn-secondary { background: #fff; border: 1px solid var(--line); color: var(--text); }
.full-width { width: 100%; }
.trust-row {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    color: var(--muted);
    font-weight: 700;
}
.hero-card {
    background: linear-gradient(180deg, #fff3f8, #ffffff);
    border: 1px solid #f1d9e7;
    border-radius: 30px;
    padding: 24px;
    box-shadow: var(--shadow);
    display: grid;
    gap: 18px;
}
.stat-card {
    padding: 20px;
    background: rgba(255,255,255,.94);
    border: 1px solid #f3dfeb;
    border-radius: 22px;
}
.stat-card strong { display: block; margin-bottom: 6px; font-size: 22px; letter-spacing: -.02em; }
.stat-card span { color: var(--muted); }

.section-head {
    margin-bottom: 28px;
    text-align: center;
}
.section-head.left { text-align: left; }
.section-head.full-width { grid-column: 1 / -1; }
.section-head h2 {
    margin: 0 0 8px;
    font-size: clamp(28px, 4vw, 40px);
    letter-spacing: -0.02em;
}
.section-head p { margin: 0; color: var(--muted); line-height: 1.7; }

.card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.category-card,
.product-card,
.step-card,
.admin-stat-box,
.admin-panel-card,
.empty-box,
.info-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
.category-card {
    display: block;
    padding: 24px;
    transition: transform .18s ease, box-shadow .18s ease;
}
.category-card:hover,
.product-card:hover,
.info-card:hover { transform: translateY(-4px); }
.category-card h3 { margin: 12px 0 10px; font-size: 22px; letter-spacing: -0.02em; }
.category-card p { margin: 0; color: var(--muted); line-height: 1.7; }
.pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f7eefc;
    color: var(--secondary);
    font-size: 12px;
    font-weight: 800;
}
.product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-card { overflow: hidden; }
.product-image {
    min-height: 210px;
    display: grid;
    place-items: center;
    padding: 24px;
    background: linear-gradient(180deg, #fff6fa, #fff);
    color: var(--primary-dark);
    font-weight: 800;
    text-align: center;
    border-bottom: 1px solid var(--line);
}
.product-image-large { min-height: 420px; font-size: 26px; }
.product-body { padding: 20px; }
.product-body h3 { margin: 0 0 8px; font-size: 20px; letter-spacing: -0.02em; }
.product-body p { margin: 0; color: var(--muted); line-height: 1.7; }
.product-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}
.product-footer a { color: var(--primary-dark); font-weight: 800; }

.steps-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.step-card { padding: 24px; }
.step-card strong {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #fff;
    margin-bottom: 16px;
}
.step-card h3 { margin: 0 0 8px; }
.step-card p { margin: 0; color: var(--muted); line-height: 1.7; }

.quick-order-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 24px;
    align-items: start;
}
.lead-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 24px;
    background: white;
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: var(--shadow);
}
.lead-form.single-column { grid-template-columns: 1fr; }
.form-row { display: flex; flex-direction: column; gap: 8px; }
.form-row.full { grid-column: 1 / -1; }
.form-row label { font-weight: 800; font-size: 14px; }
.form-row input,
.form-row select,
.form-row textarea {
    width: 100%;
    border: 1px solid #e7d5e0;
    background: #fff;
    min-height: 48px;
    border-radius: 14px;
    padding: 12px 14px;
    font: inherit;
    color: inherit;
}
.form-row textarea { min-height: 120px; resize: vertical; }

.info-card {
    padding: 22px;
}
.info-card h3 { margin: 0 0 8px; font-size: 20px; }
.info-card p { margin: 0; color: var(--muted); line-height: 1.7; }
.info-card .info-card-actions {
    display: flex;
    gap: 12px;
    margin-top: 18px;
    flex-wrap: wrap;
}

.search-results-grid {
    display: grid;
    gap: 18px;
}
.search-group { display: grid; gap: 18px; }

.product-detail-grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 28px;
    align-items: start;
}
.breadcrumb { margin-bottom: 12px; color: var(--muted); font-weight: 700; }
.product-price {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary-dark);
    margin: 10px 0 16px !important;
}
.product-points {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 18px 0 22px;
}
.product-points span {
    padding: 10px 14px;
    border-radius: 999px;
    background: #fff4f8;
    color: var(--primary-dark);
    font-weight: 800;
    font-size: 14px;
}
.product-desc-box {
    padding: 22px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid var(--line);
}
.product-desc-box h3 { margin-top: 0; }

.site-footer {
    margin-top: 52px;
    padding: 0 0 24px;
    background: transparent;
}
.footer-shell {
    border: 1px solid var(--line);
    border-radius: 32px;
    padding: 28px 28px 20px;
    background: linear-gradient(180deg, #fff9fc 0%, #fff3f8 100%);
    box-shadow: 0 18px 48px rgba(95, 34, 91, 0.06);
}
.footer-top {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) repeat(3, minmax(150px, 0.45fr));
    gap: 26px;
    align-items: start;
}
.footer-brand-block {
    min-width: 0;
}
.footer-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid rgba(217, 70, 143, 0.22);
    border-radius: 999px;
    background: rgba(255, 240, 247, 0.85);
    color: var(--primary-dark);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.footer-brand-title {
    margin: 16px 0 14px;
    max-width: 620px;
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.05;
    letter-spacing: -0.04em;
}
.footer-brand-copy {
    margin: 0;
    max-width: 650px;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.8;
}
.footer-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.footer-chip {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(217, 70, 143, 0.16);
    background: rgba(255, 255, 255, 0.78);
    color: #544b59;
    font-size: 15px;
    font-weight: 800;
}
.footer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}
.footer-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 18px;
    border-radius: 18px;
    font-size: 18px;
    font-weight: 900;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.footer-action:hover {
    transform: translateY(-1px);
}
.footer-action-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    box-shadow: 0 16px 30px rgba(162, 59, 142, 0.18);
}
.footer-action-secondary {
    color: var(--text);
    border: 1px solid rgba(217, 70, 143, 0.18);
    background: rgba(255, 255, 255, 0.82);
}
.footer-nav-group {
    min-width: 0;
}
.footer-nav-group h4 {
    margin: 2px 0 18px;
    padding-bottom: 11px;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 900;
    position: relative;
}
.footer-nav-group h4::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 42px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
}
.footer-nav-group ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}
.footer-nav-group li {
    margin: 0;
}
.footer-nav-group a {
    color: #4f4654;
    font-size: 16px;
    font-weight: 750;
    line-height: 1.6;
}
.footer-nav-group a:hover,
.footer-legal-links a:hover {
    color: var(--primary-dark);
}
.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px 28px;
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid rgba(217, 70, 143, 0.12);
}
.footer-copy {
    margin: 0;
    color: #6e6673;
    font-size: 14px;
    line-height: 1.7;
    max-width: 460px;
}
.footer-legal-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px 18px;
}
.footer-legal-links a {
    color: #5c5360;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
}
.empty-box { padding: 36px; text-align: center; }

.static-page-wrap {
    padding: 48px 0 72px;
}
.static-page-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 28px;
    box-shadow: var(--shadow);
    overflow: hidden;
}
.static-page-hero {
    padding: 32px 32px 18px;
    background: linear-gradient(180deg, #fff9fc 0%, #fff4f8 100%);
    border-bottom: 1px solid var(--line);
}
.static-page-hero .eyebrow {
    margin-bottom: 12px;
}
.static-page-hero h1 {
    margin: 0;
    font-size: clamp(28px, 4vw, 46px);
    line-height: 1.06;
    letter-spacing: -0.04em;
}
.static-page-hero p {
    max-width: 820px;
    margin: 14px 0 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.85;
}
.static-page-content {
    padding: 30px 32px 36px;
}
.static-page-content > *:first-child { margin-top: 0; }
.static-page-content h2 {
    margin: 28px 0 12px;
    font-size: clamp(22px, 2.5vw, 30px);
    line-height: 1.18;
}
.static-page-content h3 {
    margin: 20px 0 10px;
    font-size: 20px;
    line-height: 1.3;
}
.static-page-content p,
.static-page-content li {
    color: #5f5764;
    font-size: 16px;
    line-height: 1.95;
}
.static-page-content ul,
.static-page-content ol {
    padding-left: 22px;
}
.static-page-note {
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(217, 70, 143, 0.14);
    background: #fff7fb;
    color: #564d5b;
}
.static-page-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.static-info-card {
    padding: 18px 18px 16px;
    border-radius: 20px;
    border: 1px solid var(--line);
    background: #fffafc;
}
.static-info-card h3 {
    margin-top: 0;
}
.faq-list {
    display: grid;
    gap: 14px;
}
.faq-item {
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fffafc;
    overflow: hidden;
}
.faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 20px;
    font-size: 17px;
    font-weight: 850;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item[open] summary {
    color: var(--primary-dark);
    border-bottom: 1px solid var(--line);
    background: #fff5fa;
}
.faq-answer {
    padding: 18px 20px 20px;
}

/* Admin */
.admin-auth-body,
.admin-body { background: #fff7fa; }
.admin-auth-wrap {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}
.admin-login-card {
    width: min(520px, 100%);
    padding: 28px;
    background: white;
    border: 1px solid var(--line);
    border-radius: 28px;
    box-shadow: var(--shadow);
}
.admin-login-card h1 { margin: 0 0 10px; }
.admin-login-card p { color: var(--muted); }
.admin-shell {
    display: grid;
    grid-template-columns: 260px 1fr;
    min-height: 100vh;
}
.admin-sidebar {
    background: #1d1420;
    color: #fff;
    padding: 28px 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.brand-admin { color: #fff; }
.admin-sidebar nav { display: grid; gap: 8px; }
.admin-sidebar nav a {
    padding: 12px 14px;
    border-radius: 12px;
    color: rgba(255,255,255,.8);
}
.admin-sidebar nav a:hover,
.admin-sidebar nav a.is-active { background: rgba(255,255,255,.08); color: #fff; }
.admin-main { padding: 32px; }
.admin-head h1 { margin: 8px 0 6px; }
.admin-head p { color: var(--muted); }
.admin-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.admin-stat-box { padding: 22px; }
.admin-stat-box strong { display: block; font-size: 32px; margin-bottom: 8px; }
.admin-stat-box span { color: var(--muted); font-weight: 800; }
.admin-panel-card { padding: 24px; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; }
th, td {
    text-align: left;
    padding: 14px 12px;
    border-bottom: 1px solid #eee2e8;
    font-size: 14px;
}
th { color: var(--muted); font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.cover-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}
.with-actions {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-end;
}
.admin-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-form-actions { display: flex; justify-content: flex-start; }
.inline-checks {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
}
.inline-checks label {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    font-weight: 800;
}
.inline-checks input[type="checkbox"] {
    width: auto;
    min-height: auto;
}
.table-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.btn-sm {
    min-height: 38px;
    padding: 0 12px;
    border-radius: 12px;
    font-size: 13px;
}
.btn-danger {
    background: #fff1f3;
    border: 1px solid #f0c6d1;
    color: #a21e48;
}
.admin-thumb {
    width: 54px;
    height: 54px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid var(--line);
    background: #fff;
}
.admin-thumb.large {
    width: 140px;
    height: 140px;
}
.image-preview-stack {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}
.status-badge {
    display: inline-flex;
    align-items: center;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}
.status-badge.success { background: #eafbf4; color: #116f4f; }
.status-badge.muted { background: #f6eff4; color: #7e6f79; }
.max-cell {
    max-width: 280px;
    white-space: pre-wrap;
}
.inline-status-form { margin: 0; }

@media (max-width: 1180px) {
    .header-main-grid {
        grid-template-columns: 220px 1fr;
    }
    .header-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        padding-bottom: 14px;
    }
}

@media (max-width: 1024px) {
    .hero-grid,
    .quick-order-grid,
    .product-detail-grid,
    .admin-shell { grid-template-columns: 1fr; }
    .card-grid,
    .product-grid,
    .steps-grid,
    .admin-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-sidebar { min-height: auto; }
    .menu-bar { gap: 20px; }
}

@media (max-width: 760px) {
    .container { width: min(var(--container), calc(100% - 28px)); }
    .header-main-grid { grid-template-columns: 1fr; padding: 16px 0; }
    .brand { padding-left: 0; }
    .site-search { order: 2; }
    .header-actions { order: 3; }
    .menu-bar {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 6px;
    }
    .menu-dropdown { display: none; }
    .card-grid,
    .product-grid,
    .steps-grid,
    .admin-stats-grid,
    .lead-form { grid-template-columns: 1fr; }
    .hero { padding-top: 40px; }
    .hero h1 { font-size: 38px; }
    .product-footer { flex-direction: column; align-items: flex-start; }
    .header-btn,
    .header-link { min-height: 42px; }
}


.product-chip {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    color: var(--primary-dark);
    background: rgba(255,255,255,.92);
    border: 1px solid #f0d6e3;
    box-shadow: 0 8px 18px rgba(116, 35, 91, .08);
}
.product-meta-mini {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 16px;
}
.product-meta-mini span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: #fff4f8;
    border: 1px solid #f1dbe5;
    color: #6b5568;
    font-size: 12px;
    font-weight: 700;
}
.product-hero-section { padding-bottom: 28px; }
.product-summary { display: grid; gap: 14px; }
.product-summary-text { color: var(--muted); line-height: 1.8; margin: 0; }
.product-cta-stack { display: grid; gap: 12px; }
.product-desc-box.compact { margin-top: 8px; }
.order-info-card { height: fit-content; }
.bullet-list {
    margin: 14px 0 0;
    padding-left: 18px;
    color: var(--muted);
    line-height: 1.8;
}
.choice-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.choice-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
}
.choice-card input { margin-top: 3px; }
.choice-card span { display: grid; gap: 4px; }
.choice-card small { color: var(--muted); line-height: 1.6; }
.form-footnote {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
}
.order-form small {
    display: block;
    margin-top: 8px;
    color: var(--muted);
    font-size: 12px;
}
@media (max-width: 1180px) {
    .footer-top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .footer-brand-block {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1100px) {
    .header-main-grid {
        grid-template-columns: 1fr;
        padding-top: 14px;
        padding-bottom: 14px;
    }
    .site-search { order: 3; }
    .header-actions { justify-content: flex-start; }
    .menu-bar { gap: 18px; }
    .hero-grid,
    .product-detail-grid,
    .quick-order-grid,
    .product-form-layout {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 760px) {
    .container { width: min(var(--container), calc(100% - 32px)); }
    .header-actions { gap: 8px; }
    .header-btn, .header-link { min-height: 42px; font-size: 13px; }
    .menu-bar {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 6px;
    }
    .menu-dropdown { width: min(92vw, 680px); }
    .menu-dropdown-grid,
    .card-grid,
    .steps-grid,
    .admin-stats-grid,
    .admin-shortcuts,
    .choice-row {
        grid-template-columns: 1fr;
    }
}


/* Admin v5 polish */
.admin-shell {
    grid-template-columns: 280px 1fr;
}
.admin-sidebar {
    position: sticky;
    top: 0;
    min-height: 100vh;
    padding: 28px 18px;
    background: linear-gradient(180deg, #1d1420 0%, #140f17 100%);
    border-right: 1px solid rgba(255,255,255,.05);
}
.admin-brand-wrap {
    display: grid;
    gap: 10px;
    padding: 4px 6px 10px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    margin-bottom: 8px;
}
.admin-brand-wrap p {
    margin: 0;
    color: rgba(255,255,255,.62);
    font-size: 13px;
    line-height: 1.6;
}
.admin-nav-group {
    display: grid;
    gap: 8px;
}
.admin-nav-title {
    color: rgba(255,255,255,.46);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 4px 10px;
}
.admin-sidebar nav a {
    min-height: 48px;
    display: flex;
    align-items: center;
    border: 1px solid transparent;
}
.admin-sidebar nav a.is-active {
    background: rgba(255,255,255,.09);
    border-color: rgba(255,255,255,.08);
}
.admin-main {
    padding: 26px 30px 40px;
}
.admin-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    padding: 14px 18px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.75);
    backdrop-filter: blur(8px);
    border-radius: 18px;
}
.admin-topbar strong {
    display: block;
    font-size: 15px;
}
.admin-topbar span {
    color: var(--muted);
    font-size: 13px;
}
.admin-topbar-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}
.admin-user-pill {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--line);
    font-weight: 800;
}
.admin-head {
    margin-bottom: 18px;
}
.admin-head p {
    max-width: 820px;
}
.admin-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0 22px;
}
.admin-metric-card {
    padding: 22px;
    border-radius: 22px;
    border: 1px solid var(--line);
    background: #fff;
    box-shadow: var(--shadow);
    display: grid;
    gap: 8px;
}
.admin-metric-card.highlight {
    background: linear-gradient(135deg, #fff0f7, #ffffff);
    border-color: #efc7dc;
}
.admin-metric-card span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.admin-metric-card strong {
    font-size: 34px;
    line-height: 1;
    letter-spacing: -.03em;
}
.admin-metric-card small {
    color: var(--muted);
    line-height: 1.6;
}
.compact-grid .admin-metric-card strong {
    font-size: 28px;
}
.admin-shortcuts-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}
.admin-shortcut-card {
    display: grid;
    gap: 10px;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: var(--shadow);
    transition: transform .18s ease, border-color .18s ease;
}
.admin-shortcut-card:hover {
    transform: translateY(-3px);
    border-color: #edc6db;
}
.admin-shortcut-card strong {
    font-size: 18px;
    letter-spacing: -.02em;
}
.admin-shortcut-card span {
    color: var(--muted);
    line-height: 1.7;
}
.admin-two-col {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 16px;
    margin-bottom: 22px;
}
.section-head.compact {
    margin-bottom: 16px;
}
.section-head.compact h2 {
    font-size: 24px;
}
.status-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.status-overview-card {
    display: grid;
    gap: 8px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: #fff9fb;
}
.status-overview-card span {
    color: var(--muted);
    font-weight: 700;
}
.status-overview-card strong {
    font-size: 28px;
    letter-spacing: -.03em;
}
.admin-note-card {
    background: linear-gradient(180deg, #fff8fb, #fff);
}
.admin-bullet-list {
    margin-top: 0;
}
.table-wrap {
    border: 1px solid #f1e1ea;
    border-radius: 18px;
    overflow: auto;
}
.table-wrap table {
    min-width: 920px;
}
th, td {
    vertical-align: top;
}
code {
    display: inline-block;
    padding: 6px 8px;
    border-radius: 10px;
    background: #f8f2f6;
    border: 1px solid #efe0e8;
    font-size: 12px;
}
.mini-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f5eef9;
    color: var(--secondary);
    border: 1px solid #e5d9f0;
    font-size: 12px;
    font-weight: 800;
}
.admin-thumb.placeholder {
    display: grid;
    place-items: center;
    color: var(--muted);
    text-align: center;
    font-size: 11px;
    line-height: 1.35;
}
.lead-note-box {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fff6fa;
    border: 1px solid #f1dbe5;
    color: var(--muted);
    line-height: 1.6;
}
.status-badge.new {
    background: #fff0f7;
    color: #b83275;
}
.status-badge.contacted {
    background: #eef6ff;
    color: #235ea8;
}
.status-badge.approved {
    background: #eafbf4;
    color: #116f4f;
}
.status-badge.closed {
    background: #f6eff4;
    color: #7e6f79;
}
.admin-settings-stack {
    display: grid;
    gap: 18px;
}
.settings-card {
    padding: 26px;
}
.no-shadow {
    box-shadow: none;
}
.no-pad {
    padding: 0;
    border: 0;
    background: transparent;
}
.sticky-actions {
    position: sticky;
    bottom: 18px;
    z-index: 4;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(8px);
    border: 1px solid var(--line);
}
@media (max-width: 1200px) {
    .admin-shortcuts-grid,
    .admin-metric-grid,
    .status-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .admin-two-col {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 900px) {
    .admin-shell {
        grid-template-columns: 1fr;
    }
    .admin-sidebar {
        position: relative;
        min-height: auto;
    }
    .admin-main {
        padding: 20px 16px 28px;
    }
    .admin-topbar {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Admin v6 refinement */
.admin-brand-badge {
    display: inline-flex;
    width: fit-content;
    min-height: 28px;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(217,70,143,.16);
    color: #ff8cc2;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.brand-admin {
    font-size: 22px;
    letter-spacing: -.04em;
}
.admin-sidebar-foot {
    margin-top: auto;
    padding: 16px 6px 0;
}
.admin-side-stat {
    display: grid;
    gap: 8px;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}
.admin-side-stat strong {
    color: #fff;
    font-size: 14px;
}
.admin-side-stat span {
    color: rgba(255,255,255,.65);
    font-size: 13px;
    line-height: 1.6;
}
.admin-topbar {
    padding: 18px 20px;
    margin-bottom: 24px;
}
.admin-topbar-copy {
    display: grid;
    gap: 4px;
}
.admin-topbar-kicker {
    color: var(--primary-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.admin-topbar strong {
    font-size: 18px;
}
.admin-head.with-actions {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
}
.admin-head.with-actions .btn {
    flex-shrink: 0;
}
.admin-metric-card.admin-metric-card-primary {
    background: linear-gradient(135deg, #fff6fb, #ffffff);
    border-color: #efcade;
}
.admin-shortcut-card em {
    color: var(--primary-dark);
    font-style: normal;
    font-weight: 800;
    font-size: 13px;
}
.admin-two-col-wide {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
}
.admin-empty-state {
    display: grid;
    gap: 8px;
    padding: 28px 24px;
    text-align: center;
}
.admin-empty-state strong {
    font-size: 18px;
}
.admin-empty-state span {
    color: var(--muted);
    line-height: 1.7;
    max-width: 620px;
    margin: 0 auto;
}
.admin-hint-card {
    background: linear-gradient(180deg, #fff8fb, #fff);
    margin-bottom: 22px;
}
.admin-hint-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.admin-hint-grid > div {
    display: grid;
    gap: 8px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid #f1dbe5;
    background: #fff;
}
.admin-hint-grid strong {
    font-size: 15px;
}
.admin-hint-grid span {
    color: var(--muted);
    line-height: 1.65;
}
.table-meta-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
}
.muted-pill {
    background: #fff6fa;
    color: var(--primary-dark);
    border-color: #f0d6e3;
}
.table-wrap thead th {
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
}
@media (max-width: 1200px) {
    .admin-hint-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 900px) {
    .admin-head.with-actions {
        display: grid;
        align-items: start;
    }
}

/* Admin v7 forms */
.admin-form-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 22px;
    align-items: start;
}
.admin-form-main,
.admin-form-side {
    display: grid;
    gap: 22px;
}
.admin-form-card {
    padding: 26px;
}
.admin-card-head {
    display: grid;
    gap: 10px;
    margin-bottom: 18px;
}
.admin-card-head h2 {
    margin: 0;
    font-size: 24px;
    letter-spacing: -.02em;
}
.admin-card-head p {
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
}
.mini-kicker {
    display: inline-flex;
    width: fit-content;
    min-height: 26px;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    background: #fff2f7;
    color: var(--primary-dark);
    font-size: 12px;
    font-weight: 800;
}
.admin-side-note {
    display: grid;
    gap: 12px;
    padding: 20px;
    border-radius: 22px;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, #fffdfd, #fff5f9);
    box-shadow: var(--shadow);
}
.admin-side-note strong {
    font-size: 17px;
}
.compact-list {
    gap: 10px;
}
.compact-list li {
    color: var(--muted);
    line-height: 1.65;
}
.admin-check-grid {
    display: grid;
    gap: 10px;
}
.admin-check-grid span {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #f0dce6;
    color: var(--text);
    font-weight: 700;
}
.admin-check-grid span::before {
    content: "✓";
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    background: #eafbf4;
    color: #116f4f;
    font-size: 12px;
    font-weight: 900;
    flex-shrink: 0;
}
.admin-upload-placeholder {
    min-height: 150px;
    display: grid;
    place-items: center;
    text-align: center;
    border: 1px dashed #e6cddb;
    border-radius: 18px;
    background: #fff;
    color: var(--muted);
    padding: 18px;
}
.admin-switch-group {
    display: grid;
    gap: 12px;
    align-content: start;
}
.switch-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid #eed9e4;
    background: #fff;
    font-weight: 800;
}
.switch-row input {
    width: 18px;
    height: 18px;
    accent-color: var(--primary);
}
.admin-publish-grid {
    grid-template-columns: 1.1fr .9fr;
}
.side-submit-box {
    display: grid;
    gap: 10px;
}
.table-wrap tbody tr:nth-child(2n) {
    background: rgba(255, 246, 250, .45);
}
.table-wrap tbody tr:hover {
    background: rgba(255, 242, 247, .8);
}
.table-wrap td code {
    display: inline-flex;
    max-width: 170px;
    white-space: normal;
    word-break: break-word;
}
.admin-thumb.placeholder {
    display: grid;
    place-items: center;
    text-align: center;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}
@media (max-width: 1180px) {
    .admin-form-shell {
        grid-template-columns: 1fr;
    }
    .admin-publish-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 720px) {
    .admin-form-card,
    .admin-side-note {
        padding: 20px;
    }
    .admin-card-head h2 {
        font-size: 21px;
    }
}

.admin-micro-stack {
    display: grid;
    gap: 4px;
    margin-top: 8px;
}
.compact-table table th,
.compact-table table td {
    padding-top: 14px;
    padding-bottom: 14px;
}
.status-badge.order-new,
.status-badge.order-confirmed,
.status-badge.order-in_progress,
.status-badge.order-completed,
.status-badge.order-cancelled,
.status-badge.cargo-pending,
.status-badge.cargo-ready,
.status-badge.cargo-shipped,
.status-badge.cargo-delivered {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: capitalize;
    border: 1px solid #ead5df;
    background: #fff;
}
.status-badge.order-new, .status-badge.cargo-pending { background:#fff7e6; color:#8a6112; border-color:#f1db9a; }
.status-badge.order-confirmed, .status-badge.cargo-ready { background:#eef7ff; color:#1d5b96; border-color:#c8def4; }
.status-badge.order-in_progress, .status-badge.cargo-shipped { background:#f6f0ff; color:#6937b9; border-color:#dfcdf9; }
.status-badge.order-completed, .status-badge.cargo-delivered { background:#eafbf4; color:#116f4f; border-color:#caecd8; }
.status-badge.order-cancelled { background:#fff1f4; color:#ad2a56; border-color:#f0cad8; }
.admin-order-shell { grid-template-columns: 1.4fr .8fr; }
.admin-summary-grid {
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
    margin-bottom: 18px;
}
.admin-summary-grid div {
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid #eed9e4;
    background: #fff;
    display:grid;
    gap:6px;
}
.admin-summary-grid strong { font-size: 12px; text-transform: uppercase; letter-spacing:.08em; color: var(--muted); }
.admin-summary-grid span { font-weight: 700; color: var(--text); }
.order-track-card .track-meta-list {
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.order-track-card .track-meta-list div,
.progress-box {
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid #ead5df;
    background: #fff;
    display:grid;
    gap: 4px;
}
.order-progress-grid {
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.progress-box strong { font-size: 14px; }
.progress-box span { text-transform: capitalize; color: var(--muted); }
.progress-box.is-done { background: #eafbf4; border-color:#caecd8; }
@media (max-width: 1180px) {
    .admin-order-shell { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .admin-summary-grid,
    .order-track-card .track-meta-list,
    .order-progress-grid { grid-template-columns: 1fr; }
}


.approval-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:28px;align-items:start}.approval-status-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 20px}.approval-status-strip div,.approval-preview-card{background:#fff;border:1px solid rgba(217,122,179,.22);border-radius:24px;padding:18px 20px;box-shadow:0 12px 34px rgba(39,14,47,.04)}.approval-status-strip strong{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.approval-status-strip span{font-size:15px;font-weight:700;color:var(--ink)}.approval-preview-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}.approval-preview-head h3{margin:0}.approval-preview-box{border-radius:22px;overflow:hidden;background:#fbf7fa;border:1px dashed rgba(217,122,179,.35);min-height:320px;display:flex;align-items:center;justify-content:center}.approval-preview-placeholder{padding:32px;text-align:center;flex-direction:column;gap:12px}.approval-form{margin-top:18px}.approval-actions{display:flex;gap:12px;flex-wrap:wrap}.inline-approval-link,.table-inline-link{display:inline-flex;align-items:center;gap:6px;color:#b13fa0;font-weight:700;text-decoration:none}.inline-approval-link:hover,.table-inline-link:hover{text-decoration:underline}.form-row input[type=file]{padding:14px;background:#fff;border:1px dashed rgba(217,122,179,.35)}.lead-form small,.form-row small{display:block;color:var(--muted);margin-top:6px;line-height:1.55}.order-track-card .info-card-actions .btn{width:100%}@media (max-width: 980px){.approval-grid{grid-template-columns:1fr}.approval-status-strip{grid-template-columns:1fr 1fr}}

/* v10 ecommerce foundation */
.auth-grid, .account-grid, .cart-layout, .checkout-layout {display:grid; gap:28px; grid-template-columns:1.1fr .9fr;}
.auth-card, .table-card {background:#fff; border:1px solid var(--line); border-radius:24px; padding:28px; box-shadow:var(--shadow);} 
.auth-card-wide{max-width:920px}
.auth-switch{margin-top:16px; color:var(--muted)}
.auth-switch a{color:var(--primary-dark); font-weight:700}
.register-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px}
.register-grid .full{grid-column:1/-1}
.address-list{display:grid; gap:14px}
.address-card{border:1px solid var(--line); border-radius:18px; padding:16px; background:#fff9fc}
.account-grid .full-span{grid-column:1/-1}
.track-meta-list.compact{display:grid; gap:12px; margin-top:16px}
.track-meta-list.compact div{display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); padding-bottom:10px}
.cart-layout, .checkout-layout{align-items:start}
.cart-item{display:grid; grid-template-columns:120px 1fr; gap:18px; background:#fff; border:1px solid var(--line); border-radius:22px; padding:18px; margin-bottom:18px}
.cart-item-media{min-height:120px; border:1px solid var(--line); border-radius:18px; background:#fff8fb; display:flex; align-items:center; justify-content:center; overflow:hidden}
.cart-meta{display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:14px; margin:8px 0 10px}
.cart-controls{display:flex; align-items:center; gap:16px; flex-wrap:wrap}
.cart-controls input{width:92px; min-height:44px; border:1px solid var(--line); border-radius:14px; padding:0 12px}
.btn-link{border:0; background:none; color:var(--danger); font-weight:800; cursor:pointer; padding:0}
.sticky-card{position:sticky; top:120px}
.summary-line{display:flex; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid var(--line)}
.summary-line.total{font-size:18px; font-weight:800; border-bottom:0; padding-top:18px}
.stack-actions{display:grid; gap:12px; margin-top:18px}
.choice-row{display:grid; grid-template-columns:1fr; gap:12px}
.address-options{display:grid; gap:12px}
.mini-cart-form{margin-top:20px; border:1px solid var(--line); border-radius:24px; padding:18px; background:#fff}
.mini-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px}
.mini-grid .full{grid-column:1/-1}
.header-btn-soft{font-weight:800}
.admin-table .status-pill.muted{background:#f5edf3; color:#7a6777}
.admin-form-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:24px}
.admin-form-card{background:#fff; border:1px solid var(--line); border-radius:24px; padding:24px}
.admin-form-card.aside .stack-actions{margin-top:22px}
.admin-section-head{display:grid; gap:12px; margin-bottom:24px}
.btn-sm{min-height:38px; padding:0 14px; border-radius:14px}
@media (max-width: 980px){.auth-grid,.account-grid,.cart-layout,.checkout-layout,.admin-form-grid{grid-template-columns:1fr}.sticky-card{position:static}.register-grid,.mini-grid{grid-template-columns:1fr}.header-main-grid{grid-template-columns:1fr}.header-actions{justify-content:flex-start}.menu-bar{gap:18px}}

/* v10.2 premium dropdown header + mobile navigation */
.premium-header {
    box-shadow: 0 12px 32px rgba(54, 17, 48, 0.05);
}
.premium-header-grid {
    min-height: 94px;
    grid-template-columns: 250px minmax(300px, 1fr) auto;
    gap: 24px;
    padding-left: 28px;
    padding-right: 28px;
}
.premium-brand {
    font-size: 25px;
    letter-spacing: -0.04em;
}
.premium-search input,
.mobile-search input {
    background: linear-gradient(180deg, #fff, #fff8fb);
}
.premium-actions {
    gap: 12px;
}
.premium-actions .header-link,
.premium-actions .header-btn {
    box-shadow: 0 10px 22px rgba(69, 18, 57, 0.04);
}
.mobile-nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 16px;
    border-radius: 16px;
    border: 1px solid var(--line);
    background: #fff;
    color: var(--text);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}
.mobile-nav-toggle span {
    width: 16px;
    height: 2px;
    background: var(--text);
    display: block;
    border-radius: 999px;
}
.premium-menu-row {
    border-top: 0;
}
.desktop-menu {
    justify-content: flex-start;
    gap: 30px;
    min-height: 62px;
    padding-left: 28px;
    padding-right: 28px;
}
.menu-item { display: flex; align-items: stretch; }
.menu-link {
    position: relative;
    min-height: 62px;
    padding: 0;
    transition: color .18s ease;
}
.menu-link::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 11px;
    height: 2px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    border-radius: 999px;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .18s ease;
}
.menu-item:hover > .menu-link::after,
.menu-item:focus-within > .menu-link::after,
.menu-link:hover::after { transform: scaleX(1); }
.has-dropdown:hover .menu-dropdown,
.has-dropdown:focus-within .menu-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.menu-dropdown {
    top: calc(100% - 4px);
    width: 760px;
    max-width: calc(100vw - 72px);
}
.menu-dropdown-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    border-radius: 28px;
    padding: 18px;
}
.dropdown-card {
    min-height: 108px;
    align-content: start;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.dropdown-card strong {
    font-size: 15px;
    line-height: 1.35;
}
.dropdown-card span {
    font-size: 13px;
    line-height: 1.6;
}
.dropdown-card:hover {
    transform: translateY(-2px);
    border-color: #e7bfd2;
    box-shadow: 0 14px 28px rgba(80, 23, 70, 0.08);
}
.mobile-nav {
    display: none;
    border-top: 1px solid rgba(234,219,228,.75);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,251,.98));
}
.mobile-nav-inner {
    padding: 18px 0 22px;
    display: grid;
    gap: 16px;
}
.mobile-search {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
}
.mobile-search input {
    min-height: 48px;
    border: 1px solid #e7d5e0;
    border-radius: 16px;
    padding: 0 16px;
    font: inherit;
}
.mobile-search button {
    min-height: 48px;
    padding: 0 18px;
    border: 0;
    border-radius: 16px;
    font: inherit;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
}
.mobile-action-stack {
    display: grid;
    gap: 10px;
}
.mobile-link-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: 0 16px;
    border-radius: 16px;
    border: 1px solid var(--line);
    background: #fff;
    font-weight: 700;
}
.mobile-menu-list {
    display: grid;
    gap: 10px;
}
.mobile-menu-group {
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
}
.mobile-menu-group summary {
    list-style: none;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    font-weight: 800;
    cursor: pointer;
}
.mobile-menu-group summary::-webkit-details-marker { display: none; }
.mobile-menu-group summary::after {
    content: '+';
    font-size: 20px;
    line-height: 1;
    color: var(--primary-dark);
}
.mobile-menu-group[open] summary::after { content: '−'; }
.mobile-submenu {
    display: grid;
    gap: 1px;
    padding: 0 10px 10px;
}
.mobile-submenu a {
    display: grid;
    gap: 4px;
    padding: 14px 12px;
    border-radius: 14px;
    background: #fff8fb;
}
.mobile-submenu strong { font-size: 14px; }
.mobile-submenu span {
    font-size: 12px;
    color: var(--muted);
    line-height: 1.55;
}
body.mobile-nav-open { overflow: hidden; }

@media (max-width: 1200px) {
    .premium-header-grid {
        grid-template-columns: 220px minmax(260px, 1fr) auto;
        gap: 18px;
        padding-left: 22px;
        padding-right: 22px;
    }
    .premium-actions .header-link { padding: 0 10px; }
    .desktop-menu { gap: 24px; }
    .menu-dropdown { width: 680px; }
}

@media (max-width: 820px) {
    .site-footer {
        margin-top: 36px;
        padding-bottom: 18px;
    }
    .footer-shell {
        padding: 22px 18px 18px;
        border-radius: 24px;
    }
    .footer-top,
    .static-page-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .footer-brand-title {
        font-size: 32px;
        max-width: 100%;
    }
    .footer-brand-copy {
        font-size: 16px;
    }
    .footer-action {
        width: 100%;
        min-height: 48px;
        font-size: 16px;
    }
    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
    .footer-legal-links {
        justify-content: flex-start;
    }
    .static-page-wrap {
        padding: 28px 0 52px;
    }
    .static-page-hero,
    .static-page-content {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 980px) {
    .premium-header-grid {
        grid-template-columns: 1fr auto;
        gap: 14px;
        min-height: 78px;
        padding: 14px 22px;
    }
    .premium-brand { font-size: 23px; }
    .premium-search,
    .premium-actions,
    .desktop-menu { display: none; }
    .mobile-nav-toggle { display: inline-flex; }
    .mobile-nav:not([hidden]) { display: block; }
    .header-main-row { border-bottom: 0; }
    .premium-menu-row { display: none; }
}

@media (max-width: 720px) {
    .container { width: min(var(--container), calc(100% - 32px)); }
    .premium-header-grid {
        padding-left: 16px;
        padding-right: 16px;
    }
    .mobile-nav-toggle {
        min-height: 44px;
        padding: 0 12px;
    }
    .mobile-nav-toggle strong { font-size: 14px; }
    .mobile-search { grid-template-columns: 1fr; }
    .mobile-search button,
    .mobile-search input,
    .mobile-link-row,
    .mobile-menu-group summary { min-height: 46px; }
}

/* v11 trendy-style customer header - safe front only */
.trendy-header {
    background: rgba(255,255,255,.96);
    box-shadow: 0 10px 28px rgba(46, 20, 41, .05);
}
.trendy-main-row { border-bottom: 1px solid rgba(234,219,228,.82); }
.trendy-header-grid {
    min-height: 92px;
    grid-template-columns: 240px minmax(320px, 1fr) auto;
    gap: 18px;
    padding-left: 14px;
    padding-right: 14px;
}
.trendy-brand {
    align-self: center;
    font-size: 25px;
}
.trendy-search {
    max-width: 640px;
    width: 100%;
    margin: 0 auto;
}
.trendy-search input {
    min-height: 48px;
    border-radius: 16px;
    background: #fff;
}
.trendy-search button {
    min-width: 78px;
    min-height: 48px;
    border-radius: 16px;
}
.trendy-actions {
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: nowrap;
}
.top-action {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 999px;
    font-weight: 800;
    color: #4f4555;
    background: transparent;
    border: 1px solid transparent;
    transition: all .18s ease;
    white-space: nowrap;
}
.top-action:hover {
    color: var(--text);
    background: #fff;
    border-color: var(--line);
}
.top-action-user {
    gap: 8px;
}
.top-action-user::before {
    content: '';
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid currentColor;
    opacity: .65;
    box-sizing: border-box;
    display: inline-block;
}
.top-action-user::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    opacity: .65;
    display: inline-block;
}
.top-action-admin {
    background: var(--text);
    color: #fff;
    border-color: var(--text);
}
.top-action-admin:hover { color:#fff; background:#130f18; border-color:#130f18; }
.user-popover {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.user-popover-menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 220px;
    padding: 14px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: 0 20px 36px rgba(56, 20, 50, .12);
    display: grid;
    gap: 10px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all .18s ease;
    z-index: 40;
}
.user-popover:hover .user-popover-menu,
.user-popover:focus-within .user-popover-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.user-popover-menu a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border-radius: 14px;
    font-weight: 800;
    border: 1px solid var(--line);
    background: #fff;
}
.user-popover-menu a:hover { border-color: #e7c6d7; }
.user-popover-menu .popover-primary {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #fff;
    border-color: transparent;
}
.trendy-menu-row {
    background: #fff;
    border-bottom: 1px solid rgba(234,219,228,.82);
}
.trendy-desktop-menu {
    min-height: 58px;
    gap: 34px;
    padding-left: 14px;
    padding-right: 14px;
}
.trendy-menu-link {
    min-height: 58px;
    color: #564b5c;
    font-size: 15px;
    font-weight: 800;
}
.trendy-menu-item > .trendy-menu-link::before {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-right: 10px;
    opacity: .65;
}
.trendy-menu-row .menu-dropdown { top: calc(100% - 2px); }
.trendy-menu-row .menu-dropdown-grid {
    border-radius: 24px;
    padding: 16px;
}
.trendy-mobile-toggle strong { font-size: 0; }
.mobile-account-card {
    display: grid;
    gap: 10px;
}
.mobile-link-wa {
    background: #ecfff6;
    border-color: #c4efd9;
    color: #11724f;
}
@media (max-width: 1180px) {
    .trendy-header-grid {
        grid-template-columns: 210px minmax(260px, 1fr) auto;
        gap: 14px;
    }
    .trendy-actions { gap: 2px; }
    .top-action { padding: 0 10px; }
}
@media (max-width: 980px) {
    .trendy-header-grid {
        grid-template-columns: 1fr auto auto;
        min-height: 74px;
        gap: 12px;
        padding: 12px 14px;
    }
    .trendy-search,
    .trendy-actions,
    .trendy-menu-row { display: none; }
    .trendy-mobile-toggle {
        display: inline-flex;
        min-height: 44px;
        min-width: 44px;
        padding: 0 14px;
    }
    .trendy-mobile-toggle strong {
        font-size: 14px;
    }
    .trendy-mobile-nav[hidden] { display:none !important; }
    .trendy-mobile-nav:not([hidden]) { display:block; }
}
@media (max-width: 640px) {
    .trendy-header-grid { grid-template-columns: 1fr auto; }
    .trendy-brand { font-size: 22px; }
}


/* v11.6 compact trendy header fix */
.trendy-header-grid{grid-template-columns:240px minmax(280px,520px) 1fr;align-items:center}
.trendy-search{max-width:520px;margin:0}
.trendy-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;min-width:0}
.top-action{padding:0 12px;font-size:15px}
.top-action-user{padding:0 14px}
.top-action-admin{padding:0 16px}
@media (max-width:1180px){.trendy-header-grid{grid-template-columns:220px minmax(240px,420px) 1fr;gap:12px}.top-action{padding:0 10px;font-size:14px}.trendy-search{max-width:420px}}
@media (max-width:980px){.trendy-search,.trendy-actions,.trendy-menu-row{display:none!important}.trendy-header-grid{grid-template-columns:1fr auto;min-height:74px;padding:12px 14px}.trendy-mobile-toggle{display:inline-flex!important}}


/* v11.7 header alignment + icons fix */
.trendy-header-grid{grid-template-columns:230px minmax(250px,420px) minmax(500px,1fr)!important;gap:26px!important;align-items:center;}
.trendy-search{max-width:420px!important;width:100%;}
.trendy-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px!important;flex-wrap:nowrap!important;min-width:500px;}
.user-popover{flex:0 0 auto;}
.top-action{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 2px;background:transparent;border:0;color:#4f4555;font-weight:800;white-space:nowrap;box-shadow:none;}
.top-action:hover{background:transparent;border-color:transparent;color:var(--text);}
.top-action-label{display:inline-flex;align-items:center;}
.top-action-icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;background-repeat:no-repeat;background-position:center;background-size:18px 18px;opacity:.9;}
.top-action-icon-user{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23564b5c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3C/svg%3E");}
.top-action-icon-heart{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23564b5c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 21-1.45-1.32C5.4 15.05 2 11.97 2 8.2 2 5.12 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09A6.03 6.03 0 0 1 16.5 3C19.58 3 22 5.12 22 8.2c0 3.77-3.4 6.85-8.55 11.49L12 21Z'/%3E%3C/svg%3E");}
.top-action-icon-cart{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23564b5c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='20' cy='20' r='1'/%3E%3Cpath d='M1 1h4l2.68 12.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");}
.top-action-user{padding:0 14px 0 10px;min-height:48px;border-radius:999px;border:1px solid var(--line);background:#fff;box-shadow:0 8px 24px rgba(69, 24, 64, .05);}
.top-action-user::before,.top-action-user::after{content:none!important;display:none!important;}
.user-popover:hover .top-action-user,.user-popover:focus-within .top-action-user{border-color:#e7c6d7;background:#fff;}
.top-action-caret{display:inline-block;width:8px;height:8px;flex:0 0 8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.65;margin-left:2px;}
.top-action-admin{padding:0 18px;background:var(--text);color:#fff;border:1px solid var(--text);box-shadow:none;}
.top-action-admin:hover{background:#130f18;border-color:#130f18;color:#fff;}
.user-popover-menu{top:calc(100% + 12px);right:auto;left:0;min-width:206px;z-index:90;}
@media (max-width:1260px){.trendy-header-grid{grid-template-columns:210px minmax(220px,360px) minmax(480px,1fr)!important;gap:18px!important;}.trendy-search{max-width:360px!important;}.trendy-actions{gap:12px!important;}.top-action{font-size:15px;}.top-action-label{max-width:unset;}}
@media (max-width:1100px){.trendy-header-grid{grid-template-columns:200px minmax(200px,320px) minmax(430px,1fr)!important;gap:14px!important;}.trendy-search{max-width:320px!important;}.trendy-actions{gap:8px!important;}.top-action{font-size:14px;}.top-action-user{padding:0 12px 0 8px;}.top-action-admin{padding:0 14px;}}
@media (max-width:980px){.trendy-search,.trendy-actions,.trendy-menu-row{display:none!important;}.trendy-header-grid{grid-template-columns:1fr auto!important;min-height:74px;padding:12px 14px!important;}.trendy-mobile-toggle{display:inline-flex!important;}}


/* ===== Homepage V3 Safe Enhancements (header/footer untouched) ===== */
.homepage-v3 {
    background: linear-gradient(180deg, #fffafb 0%, #fff8fb 46%, #ffffff 100%);
}
.homepage-v3 .hpv3-hero {
    padding-top: 30px;
    padding-bottom: 26px;
}
.homepage-v3 .hpv3-hero-grid {
    align-items: stretch;
    gap: 28px;
}
.homepage-v3 .hero > .container,
.homepage-v3 .section > .container {
    position: relative;
}
.homepage-v3 .hero h1 {
    max-width: 11ch;
    font-size: clamp(2.5rem, 4.8vw, 4.7rem);
    line-height: 0.94;
    letter-spacing: -0.045em;
    margin-bottom: 22px;
}
.homepage-v3 .hero p {
    max-width: 720px;
    font-size: 1.1rem;
    color: #675b77;
    line-height: 1.9;
}
.homepage-v3 .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(253,240,248,0.98));
    border: 1px solid rgba(226,177,214,0.9);
    box-shadow: 0 16px 34px rgba(214, 133, 182, 0.12);
}
.homepage-v3 .hero-actions {
    gap: 14px;
    margin-top: 28px;
}
.homepage-v3 .hero-actions .btn,
.homepage-v3 .info-card-actions .btn,
.homepage-v3 .lead-form .btn {
    min-height: 54px;
    padding-inline: 24px;
    border-radius: 18px;
    font-weight: 800;
    box-shadow: 0 18px 36px rgba(215, 93, 165, 0.12);
}
.homepage-v3 .btn-secondary {
    background: #fff;
}
.homepage-v3 .hpv3-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}
.homepage-v3 .hpv3-trust-row span {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(228, 196, 219, 0.95);
    background: rgba(255,255,255,0.86);
    color: #4f4460;
    font-weight: 700;
    font-size: 0.94rem;
}
.homepage-v3 .hpv3-hero-card {
    padding: 18px;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,246,251,0.95));
    border: 1px solid rgba(229, 198, 220, 0.92);
    box-shadow: 0 28px 70px rgba(40, 17, 41, 0.08);
    display: grid;
    gap: 16px;
    min-height: 100%;
}
.homepage-v3 .hero-card .stat-card {
    min-height: 142px;
    border-radius: 24px;
    border: 1px solid rgba(231, 205, 223, 0.96);
    background: linear-gradient(180deg, #ffffff 0%, #fff7fb 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
    padding: 24px 24px 22px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.homepage-v3 .hero-card .stat-card strong {
    font-size: 1.65rem;
    line-height: 1.08;
    margin-bottom: 8px;
    color: #24182f;
}
.homepage-v3 .hero-card .stat-card span {
    color: #6a5d7b;
    font-size: 1rem;
    line-height: 1.7;
}
.homepage-v3 .section {
    padding-block: 34px;
}
.homepage-v3 .section.muted {
    background: transparent;
}
.homepage-v3 .hpv3-section-head {
    margin-bottom: 20px;
}
.homepage-v3 .hpv3-section-head h2 {
    font-size: clamp(1.9rem, 2.8vw, 2.7rem);
    letter-spacing: -0.035em;
    line-height: 1.05;
}
.homepage-v3 .hpv3-section-head p {
    max-width: 760px;
    color: #6d607d;
}
.homepage-v3 .hpv3-card-grid,
.homepage-v3 .product-grid,
.homepage-v3 .hpv3-steps-grid {
    gap: 20px;
}
.homepage-v3 .hpv3-category-card,
.homepage-v3 .hpv3-product-card,
.homepage-v3 .hpv3-step-card,
.homepage-v3 .hpv3-info-card,
.homepage-v3 .hpv3-lead-form {
    border-radius: 26px;
    border: 1px solid rgba(230, 201, 222, 0.92);
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,248,251,0.98));
    box-shadow: 0 22px 56px rgba(34, 17, 44, 0.06);
}
.homepage-v3 .hpv3-category-card {
    padding: 24px;
}
.homepage-v3 .hpv3-category-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 60px rgba(34, 17, 44, 0.09);
}
.homepage-v3 .pill {
    background: rgba(245, 232, 241, 0.95);
    color: #a23386;
    border: 1px solid rgba(227, 186, 215, 0.92);
    font-weight: 800;
}
.homepage-v3 .hpv3-category-card h3,
.homepage-v3 .hpv3-product-card h3,
.homepage-v3 .hpv3-step-card h3,
.homepage-v3 .hpv3-info-card h3 {
    letter-spacing: -0.03em;
}
.homepage-v3 .hpv3-product-card {
    overflow: hidden;
}
.homepage-v3 .hpv3-product-image {
    aspect-ratio: 1 / 1;
    background: linear-gradient(180deg, #fff5fa 0%, #ffffff 100%);
}
.homepage-v3 .hpv3-product-body {
    padding: 22px 22px 20px;
}
.homepage-v3 .product-chip {
    top: 16px;
    left: 16px;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 0.82rem;
}
.homepage-v3 .hpv3-product-meta-mini span {
    border-radius: 999px;
    background: rgba(246, 236, 243, 0.85);
    padding: 8px 12px;
    color: #5c4e6c;
}
.homepage-v3 .hpv3-product-footer {
    align-items: center;
    gap: 14px;
}
.homepage-v3 .hpv3-product-footer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 14px;
    background: rgba(245, 231, 241, 0.85);
}
.homepage-v3 .hpv3-steps-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
}
.homepage-v3 .hpv3-step-card {
    padding: 28px;
}
.homepage-v3 .hpv3-step-card strong {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    font-size: 1.25rem;
    background: linear-gradient(135deg, #ff59b0, #8e4fff);
    color: #fff;
    box-shadow: 0 14px 28px rgba(205, 70, 148, 0.22);
}
.homepage-v3 .hpv3-quick-order-grid {
    align-items: start;
    gap: 24px;
}
.homepage-v3 .hpv3-info-card {
    padding: 28px;
}
.homepage-v3 .hpv3-lead-form {
    padding: 24px;
}
.homepage-v3 .hpv3-form-row label {
    font-weight: 800;
    color: #362a46;
}
.homepage-v3 .hpv3-lead-form input,
.homepage-v3 .hpv3-lead-form select,
.homepage-v3 .hpv3-lead-form textarea {
    min-height: 54px;
    border-radius: 16px;
    border: 1px solid rgba(228, 202, 221, 0.96);
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
}
.homepage-v3 .hpv3-lead-form textarea {
    min-height: 140px;
    padding-top: 16px;
}
.homepage-v3 .full-width {
    width: 100%;
}
@media (max-width: 980px) {
    .homepage-v3 .hpv3-hero {
        padding-top: 18px;
        padding-bottom: 12px;
    }
    .homepage-v3 .hero h1 {
        max-width: none;
        font-size: clamp(2.3rem, 11vw, 3.5rem);
    }
    .homepage-v3 .hero p {
        font-size: 1rem;
        line-height: 1.8;
    }
    .homepage-v3 .hpv3-hero-card {
        padding: 14px;
        border-radius: 24px;
    }
    .homepage-v3 .hero-card .stat-card {
        min-height: 122px;
        border-radius: 20px;
        padding: 20px;
    }
    .homepage-v3 .hpv3-steps-grid {
        grid-template-columns: 1fr;
    }
    .homepage-v3 .hero-actions .btn,
    .homepage-v3 .info-card-actions .btn {
        width: 100%;
        justify-content: center;
    }
}
@media (max-width: 720px) {
    .homepage-v3 .section {
        padding-block: 26px;
    }
    .homepage-v3 .hpv3-trust-row {
        gap: 10px;
    }
    .homepage-v3 .hpv3-trust-row span {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
    .homepage-v3 .hpv3-section-head h2 {
        font-size: clamp(1.65rem, 8vw, 2.15rem);
    }
    .homepage-v3 .hpv3-category-card,
    .homepage-v3 .hpv3-product-body,
    .homepage-v3 .hpv3-step-card,
    .homepage-v3 .hpv3-info-card,
    .homepage-v3 .hpv3-lead-form {
        padding: 20px;
        border-radius: 22px;
    }
    .homepage-v3 .hpv3-product-footer {
        align-items: stretch;
    }
    .homepage-v3 .hpv3-product-footer a {
        width: 100%;
    }
}
