/* ==========================================================================
   Netyex Theme — Main Stylesheet
   Author: Shuvadip Sana — pixelvect.com
   ========================================================================== */

/* ---------- Reset & Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; }
body { margin: 0; font-family: var(--netyex-body-font, 'Plus Jakarta Sans'), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-size: 1rem; line-height: 1.6; color: var(--netyex-text, #0f172a); background: var(--netyex-bg, #ffffff); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
h1, h2, h3, h4, h5, h6 { font-family: var(--netyex-heading-font, 'Plus Jakarta Sans'), sans-serif; color: var(--netyex-heading, #0f172a); font-weight: 700; line-height: 1.2; margin: 0 0 0.75rem; }
h1 { font-size: 2.25rem; }
h2 { font-size: 1.875rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
p { margin: 0 0 1rem; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--netyex-link, #2563eb); text-decoration: none; transition: color 0.15s; }
a:hover { color: var(--netyex-brand-dark, #1d4ed8); }
ul, ol { margin: 0 0 1rem 1.5rem; padding: 0; }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
input, textarea, select { font-family: inherit; font-size: 1rem; }

/* ---------- Layout ---------- */
.container { width: 100%; max-width: var(--netyex-container, 1200px); margin: 0 auto; padding: 0 1rem; }
@media (min-width: 640px) { .container { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .container { padding: 0 2rem; } }

.site-content { min-height: 50vh; }
.site-main { padding: 0; }

.section { padding: 3.5rem 0; }
@media (min-width: 1024px) { .section { padding: 5rem 0; } }
.section-white { background: #ffffff; border-bottom: 1px solid #f1f5f9; }
.section-gray { background: #f8fafc; border-bottom: 1px solid #f1f5f9; }

/* ---------- Section divider ---------- */
.section-divider-wrap { display: flex; justify-content: center; padding: 0.5rem 0; }
.section-divider { width: 90%; max-width: 840px; height: 2px; margin: 0; border: 0; background: linear-gradient(90deg, transparent 0%, #2563eb 20%, #7c3aed 50%, #db2777 80%, transparent 100%); border-radius: 2px; }

/* ---------- Colorful gradient headings ---------- */
.heading-colorful { background: linear-gradient(120deg, #2563eb 0%, #7c3aed 35%, #db2777 65%, #ea580c 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.heading-colorful-blue { background: linear-gradient(120deg, #2563eb 0%, #3b82f6 50%, #06b6d4 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

.eyebrow { display: inline-block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #2563eb; }
.section-eyebrow { display: inline-block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #2563eb; }
.section-title { margin-top: 0.5rem; font-size: 1.875rem; font-weight: 700; letter-spacing: -0.02em; color: #0f172a; }
@media (min-width: 640px) { .section-title { font-size: 2.25rem; } }
.section-subtitle { margin-top: 0.75rem; color: #475569; font-size: 1rem; }
.section-head { margin-bottom: 2.5rem; }
.section-head-center { text-align: center; max-width: 42rem; margin-left: auto; margin-right: auto; margin-bottom: 2.5rem; }
.section-head-row { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 2.5rem; align-items: flex-start; }
@media (min-width: 640px) { .section-head-row { flex-direction: row; justify-content: space-between; align-items: flex-end; } }
.section-link-center { margin-top: 3rem; text-align: center; }

.text-link { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; font-weight: 600; color: #2563eb; white-space: nowrap; transition: color 0.15s; }
.text-link:hover { color: #1d4ed8; }

/* ---------- Eyebrow pills ---------- */
.eyebrow-pill { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.375rem 0.875rem; border-radius: 9999px; border: 1px solid #bfdbfe; background: #eff4ff; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #1d4ed8; }
.eyebrow-pill-violet { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.375rem 0.875rem; border-radius: 9999px; border: 1px solid #ddd6fe; background: #f5f3ff; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #6d28d9; }

/* ---------- Buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.875rem 1.75rem; border-radius: 9999px; font-size: 0.875rem; font-weight: 600; transition: all 0.2s ease; white-space: nowrap; cursor: pointer; text-decoration: none; }
.btn-primary { background: #2563eb; color: #ffffff; box-shadow: 0 12px 32px rgba(37, 99, 235, 0.2); }
.btn-primary:hover { background: #1d4ed8; color: #ffffff; transform: translateY(-1px); }
.btn-outline { background: #ffffff; color: #1e293b; border: 1px solid #cbd5e1; }
.btn-outline:hover { border-color: #94a3b8; background: #f8fafc; color: #1e293b; }
.btn-whatsapp { background: #10b981; color: #ffffff; box-shadow: 0 12px 32px rgba(16, 185, 129, 0.2); }
.btn-whatsapp:hover { background: #059669; color: #ffffff; transform: translateY(-1px); }
.btn-sm { padding: 0.625rem 1.25rem; font-size: 0.8125rem; }
.btn-chat { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.5rem 0.75rem; border-radius: 9999px; background: #10b981; color: #ffffff; font-size: 0.75rem; font-weight: 600; transition: background 0.15s; }
.btn-chat:hover { background: #059669; color: #ffffff; }
.btn-chat-full { display: flex; align-items: center; justify-content: center; gap: 0.5rem; margin-top: 0.75rem; padding: 0.75rem 1rem; border-radius: 9999px; background: #10b981; color: #ffffff; font-size: 0.875rem; font-weight: 600; transition: background 0.15s; }
.btn-chat-full:hover { background: #059669; }

.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 8px; color: #334155; transition: all 0.15s ease; position: relative; }
.icon-btn:hover { background: #f1f5f9; color: #2563eb; }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 100; width: 100%; }
.netyex-announcement-bar { background: var(--netyex-announcement, #0f172a); color: #ffffff; font-size: 0.75rem; }
.announcement-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 0.5rem; padding-bottom: 0.5rem; }
.announcement-item { display: inline-flex; align-items: center; gap: 0.5rem; }
.announcement-item svg { flex-shrink: 0; }
.announcement-center { font-weight: 500; flex: 1; justify-content: center; }
.announcement-right { gap: 1rem; align-items: center; }
.announcement-right a { transition: opacity 0.15s; color: #ffffff; }
.announcement-right a:hover { opacity: 0.85; text-decoration: underline; }

.main-nav { border-bottom: 1px solid #e2e8f0; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(8px); transition: box-shadow 0.2s; }
.main-nav.scrolled { box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; padding-bottom: 1rem; }
.menu-toggle { display: inline-flex; }
@media (min-width: 1024px) { .menu-toggle { display: none; } }

.logo { display: inline-flex; align-items: center; gap: 0.625rem; font-size: 1.25rem; font-weight: 800; letter-spacing: -0.02em; color: #0f172a; text-decoration: none; transition: opacity 0.15s; }
.logo:hover { color: #0f172a; opacity: 0.85; }
.logo-emblem { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex-shrink: 0; }
.logo-emblem svg { width: 100%; height: 100%; display: block; }
.logo-wordmark { font-size: 1.0625rem; font-weight: 800; line-height: 1.25; letter-spacing: -0.02em; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo-link img { max-height: 48px; width: auto; }

/* Footer logo — white version of the colorful wordmark */
.site-footer .logo { display: inline-flex !important; align-items: center !important; gap: 0.625rem; color: #ffffff; }
.site-footer .logo:hover { color: #ffffff; opacity: 0.85; }
.site-footer .logo-emblem { display: inline-flex !important; align-items: center !important; justify-content: center; line-height: 0; }
.site-footer .logo-wordmark {
        background: linear-gradient(120deg, #ffffff 0%, #bfdbfe 50%, #c4b5fd 100%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        color: transparent;
        line-height: 1.4;
        display: inline-flex;
        align-items: center;
        padding: 0.15em 0;
}

.desktop-nav { display: none; align-items: center; gap: 1.75rem; }
@media (min-width: 1024px) { .desktop-nav { display: flex; } }
.desktop-nav ul, .primary-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.75rem; }
.desktop-nav a, .primary-menu a { font-size: 0.875rem; font-weight: 500; color: #334155; transition: color 0.15s; position: relative; text-decoration: none; }
.desktop-nav a:hover, .primary-menu a:hover { color: #2563eb; }
.desktop-nav .current-menu-item > a, .primary-menu .current-menu-item > a { color: #2563eb; }
.desktop-nav .nav-sale a, .primary-menu .nav-sale a { color: #e11d48; }

.nav-actions { display: flex; align-items: center; gap: 0.25rem; }
@media (min-width: 640px) { .nav-actions { gap: 0.5rem; } }
.cart-btn { position: relative; }
.cart-badge { position: absolute; right: 4px; top: 4px; display: flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 9999px; background: #2563eb; color: #ffffff; font-size: 10px; font-weight: 700; }
.hide-mobile { display: none; }
@media (min-width: 640px) { .hide-mobile { display: inline-flex; } }
.hide-md { display: inline; }
@media (max-width: 768px) { .hide-md { display: none; } }

/* ---------- Header search ---------- */
/* ---------- Header search (professional inline search) ---------- */
.header-search {
        background: #ffffff;
        border-bottom: 1px solid #e2e8f0;
        padding: 0.875rem 0;
        animation: slideDown 0.2s ease-out;
}
@keyframes slideDown { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
.search-form {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        max-width: 720px;
        margin: 0 auto;
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        border-radius: 9999px;
        padding: 0.375rem 0.375rem 0.375rem 1.125rem;
        transition: all 0.15s;
}
.search-form:focus-within {
        border-color: #2563eb;
        background: #ffffff;
        box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.08);
}
.search-icon-wrap {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #64748b;
        flex-shrink: 0;
}
.search-form input[type="search"] {
        flex: 1;
        min-width: 0;
        padding: 0.5rem 0;
        border: none;
        background: transparent;
        font-size: 0.9375rem;
        color: #0f172a;
        outline: none;
}
.search-form input[type="search"]::placeholder { color: #94a3b8; }
.search-submit-btn {
        display: inline-flex;
        align-items: center;
        gap: 0.375rem;
        padding: 0.5rem 1.25rem;
        border-radius: 9999px;
        border: none;
        background: #2563eb;
        color: #ffffff;
        font-size: 0.8125rem;
        font-weight: 600;
        cursor: pointer;
        white-space: nowrap;
        transition: background 0.15s;
        flex-shrink: 0;
}
.search-submit-btn:hover { background: #1d4ed8; }
.search-close-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        border: none;
        background: transparent;
        color: #64748b;
        cursor: pointer;
        transition: all 0.15s;
        flex-shrink: 0;
}
.search-close-btn:hover { background: #e2e8f0; color: #0f172a; }

/* Search icon button in nav (toggle) */
#searchToggle { position: relative; }
#searchToggle svg { transition: transform 0.15s; }
#searchToggle.active svg { transform: scale(1.1); color: #2563eb; }

/* ---------- Mobile drawer ---------- */
.mobile-drawer-overlay { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.5); z-index: 200; opacity: 0; visibility: hidden; transition: opacity 0.25s, visibility 0.25s; }
.mobile-drawer-overlay.open { opacity: 1; visibility: visible; }
.mobile-drawer { position: fixed; top: 0; left: 0; height: 100%; width: 320px; max-width: 85vw; background: #ffffff; z-index: 201; transform: translateX(-100%); transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1); overflow-y: auto; padding: 1.25rem 1.25rem 1.75rem; box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12); }
.mobile-drawer.open { transform: translateX(0); }
.drawer-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.5rem; padding-bottom: 1rem; border-bottom: 1px solid #f1f5f9; }
.drawer-nav-label { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #94a3b8; margin: 1.25rem 0 0.5rem; }
.drawer-nav { display: flex; flex-direction: column; margin: 0; padding: 0; }
.drawer-nav ul, .drawer-nav li { list-style: none; margin: 0; padding: 0; }
.drawer-nav ul { display: flex; flex-direction: column; gap: 0.375rem; }
.drawer-nav a { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.85rem 0.875rem; border-radius: 10px; font-size: 0.975rem; font-weight: 500; color: #1e293b; background: transparent; border: 1px solid transparent; transition: all 0.2s; text-decoration: none; }
.drawer-nav a::after { content: ''; flex-shrink: 0; width: 7px; height: 7px; border-top: 2px solid #94a3b8; border-right: 2px solid #94a3b8; transform: rotate(45deg); opacity: 0.55; transition: all 0.2s; }
.drawer-nav a:hover, .drawer-nav li.current-menu-item > a, .drawer-nav li.current_page_item > a, .drawer-nav li.current-menu-ancestor > a { background: #eef2ff; border-color: #e0e7ff; color: #2563eb; }
.drawer-nav a:hover::after, .drawer-nav li.current-menu-item > a::after { border-color: #2563eb; opacity: 1; }
.drawer-nav li li a { padding-left: 1.5rem; font-size: 0.9rem; font-weight: 400; }
.drawer-nav li li a::after { display: none; }
.drawer-footer { margin-top: 1.75rem; padding-top: 1.25rem; border-top: 1px solid #e2e8f0; display: flex; flex-direction: column; gap: 0.5rem; }
.drawer-footer-label { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #94a3b8; margin: 0 0 0.25rem; }
.drawer-footer a { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 0.75rem; border-radius: 8px; font-size: 0.875rem; font-weight: 500; color: #475569; transition: all 0.15s; text-decoration: none; }
.drawer-footer a:hover { background: #f1f5f9; color: #2563eb; }
.drawer-socials { display: flex; flex-direction: row; align-items: center; gap: 8px; margin-top: 0.5rem; }

/* ---------- Breadcrumb ---------- */
.netyex-breadcrumb { background: #ffffff; border-bottom: 1px solid #f1f5f9; padding: 1rem 0; }
.breadcrumb-inner { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; font-size: 0.875rem; color: #64748b; }
.breadcrumb-inner a { color: #64748b; }
.breadcrumb-inner a:hover { color: #2563eb; }
.breadcrumb-inner .sep { color: #cbd5e1; }
.breadcrumb-inner span:last-child { color: #0f172a; font-weight: 500; }

/* ---------- HERO ---------- */
.hero { position: relative; overflow: hidden; background: radial-gradient(circle at 90% 10%, rgba(203,213,225,0.7) 0%, transparent 40%), radial-gradient(circle at 10% 90%, rgba(226,232,240,0.8) 0%, transparent 50%), linear-gradient(135deg, #eef1f6 0%, #e4e9f0 100%); }
.hero-bg-decor { position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(circle at 90% 0%, rgba(191, 219, 254, 0.6) 0%, transparent 40%), radial-gradient(circle at 0% 100%, rgba(254, 215, 170, 0.4) 0%, transparent 40%); }
.hero-grid { position: relative; display: grid; gap: 2.5rem; align-items: center; padding: 3.5rem 0; z-index: 1; }
@media (min-width: 1024px) { .hero-grid { grid-template-columns: 1fr 1fr; gap: 3rem; padding: 5rem 0; } }
.hero-text { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
.hero-title { font-size: clamp(32px, 4vw, 52px); font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; color: #1E293B; margin: 0; }
.hero-desc { font-size: 1.125rem; color: #5B6475; max-width: 36rem; line-height: 1.7; }
.hero-cta { display: flex; flex-direction: row; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.hero-trust { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 1rem; margin-top: 0.25rem; }
.hero-trust-item { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.8125rem; font-weight: 600; color: #334155; white-space: nowrap; }
.hero-trust-item svg { color: #16a34a; flex-shrink: 0; }
.hero-tagline { font-size: 0.8125rem; color: #475569; font-weight: 500; margin: 0; max-width: 32rem; line-height: 1.6; }

.hero-image-wrap { position: relative; }
.hero-image { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 24px; box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12); }
.hero-image img { width: 100%; height: 100%; object-fit: cover; }
.hero-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,23,42,0.3), transparent 50%); }
/* Hero floating card */
.hero-card-price {
        position: absolute;
        border-radius: 16px;
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
        display: none;
        z-index: 5;
}
@media (min-width: 640px) { .hero-card-price { display: flex; } }

/* Price card (bottom-left) */
.hero-card-price {
        bottom: -1.25rem;
        left: -0.75rem;
        padding: 0.875rem 1.25rem;
        gap: 0.875rem;
        align-items: center;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(12px);
        border: 1px solid rgba(255, 255, 255, 0.8);
}
@media (min-width: 1024px) { .hero-card-price { left: -1.5rem; } }
.hero-card-icon {
        width: 42px;
        height: 42px;
        border-radius: 12px;
        background: linear-gradient(135deg, #eff4ff, #f5f3ff);
        color: #f59e0b;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
}
.hero-card-label { font-size: 0.6875rem; color: #64748b; font-weight: 500; margin: 0; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.03em; }
.hero-card-value { font-size: 1.125rem; font-weight: 700; color: #0f172a; margin: 0; line-height: 1.2; }
.hero-card-sublabel { font-size: 0.75rem; color: #475569; font-weight: 500; margin: 0; line-height: 1.2; }

/* ---------- Category grid ---------- */
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
@media (min-width: 1024px) { .category-grid { grid-template-columns: repeat(8, 1fr); gap: 2rem; } }
.category-item { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; text-decoration: none; color: inherit; }
.category-circle { position: relative; width: 80px; height: 80px; border-radius: 9999px; overflow: hidden; border: 2px solid #f1f5f9; transition: border-color 0.2s; }
@media (min-width: 640px) { .category-circle { width: 96px; height: 96px; } }
.category-item:hover .category-circle { border-color: #93c5fd; }
.category-circle img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.category-item:hover .category-circle img { transform: scale(1.1); }
.category-item span { font-size: 0.875rem; font-weight: 500; color: #334155; text-align: center; transition: color 0.15s; }
.category-item:hover span { color: #2563eb; }
.category-circles { display: flex; gap: 1rem; overflow-x: auto; padding-bottom: 0.5rem; scrollbar-width: none; }
.category-circles::-webkit-scrollbar { display: none; }
.category-circles .category-item { flex-shrink: 0; }

/* ---------- Trust badges ---------- */
.trust-section { background: #f8fafc; border-bottom: 1px solid #f1f5f9; padding: 2.5rem 0; }
.trust-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
@media (min-width: 640px) { .trust-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .trust-grid { grid-template-columns: repeat(5, 1fr); } }
.trust-item { display: flex; align-items: center; gap: 0.75rem; }
.trust-icon { flex-shrink: 0; width: 48px; height: 48px; border-radius: 9999px; background: #eff4ff; color: #2563eb; display: flex; align-items: center; justify-content: center; }
.trust-title { font-size: 0.875rem; font-weight: 600; color: #0f172a; margin: 0; }
.trust-desc { font-size: 0.75rem; color: #64748b; margin: 0; }

/* ---------- Size guide ---------- */
.size-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (min-width: 640px) { .size-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .size-grid { grid-template-columns: repeat(7, 1fr); } }
.size-item { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding: 1.25rem; border: 1px solid #e2e8f0; border-radius: 16px; background: #ffffff; text-align: center; transition: all 0.2s; cursor: pointer; }
.size-item:hover { transform: translateY(-4px); border-color: #93c5fd; box-shadow: 0 10px 20px rgba(37, 99, 235, 0.1); }
.size-visual { height: 80px; width: 100%; display: flex; align-items: center; justify-content: center; }
.size-visual-inner { border: 2px dashed #93c5fd; background: rgba(239, 244, 255, 0.6); border-radius: 6px; transition: all 0.2s; }
.size-item:hover .size-visual-inner { border-color: #2563eb; background: #eff4ff; }
.size-label { font-size: 1rem; font-weight: 700; color: #0f172a; margin: 0; }
.size-desc { font-size: 0.75rem; color: #64748b; margin: 0; }
.size-footnote { margin-top: 2rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem; text-align: center; }
@media (min-width: 640px) { .size-footnote { flex-direction: row; gap: 1rem; } }
.size-footnote-text { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: #64748b; margin: 0; }
.size-footnote-text svg { color: #2563eb; }

/* ---------- Carousel ---------- */
.carousel { position: relative; overflow: hidden; }
.carousel-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; gap: 0; padding: 0.5rem 0 1rem; scrollbar-width: none; }
.carousel-track::-webkit-scrollbar { display: none; }
.carousel-slide { flex: 0 0 calc(100% / 1.2); padding-right: 1rem; scroll-snap-align: start; }
@media (min-width: 640px) { .carousel-slide { flex: 0 0 calc(100% / 2); } }
@media (min-width: 768px) { .carousel-slide { flex: 0 0 calc(100% / 3); } }
@media (min-width: 1024px) { .carousel.carousel-lg-3 .carousel-slide { flex: 0 0 calc(100% / 3); } .carousel.carousel-lg-4 .carousel-slide { flex: 0 0 calc(100% / 4); } .carousel.carousel-lg-5 .carousel-slide { flex: 0 0 calc(100% / 5); } }
.carousel-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 9999px; border: 1px solid #e2e8f0; background: #ffffff; color: #334155; display: none; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08); z-index: 5; transition: all 0.15s; }
.carousel-arrow:hover { border-color: #93c5fd; color: #2563eb; }
.carousel-arrow.prev { left: 0.75rem; }
.carousel-arrow.next { right: 0.75rem; }
@media (min-width: 768px) { .carousel-arrow { display: flex; } }

/* ---------- Collection card ---------- */
.collection-card { position: relative; display: block; width: 100%; height: 288px; overflow: hidden; border-radius: 16px; background: #e2e8f0; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06); transition: box-shadow 0.3s; text-decoration: none; color: inherit; }
@media (min-width: 640px) { .collection-card { height: 320px; } }
.collection-card:hover { box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12); color: inherit; }
.collection-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.collection-card:hover img { transform: scale(1.1); }
.collection-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,23,42,0.85) 0%, rgba(15,23,42,0.2) 50%, transparent 100%); }
.collection-info { position: absolute; left: 0; right: 0; bottom: 0; padding: 1rem; z-index: 1; }
.collection-info h3 { font-size: 1.0625rem; font-weight: 700; color: #ffffff; line-height: 1.3; margin: 0; }
.collection-info p { margin-top: 0.25rem; font-size: 0.75rem; color: rgba(255,255,255,0.8); }
.collection-cta { margin-top: 0.75rem; display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.75rem; font-weight: 600; color: #ffffff; opacity: 0; transition: opacity 0.3s; }
.collection-card:hover .collection-cta { opacity: 1; }

/* ---------- Product card ---------- */
.product-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 2px solid transparent;
	border-radius: 16px;
	background: linear-gradient(#ffffff, #ffffff) padding-box,
		linear-gradient(135deg, #2563eb 0%, #8b5cf6 40%, #d946ef 70%, #f97316 100%) border-box;
	transition: all 0.2s;
}
.product-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12); }
.product-image { position: relative; aspect-ratio: 1; overflow: hidden; background: #f1f5f9; }
.product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.product-card:hover .product-image img { transform: scale(1.1); }
.product-tag { position: absolute; left: 0.75rem; top: 0.75rem; padding: 0.25rem 0.625rem; border-radius: 9999px; background: #2563eb; color: #ffffff; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.product-tag.sale { background: #e11d48; }
.product-tag.sale-percent { background: #f59e0b; left: auto; right: 0.75rem; }
.wishlist-btn { position: absolute; right: 0.75rem; top: 0.75rem; width: 36px; height: 36px; border-radius: 9999px; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(4px); box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06); color: #64748b; display: flex; align-items: center; justify-content: center; transition: all 0.15s; }
.wishlist-btn:hover { background: #ffffff; color: #e11d48; }
/* Hover action bar on product cards */
.product-hover-actions {
	position: absolute;
	left: 0.75rem;
	right: 0.75rem;
	bottom: 0.75rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	opacity: 0;
	transform: translateY(0.75rem);
	transition: opacity 0.25s, transform 0.25s;
	z-index: 30;
}
.product-card:hover .product-hover-actions { opacity: 1; transform: translateY(0); }
.hover-action {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(8px);
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
	border: 1px solid rgba(15, 23, 42, 0.06);
	color: #0f172a;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.15s;
}
.hover-action svg { flex-shrink: 0; }
.hover-action:hover { background: #2563eb; border-color: #2563eb; color: #ffffff; transform: translateY(-2px); }
.hover-action-wishlist { position: static; width: 38px; height: 38px; border-radius: 9999px; box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1); background: rgba(255, 255, 255, 0.95); color: #64748b; }
.hover-action-wishlist:hover { background: #e11d48; border-color: #e11d48; color: #ffffff; }
.hover-action-cart { background: #2563eb; border-color: #2563eb; color: #ffffff; }
.hover-action-cart:hover { background: #1d4ed8; border-color: #1d4ed8; }
.hover-action-custom { border-style: dashed; }
.hover-action-custom:hover { background: #059669; border-color: #059669; }
/* Icon-only tooltip on hover — shown above the button so it stays inside the image */
.hover-action::after {
	content: attr(data-tip);
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%) translateY(4px);
	background: #0f172a;
	color: #ffffff;
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.2;
	padding: 0.4rem 0.6rem;
	border-radius: 0.375rem;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s, transform 0.15s;
	z-index: 999;
	box-shadow: 0 6px 20px rgba(15, 23, 42, 0.25);
}
.hover-action::before {
	content: "";
	position: absolute;
	top: calc(100% - 1px);
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: #0f172a;
	opacity: 0;
	transition: opacity 0.15s;
	z-index: 999;
	pointer-events: none;
}
.hover-action:hover::after, .hover-action:hover::before { opacity: 1; }
.hover-action:hover::after { transform: translateX(-50%) translateY(0); }
.product-info { padding: 1rem; display: flex; flex-direction: column; flex: 1; }
.product-rating { display: flex; align-items: center; gap: 0.25rem; margin-bottom: 0.375rem; }
.star-rating { display: inline-block; position: relative; width: 80px; height: 16px; background: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='%23e2e8f0' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2l2.39 7.36H22l-6.18 4.49L18.21 21 12 16.51 5.79 21l2.39-7.15L2 9.36h7.61z'/%3E%3C/svg%3E") repeat-x; }
.star-rating span { display: block; height: 16px; background: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='%23f59e0b' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2l2.39 7.36H22l-6.18 4.49L18.21 21 12 16.51 5.79 21l2.39-7.15L2 9.36h7.61z'/%3E%3C/svg%3E") repeat-x; }
.rating-count { font-size: 0.75rem; color: #94a3b8; }
.product-name { font-size: 0.875rem; font-weight: 600; color: #0f172a; margin: 0; }
.product-name a { color: inherit; text-decoration: none; }
.product-name a:hover { color: #2563eb; }
.product-price { margin-top: 0.25rem; font-size: 0.875rem; color: #2563eb; font-weight: 600; }
.product-price del { color: #94a3b8; font-weight: 400; margin-right: 0.375rem; }
.product-price ins { text-decoration: none; }

/* ---------- Room card ---------- */
.room-card { position: relative; display: block; width: 100%; height: 256px; overflow: hidden; border-radius: 16px; background: #e2e8f0; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06); transition: box-shadow 0.3s; text-decoration: none; color: inherit; }
@media (min-width: 640px) { .room-card { height: 288px; } }
.room-card:hover { box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12); color: inherit; }
.room-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.room-card:hover img { transform: scale(1.1); }
.room-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,23,42,0.85) 0%, rgba(15,23,42,0.25) 50%, transparent 100%); }
.room-info { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.25rem; display: flex; align-items: flex-end; justify-content: space-between; z-index: 1; }
.room-info h3 { font-size: 1.125rem; font-weight: 700; color: #ffffff; margin: 0; }
.room-info p { margin-top: 0.125rem; font-size: 0.75rem; color: rgba(255,255,255,0.75); }
.room-arrow { flex-shrink: 0; width: 36px; height: 36px; border-radius: 9999px; background: rgba(255,255,255,0.15); backdrop-filter: blur(4px); color: #ffffff; display: flex; align-items: center; justify-content: center; transition: background 0.2s; }
.room-card:hover .room-arrow { background: #2563eb; }

/* ---------- Texture card ---------- */
.texture-card { overflow: hidden; border: 1px solid #e2e8f0; border-radius: 16px; background: #ffffff; transition: all 0.2s; text-decoration: none; color: inherit; display: block; }
.texture-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12); color: inherit; }
.texture-image { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #f1f5f9; }
.texture-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.texture-card:hover .texture-image img { transform: scale(1.1); }
.texture-tag { position: absolute; left: 0.75rem; top: 0.75rem; padding: 0.25rem 0.625rem; border-radius: 9999px; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(4px); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #334155; }
.texture-info { padding: 1rem; }
.texture-info h3 { font-size: 1rem; font-weight: 700; color: #0f172a; margin: 0; }
.texture-info p { margin-top: 0.25rem; font-size: 0.75rem; color: #475569; line-height: 1.5; }
.texture-info a { margin-top: 0.75rem; display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.75rem; font-weight: 600; color: #2563eb; }

/* ---------- Make to Order ---------- */
.mto-section { position: relative; overflow: hidden; }
.mto-decor { position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none; }
.mto-decor-1 { right: -6rem; top: 0; width: 18rem; height: 18rem; background: rgba(167, 139, 250, 0.15); }
.mto-decor-2 { left: -6rem; bottom: 0; width: 18rem; height: 18rem; background: rgba(191, 219, 254, 0.2); }
.mto-grid { position: relative; display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .mto-grid { grid-template-columns: 1fr 1fr; gap: 4rem; } }
.mto-left { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; }
.mto-title { font-size: 1.875rem; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; margin: 0; }
@media (min-width: 640px) { .mto-title { font-size: 2.25rem; } }
@media (min-width: 1024px) { .mto-title { font-size: 2.75rem; } }
.mto-subtitle { font-size: 1.125rem; font-weight: 500; color: #334155; margin: 0; }
.mto-desc { font-size: 1rem; line-height: 1.7; color: #475569; max-width: 36rem; margin: 0; }
.mto-features { display: grid; grid-template-columns: 1fr; gap: 0.5rem; margin-top: 0.25rem; padding: 0; list-style: none; }
@media (min-width: 640px) { .mto-features { grid-template-columns: 1fr 1fr; } }
.mto-features li { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.875rem; color: #334155; }
.mto-feature-check { flex-shrink: 0; margin-top: 0.125rem; width: 20px; height: 20px; border-radius: 9999px; background: #d1fae5; color: #047857; display: flex; align-items: center; justify-content: center; }
.mto-cta { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 0.75rem; }
@media (min-width: 640px) { .mto-cta { flex-direction: row; align-items: center; } }
.mto-right { display: flex; flex-direction: column; }
.mto-steps-2x2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (min-width: 640px) { .mto-steps-2x2 { gap: 1.25rem; } }

/* ---------- Gradient-bordered card (Why + MTO steps) ---------- */
.gradient-border-card { position: relative; border-radius: 16px; background: #ffffff; background-clip: padding-box; border: 2px solid transparent; transition: transform 0.2s, box-shadow 0.2s; padding: 1.25rem; }
@media (min-width: 640px) { .gradient-border-card { padding: 1.5rem; } }
.gradient-border-card::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 2px; background: linear-gradient(135deg, #2563eb 0%, #7c3aed 35%, #db2777 70%, #ea580c 100%); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.gradient-border-card:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(167, 139, 250, 0.2); }
.mto-step { position: relative; }
.mto-step-num { font-size: 1.875rem; font-weight: 800; background: linear-gradient(120deg, #2563eb 0%, #3b82f6 50%, #06b6d4 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
@media (min-width: 640px) { .mto-step-num { font-size: 2.25rem; } }
.mto-step h3 { margin-top: 0.5rem; font-size: 1rem; font-weight: 700; color: #0f172a; }
@media (min-width: 640px) { .mto-step h3 { font-size: 1.125rem; } }
.mto-step p { margin-top: 0.375rem; font-size: 0.75rem; line-height: 1.5; color: #64748b; }
@media (min-width: 640px) { .mto-step p { font-size: 0.8125rem; } }

/* ---------- Why Choose Us ---------- */
.why-section { position: relative; overflow: hidden; background: #ffffff; border-bottom: 1px solid #f1f5f9; padding: 4rem 0; color: #0f172a; }
@media (min-width: 1024px) { .why-section { padding: 6rem 0; } }
.why-pattern { position: absolute; inset: 0; pointer-events: none; opacity: 0.4; background-image: radial-gradient(circle at 1px 1px, #e2e8f0 1px, transparent 0); background-size: 32px 32px; }
.why-glow { position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none; }
.why-glow-1 { right: -8rem; top: -8rem; width: 24rem; height: 24rem; background: rgba(191, 219, 254, 0.6); }
.why-glow-2 { left: -8rem; bottom: -8rem; width: 24rem; height: 24rem; background: rgba(251, 207, 232, 0.5); }
.why-container { position: relative; }
.why-head { margin-bottom: 3rem; max-width: 42rem; }
.why-title { margin-top: 1rem; font-size: 1.875rem; font-weight: 700; letter-spacing: -0.02em; }
@media (min-width: 640px) { .why-title { font-size: 2.25rem; } }
@media (min-width: 1024px) { .why-title { font-size: 3rem; } }
.why-desc { margin-top: 1rem; font-size: 1.125rem; color: #475569; }
.why-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 640px) { .why-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .why-grid { grid-template-columns: repeat(4, 1fr); } }
.why-card { position: relative; padding: 1.5rem; border-radius: 16px; background: #ffffff; background-clip: padding-box; border: 2px solid transparent; transition: transform 0.2s, box-shadow 0.2s; }
.why-card::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 2px; background: linear-gradient(135deg, #2563eb 0%, #7c3aed 35%, #db2777 70%, #ea580c 100%); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.why-card:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(167, 139, 250, 0.2); }
.why-card-icon { width: 48px; height: 48px; border-radius: 16px; color: #ffffff; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; transition: transform 0.2s; }
.why-card-emoji { font-size: 1.5rem; line-height: 1; display: inline-flex; }
.why-card-icon.tile-1 { background: linear-gradient(135deg, #2563eb 0%, #7c3aed 50%, #db2777 100%); }
.why-card-icon.tile-2 { background: linear-gradient(135deg, #7c3aed 0%, #db2777 50%, #ea580c 100%); }
.why-card-icon.tile-3 { background: linear-gradient(135deg, #2563eb 0%, #06b6d4 50%, #10b981 100%); }
.why-card-icon.tile-4 { background: linear-gradient(135deg, #db2777 0%, #ea580c 50%, #f59e0b 100%); }
.why-card:hover .why-card-icon { transform: scale(1.1); }
.why-card h3 { font-size: 1.125rem; font-weight: 700; background: linear-gradient(120deg, #2563eb 0%, #3b82f6 50%, #06b6d4 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; margin: 0; }
.why-card p { margin-top: 0.375rem; font-size: 0.875rem; color: #475569; line-height: 1.5; }
.why-stats { margin-top: 3rem; padding-top: 2rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; text-align: center; }
@media (min-width: 640px) { .why-stats { grid-template-columns: repeat(4, 1fr); } }
.gradient-divider, .gradient-stat-divider { grid-column: 1 / -1; height: 2px; margin-bottom: 2rem; background: linear-gradient(90deg, transparent 0%, #2563eb 20%, #7c3aed 50%, #db2777 80%, transparent 100%); border: 0; }
.why-stat-value { font-size: 1.875rem; font-weight: 700; background: linear-gradient(120deg, #2563eb 0%, #7c3aed 50%, #db2777 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; margin: 0; }
@media (min-width: 640px) { .why-stat-value { font-size: 2.25rem; } }
.why-stat-label { margin-top: 0.25rem; font-size: 0.75rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; color: #64748b; }

/* ---------- Offers ---------- */
.offer-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 768px) { .offer-grid { grid-template-columns: repeat(3, 1fr); } }
.offer-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 16px; background: #ffffff; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06); transition: all 0.2s; text-decoration: none; color: inherit; }
.offer-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12); color: inherit; }
.offer-image { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #f1f5f9; }
.offer-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.offer-card:hover .offer-image img { transform: scale(1.1); }
.offer-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,23,42,0.6), transparent 50%); }
.offer-eyebrow { position: absolute; left: 1rem; top: 1rem; padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; z-index: 1; }
.offer-eyebrow.theme-blue, .offer-eyebrow-blue { background: #eff4ff; color: #1d4ed8; }
.offer-eyebrow.theme-dark, .offer-eyebrow-dark { background: #f1f5f9; color: #0f172a; }
.offer-eyebrow.theme-warm, .offer-eyebrow-warm { background: #fffbeb; color: #b45309; }
.offer-body { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.offer-title { font-size: 1.5rem; font-weight: 700; color: #0f172a; margin: 0; }
.offer-subtitle { margin-top: 0.25rem; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }
.offer-subtitle.theme-blue, .offer-subtitle-blue { color: #2563eb; }
.offer-subtitle.theme-dark, .offer-subtitle-dark { color: #0f172a; }
.offer-subtitle.theme-warm, .offer-subtitle-warm { color: #b45309; }
.offer-desc { margin-top: 0.75rem; font-size: 0.875rem; color: #475569; line-height: 1.5; flex: 1; }
.offer-cta { margin-top: 1.25rem; align-self: flex-start; }
.offer-cta.theme-blue, .offer-cta-blue { background: #2563eb; color: #ffffff; }
.offer-cta.theme-blue:hover, .offer-cta-blue:hover { background: #1d4ed8; color: #ffffff; }
.offer-cta.theme-dark, .offer-cta-dark { background: #0f172a; color: #ffffff; }
.offer-cta.theme-dark:hover, .offer-cta-dark:hover { background: #1e293b; color: #ffffff; }
.offer-cta.theme-warm, .offer-cta-warm { background: #d97706; color: #ffffff; }
.offer-cta.theme-warm:hover, .offer-cta-warm:hover { background: #b45309; color: #ffffff; }

/* ---------- Inspiration ---------- */
.inspiration-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { .inspiration-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } }
.inspiration-card { display: block; height: 100%; text-decoration: none; color: inherit; }
.inspiration-card:hover { color: inherit; }
.inspiration-image-wrap { position: relative; overflow: hidden; border-radius: 16px; background: #e2e8f0; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06); transition: box-shadow 0.3s; }
.inspiration-card:hover .inspiration-image-wrap { box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12); }
.inspiration-image-wrap.ratio-lg { aspect-ratio: 16 / 10; }
.inspiration-image-wrap.ratio-sm { aspect-ratio: 4 / 3; }
.inspiration-image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.inspiration-card:hover .inspiration-image-wrap img { transform: scale(1.1); }
.inspiration-image-wrap::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,23,42,0.8) 0%, rgba(15,23,42,0.15) 50%, transparent 100%); }
.inspiration-tag { position: absolute; left: 1rem; top: 1rem; padding: 0.25rem 0.75rem; border-radius: 9999px; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(4px); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #334155; z-index: 1; }
.inspiration-info { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.25rem; display: flex; align-items: flex-end; justify-content: space-between; z-index: 1; }
.inspiration-info h3 { font-size: 1.125rem; font-weight: 700; color: #ffffff; max-width: 80%; line-height: 1.3; margin: 0; }
.inspiration-arrow { flex-shrink: 0; width: 36px; height: 36px; border-radius: 9999px; background: rgba(255,255,255,0.15); backdrop-filter: blur(4px); color: #ffffff; display: flex; align-items: center; justify-content: center; transition: background 0.2s; }
.inspiration-card:hover .inspiration-arrow { background: #2563eb; }

/* ---------- Footer Trust Strip ---------- */
.footer-trust-strip {
        border-top: 1px solid rgba(255,255,255,0.08);
        border-bottom: 1px solid rgba(255,255,255,0.08);
        background: #1A2234;
        padding: 1.25rem 0;
}
.footer-trust-items {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
}
.footer-trust-item {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.8125rem;
        color: #cbd5e1;
        white-space: nowrap;
}
.footer-trust-check {
        flex-shrink: 0;
}

/* ---------- Footer Shipping Partners ---------- */
.footer-shipping-partners {
        margin-top: 1rem;
        padding-top: 1rem;
        border-top: 1px solid rgba(255,255,255,0.08);
}
.footer-shipping-label {
        display: block;
        font-size: 0.6875rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: #a0aec0;
        margin-bottom: 0.5rem;
}
.footer-shipping-logos {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
}
.footer-shipping-logo {
        padding: 0.25rem 0.625rem;
        border-radius: 0.25rem;
        background: rgba(255,255,255,0.08);
        font-size: 0.625rem;
        font-weight: 700;
        text-transform: uppercase;
        color: #a0aec0;
        letter-spacing: 0.04em;
}

/* ---------- Footer Bottom Socials ---------- */
.footer-bottom-socials {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.5rem;
        margin-top: 1rem;
}
@media (min-width: 768px) {
        .footer-bottom-socials {
                justify-content: center;
                margin-top: 0.5rem;
        }
}
.footer-bottom-socials .footer-social {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: rgba(255,255,255,0.08);
        color: #a0aec0;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.15s;
        text-decoration: none;
}
.footer-bottom-socials .footer-social:hover {
        background: #3182CE;
        color: #ffffff;
        transform: translateY(-2px);
}

/* ---------- Footer Tagline ---------- */
.footer-tagline {
        font-size: 0.75rem;
        color: #94a3b8;
        margin: 0 0 0.25rem;
}

/* ---------- Footer (dark navy #1A2234, matching the design) ---------- */
.site-footer {
        margin-top: auto;
        background: #1A2234;
        color: #a0aec0;
}

/* Footer Newsletter Section (integrated, same dark bg, top border accent) */
.footer-newsletter {
        border-bottom: 1px solid rgba(255,255,255,0.08);
        background: #1A2234;
        color: #ffffff;
        padding: 3rem 0;
}
.footer-newsletter-inner {
        display: grid;
        gap: 2rem;
        align-items: center;
}
@media (min-width: 1024px) { .footer-newsletter-inner { grid-template-columns: 1fr 1fr; } }

.footer-newsletter-left { max-width: 32rem; }
.footer-newsletter-title {
        font-size: 1.5rem;
        font-weight: 700;
        color: #ffffff;
        margin: 0 0 0.75rem;
        line-height: 1.3;
}
@media (min-width: 640px) { .footer-newsletter-title { font-size: 1.875rem; } }
.footer-newsletter-desc {
        margin: 0 0 1rem;
        font-size: 0.875rem;
        color: #cccccc;
        line-height: 1.6;
}
.footer-newsletter-benefits {
        list-style: none;
        margin: 0 0 0;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        gap: 1.25rem;
}
.footer-newsletter-benefits li {
        display: inline-flex;
        align-items: center;
        gap: 0.375rem;
        font-size: 0.75rem;
        color: #cccccc;
}
.footer-newsletter-benefits svg { color: #4CAF50; flex-shrink: 0; }

.footer-newsletter-right { width: 100%; }
.footer-newsletter-form {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        width: 100%;
        max-width: 440px;
        margin-left: auto;
}
@media (min-width: 640px) { .footer-newsletter-form { flex-direction: row; align-items: stretch; } }

.footer-newsletter-form input[type="email"],
.footer-newsletter-form input[type="text"] {
        flex: 1;
        min-width: 0;
        width: 100%;
        padding: 0.75rem 1.125rem;
        border-radius: 0.5rem;
        border: 1px solid rgba(255,255,255,0.1);
        background: #2D3748;
        color: #ffffff;
        font-size: 0.875rem;
        outline: none;
        transition: all 0.15s;
        box-sizing: border-box;
}
.footer-newsletter-form input[type="email"]::placeholder,
.footer-newsletter-form input[type="text"]::placeholder { color: #a0aec0; }
.footer-newsletter-form input[type="email"]:focus,
.footer-newsletter-form input[type="text"]:focus {
        border-color: #3182CE;
        background: #2D3748;
        box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.15);
}

.footer-newsletter-form .btn,
.footer-newsletter-form button[type="submit"] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.375rem;
        padding: 0.75rem 1.5rem;
        border-radius: 0.5rem;
        border: none;
        background: #3182CE;
        color: #ffffff;
        font-size: 0.875rem;
        font-weight: 600;
        cursor: pointer;
        white-space: nowrap;
        transition: all 0.2s;
}
.footer-newsletter-form .btn:hover,
.footer-newsletter-form button[type="submit"]:hover {
        background: #2C5AA0;
        transform: translateY(-1px);
}

.footer-newsletter-note {
        margin: 0.625rem 0 0;
        font-size: 0.6875rem;
        color: #a0aec0;
        line-height: 1.5;
        max-width: 440px;
        margin-left: auto;
        text-align: left;
}

.footer-newsletter-success,
.footer-newsletter-error {
        margin: 0 0 0.75rem;
        padding: 0.75rem 1rem;
        border-radius: 0.5rem;
        font-size: 0.8125rem;
        font-weight: 600;
        max-width: 440px;
        margin-left: auto;
        text-align: left;
}
.footer-newsletter-success {
        background: rgba(16,185,129,0.12);
        border: 1px solid rgba(16,185,129,0.35);
        color: #34d399;
}
.footer-newsletter-error {
        background: rgba(220,38,38,0.12);
        border: 1px solid rgba(220,38,38,0.35);
        color: #f87171;
}

/* Contact Form 7 in newsletter */
.footer-newsletter-right .wpcf7 { width: 100%; max-width: 440px; margin-left: auto; }
.footer-newsletter-right .wpcf7-form { display: flex; flex-direction: column; gap: 0.75rem; }
@media (min-width: 640px) { .footer-newsletter-right .wpcf7-form { flex-direction: row; align-items: stretch; } }
.footer-newsletter-right .wpcf7-form-control-wrap { flex: 1; }
.footer-newsletter-right .wpcf7-form-control.wpcf7-email,
.footer-newsletter-right .wpcf7-form-control.wpcf7-text {
        width: 100%;
        padding: 0.75rem 1.125rem;
        border-radius: 0.5rem;
        border: 1px solid rgba(255,255,255,0.1);
        background: #2D3748;
        color: #ffffff;
        font-size: 0.875rem;
        outline: none;
}
.footer-newsletter-right .wpcf7-form-control.wpcf7-email::placeholder { color: #a0aec0; }
.footer-newsletter-right .wpcf7-submit {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.75rem 1.5rem !important;
        border-radius: 0.5rem !important;
        border: none !important;
        background: #3182CE !important;
        color: #ffffff !important;
        font-size: 0.875rem !important;
        font-weight: 600 !important;
        cursor: pointer;
        white-space: nowrap;
        transition: all 0.2s;
}
.footer-newsletter-right .wpcf7-submit:hover { background: #2C5AA0 !important; }
.footer-newsletter-right .wpcf7-response-output { margin: 0.5rem 0 0; border-radius: 0.375rem; font-size: 0.75rem; }

/* Footer Main */
.footer-main { padding: 3rem 0 2rem; }
.footer-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
}
@media (min-width: 768px) { .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 2rem; } }
@media (min-width: 1024px) { .footer-grid { gap: 2.5rem; } }

/* Brand column */
.footer-col-brand { grid-column: 1 / -1; }
@media (min-width: 768px) { .footer-col-brand { grid-column: auto; } }
.footer-col-brand .logo { color: #ffffff; }
.footer-col-brand .logo:hover { color: #ffffff; opacity: 0.85; }
.footer-about {
        margin-top: 0.875rem;
        max-width: 18rem;
        font-size: 0.8125rem;
        color: #a0aec0;
        line-height: 1.6;
        text-align: justify;
}
.footer-socials { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.footer-social {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: rgba(255,255,255,0.15);
        color: #ffffff;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.25s;
        text-decoration: none;
}
.footer-social svg { width: 17px; height: 17px; }
.footer-social:hover {
        background: #2862E8;
        color: #ffffff;
        transform: scale(1.05) rotate(-3deg);
        box-shadow: 0 0 20px rgba(40,98,232,0.4);
}
.footer-follow-us { margin-top: 1.25rem; }

/* Link columns */
.footer-col-title {
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: #ffffff;
        margin: 0 0 1rem;
}

/* Footer widgets & menus */
.site-footer .widget,
.site-footer .footer-col .widget {
        background: transparent;
        padding: 0;
        margin: 0;
        border: none;
        box-shadow: none;
        border-radius: 0;
}
.site-footer .widget-title,
.site-footer .widget h3 {
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: #ffffff;
        margin: 0 0 1rem;
}
.site-footer .widget ul,
.site-footer .footer-col ul,
.site-footer .footer-menu {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
}
.site-footer .widget ul ul,
.site-footer .footer-col ul ul { padding-left: 0.75rem; gap: 0.375rem; margin-top: 0.375rem; }
.site-footer .widget li,
.site-footer .footer-col li { padding: 0; margin: 0; border: none; }
.site-footer .widget a:not(.ct-social-icon),
.site-footer .footer-col a:not(.logo):not(.ct-social-icon),
.site-footer .footer-menu a:not(.ct-social-icon) {
        font-size: 0.8125rem;
        color: #a0aec0;
        transition: color 0.15s;
        text-decoration: none;
        display: inline-block;
        line-height: 1.8;
}
.site-footer .widget a:not(.ct-social-icon):hover,
.site-footer .footer-col a:not(.logo):not(.ct-social-icon):hover,
.site-footer .footer-menu a:not(.ct-social-icon):hover { color: #3182CE; }

/* Footer social icons reuse the Contact page ct-social styles */
.site-footer .ct-social-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
}

/* Nav menu widget in footer */
.site-footer .widget_nav_menu ul { flex-direction: column; gap: 0.5rem; }
.site-footer .widget_nav_menu a { font-size: 0.8125rem; color: #a0aec0; }
.site-footer .widget_nav_menu a:hover { color: #3182CE; }

/* Newsletter submit button */
.footer-newsletter-submit {
        display: inline-flex;
        align-items: center;
        gap: 0.375rem;
        padding: 0.75rem 1.5rem;
        border-radius: 0.5rem;
        border: none;
        background: #3182CE;
        color: #ffffff;
        font-size: 0.875rem;
        font-weight: 600;
        cursor: pointer;
        white-space: nowrap;
        transition: all 0.2s;
        flex-shrink: 0;
}
.footer-newsletter-submit:hover { background: #2C5AA0; transform: translateY(-1px); }

/* Footer bottom (3 sections: left copyright, center legal, right payments) */
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding: 1.25rem 0; }
.footer-bottom-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.9rem;
	text-align: center;
}
.footer-bottom-top {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
}

.footer-tagline { font-size: 0.8125rem; font-weight: 500; color: #cbd5e1; margin: 0; max-width: 100%; overflow-wrap: break-word; }
.footer-copyright { font-size: 0.75rem; color: #a0aec0; margin: 0; max-width: 100%; overflow-wrap: break-word; }
.footer-copyright a { color: #a0aec0; text-decoration: none; }
.footer-copyright a:hover { color: #3182CE; }
.footer-credit { display: inline; font-size: 5px; color: #a0aec0; margin-top: -10px; white-space: nowrap; opacity: 0; transition: opacity 0.15s; }
.footer-credit a { color: #cbd5e1; text-decoration: none; }
.footer-credit:hover { opacity: 0; }

.footer-payments {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.375rem;
}
.footer-payment {
        padding: 0.375rem 0.625rem;
        border-radius: 0.375rem;
        background: rgba(255,255,255,0.08);
        font-size: 0.625rem;
        font-weight: 700;
        text-transform: uppercase;
        color: #cbd5e1;
        letter-spacing: 0.04em;
        border: 1px solid rgba(255,255,255,0.06);
}

/* ============================================================
   CONTACT PAGE — Premium Design
   ============================================================ */

/* Hero */
.ct-hero {
	position: relative;
	padding: 56px 0 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background:
		radial-gradient(circle at 90% 10%, rgba(238,242,255,0.8) 0%, transparent 40%),
		radial-gradient(circle at 10% 90%, rgba(243,232,255,0.8) 0%, transparent 50%),
		linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}
.ct-hero-bg {
	position: absolute;
	inset: 0;
	background: transparent;
	z-index: 0;
}
.ct-hero-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E");
	background-repeat: repeat;
	pointer-events: none;
}
.ct-hero-wave {
	position: absolute;
	right: -10%;
	top: -20%;
	width: 70%;
	height: 140%;
	background: linear-gradient(135deg, rgba(224,231,255,0.25) 0%, rgba(243,232,255,0.15) 50%, transparent 80%);
	transform: rotate(-12deg);
	border-radius: 40% 60% 70% 30% / 40% 50% 60% 70%;
	z-index: 0;
	pointer-events: none;
}
.ct-abs-shape {
	position: absolute;
	z-index: 0;
	pointer-events: none;
}
.ct-abs-blob-1 {
	width: 340px; height: 340px;
	left: -90px; top: 20%;
	background: radial-gradient(circle at 30% 30%, rgba(43,92,255,0.10), rgba(138,63,252,0.06) 60%, transparent 75%);
	border-radius: 42% 58% 63% 37% / 45% 43% 57% 55%;
	transform: rotate(-18deg);
	animation: ct-abs-float 9s ease-in-out infinite;
}
.ct-abs-blob-2 {
	width: 220px; height: 220px;
	right: 4%; top: -60px;
	background: radial-gradient(circle at 60% 40%, rgba(138,63,252,0.09), rgba(43,92,255,0.05) 65%, transparent 78%);
	border-radius: 60% 40% 55% 45% / 50% 62% 38% 50%;
	transform: rotate(24deg);
	animation: ct-abs-float 11s ease-in-out infinite reverse;
}
.ct-abs-ring-1 {
	width: 160px; height: 160px;
	right: 38%; top: 4%;
	border: 2px solid rgba(43,92,255,0.08);
	border-radius: 50%;
	animation: ct-abs-float 8s ease-in-out infinite;
}
.ct-abs-ring-2 {
	width: 90px; height: 90px;
	left: 34%; bottom: 8%;
	border: 2px dashed rgba(138,63,252,0.10);
	border-radius: 50%;
	animation: ct-abs-float 12s ease-in-out infinite reverse;
}
.ct-abs-square-1 {
	width: 64px; height: 64px;
	left: 46%; top: 10%;
	background: linear-gradient(135deg, rgba(43,92,255,0.08), rgba(138,63,252,0.06));
	border-radius: 14px;
	transform: rotate(32deg);
	animation: ct-abs-float 10s ease-in-out infinite;
}
.ct-abs-tri-1 {
	width: 0; height: 0;
	right: 10%; bottom: 8%;
	border-left: 34px solid transparent;
	border-right: 34px solid transparent;
	border-bottom: 58px solid rgba(43,92,255,0.07);
	animation: ct-abs-float 9s ease-in-out infinite;
}
@keyframes ct-abs-float {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -18px; }
}
.ct-hero-inner {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 700px;
}
.ct-breadcrumb {
	font-size: 14px;
	color: #64748b;
	margin-bottom: 20px;
}
.ct-breadcrumb a {
	color: #64748b;
	text-decoration: none;
	transition: color 0.15s;
}
.ct-breadcrumb a:hover { color: #2563eb; }
.ct-breadcrumb-sep {
	margin: 0 8px;
	color: #94a3b8;
}
.ct-breadcrumb-current { color: #0f172a; }
.ct-hero-title {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 800;
	font-size: clamp(34px, 5vw, 56px);
	color: #0f172a;
	margin: 0 0 16px;
	line-height: 1.1;
	letter-spacing: -0.02em;
}
.ct-hero-subtitle {
        font-size: 20px;
        font-weight: 600;
        color: #334155;
        margin: 0 0 75px;
}
.ct-hero-desc {
	font-size: 16px;
	color: #64748b;
	line-height: 1.7;
	margin: 0;
}

/* Floating Card Wrapper */
.ct-card-wrap {
        position: relative;
        z-index: 2;
        margin-top: -120px;
        padding-bottom: 120px;
}
.ct-card-container {
        max-width: 920px;
}
.ct-card {
        display: flex;
        border-radius: 34px;
        background: #ffffff;
        box-shadow: 0 40px 80px rgba(0,0,0,0.12);
        overflow: hidden;
}

/* Left Panel — Info */
.ct-panel-info {
        flex: 0 0 32%;
        background: linear-gradient(180deg, #1b2234 0%, #0f172a 100%);
        color: #ffffff;
        padding: 40px 36px;
        display: flex;
        flex-direction: column;
}
.ct-panel-title {
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 700;
        font-size: 26px;
        color: #ffffff;
        margin: 0 0 10px;
        line-height: 1.2;
}
.ct-panel-desc {
        font-size: 14px;
        line-height: 1.6;
        color: rgba(255,255,255,0.85);
        margin: 0 0 24px;
}

/* Contact Items */
.ct-contact-items {
        display: flex;
        flex-direction: column;
        gap: 16px;
}
.ct-contact-item {
        display: flex;
        align-items: flex-start;
        gap: 12px;
}
.ct-contact-icon {
        flex-shrink: 0;
        width: 44px;
        height: 44px;
        border-radius: 12px;
        background: #ffffff;
        color: #2862E8;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 6px 14px rgba(0,0,0,0.08);
        transition: transform 0.2s;
}
.ct-contact-icon svg { width: 19px; height: 19px; }
.ct-contact-icon-wa { color: #10b981; }
.ct-contact-item:hover .ct-contact-icon {
        transform: scale(1.05);
}
.ct-contact-text strong {
        display: block;
        font-size: 13px;
        font-weight: 600;
        color: #ffffff;
        margin-bottom: 2px;
}
.ct-contact-text span {
        display: block;
        font-size: 12px;
        color: rgba(255,255,255,0.7);
        line-height: 1.4;
}

/* Divider */
.ct-panel-divider {
        height: 1px;
        background: rgba(255,255,255,0.2);
        margin: 16px 0 18px;
}

/* Social */
.ct-social {}
.ct-social-label {
        display: block;
        font-size: 13px;
        font-weight: 600;
        color: rgba(255,255,255,0.75);
        margin-bottom: 10px;
}
.ct-social-icons {
        display: flex;
        gap: 8px;
}
.ct-social-icon {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: rgba(255,255,255,0.15);
        color: #ffffff;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.25s;
        text-decoration: none;
}
.ct-social-icon svg { width: 17px; height: 17px; }
.ct-social-icon:hover {
        background: #2862E8;
        color: #ffffff;
        transform: scale(1.05) rotate(-3deg);
        box-shadow: 0 0 20px rgba(40,98,232,0.4);
}

/* Right Panel — Form */
.ct-panel-form {
        flex: 1;
        padding: 40px 36px;
        background: #ffffff;
}
.ct-panel-form-title {
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 700;
        font-size: 26px;
        color: #000000;
        margin: 0 0 20px;
        line-height: 1.2;
}

/* Alerts */
.ct-alert {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 12px 16px;
        border-radius: 12px;
        margin-bottom: 16px;
        font-size: 13px;
        font-weight: 500;
}
.ct-alert-success {
        background: #ecfdf5;
        color: #065f46;
        border: 1px solid #a7f3d0;
}
.ct-alert-error {
        background: #fef2f2;
        color: #991b1b;
        border: 1px solid #fecaca;
}

/* Form */
.ct-form {}
.ct-form-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 18px;
        margin-bottom: 18px;
}
.ct-form-group {
        display: flex;
        flex-direction: column;
        gap: 5px;
}
.ct-form-group label {
        font-size: 13px;
        font-weight: 600;
        color: #000000;
}
.ct-req { color: #dc2626; }
.ct-form-group input,
.ct-form-group textarea {
        width: 100%;
        height: 52px;
        padding: 0 16px;
        border: 1px solid #E5E7EB;
        border-radius: 12px;
        background: #ffffff;
        font-size: 14px;
        color: #000000;
        outline: none;
        transition: border-color 0.2s, box-shadow 0.2s;
        box-sizing: border-box;
}
.ct-form-group input::placeholder,
.ct-form-group textarea::placeholder { color: #9CA3AF; }
.ct-form-group input:focus,
.ct-form-group textarea:focus {
        border-color: #2862E8;
        box-shadow: 0 0 0 3px rgba(40,98,232,0.15);
}
.ct-form-group textarea {
        height: 150px;
        padding: 12px 16px;
        resize: vertical;
}
.ct-form-group-full { margin-bottom: 18px; }

/* Submit Button */
.ct-submit-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        height: 54px;
        border: none;
        border-radius: 12px;
        background: #2862E8;
        color: #ffffff;
        font-size: 15px;
        font-weight: 700;
        cursor: pointer;
        transition: all 0.25s;
}
.ct-submit-btn:hover {
        background: linear-gradient(135deg, #2862E8, #3B82F6);
        transform: translateY(-2px);
        box-shadow: 0 12px 30px rgba(40,98,232,0.25);
}

/* ---------- Floating buttons ---------- */
.whatsapp-fab { position: fixed; right: max(0.875rem, env(safe-area-inset-right)); bottom: 6rem; width: 54px; height: 54px; border-radius: 9999px; background: #10b981; color: #ffffff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(16, 185, 129, 0.4); z-index: 90; transition: all 0.2s; }
@media (min-width: 640px) { .whatsapp-fab { right: max(1.5rem, env(safe-area-inset-right)); bottom: 7rem; } }
@media (max-width: 480px) { .whatsapp-fab { width: 48px; height: 48px; bottom: 5.5rem; } }
.whatsapp-fab:hover { background: #059669; color: #ffffff; transform: scale(1.1); }
.whatsapp-fab-ping { position: absolute; right: 0; top: 0; width: 12px; height: 12px; }
.whatsapp-fab-ping::before, .whatsapp-fab-ping::after { content: ''; position: absolute; inset: 0; border-radius: 9999px; background: #34d399; }
.whatsapp-fab-ping::before { animation: wa-ping 1.5s ease-out infinite; opacity: 0; }
.whatsapp-fab-ping::after { background: #10b981; }
@keyframes wa-ping { 0% { transform: scale(1); opacity: 0.75; } 100% { transform: scale(2.5); opacity: 0; } }

.back-to-top { position: fixed; right: max(0.875rem, env(safe-area-inset-right)); bottom: 2.5rem; width: 44px; height: 44px; border-radius: 9999px; background: #2563eb; color: #ffffff; display: flex; align-items: center; justify-content: center; box-shadow: 0 12px 32px rgba(37, 99, 235, 0.2); opacity: 0; visibility: hidden; transform: translateY(1rem); transition: all 0.25s; z-index: 90; }
@media (min-width: 640px) { .back-to-top { right: max(1.5rem, env(safe-area-inset-right)); } }
@media (max-width: 480px) { .back-to-top { width: 40px; height: 40px; bottom: 2.25rem; } }
.back-to-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { background: #1d4ed8; }

/* ---------- Blog ---------- */
.blog-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; margin-top: 2rem; }
@media (min-width: 640px) { .blog-grid.blog-grid-2 { grid-template-columns: repeat(2, 1fr); } .blog-grid.blog-grid-3 { grid-template-columns: repeat(2, 1fr); } .blog-grid.blog-grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .blog-grid.blog-grid-3 { grid-template-columns: repeat(3, 1fr); } .blog-grid.blog-grid-4 { grid-template-columns: repeat(4, 1fr); } }
.post-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; overflow: hidden; transition: all 0.2s; }
.post-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12); }
.post-thumb { display: block; aspect-ratio: 16/10; overflow: hidden; background: #f1f5f9; }
.post-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.post-card:hover .post-thumb img { transform: scale(1.05); }
.post-card-body { padding: 1.5rem; }
.post-meta { display: flex; flex-wrap: wrap; gap: 1rem; font-size: 0.75rem; color: #64748b; margin-bottom: 0.75rem; }
.post-title { font-size: 1.25rem; margin: 0 0 0.5rem; }
.post-title a { color: #0f172a; text-decoration: none; }
.post-title a:hover { color: #2563eb; }

.single-post .entry-thumb { width: 100%; border-radius: 16px; margin: 1.5rem 0; }
.entry-content { line-height: 1.8; color: #334155; }
.entry-content h2, .entry-content h3 { margin-top: 2rem; }
.post-tags { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.post-tags a { padding: 0.375rem 0.875rem; border-radius: 9999px; background: #f1f5f9; font-size: 0.75rem; color: #475569; }
.post-tags a:hover { background: #eff4ff; color: #2563eb; }

/* ---------- Pagination ---------- */
.netyex-pagination { display: flex; justify-content: center; gap: 0.5rem; margin-top: 3rem; flex-wrap: wrap; }
.netyex-pagination .page-item { display: inline-flex; }
.netyex-pagination a, .netyex-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 0.75rem; border-radius: 8px; border: 1px solid #e2e8f0; font-size: 0.875rem; font-weight: 500; color: #334155; text-decoration: none; transition: all 0.15s; }
.netyex-pagination a:hover { border-color: #93c5fd; color: #2563eb; }
.netyex-pagination .current { background: #2563eb; color: #ffffff; border-color: #2563eb; }

/* ---------- Sidebar ---------- */
.content-area { width: 100%; }
@media (min-width: 1024px) { .has-sidebar .content-area { width: 70%; padding-right: 2rem; } }
.sidebar { margin-top: 2rem; }
@media (min-width: 1024px) { .has-sidebar { display: flex; flex-wrap: wrap; } .sidebar { width: 30%; margin-top: 0; } }
.widget { margin-bottom: 2rem; padding: 1.5rem; background: #f8fafc; border-radius: 16px; }
.widget-title { font-size: 1rem; font-weight: 700; margin: 0 0 1rem; color: #0f172a; }
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget li { padding: 0.5rem 0; border-bottom: 1px solid #e2e8f0; }
.widget li:last-child { border-bottom: none; }

/* ---------- 404 ---------- */
.error-404 { text-align: center; padding: 5rem 0; }
.error-404 h1 { font-size: 6rem; color: #2563eb; margin: 0; }
.error-404 .search-form { max-width: 400px; margin: 2rem auto; }

/* ---------- Page templates (policy, etc.) ---------- */
.page-header-section { background: #f8fafc; padding: 3rem 0; border-bottom: 1px solid #f1f5f9; }
.page-title { margin: 0; }
.page-subtitle { font-size: 1rem; color: #475569; margin-top: 0.75rem; }

/* ============================================================
   ABOUT PAGE — Premium Design (v3)
   ============================================================ */

.about-page {
	font-family: 'Plus Jakarta Sans', sans-serif;
	overflow-x: hidden;
}

/* ---------- Shared utilities ---------- */
.ab-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 0 32px;
	height: 54px;
	border-radius: 14px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	border: none;
	text-decoration: none;
}
.ab-btn-primary {
	background: linear-gradient(135deg, #2B5CFF, #6C45FF);
	color: #FFFFFF;
	box-shadow: 0 10px 30px rgba(43,92,255,0.30);
}
.ab-btn-primary:hover {
	background: linear-gradient(135deg, #4B74FF, #8A5CFF);
	transform: translateY(-3px);
	box-shadow: 0 16px 40px rgba(43,92,255,0.40);
	color: #FFFFFF;
}
.ab-btn-outline-light {
	background: transparent;
	color: #FFFFFF;
	border: 2px solid rgba(255,255,255,0.5);
}
.ab-btn-outline-light:hover {
	border-color: #FFFFFF;
	background: rgba(255,255,255,0.08);
	transform: translateY(-3px);
	color: #FFFFFF;
}

/* ---------- Heading gradient override for about page ---------- */
.about-page .heading-gradient {
	background: linear-gradient(135deg, #2B5CFF, #A536FF);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.ab-craft-title .heading-gradient,
.ab-choose-title .heading-gradient,
.ab-global-title .heading-gradient {
	background: linear-gradient(90deg, #2563eb 0%, #7c3aed 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	display: inline;
}

/* =====================================================================
   HERO
   ===================================================================== */
.about-page .ab-hero {
	position: relative;
	padding: 31px 0 62px;
	overflow: hidden;
	background:
		radial-gradient(circle at 90% 10%, rgba(238,242,255,0.8) 0%, transparent 40%),
		radial-gradient(circle at 10% 90%, rgba(243,232,255,0.8) 0%, transparent 50%),
		linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}
.ab-hero-wave {
	position: absolute;
	right: -10%;
	top: -20%;
	width: 70%;
	height: 140%;
	background: linear-gradient(135deg, rgba(224,231,255,0.25) 0%, rgba(243,232,255,0.15) 50%, transparent 80%);
	transform: rotate(-12deg);
	border-radius: 40% 60% 70% 30% / 40% 50% 60% 70%;
	z-index: 0;
	pointer-events: none;
}
.ab-abs-shape {
	position: absolute;
	z-index: 0;
	pointer-events: none;
}
.ab-abs-blob-1 {
	width: 340px; height: 340px;
	left: -90px; top: 40%;
	background: radial-gradient(circle at 30% 30%, rgba(43,92,255,0.10), rgba(138,63,252,0.06) 60%, transparent 75%);
	border-radius: 42% 58% 63% 37% / 45% 43% 57% 55%;
	transform: rotate(-18deg);
	animation: ab-abs-float 9s ease-in-out infinite;
}
.ab-abs-blob-2 {
	width: 220px; height: 220px;
	right: 4%; top: -60px;
	background: radial-gradient(circle at 60% 40%, rgba(138,63,252,0.09), rgba(43,92,255,0.05) 65%, transparent 78%);
	border-radius: 60% 40% 55% 45% / 50% 62% 38% 50%;
	transform: rotate(24deg);
	animation: ab-abs-float 11s ease-in-out infinite reverse;
}
.ab-abs-ring-1 {
	width: 160px; height: 160px;
	right: 38%; top: 12%;
	border: 2px solid rgba(43,92,255,0.08);
	border-radius: 50%;
	animation: ab-abs-float 8s ease-in-out infinite;
}
.ab-abs-ring-2 {
	width: 90px; height: 90px;
	left: 34%; bottom: 6%;
	border: 2px dashed rgba(138,63,252,0.10);
	border-radius: 50%;
	animation: ab-abs-float 12s ease-in-out infinite reverse;
}
.ab-abs-square-1 {
	width: 64px; height: 64px;
	left: 48%; top: 22%;
	background: linear-gradient(135deg, rgba(43,92,255,0.08), rgba(138,63,252,0.06));
	border-radius: 14px;
	transform: rotate(32deg);
	animation: ab-abs-float 10s ease-in-out infinite;
}
.ab-abs-tri-1 {
	width: 0; height: 0;
	right: 8%; bottom: 14%;
	border-left: 34px solid transparent;
	border-right: 34px solid transparent;
	border-bottom: 58px solid rgba(43,92,255,0.07);
	animation: ab-abs-float 9s ease-in-out infinite;
}
@keyframes ab-abs-float {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -18px; }
}
.ab-hero-inner {
	display: grid;
	grid-template-columns: 55% 45%;
	align-items: center;
	gap: 60px;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
	position: relative;
	z-index: 1;
}
.ab-hero-left { max-width: 560px; }
.ab-hero-right { position: relative; display: flex; justify-content: center; }
.ab-hero-label { font-size: 12px; font-weight: 800; letter-spacing: 3px; text-transform: uppercase; color: #2B5CFF; margin-bottom: 16px; display: block; }
.ab-hero-title { font-size: clamp(32px, 4vw, 52px); font-weight: 800; line-height: 1.15; margin-bottom: 0; letter-spacing: -0.02em; color: #1E293B; }
.ab-hero-title .heading-gradient { display: inline; }
.ab-accent-bar {
	width: 32px;
	height: 3px;
	background: linear-gradient(90deg, #F472B6, #8A3FFC);
	border-radius: 2px;
	margin: 16px 0 24px;
}
.ab-hero-desc { font-size: 16px; line-height: 1.8; color: #5B6475; margin-bottom: 16px; max-width: 520px; }
.ab-hero-desc strong { color: #1E293B; }
.ab-hero-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 0 28px;
	height: 52px;
	border-radius: 14px;
	background: #2B5CFF;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 600;
	box-shadow: 0 15px 30px -10px rgba(43,92,255,0.45);
	transition: all 0.3s ease;
	text-decoration: none;
	margin-top: 8px;
}
.ab-hero-btn:hover { background: #1D4ED8; transform: translateY(-2px); box-shadow: 0 20px 40px -10px rgba(43,92,255,0.55); color: #FFFFFF; }
.ab-hero-btn svg { transition: transform 0.3s ease; }
.ab-hero-btn:hover svg { transform: translateX(4px); }
.ab-hero-dot-matrix {
	position: absolute;
	width: 80px;
	height: 80px;
	background-image: radial-gradient(#8A3FFC 2px, transparent 2px);
	background-size: 12px 12px;
	opacity: 0.6;
	z-index: 0;
	pointer-events: none;
}
.ab-hero-dot-tl { top: -28px; left: -28px; }
.ab-hero-dot-br { bottom: -28px; right: -28px; }
.ab-hero-media-wrap {
	position: relative;
	max-width: 560px;
	width: 100%;
}
.ab-hero-media-wrap::before {
	content: '';
	position: absolute;
	inset: -2px;
	border-radius: 30px;
	background: linear-gradient(135deg, #F472B6 0%, #8A3FFC 50%, #2B5CFF 100%);
	z-index: 0;
	opacity: 0.85;
}
.ab-hero-image {
	position: relative;
	border-radius: 28px;
	overflow: hidden;
	aspect-ratio: 4/3;
	background: #0F172A;
	z-index: 1;
}
.ab-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.ab-hero-image-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.1) 50%, transparent 100%);
	opacity: 0.8;
}

/* =====================================================================
   STATS
   ===================================================================== */
.ab-stats { padding: 0; margin-top: -40px; position: relative; z-index: 2; }
.ab-stats-card {
	background: #FFFFFF;
	border-radius: 24px;
	box-shadow: 0 20px 60px rgba(0,0,0,0.08);
	padding: 28px 0;
	display: flex;
	align-items: center;
	max-width: 1240px;
	margin: 0 auto;
}
.ab-stats-inner { display: flex; width: 100%; }
.ab-stat-item {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 0 32px;
	justify-content: center;
}
.ab-stat-item:not(:last-child) { border-right: 1px solid #E8EDF5; }
.ab-stat-icon {
	width: 52px; height: 52px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.ab-stat-icon-blue { background: linear-gradient(135deg, #2B5CFF, #6C45FF); }
.ab-stat-icon-purple { background: linear-gradient(135deg, #8A3FFC, #A536FF); }
.ab-stat-icon-teal { background: linear-gradient(135deg, #06B6D4, #3B82F6); }
.ab-stat-icon-orange { background: linear-gradient(135deg, #F59E0B, #EF4444); }
.ab-stat-number { font-size: 28px; font-weight: 700; color: #1E293B; line-height: 1.2; }
.ab-stat-label { font-size: 14px; color: #64748B; }

/* =====================================================================
   TRADITION / CRAFTSMANSHIP
   ===================================================================== */
.ab-tradition {
	position: relative;
	padding: 54px 0;
	overflow: hidden;
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.ab-tradition-inner {
	display: grid;
	grid-template-columns: 5fr 7fr;
	align-items: center;
	gap: 48px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
}
.ab-craft-left { display: flex; flex-direction: column; justify-content: center; }
.ab-craft-subtitle { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 3px; color: #4f46e5; margin-bottom: 16px; display: block; }
.ab-craft-title { font-size: clamp(28px, 3vw, 44px); font-weight: 800; line-height: 1.18; letter-spacing: -0.02em; color: #1e1b4b; margin-bottom: 0; }
.ab-craft-accent-bar { width: 42px; height: 3.5px; background: linear-gradient(90deg, #f472b6, #8b5cf6); border-radius: 9999px; margin: 20px 0 24px; }
.ab-craft-desc { font-size: 15px; line-height: 1.8; color: #475569; max-width: 480px; margin-bottom: 16px; }
.ab-craft-check { display: flex; flex-direction: column; gap: 14px; margin: 16px 0 28px; padding: 0; list-style: none; }
.ab-craft-check-item { display: flex; align-items: center; gap: 14px; }
.ab-craft-check-dot {
	width: 24px; height: 24px; border-radius: 50%;
	border: 2px solid #6366f1;
	background: rgba(238,242,255,0.5);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
	transition: background 0.2s, border-color 0.2s;
}
.ab-craft-check-item:hover .ab-craft-check-dot { background: #4f46e5; border-color: #4f46e5; }
.ab-craft-check-dot svg { color: #4f46e5; transition: color 0.2s; }
.ab-craft-check-item:hover .ab-craft-check-dot svg { color: #ffffff; }
.ab-craft-check-text { font-size: 14px; font-weight: 600; letter-spacing: 0.02em; color: #1e293b; }
.ab-craft-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 28px;
	background: #2563eb;
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	border-radius: 12px;
	box-shadow: 0 12px 25px -8px rgba(37,99,235,0.25);
	transition: all 0.3s ease;
	text-decoration: none;
	cursor: pointer;
	border: none;
	align-self: flex-start;
}
.ab-craft-btn:hover { background: #1d4ed8; transform: translateY(-2px); box-shadow: 0 16px 30px -8px rgba(37,99,235,0.35); color: #ffffff; }
.ab-craft-visual { display: flex; justify-content: flex-end; position: relative; }
.ab-craft-stage { position: relative; width: 100%; max-width: 640px; padding: 24px 16px 24px 32px; }
.ab-craft-dot-block {
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 55%;
	background-image: radial-gradient(#818cf8 2px, transparent 2px);
	background-size: 16px 16px;
	background-color: rgba(238,242,255,0.4);
	border-radius: 24px;
	opacity: 0.8;
	pointer-events: none;
}
.ab-craft-blue-block {
	position: absolute;
	right: 0; top: 24px; bottom: 24px;
	width: 32%;
	background: #2563eb;
	border-radius: 16px;
	box-shadow: 0 12px 25px -8px rgba(37,99,235,0.2);
	pointer-events: none;
}
.ab-craft-card {
	position: relative;
	margin: 8px 0 8px 16px;
	background: #ffffff;
	border-radius: 16px 24px 24px 16px;
	overflow: hidden;
	border: 1px solid #f1f5f9;
	box-shadow: 0 20px 45px -10px rgba(0,0,0,0.12);
	cursor: pointer;
	transition: transform 0.5s ease;
}
.ab-craft-card:hover { transform: scale(1.015); }
.ab-craft-card-img-wrap { position: relative; aspect-ratio: 1.38/1; width: 100%; overflow: hidden; background: #fffbeb; }
.ab-craft-card-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.ab-craft-card:hover .ab-craft-card-img-wrap img { transform: scale(1.05); }
.ab-craft-hover-overlay {
	position: absolute;
	inset: 0;
	background: rgba(15,23,42,0.10);
	opacity: 0;
	transition: opacity 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ab-craft-card:hover .ab-craft-hover-overlay { opacity: 1; }
.ab-craft-hover-badge {
	background: rgba(255,255,255,0.95);
	backdrop-filter: blur(12px);
	padding: 8px 16px;
	border-radius: 9999px;
	box-shadow: 0 12px 25px rgba(0,0,0,0.2);
	color: #1e1b4b;
	font-weight: 700;
	font-size: 13px;
	display: flex;
	align-items: center;
	gap: 8px;
	transform: translateY(8px);
	transition: transform 0.3s ease;
}
.ab-craft-card:hover .ab-craft-hover-badge { transform: translateY(0); }
.ab-craft-hover-badge svg { color: #4f46e5; flex-shrink: 0; }

/* =====================================================================
   RUG INSPECTION MODAL + TOAST
   ===================================================================== */
.ab-rug-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(2,6,23,0.8);
	backdrop-filter: blur(8px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
.ab-rug-modal.open { opacity: 1; pointer-events: auto; }
.ab-rug-modal-backdrop { position: absolute; inset: 0; }
.ab-rug-modal-dialog {
	position: relative;
	width: 100%;
	max-width: 896px;
	background: #ffffff;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 40px 90px rgba(0,0,0,0.5);
	border: 1px solid #e2e8f0;
	transform: scale(0.95);
	transition: transform 0.3s ease;
	display: flex;
	flex-direction: column;
	z-index: 10;
}
.ab-rug-modal.open .ab-rug-modal-dialog { transform: scale(1); }
.ab-rug-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px;
	border-bottom: 1px solid #f1f5f9;
	background: rgba(248,250,252,0.8);
}
.ab-rug-modal-title-wrap { display: flex; align-items: center; gap: 12px; }
.ab-rug-modal-dot { width: 12px; height: 12px; border-radius: 50%; background: #4f46e5; flex-shrink: 0; }
.ab-rug-modal-title { font-size: 14px; font-weight: 700; color: #0f172a; margin: 0; }
.ab-rug-modal-close {
	border: none;
	background: transparent;
	color: #94a3b8;
	padding: 8px;
	border-radius: 12px;
	cursor: pointer;
	transition: color 0.2s, background 0.2s;
}
.ab-rug-modal-close:hover { color: #334155; background: rgba(226,232,240,0.6); }
.ab-rug-modal-body { position: relative; aspect-ratio: 4/3; width: 100%; background: rgba(120,53,15,0.1); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.ab-rug-modal-body img { width: 100%; height: 100%; object-fit: contain; }
.ab-rug-modal-footer {
	padding: 20px;
	background: #ffffff;
	display: flex;
	flex-direction: column;
	gap: 16px;
	border-top: 1px solid #f1f5f9;
}
.ab-rug-modal-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 13px; color: #475569; }
.ab-rug-modal-meta strong { color: #1e293b; }
.ab-rug-modal-inquire {
	padding: 10px 20px;
	background: #4f46e5;
	color: #ffffff;
	font-size: 13px;
	font-weight: 600;
	border: none;
	border-radius: 12px;
	cursor: pointer;
	transition: background 0.3s;
	align-self: flex-start;
}
.ab-rug-modal-inquire:hover { background: #4338ca; }

.ab-page-toast {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 1100;
	background: #0f172a;
	color: #ffffff;
	padding: 12px 20px;
	border-radius: 12px;
	border: 1px solid #1e293b;
	box-shadow: 0 20px 50px rgba(0,0,0,0.35);
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	transform: translateY(80px);
	opacity: 0;
	transition: transform 0.3s ease, opacity 0.3s ease;
}
.ab-page-toast.show { transform: translateY(0); opacity: 1; }
.ab-page-toast-icon { color: #34d399; flex-shrink: 0; }

/* =====================================================================
   FEATURE STRIP
   ===================================================================== */
.ab-feature-strip {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #2B5CFF, #9A38FF);
	padding: 30px 0;
	text-align: center;
}
.ab-feature-strip-label { font-size: 12px; font-weight: 600; letter-spacing: 2px; color: rgba(255,255,255,0.7); text-transform: uppercase; margin-bottom: 4px; display: block; }
.ab-feature-strip-title { font-size: clamp(24px, 3vw, 34px); font-weight: 700; color: #FFFFFF; margin-bottom: 18px; }
.ab-feature-strip-icons { display: flex; justify-content: center; gap: 16px; max-width: 1240px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; }
.ab-feature-strip-item { display: flex; flex-direction: column; align-items: center; gap: 12px; flex: 0 0 auto; }
.ab-feature-strip-circle {
	width: 76px; height: 76px; border-radius: 50%;
	background: #FFFFFF;
	box-shadow: 0 10px 24px rgba(0,0,0,0.08);
	display: flex; align-items: center; justify-content: center;
	color: #2B5CFF;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ab-feature-strip-circle svg { width: 30px; height: 30px; }
.ab-feature-strip-item:hover .ab-feature-strip-circle { transform: scale(1.08); box-shadow: 0 14px 32px rgba(0,0,0,0.12); }
.ab-feature-strip-item span { font-size: 15px; font-weight: 500; color: rgba(255,255,255,0.85); white-space: nowrap; }
.ab-fs-shape { position: absolute; z-index: 0; pointer-events: none; }
.ab-fs-dots-l {
	width: 140px; height: 140px;
	left: -20px; top: 50%;
	transform: translateY(-50%);
	background-image: radial-gradient(rgba(255,255,255,0.35) 2px, transparent 2px);
	background-size: 14px 14px;
	opacity: 0.5;
}
.ab-fs-dots-r {
	width: 120px; height: 120px;
	right: -14px; top: 50%;
	transform: translateY(-50%);
	background-image: radial-gradient(rgba(255,255,255,0.35) 2px, transparent 2px);
	background-size: 14px 14px;
	opacity: 0.5;
}
.ab-fs-ring-1 {
	width: 110px; height: 110px;
	right: 16%; top: -55px;
	border: 2px dashed rgba(255,255,255,0.25);
	border-radius: 50%;
}
.ab-fs-circle-1 {
	width: 46px; height: 46px;
	left: 6%; top: 12px;
	background: rgba(255,255,255,0.08);
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,0.2);
}
.ab-fs-cross-1 {
	width: 30px; height: 30px;
	right: 7%; bottom: 16px;
	position: absolute;
}
.ab-fs-cross-1::before,
.ab-fs-cross-1::after {
	content: '';
	position: absolute;
	background: rgba(255,255,255,0.3);
}
.ab-fs-cross-1::before { left: 50%; top: 0; bottom: 0; width: 2px; transform: translateX(-50%); }
.ab-fs-cross-1::after { top: 50%; left: 0; right: 0; height: 2px; transform: translateY(-50%); }

/* =====================================================================
   QUALITY SECTION
   ===================================================================== */
.about-page .ab-quality {
	padding: 70px 0;
	background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
}
.ab-quality-inner {
	display: grid;
	grid-template-columns: 45% 55%;
	align-items: center;
	gap: 48px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
}
.ab-quality-left { display: flex; flex-direction: column; justify-content: center; }
.ab-quality-right { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
.ab-choose-subtitle { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 3px; color: #4f46e5; margin-bottom: 16px; display: block; }
.ab-choose-title { font-size: clamp(26px, 3vw, 42px); font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; color: #312e81; margin-bottom: 0; }
.ab-choose-line { width: 38px; height: 3px; background: linear-gradient(90deg, #ec4899 0%, #8b5cf6 100%); border-radius: 9999px; margin: 20px 0 24px; }
.ab-choose-check { display: flex; flex-direction: column; gap: 14px; padding: 0; list-style: none; margin-bottom: 28px; }
.ab-choose-check-item { display: flex; align-items: center; gap: 12px; }
.ab-choose-check-dot {
	width: 20px; height: 20px; border-radius: 50%;
	border: 2px solid #6366f1;
	background: #ffffff;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
	transition: background 0.2s, border-color 0.2s;
}
.ab-choose-check-item:hover .ab-choose-check-dot { background: #4f46e5; border-color: #4f46e5; }
.ab-choose-check-dot svg { color: #4f46e5; transition: color 0.2s; }
.ab-choose-check-item:hover .ab-choose-check-dot svg { color: #ffffff; }
.ab-choose-check-text { font-size: 14px; font-weight: 500; letter-spacing: -0.01em; color: #334155; }
.ab-choose-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 28px;
	background: #2563eb;
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	border: none;
	border-radius: 12px;
	cursor: pointer;
	box-shadow: 0 10px 25px -5px rgba(37,99,235,0.35);
	transition: all 0.3s ease;
	align-self: flex-start;
}
.ab-choose-btn:hover { background: #1d4ed8; transform: translateY(-2px); box-shadow: 0 14px 30px -5px rgba(37,99,235,0.45); }
.ab-choose-cards { display: flex; flex-direction: column; gap: 20px; height: 100%; }
.ab-choose-card {
	background: linear-gradient(#ffffff, #ffffff) padding-box,
		linear-gradient(135deg, #2563eb 0%, #8b5cf6 40%, #d946ef 70%, #f97316 100%) border-box;
	border: 2.5px solid transparent;
	border-radius: 20px;
	padding: 24px 28px;
	display: flex;
	align-items: flex-start;
	gap: 16px;
	box-shadow: 0 10px 30px -5px rgba(0,0,0,0.04), 0 4px 12px -2px rgba(0,0,0,0.02);
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}
.ab-choose-card:hover { transform: translateY(-3px); box-shadow: 0 16px 32px -8px rgba(99,102,241,0.12); }
.ab-choose-card-icon {
	width: 48px; height: 48px; border-radius: 50%;
	background: #ffffff;
	border: 2px solid #6366f1;
	display: flex; align-items: center; justify-content: center;
	color: #4f46e5;
	flex-shrink: 0;
	box-shadow: 0 4px 12px -4px rgba(99,102,241,0.4);
}
.ab-choose-card h3 { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 2px; color: #4f46e5; margin-bottom: 6px; }
.ab-choose-card p { font-size: 13px; line-height: 1.7; color: #475569; }
.ab-choose-visual { display: flex; justify-content: flex-end; height: 100%; }
.ab-choose-image-card {
	position: relative;
	width: 100%;
	max-width: 420px;
	height: 100%;
	background: #ffffff;
	border-radius: 24px;
	overflow: hidden;
	border: 1px solid #f1f5f9;
	box-shadow: 0 10px 30px -5px rgba(0,0,0,0.04), 0 4px 12px -2px rgba(0,0,0,0.02);
	cursor: pointer;
	transition: transform 0.5s ease;
}
.ab-choose-image-card:hover { transform: scale(1.015); }
.ab-choose-img-wrap { position: relative; aspect-ratio: auto; height: 100%; width: 100%; overflow: hidden; background: #f1f5f9; }
.ab-choose-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.ab-choose-image-card:hover .ab-choose-img-wrap img { transform: scale(1.05); }
.ab-choose-hover-overlay {
	position: absolute;
	inset: 0;
	background: rgba(30,27,75,0.10);
	opacity: 0;
	transition: opacity 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ab-choose-image-card:hover .ab-choose-hover-overlay { opacity: 1; }
.ab-choose-hover-badge {
	background: rgba(255,255,255,0.95);
	backdrop-filter: blur(12px);
	padding: 8px 16px;
	border-radius: 9999px;
	box-shadow: 0 12px 25px rgba(0,0,0,0.2);
	color: #312e81;
	font-weight: 700;
	font-size: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	transform: translateY(8px);
	transition: transform 0.3s ease;
}
.ab-choose-image-card:hover .ab-choose-hover-badge { transform: translateY(0); }
.ab-choose-hover-badge svg { color: #4f46e5; flex-shrink: 0; }

/* =====================================================================
   ROOM IMAGE MODAL
   ===================================================================== */
.ab-room-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(2,6,23,0.8);
	backdrop-filter: blur(8px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
.ab-room-modal.open { opacity: 1; pointer-events: auto; }
.ab-room-modal-backdrop { position: absolute; inset: 0; }
.ab-room-modal-dialog {
	position: relative;
	width: 100%;
	max-width: 768px;
	background: #ffffff;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 40px 90px rgba(0,0,0,0.5);
	border: 1px solid #e2e8f0;
	transform: scale(0.95);
	transition: transform 0.3s ease;
	display: flex;
	flex-direction: column;
	z-index: 10;
}
.ab-room-modal.open .ab-room-modal-dialog { transform: scale(1); }
.ab-room-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px;
	border-bottom: 1px solid #f1f5f9;
	background: rgba(248,250,252,0.8);
}
.ab-room-modal-title-wrap { display: flex; align-items: center; gap: 12px; }
.ab-room-modal-dot { width: 12px; height: 12px; border-radius: 50%; background: #4f46e5; flex-shrink: 0; }
.ab-room-modal-title { font-size: 14px; font-weight: 700; color: #0f172a; margin: 0; }
.ab-room-modal-close {
	border: none;
	background: transparent;
	color: #94a3b8;
	padding: 8px;
	border-radius: 12px;
	cursor: pointer;
	transition: color 0.2s, background 0.2s;
}
.ab-room-modal-close:hover { color: #334155; background: rgba(226,232,240,0.6); }
.ab-room-modal-body { position: relative; aspect-ratio: 4/3; width: 100%; background: #f1f5f9; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.ab-room-modal-body img { width: 100%; height: 100%; object-fit: cover; }
.ab-room-modal-footer {
	padding: 20px;
	background: #ffffff;
	display: flex;
	flex-direction: column;
	gap: 16px;
	border-top: 1px solid #f1f5f9;
}
.ab-room-modal-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 13px; color: #475569; }
.ab-room-modal-meta strong { color: #1e293b; }
.ab-room-modal-shop {
	padding: 10px 20px;
	background: #2563eb;
	color: #ffffff;
	font-size: 13px;
	font-weight: 600;
	border: none;
	border-radius: 12px;
	cursor: pointer;
	transition: background 0.3s;
	align-self: flex-start;
}
.ab-room-modal-shop:hover { background: #1d4ed8; }

/* =====================================================================
   GLOBAL REACH SECTION
   ===================================================================== */
.ab-global {
	padding: 70px 0;
	background: #F8FAFC;
}
.ab-global-inner {
	display: grid;
	grid-template-columns: 45% 55%;
	align-items: center;
	gap: 48px;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
}
.ab-global-left { display: flex; flex-direction: column; justify-content: center; }
.ab-global-right { display: flex; justify-content: center; align-items: center; width: 100%; }
.ab-global-label { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 3px; color: #4f46e5; margin-bottom: 16px; display: block; }
.ab-global-title { font-size: clamp(28px, 3vw, 44px); font-weight: 800; line-height: 1.18; letter-spacing: -0.02em; color: #312e81; margin-bottom: 0; }
.ab-global-line { width: 38px; height: 3px; background: linear-gradient(90deg, #ec4899 0%, #8b5cf6 100%); border-radius: 9999px; margin: 20px 0 24px; }
.ab-global-desc { font-size: 15px; line-height: 1.8; color: #475569; max-width: 500px; margin-bottom: 16px; }
.ab-global-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 28px;
	background: #2563eb;
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	border: none;
	border-radius: 12px;
	cursor: pointer;
	box-shadow: 0 10px 25px -5px rgba(37,99,235,0.35);
	transition: all 0.3s ease;
	align-self: flex-start;
	margin-top: 8px;
	text-decoration: none;
}
.ab-global-btn:hover { background: #1d4ed8; transform: translateY(-2px); box-shadow: 0 14px 30px -5px rgba(37,99,235,0.45); color: #ffffff; }
.ab-global-btn svg { transition: transform 0.3s ease; }
.ab-global-btn:hover svg { transform: translateX(4px); }
.ab-global-map {
	border-radius: 24px;
	overflow: hidden;
	background: linear-gradient(#F8F7FF, #F8F7FF) padding-box,
		linear-gradient(135deg, #2563eb 0%, #8b5cf6 40%, #d946ef 70%, #f97316 100%) border-box;
	border: 2.5px solid transparent;
	box-shadow: 0 25px 70px rgba(15,23,42,0.08);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}
.ab-global-map svg { width: 100%; height: 100%; display: block; }

/* Map controls */
.ab-map-controls {
	display: none;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.ab-map-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border-radius: 12px;
	border: 1px solid #E8EDF5;
	background: #FFFFFF;
	color: #475569;
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
}
.ab-map-btn:hover { border-color: #2B5CFF; color: #2B5CFF; background: #F0F4FF; }
.ab-map-btn.is-active { background: #2B5CFF; color: #FFFFFF; border-color: #2B5CFF; }
.ab-map-btn svg { width: 14px; height: 14px; flex-shrink: 0; }

/* Animated arcs */
@keyframes ab-map-dash-flow {
	to { stroke-dashoffset: -32; }
}
.ab-map-arc {
	stroke-dasharray: 4 4;
	animation: ab-map-dash-flow 2s linear infinite;
}

/* Pin markers */
.ab-map-pin-group { cursor: pointer; }
.ab-map-pin-body {
	transition: transform 0.3s ease, filter 0.3s ease;
	transform-origin: 12px 28px;
}
.ab-map-pin-group:hover .ab-map-pin-body {
	transform: scale(1.12);
	filter: drop-shadow(0 6px 14px rgba(43,92,255,0.45));
}

/* Tooltips */
.ab-map-tooltip {
	position: absolute;
	background: #FFFFFF;
	border-radius: 10px;
	padding: 10px 14px;
	box-shadow: 0 8px 28px rgba(15,23,42,0.14);
	border: 1px solid #E8EDF5;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, transform 0.2s ease;
	transform: translateY(6px);
	z-index: 10;
	white-space: nowrap;
}
.ab-map-tooltip.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}
.ab-map-tooltip-city { font-size: 13px; font-weight: 700; color: #1E293B; }
.ab-map-tooltip-location { font-size: 11px; color: #64748B; margin-top: 1px; }

/* =====================================================================
   TESTIMONIALS
   ===================================================================== */
.ab-testimonial {
	display: none;
	background: linear-gradient(135deg, #2B5CFF, #8A3FFC);
	padding: 60px 0 80px;
	text-align: center;
}
.ab-testimonial-label { font-size: 12px; font-weight: 600; letter-spacing: 2px; color: rgba(255,255,255,0.6); text-transform: uppercase; margin-bottom: 12px; display: block; }
.ab-testimonial-title { font-size: clamp(26px, 3vw, 36px); font-weight: 700; color: #FFFFFF; margin-bottom: 40px; }
.ab-testimonial-cards { display: flex; justify-content: center; gap: 24px; flex-wrap: wrap; max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.ab-testimonial-card {
	background: #FFFFFF;
	border-radius: 18px;
	padding: 24px 28px;
	box-shadow: 0 10px 40px rgba(0,0,0,0.08);
	text-align: left;
	min-width: 180px;
	flex: 1;
	max-width: 220px;
	transition: all 0.3s ease;
}
.ab-testimonial-card:hover { transform: translateY(-6px); box-shadow: 0 20px 60px rgba(0,0,0,0.12); }
.ab-testimonial-platform { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.ab-testimonial-platform-icon { color: #2B5CFF; }
.ab-testimonial-stars { display: flex; gap: 2px; margin-bottom: 6px; }
.ab-testimonial-stars svg { color: #F59E0B; }
.ab-testimonial-platform-name { font-size: 13px; font-weight: 600; color: #1E293B; }

/* =====================================================================
   CTA BANNER
   ===================================================================== */
.ab-cta-section { padding: 80px 0; }
.ab-cta-banner {
	border-radius: 30px;
	overflow: hidden;
	min-height: 280px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: linear-gradient(135deg, #1E293B, #334155);
	box-shadow: 0 25px 70px rgba(15,23,42,0.15);
	max-width: 1240px;
	margin: 0 auto;
}
.ab-cta-banner-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0.35;
	filter: blur(4px);
}
.ab-cta-banner-overlay {
	position: absolute;
	inset: 0;
	background: rgba(15,23,42,0.55);
}
.ab-cta-banner-content {
	position: relative;
	z-index: 2;
	padding: 60px 40px;
	max-width: 700px;
}
.ab-cta-banner-title { font-size: clamp(28px, 3.5vw, 42px); font-weight: 700; color: #FFFFFF; margin-bottom: 16px; }
.ab-cta-banner-desc { font-size: 16px; line-height: 1.7; color: rgba(255,255,255,0.8); margin-bottom: 32px; max-width: 600px; margin-left: auto; margin-right: auto; }
.ab-cta-banner-btns { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }

/* =====================================================================
   SCROLL ANIMATION
   ===================================================================== */
.fade-up { opacity: 0; transform: translateY(30px); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade-up.visible { opacity: 1; transform: translateY(0); }

/* ---------- Contact page ---------- */
.contact-grid { display: grid; gap: 2rem; grid-template-columns: 1fr; margin-top: 2rem; }
@media (min-width: 768px) { .contact-grid { grid-template-columns: 1fr 1fr; } }
.contact-info-card { background: #f8fafc; border-radius: 16px; padding: 1.5rem; margin-bottom: 1rem; }
.contact-form input, .contact-form textarea { width: 100%; padding: 0.75rem 1rem; border: 1px solid #e2e8f0; border-radius: 8px; margin-bottom: 1rem; font-size: 0.875rem; }
.contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: #2563eb; }

/* ---------- FAQ page ---------- */
details.faq-item { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 0.75rem; overflow: hidden; }
details.faq-item summary { padding: 1rem 1.25rem; font-weight: 600; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
details.faq-item summary::after { content: '+'; font-size: 1.5rem; color: #2563eb; transition: transform 0.2s; }
details.faq-item[open] summary::after { transform: rotate(45deg); }
details.faq-item .faq-answer { padding: 0 1.25rem 1.25rem; color: #475569; line-height: 1.6; }

/* ---------- Policy Page (individual, no sidebar, modern) ---------- */
.policy-page-template { padding: 2rem 0 4rem; }
.policy-single-layout { max-width: 820px; margin: 0 auto; }
.policy-article { background: #fff; }
.policy-header { text-align: center; margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 2px solid #f1f5f9; }
.policy-title { font-size: 2rem; font-weight: 700; margin: 0 0 0.5rem; line-height: 1.2; }
@media (min-width: 640px) { .policy-title { font-size: 2.5rem; } }
.policy-updated { font-size: 0.875rem; color: #64748b; margin: 0; }
.policy-content { line-height: 1.8; color: #334155; font-size: 0.9375rem; }
.policy-content h2 { font-size: 1.375rem; font-weight: 700; color: #0f172a; margin: 2.5rem 0 1rem; padding-bottom: 0.5rem; border-bottom: 1px solid #f1f5f9; }
.policy-content h2:first-child { margin-top: 0; }
.policy-content h3 { font-size: 1.125rem; font-weight: 600; color: #0f172a; margin: 1.5rem 0 0.75rem; }
.policy-content p { margin-bottom: 1rem; }
.policy-content ul, .policy-content ol { margin: 0 0 1rem 1.5rem; }
.policy-content ul li, .policy-content ol li { margin-bottom: 0.5rem; }
.policy-content strong { color: #0f172a; }
.policy-content a { color: #2563eb; text-decoration: underline; }
.policy-intro { font-size: 1.0625rem; color: #475569; font-style: italic; margin-bottom: 2rem; padding: 1rem 1.5rem; background: #f8fafc; border-left: 4px solid #2563eb; border-radius: 0 8px 8px 0; }

/* Policy banner (used in returns page) */
.policy-banner { background: linear-gradient(135deg, #eff4ff, #f5f3ff); border-radius: 16px; padding: 2rem; text-align: center; margin-bottom: 2rem; }
.policy-banner h2 { font-size: 1.5rem; color: #0f172a; margin: 0 0 0.5rem; border: none; padding: 0; }
.policy-banner p { font-size: 1rem; color: #475569; margin: 0; }

/* Info cards (used in shipping page) */
.info-cards { display: grid; grid-template-columns: 1fr; gap: 1rem; margin: 1.5rem 0 2rem; }
@media (min-width: 640px) { .info-cards { grid-template-columns: repeat(3, 1fr); } }
.info-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 1.5rem; text-align: center; }
.info-card h3 { font-size: 1rem; font-weight: 700; color: #0f172a; margin: 0 0 0.5rem; }
.info-card .info-price { font-size: 1.5rem; font-weight: 700; color: #2563eb; margin: 0 0 0.25rem; }
.info-card .info-price-small { font-size: 0.875rem; color: #64748b; margin: 0 0 0.5rem; }
.info-card p { font-size: 0.875rem; color: #475569; margin: 0; }
.info-card .info-note { font-size: 0.75rem; color: #94a3b8; margin-top: 0.25rem; }

/* ==========================================================================
   Wishlist Page
   ========================================================================== */
.wishlist-page { padding: 2rem 0 4rem; }
.wishlist-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; font-size: 0.875rem; color: #64748b; padding: 1rem 0; margin-bottom: 1rem; }
.wishlist-breadcrumb a { color: #64748b; }
.wishlist-breadcrumb a:hover { color: #2563eb; }
.wishlist-breadcrumb .sep { color: #cbd5e1; }
.wishlist-breadcrumb span:last-child { color: #0f172a; font-weight: 500; }

.wishlist-header { text-align: center; margin-bottom: 2.5rem; max-width: 42rem; margin-left: auto; margin-right: auto; }
.wishlist-title { font-size: 2rem; font-weight: 700; margin: 0 0 0.5rem; line-height: 1.15; }
@media (min-width: 640px) { .wishlist-title { font-size: 2.5rem; } }
.wishlist-subtitle { font-size: 1rem; color: #475569; margin: 0; }

.wishlist-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
@media (min-width: 768px) { .wishlist-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .wishlist-grid { grid-template-columns: repeat(4, 1fr); } }

.wishlist-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; overflow: hidden; transition: box-shadow 0.2s ease, transform 0.2s ease; display: flex; flex-direction: column; }
.wishlist-card:hover { box-shadow: 0 16px 40px rgba(15, 23, 42, 0.1); transform: translateY(-2px); }

.wishlist-card-image { position: relative; aspect-ratio: 1 / 1; background: #f8fafc; overflow: hidden; }
.wishlist-card-image a { display: block; width: 100%; height: 100%; }
.wishlist-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.wishlist-card:hover .wishlist-card-image img { transform: scale(1.05); }

.wishlist-remove { position: absolute; top: 0.75rem; right: 0.75rem; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 9999px; background: #ffffff; color: #475569; box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1); transition: background 0.15s, color 0.15s, transform 0.15s; cursor: pointer; }
.wishlist-remove:hover { background: #e11d48; color: #ffffff; transform: rotate(90deg); }

.wishlist-card-info { padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem; flex: 1; }
.wishlist-card-info h3 { font-size: 0.9375rem; font-weight: 600; color: #0f172a; margin: 0; line-height: 1.35; }
.wishlist-card-info h3 a { color: #0f172a; transition: color 0.15s; }
.wishlist-card-info h3 a:hover { color: #2563eb; }
.wishlist-card-price { font-size: 1rem; font-weight: 700; color: #2563eb; margin-top: auto; }
.wishlist-card-price del { color: #94a3b8; font-weight: 500; margin-right: 0.375rem; }
.wishlist-add-cart { width: 100%; margin-top: 0.5rem; }

.wishlist-empty { text-align: center; padding: 4rem 1.5rem; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; max-width: 36rem; margin: 0 auto; }
.wishlist-empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 80px; height: 80px; border-radius: 9999px; background: #eff4ff; color: #2563eb; margin-bottom: 1.25rem; }
.wishlist-empty h2 { font-size: 1.5rem; font-weight: 700; color: #0f172a; margin: 0 0 0.75rem; }
.wishlist-empty p { font-size: 0.9375rem; color: #475569; margin: 0 auto 1.5rem; max-width: 32rem; }
.wishlist-empty .btn { margin-top: 0.5rem; }

/* ==========================================================================
   Login / Register Page
   ========================================================================== */
.login-page { padding: 2rem 0 4rem; background: #f8fafc; min-height: calc(100vh - 220px); }
.login-wrapper { display: flex; align-items: center; justify-content: center; }
.login-split { display: grid; grid-template-columns: 1fr; max-width: 1000px; width: 100%; min-height: 600px; background: #ffffff; border-radius: 24px; overflow: hidden; box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12); }
@media (min-width: 768px) { .login-split { grid-template-columns: 1fr 1fr; } }
.login-split-single { max-width: 520px; min-height: 0; grid-template-columns: 1fr !important; }
.login-split-single .login-form-panel { padding: 3rem 2.5rem; }

.login-brand-panel { background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%); padding: 3rem; color: #ffffff; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.login-brand-panel::before { content: ''; position: absolute; top: -50%; right: -30%; width: 100%; height: 100%; background: radial-gradient(circle, rgba(255,255,255,0.12) 0%, transparent 70%); pointer-events: none; }
.login-brand-content { position: relative; z-index: 1; }
.login-brand-panel .logo { color: #ffffff; margin-bottom: 1.5rem; }
.login-brand-panel .logo .logo-main,
.login-brand-panel .logo .logo-wordmark { color: #ffffff; }
.login-brand-panel .logo .logo-tagline { color: rgba(255,255,255,0.75); }
.login-brand-panel h2 { font-size: 1.5rem; font-weight: 700; color: #ffffff; margin: 1.5rem 0 0.75rem; }
@media (min-width: 640px) { .login-brand-panel h2 { font-size: 1.75rem; } }
.login-brand-panel p { font-size: 0.875rem; color: rgba(255,255,255,0.85); margin: 0 0 1.5rem; line-height: 1.6; }
.login-benefits { list-style: none; margin: 0; padding: 0; }
.login-benefits li { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: rgba(255,255,255,0.95); margin-bottom: 0.75rem; }
.login-benefits li:last-child { margin-bottom: 0; }
.login-benefits svg { color: #34d399; flex-shrink: 0; }
@media (max-width: 767px) { .login-brand-panel { display: none; } }

.login-form-panel { background: #ffffff; display: flex; align-items: center; justify-content: center; padding: 3rem 2rem; }
.login-form-box { width: 100%; max-width: 400px; }

.login-tabs { display: flex; gap: 0; border-bottom: 1px solid #e2e8f0; margin-bottom: 1.75rem; }
.login-tab { flex: 1; padding: 0.75rem 0.5rem; text-align: center; font-size: 0.875rem; font-weight: 600; color: #64748b; cursor: pointer; border: none; background: none; border-bottom: 2px solid transparent; transition: color 0.15s, border-color 0.15s; }
.login-tab:hover { color: #2563eb; }
.login-tab.active { color: #2563eb; border-bottom-color: #2563eb; }

.login-form-content h2 { font-size: 1.25rem; font-weight: 700; color: #0f172a; margin: 0 0 0.5rem; }
.login-form-desc { font-size: 0.875rem; color: #64748b; margin: 0 0 1.5rem; }

.netyex-login-form, .netyex-register-form { display: flex; flex-direction: column; gap: 0; }

.form-field { margin-bottom: 1rem; }
.form-field label { display: block; font-size: 0.8125rem; font-weight: 600; color: #0f172a; margin-bottom: 0.375rem; }
.form-field input { width: 100%; border: 1px solid #e2e8f0; border-radius: 8px; padding: 0.625rem 0.875rem; font-size: 0.875rem; color: #0f172a; background: #ffffff; transition: border-color 0.15s, box-shadow 0.15s; }
.form-field input::placeholder { color: #94a3b8; }
.form-field input:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12); }

.form-row-between { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.form-checkbox { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.8125rem; color: #475569; cursor: pointer; }
.form-checkbox input { width: 16px; height: 16px; accent-color: #2563eb; cursor: pointer; }
.form-link { font-size: 0.8125rem; color: #2563eb; font-weight: 500; }
.form-link:hover { color: #1d4ed8; text-decoration: underline; }

.login-submit-btn { width: 100%; margin-top: 0.5rem; }
.login-terms { font-size: 0.75rem; color: #64748b; margin: 1rem 0 0; text-align: center; line-height: 1.5; }
.login-terms a { color: #2563eb; text-decoration: underline; }

/* Auth pages (register / forgot password / success) */
.auth-alert { padding: 0.875rem 1rem; border-radius: 10px; margin-bottom: 1.25rem; font-size: 0.8125rem; line-height: 1.55; }
.auth-alert p { margin: 0 0 0.25rem; }
.auth-alert p:last-child { margin-bottom: 0; }
.auth-alert-error { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; }
.auth-alert-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d; }
.auth-switch { font-size: 0.8125rem; color: #64748b; margin: 1.25rem 0 0; text-align: center; }
.auth-switch a { color: #2563eb; font-weight: 600; }
.auth-switch a:hover { color: #1d4ed8; text-decoration: underline; }

.auth-success-card { max-width: 480px; width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 24px; box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12); padding: 3rem 2.5rem; text-align: center; }
.auth-success-icon { display: inline-flex; align-items: center; justify-content: center; width: 88px; height: 88px; border-radius: 9999px; background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); color: #ffffff; margin-bottom: 1.5rem; }
.auth-success-title { font-size: 1.5rem; font-weight: 700; color: #0f172a; margin: 0 0 0.75rem; }
.auth-success-text { font-size: 0.9375rem; color: #475569; margin: 0 0 0.5rem; line-height: 1.6; }
.auth-success-sub { font-size: 0.8125rem; color: #94a3b8; margin: 0 0 1.75rem; line-height: 1.55; }
.auth-success-actions { display: flex; flex-direction: column; gap: 0.875rem; align-items: center; }
.auth-success-actions .login-submit-btn { width: 100%; margin-top: 0; }
.auth-link { font-size: 0.875rem; font-weight: 600; color: #2563eb; }
.auth-link:hover { color: #1d4ed8; text-decoration: underline; }
@media (max-width: 480px) {
	.auth-success-card { padding: 2.25rem 1.5rem; }
}

/* ==========================================================================
   User Dashboard Page
   ========================================================================== */
.dashboard-page { padding: 2rem 0 4rem; background: #f8fafc; min-height: calc(100vh - 220px); }

.dashboard-login-required { text-align: center; padding: 4rem 1.5rem; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; max-width: 36rem; margin: 2rem auto; }
.dashboard-login-icon { display: inline-flex; align-items: center; justify-content: center; width: 80px; height: 80px; border-radius: 9999px; background: #eff4ff; color: #2563eb; margin-bottom: 1.25rem; }
.dashboard-login-required h2 { font-size: 1.5rem; font-weight: 700; color: #0f172a; margin: 0 0 0.75rem; }
.dashboard-login-required p { font-size: 0.9375rem; color: #475569; margin: 0 auto 1.5rem; max-width: 30rem; }

.dashboard-layout { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 1024px) { .dashboard-layout { grid-template-columns: 260px 1fr; gap: 2rem; align-items: flex-start; } }

.dashboard-sidebar { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 1.25rem; }
@media (min-width: 1024px) { .dashboard-sidebar { position: sticky; top: 100px; } }

.dashboard-user-card { text-align: center; padding: 0.5rem 0.5rem 1.25rem; border-bottom: 1px solid #f1f5f9; margin-bottom: 1rem; }
.dashboard-avatar { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 9999px; background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%); color: #ffffff; font-size: 1.5rem; font-weight: 700; margin-bottom: 0.625rem; box-shadow: 0 8px 20px rgba(37, 99, 235, 0.25); }
.dashboard-user-name { font-size: 1rem; font-weight: 700; color: #0f172a; margin: 0 0 0.25rem; }
.dashboard-user-email { font-size: 0.75rem; color: #64748b; margin: 0; word-break: break-all; }

.dashboard-nav { display: flex; flex-direction: column; gap: 0.25rem; }
@media (max-width: 1023px) { .dashboard-nav { flex-direction: row; overflow-x: auto; padding-bottom: 0.25rem; -webkit-overflow-scrolling: touch; } }
@media (max-width: 1023px) { .dashboard-nav-item { white-space: nowrap; flex-shrink: 0; } }

.dashboard-nav-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; border-radius: 10px; font-size: 0.875rem; font-weight: 500; color: #334155; cursor: pointer; transition: background 0.15s, color 0.15s; text-align: left; width: 100%; }
@media (max-width: 1023px) { .dashboard-nav-item { width: auto; } }
.dashboard-nav-item:hover { background: #f8fafc; color: #2563eb; }
.dashboard-nav-item.active { background: #eff4ff; color: #2563eb; }
.dashboard-nav-item svg { flex-shrink: 0; }
.dashboard-logout { color: #e11d48; margin-top: 0.5rem; }
.dashboard-logout:hover { background: #fff1f2; color: #e11d48; }

.dashboard-content { min-width: 0; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 1.5rem; }
@media (min-width: 640px) { .dashboard-content { padding: 2rem; } }

.dashboard-section { display: none; animation: dashboardFade 0.2s ease; }
.dashboard-section.active { display: block; }
@keyframes dashboardFade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.dashboard-section-title { font-size: 1.25rem; font-weight: 700; color: #0f172a; margin: 0 0 0.25rem; }
@media (min-width: 640px) { .dashboard-section-title { font-size: 1.5rem; } }
.dashboard-section-desc { font-size: 0.875rem; color: #64748b; margin: 0 0 1.5rem; }

.dashboard-orders-table { border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; }
.orders-table-head { display: grid; grid-template-columns: 1fr 1.2fr 1fr 1fr 0.8fr; gap: 0.5rem; padding: 0.75rem 1.25rem; background: #f8fafc; font-size: 0.6875rem; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: 0.05em; }
.orders-table-row { display: grid; grid-template-columns: 1fr 1.2fr 1fr 1fr 0.8fr; gap: 0.5rem; padding: 1rem 1.25rem; border-top: 1px solid #f1f5f9; font-size: 0.875rem; color: #334155; align-items: center; }
.orders-table-row:first-of-type { border-top: none; }
.orders-table-row:hover { background: #fafbfc; }
@media (max-width: 767px) {
        .orders-table-head { display: none; }
        .orders-table-row { grid-template-columns: 1fr; gap: 0.375rem; padding: 1rem; }
        .orders-table-row + .orders-table-row { border-top: 1px solid #e2e8f0; }
        .order-cell { display: flex; align-items: center; gap: 0.5rem; }
        .order-cell-label { display: inline-block; font-size: 0.6875rem; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: 0.05em; min-width: 70px; }
}
@media (min-width: 768px) { .order-cell-label { display: none; } }

.order-num { font-weight: 600; color: #0f172a; }
.order-date { color: #475569; }
.order-total { font-weight: 600; color: #0f172a; }
.order-view-btn { font-size: 0.8125rem; font-weight: 600; color: #2563eb; padding: 0.375rem 0.75rem; border-radius: 9999px; border: 1px solid #bfdbfe; background: #eff4ff; transition: background 0.15s, color 0.15s; display: inline-block; }
.order-view-btn:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; }

.status-badge { display: inline-block; padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.6875rem; font-weight: 700; text-transform: capitalize; background: #f1f5f9; color: #475569; }
.status-completed { background: #d1fae5; color: #065f46; }
.status-processing { background: #fef3c7; color: #92400e; }
.status-on-hold { background: #dbeafe; color: #1e40af; }
.status-pending { background: #fef3c7; color: #92400e; }
.status-cancelled { background: #fee2e2; color: #991b1b; }
.status-refunded { background: #ede9fe; color: #5b21b6; }
.status-failed { background: #fee2e2; color: #991b1b; }

.dashboard-empty { text-align: center; padding: 3rem 1.5rem; background: #f8fafc; border-radius: 12px; }
.dashboard-empty p { font-size: 0.9375rem; color: #475569; margin: 0 0 1.25rem; }
.dashboard-empty .btn { margin-top: 0.25rem; }

.dashboard-address-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { .dashboard-address-grid { grid-template-columns: repeat(2, 1fr); } }
.dashboard-address-card { display: flex; flex-direction: column; gap: 0.375rem; padding: 1.5rem; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; text-decoration: none; transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s; }
.dashboard-address-card:hover { box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08); transform: translateY(-2px); border-color: #bfdbfe; }
.dashboard-address-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: #eff4ff; color: #2563eb; margin-bottom: 0.5rem; }
.dashboard-address-card h4 { font-size: 1rem; font-weight: 700; color: #0f172a; margin: 0; }
.dashboard-address-card p { font-size: 0.8125rem; color: #64748b; margin: 0; }
.dashboard-address-edit { font-size: 0.8125rem; font-weight: 600; color: #2563eb; margin-top: 0.5rem; }

.dashboard-account-form { max-width: 500px; display: flex; flex-direction: column; gap: 0; }
.form-row-2 { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { .form-row-2 { grid-template-columns: 1fr 1fr; } }
.dashboard-account-form .form-field label { font-size: 0.8125rem; font-weight: 600; color: #0f172a; margin-bottom: 0.375rem; }
.dashboard-account-form .form-field input { width: 100%; border: 1px solid #e2e8f0; border-radius: 8px; padding: 0.625rem 0.875rem; font-size: 0.875rem; color: #0f172a; background: #ffffff; transition: border-color 0.15s, box-shadow 0.15s; }
.dashboard-account-form .form-field input:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12); }
.dashboard-account-form .btn { align-self: flex-start; margin-top: 0.5rem; }

/* ---------- Missing CSS fixes (v1.5.0) ---------- */

/* Footer link columns */
.footer-col-links { min-width: 0; }

/* Dashboard order status + action */
.order-status { display: flex; align-items: center; }
.order-action { display: flex; align-items: center; }
.order-view-btn {
        display: inline-flex;
        align-items: center;
        padding: 0.375rem 0.875rem;
        border-radius: 9999px;
        background: #eff4ff;
        color: #2563eb;
        font-size: 0.75rem;
        font-weight: 600;
        text-decoration: none;
        transition: all 0.15s;
}
.order-view-btn:hover { background: #2563eb; color: #ffffff; }

/* ---------- Tooltip (announcement bar info) ---------- */
.tooltip-wrap { position: relative; display: inline-flex; align-items: center; gap: 0.375rem; }
.info-dot {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 14px;
        height: 14px;
        border-radius: 9999px;
        background: rgba(255,255,255,0.25);
        color: #ffffff;
        cursor: help;
        transition: background 0.15s;
}
.info-dot:hover { background: rgba(255,255,255,0.4); }
.tooltip-bubble {
        position: absolute;
        bottom: auto;
        top: calc(100% + 8px);
        left: 50%;
        transform: translateX(-50%);
        width: max-content;
        max-width: 260px;
        padding: 0.5rem 0.75rem;
        border-radius: 0.5rem;
        background: #0f172a;
        color: #ffffff;
        font-size: 0.7rem;
        line-height: 1.4;
        text-align: center;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s;
        z-index: 9999;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.3);
}
.tooltip-bubble::after {
        content: '';
        position: absolute;
        top: auto;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        border: 5px solid transparent;
        border-bottom-color: #0f172a;
}
.tooltip-wrap:hover .tooltip-bubble,
.tooltip-wrap:focus-within .tooltip-bubble { opacity: 1; }

/* ==========================================================================
   Netyex Wishlist — badge + toast + filled heart state
   ========================================================================== */
.wishlist-btn { cursor: pointer; border: 0; padding: 0; }
.wishlist-btn.liked { color: #e11d48; }
.wishlist-btn.liked svg { fill: #e11d48; stroke: #e11d48; }
.wishlist-icon-btn.liked svg { fill: #e11d48; stroke: #e11d48; }

/* Header wishlist badge — positioned above the heart icon like professional e-commerce. */
.icon-btn .wishlist-badge {
        position: absolute;
        top: 2px;
        right: 2px;
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 18px;
        height: 18px;
        padding: 0 5px;
        border-radius: 9999px;
        background: #e11d48;
        color: #ffffff;
        font-size: 10px;
        font-weight: 700;
        line-height: 1;
        box-shadow: 0 0 0 2px #ffffff;
        z-index: 2;
        transition: transform 0.15s;
}
.icon-btn:hover .wishlist-badge { transform: scale(1.1); }
.icon-btn .wishlist-badge:empty,
.icon-btn .wishlist-badge[data-count="0"] { display: none; }

/* Toast notification shown when an item is added/removed. */
.netyex-wishlist-toast { position: fixed; bottom: 1.5rem; left: 50%; transform: translate(-50%, 1.5rem); background: #0f172a; color: #ffffff; padding: 0.75rem 1.25rem; border-radius: 9999px; font-size: 0.875rem; font-weight: 500; box-shadow: 0 10px 30px rgba(15, 23, 42, 0.25); opacity: 0; visibility: hidden; transition: opacity 0.25s ease, transform 0.25s ease; z-index: 9999; max-width: calc(100% - 2rem); text-align: center; }
.netyex-wishlist-toast.show { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
@media (prefers-reduced-motion: reduce) { .netyex-wishlist-toast { transition: none; } }
/* ==========================================================================
   PASSWORD SHOW/HIDE EYE TOGGLE (login, register, reset, dashboard)
   ========================================================================== */
.netyex-pw-field { position: relative; }
.netyex-pw-field input { padding-right: 44px !important; }
.netyex-pw-toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: none; background: transparent; color: #94a3b8; cursor: pointer; border-radius: 8px; transition: color 0.15s, background 0.15s; z-index: 2; }
.netyex-pw-toggle:hover { color: #2563eb; background: #f1f5f9; }
.netyex-pw-toggle svg { display: block; }
