:root {
    --tt-ink: #1c1b1f;
    --tt-card: #ffffff;
    --tt-accent: #c2410c;
    --tt-accent-dark: #8f2f08;
    --tt-teal: #0f766e;
    --tt-teal-dark: #115e59;
    --tt-berry: #be185d;
    --tt-gold: #b7791f;
    --tt-muted: #6b6670;
    --tt-border: #e8e0d6;
    --tt-shadow: 0 16px 40px rgba(30, 21, 16, 0.12);
}
.tt-body { font-family: 'Manrope', sans-serif; background: radial-gradient(circle at top right, #fdf8f1, #f4efe8 50%, #f7f4ef); color: var(--tt-ink); }
h1, h2, h3, h4, h5, .tt-logo-wrap h1 { font-family: 'Playfair Display', serif; }
.tt-ribbon { background: linear-gradient(90deg, #141316, #2a2623); color: #fff; font-size: 12px; }
.tt-ribbon-inner { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; }
.tt-header { background: rgba(255, 255, 255, 0.8); border-bottom: 1px solid var(--tt-border); }
.tt-header-top { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; font-size: 13px; }
.tt-contact, .tt-auth-links { display: flex; gap: 16px; flex-wrap: wrap; }
.tt-contact a, .tt-auth-links a { color: var(--tt-muted); }
.tt-contact a:hover, .tt-auth-links a:hover { color: var(--tt-accent); text-decoration: none; }
.tt-brand-row { display: grid; grid-template-columns: 1.1fr 1fr auto; gap: 18px; align-items: center; padding: 8px 0 18px; }
.tt-logo-wrap { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.tt-logo-wrap img { width: 66px; height: 66px; object-fit: contain; }
.tt-logo-wrap h1 { margin: 0; font-size: 28px; color: #141316; }
.tt-logo-wrap p { margin: 0; color: var(--tt-muted); font-size: 12px; text-transform: uppercase; }
.tt-search-form { display: grid; grid-template-columns: 1fr 50px; background: #fff; border: 1px solid var(--tt-border); border-radius: 999px; overflow: hidden; }
.tt-search-form input { border: 0; padding: 12px 18px; outline: none; font-size: 14px; }
.tt-search-form button { border: 0; background: var(--tt-accent); color: #fff; }
.tt-actions { display: flex; align-items: center; gap: 10px; }
.tt-icon-btn { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--tt-border); color: #2f2b33; }
.tt-cart-btn { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--tt-border); border-radius: 999px; padding: 9px 14px; background: #fff; color: #2f2b33; text-decoration: none; }
.tt-cart-btn strong { width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--tt-accent); color: #fff; font-size: 12px; }
.tt-svg-icon { width: 1em; height: 1em; display: inline-block; fill: currentColor; vertical-align: -0.125em; flex: 0 0 auto; }
.tt-contact a, .tt-auth-links a { display: inline-flex; align-items: center; gap: 5px; }
.tt-footer li { display: flex; align-items: center; gap: 5px; }
.tt-icon-btn .tt-svg-icon { width: 17px; height: 17px; }
.tt-cart-btn .tt-svg-icon { width: 20px; height: 20px; }
.tt-search-form .tt-svg-icon { width: 18px; height: 18px; }
.tt-nav-wrap { background: #fff; border-bottom: 1px solid var(--tt-border); }
.tt-nav { background: transparent; border: 0; margin-bottom: 0; }
.tt-menu > li > a { color: #2d2931 !important; font-weight: 600; }
.tt-dropdown { border-radius: 12px; border: 1px solid var(--tt-border); padding: 10px; }
.tt-main { min-height: 60vh; padding-bottom: 40px; }
.tt-footer { background: #15131a; color: #ded4c8; padding: 45px 0 0; margin-top: 50px; }
.tt-footer h4, .tt-footer h5 { color: #fff; margin-top: 0; }
.tt-footer ul { padding: 0; list-style: none; }
.tt-footer li, .tt-footer p { margin-bottom: 9px; color: #cabfb2; }
.tt-footer a { color: #cabfb2; }
.tt-copy { margin-top: 18px; text-align: center; font-size: 13px; border-top: 1px solid rgba(255, 255, 255, 0.09); padding: 14px 0; }
.hero-shell { padding: 28px 0 10px; }
.hero-stage { background: #111013; border-radius: 20px; overflow: hidden; color: #fff; box-shadow: var(--tt-shadow); display: grid; grid-template-columns: 1.1fr 1fr; }
.hero-content { padding: 50px; background: linear-gradient(145deg, rgba(18, 16, 19, 0.95), rgba(38, 28, 22, 0.88)); }
.hero-content .eyebrow { display: inline-block; padding: 6px 12px; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 999px; font-size: 12px; text-transform: uppercase; }
.hero-content h2 { margin: 20px 0 15px; font-size: 48px; line-height: 1.1; }
.hero-content p { color: #e3d8cc; font-size: 15px; margin-bottom: 26px; max-width: 440px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.btn-tt-primary, .btn-tt-ghost { border-radius: 999px; padding: 10px 18px; border: 1px solid transparent; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; }
.btn-tt-primary { background: var(--tt-accent); color: #fff; }
.btn-tt-primary:hover { background: var(--tt-accent-dark); color: #fff; text-decoration: none; }
.btn-tt-ghost { color: #fff; border-color: rgba(255, 255, 255, 0.45); }
.btn-tt-ghost:hover { color: #fff; text-decoration: none; border-color: #fff; }
.hero-visual { min-height: 420px; background: url('../images/banner3.jpg') center/cover no-repeat; }
.section-head { display: flex; justify-content: space-between; align-items: center; margin: 28px 0 16px; }
.section-head h3 { margin: 0; font-size: 32px; }
.section-head a { color: var(--tt-accent); font-weight: 700; }
.collection-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.collection-card { border-radius: 16px; overflow: hidden; position: relative; min-height: 230px; color: #fff; display: flex; align-items: end; padding: 20px; text-decoration: none; }
.collection-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.1)); }
.collection-card > div { position: relative; z-index: 2; }
.collection-card h4 { margin: 0 0 6px; font-size: 24px; }
.collection-card p { margin: 0; font-size: 13px; color: #efe8df; }
.p-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.p-card { background: var(--tt-card); border: 1px solid var(--tt-border); border-radius: 16px; overflow: hidden; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.p-card:hover { transform: translateY(-6px); box-shadow: var(--tt-shadow); }
.p-media { position: relative; height: 300px; display:block; }
.p-media img { width: 100%; height: 100%; object-fit: cover; }
.p-tag { position: absolute; top: 12px; left: 12px; background: #fff; color: #d14b24; border-radius: 999px; padding: 4px 9px; font-size: 11px; font-weight: 800; }
.p-body { padding: 14px; }
.p-body h5 { margin: 0 0 7px; font-size: 20px; min-height: 48px; }
.p-price { display: flex; gap: 8px; align-items: center; margin: 8px 0 12px; }
.p-price .old { color: #8f8793; text-decoration: line-through; font-size: 13px; }
.p-price .new { color: var(--tt-accent); font-weight: 800; }
.p-actions { display: grid; gap: 8px; align-items: start; }
.p-actions .btn { border-radius: 999px; font-weight: 600; }
.strip-lookbook { margin: 26px 0 10px; border-radius: 16px; overflow: hidden; display: grid; grid-template-columns: 2fr 1fr 1fr; box-shadow: var(--tt-shadow); }
.strip-lookbook img { width: 100%; height: 230px; object-fit: cover; }
.trust-row { margin-top: 30px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.trust-card { background: #fff; border: 1px solid var(--tt-border); border-radius: 14px; padding: 18px; text-align: center; }
.trust-card .tt-svg-icon { font-size: 22px; color: var(--tt-accent); }
.list-layout { padding-top: 30px; }
.filter-card, .panel-card { background: #fff; border: 1px solid var(--tt-border); border-radius: 16px; padding: 18px; }
.chip-list { display: flex; flex-wrap: wrap; gap: 8px; }
.chip-list a { border: 1px solid var(--tt-border); border-radius: 999px; padding: 6px 12px; color: #3b3440; font-size: 13px; text-decoration: none; }
.chip-list a.active, .chip-list a:hover { border-color: var(--tt-accent); color: var(--tt-accent); }
.product-grid-advanced { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.detail-layout { padding-top: 28px; }
.gallery-box, .detail-box, .reviews-box { background: #fff; border: 1px solid var(--tt-border); border-radius: 16px; padding: 18px; }
.main-shot { border-radius: 14px; width: 100%; height: 520px; object-fit: cover; }
.thumb-row { margin-top: 12px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.thumb-row img { width: 100%; height: 95px; object-fit: cover; border-radius: 10px; border: 2px solid transparent; cursor: pointer; }
.thumb-row img.active, .thumb-row img:hover { border-color: var(--tt-accent); }
.price-line { display: flex; align-items: center; gap: 10px; margin: 14px 0; flex-wrap:wrap; }
.price-line .sale { color: var(--tt-accent); font-size: 32px; font-weight: 800; }
.price-line .strike { color: #877e88; text-decoration: line-through; }
.badge-tt { background: #ffe2d7; color: #a43b1c; border-radius: 999px; padding: 5px 10px; font-size: 12px; font-weight: 700; }
.tt-product-options-form { display: grid; gap: 14px; margin-top: 14px; }
.tt-buy-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.tt-buy-row label { margin: 0; font-weight: 700; color: #172033; }
.tt-option-group { display: grid; gap: 8px; }
.tt-option-heading { color: #5d6573; font-size: 16px; }
.tt-option-heading strong { color: #111827; }
.tt-color-options, .tt-size-options { display: flex; flex-wrap: wrap; gap: 10px; }
.tt-color-option, .tt-size-option { margin: 0; cursor: pointer; }
.tt-color-option input, .tt-size-option input { position: absolute; opacity: 0; pointer-events: none; }
.tt-color-card { width: 94px; min-height: 142px; display: grid; align-content: start; gap: 5px; border: 1px solid #9ca3af; border-radius: 8px; background: #fff; padding: 6px; transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease; }
.tt-color-card img { width: 100%; height: 78px; object-fit: cover; border-radius: 4px; background: #f3f4f6; }
.tt-color-price { color: #111827; font-size: 16px; font-weight: 700; line-height: 1.1; }
.tt-color-old-price { color: #6b7280; font-size: 12px; line-height: 1; text-decoration: line-through; }
.tt-color-option input:checked + .tt-color-card, .tt-color-option:hover .tt-color-card { border-color: #2b6cb0; box-shadow: 0 0 0 2px #2b6cb0; }
.tt-size-option span { min-width: 62px; height: 44px; display: inline-flex; align-items: center; justify-content: flex-start; border: 1px solid #9ca3af; border-radius: 8px; background: #fff; color: #111827; font-size: 18px; font-weight: 500; padding: 0 10px; transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease; }
.tt-size-option input:checked + span, .tt-size-option:hover span { background: #eff8ff; border-color: #2b6cb0; box-shadow: 0 0 0 2px #2b6cb0; }
.tt-option-group-compact { flex: 1 1 100%; gap: 5px; }
.tt-option-group-compact .tt-option-heading { font-size: 12px; }
.tt-option-group-compact .tt-color-options, .tt-option-group-compact .tt-size-options { gap: 6px; }
.tt-color-option-compact .tt-color-card { width: auto; min-height: 34px; padding: 0; border-radius: 999px; }
.tt-color-name { min-height: 32px; display: inline-flex; align-items: center; padding: 0 10px; font-size: 12px; font-weight: 700; }
.tt-size-option-compact span { min-width: 38px; height: 34px; justify-content: center; border-radius: 999px; font-size: 13px; padding: 0 9px; }
.tt-card-cart-form { display: grid; gap: 9px; width: 100%; }
.tt-card-button-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.tt-card-button-row .btn, .p-actions > .btn { flex: 0 0 auto; min-height: 34px; display: inline-flex; align-items: center; justify-content: center; line-height: 1.2; }
@media (max-width: 1199px) { .p-grid { grid-template-columns: repeat(3, 1fr); } .hero-content h2 { font-size: 40px; } }
@media (max-width: 991px) { .tt-ribbon-inner { justify-content: center; flex-wrap: wrap; } .tt-brand-row { grid-template-columns: 1fr; } .hero-stage { grid-template-columns: 1fr; } .hero-visual { min-height: 280px; } .collection-grid { grid-template-columns: 1fr 1fr; } .p-grid { grid-template-columns: repeat(2, 1fr); } .trust-row { grid-template-columns: repeat(2, 1fr); } .product-grid-advanced { grid-template-columns: repeat(2, 1fr); } .main-shot { height: 420px; } }
@media (max-width: 767px) { .tt-header-top { gap: 10px; align-items: start; flex-direction: column; } .tt-contact, .tt-auth-links { gap: 10px; } .hero-content { padding: 30px 24px; } .hero-content h2 { font-size: 32px; } .collection-grid, .p-grid, .trust-row, .product-grid-advanced { grid-template-columns: 1fr; } .strip-lookbook { grid-template-columns: 1fr; } .strip-lookbook img { height: 200px; } .main-shot { height: 320px; } }
.auth-card-tt h3 { margin-top:0; font-size:30px; }
.cart-row-tt { display:grid; grid-template-columns:90px 1fr auto auto; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--tt-border); }
.cart-row-tt:last-child { border-bottom:0; }
.cart-thumb-tt { width:90px; height:90px; border-radius:10px; object-fit:cover; }
.cart-meta-tt h5 { margin:0 0 4px; font-size:18px; }
.cart-meta-tt p { margin:0 0 4px; color:var(--tt-muted); font-size:12px; }
.cart-actions-tt { min-width:170px; }
.cart-update-tt { display:flex; align-items:center; gap:8px; }
.cart-line-total-tt { font-weight:800; color:var(--tt-accent); min-width:96px; text-align:right; }
.sum-line-tt { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--tt-border); }
.sum-line-tt.total { border-bottom:0; font-size:18px; font-weight:800; color:var(--tt-accent); }
.admin-grid-stats { display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; }
.admin-stat-card { background:#fff; border:1px solid var(--tt-border); border-left:4px solid var(--tt-accent); border-radius:14px; padding:16px; }
.admin-stat-card p { margin:0; color:var(--tt-muted); font-size:13px; }
.admin-stat-card h2 { margin:8px 0 0; font-size:28px; }
.admin-link-list { display:grid; gap:8px; }
.admin-link-list a { display:flex; align-items:center; gap:8px; border:1px solid var(--tt-border); border-radius:10px; padding:10px; color:#2d2931; text-decoration:none; }
.admin-link-list a:hover { border-color:var(--tt-accent); color:var(--tt-accent); }
.admin-order-row { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--tt-border); }
.admin-order-row p { margin:0; color:var(--tt-muted); font-size:12px; }
@media (max-width: 991px) { .admin-grid-stats { grid-template-columns:repeat(2, 1fr); } .cart-row-tt { grid-template-columns:90px 1fr; } .cart-actions-tt { grid-column:1 / -1; } .cart-line-total-tt { text-align:left; } }
@media (max-width: 767px) { .admin-grid-stats { grid-template-columns:1fr; } }
/* Final polish */
.panel-card .table > thead > tr > th {
    border-bottom: 1px solid var(--tt-border);
    color: #2b2530;
    font-weight: 700;
    background: #faf7f2;
}

.panel-card .table > tbody > tr > td {
    vertical-align: middle;
    color: #4b4452;
    border-top: 1px solid #f0e9df;
}

.panel-card .table > tbody > tr:hover {
    background: #fffaf2;
}

.panel-card .form-group label {
    font-weight: 700;
    color: #2f2934;
    margin-bottom: 6px;
}

.panel-card .form-control {
    border: 1px solid #dfd5c8;
    border-radius: 10px;
    box-shadow: none;
    min-height: 40px;
}

.panel-card .form-control:focus {
    border-color: var(--tt-accent);
    box-shadow: 0 0 0 3px rgba(216, 91, 50, 0.12);
}

.label {
    border-radius: 999px;
    padding: 4px 10px;
    font-weight: 700;
    letter-spacing: 0.2px;
}

.auth-card-tt .form-group {
    margin-bottom: 14px;
}

.auth-card-tt .form-control {
    border-radius: 10px;
}

/* Contrast and color refresh */
a {
    color: var(--tt-teal);
}

a:hover,
a:focus {
    color: var(--tt-teal-dark);
}

.tt-body {
    background:
        linear-gradient(135deg, rgba(15, 118, 110, 0.08), transparent 28%),
        radial-gradient(circle at top right, #fff7ed, #eefaf7 48%, #fffaf4);
}

.tt-ribbon {
    background: linear-gradient(90deg, #111827, var(--tt-teal-dark), #7f1d1d);
}

.tt-header {
    background: rgba(255, 255, 255, 0.94);
}

.tt-contact a,
.tt-auth-links a,
.tt-menu > li > a,
.tt-cart-btn,
.tt-icon-btn {
    color: #172033 !important;
}

.tt-contact a:hover,
.tt-auth-links a:hover,
.tt-menu > li > a:hover,
.tt-icon-btn:hover,
.tt-cart-btn:hover {
    color: var(--tt-teal) !important;
}

.btn,
button.btn,
a.btn {
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none !important;
}

.btn-primary,
.btn-tt-primary,
a.btn-primary,
a.btn-tt-primary,
button.btn-primary,
button.btn-tt-primary,
.section-head a.btn-primary,
.section-head a.btn-tt-primary {
    background: linear-gradient(135deg, var(--tt-teal), var(--tt-accent)) !important;
    border-color: var(--tt-teal) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(15, 118, 110, 0.22);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-tt-primary:hover,
.btn-tt-primary:focus,
a.btn-primary:hover,
a.btn-tt-primary:hover,
button.btn-primary:hover,
button.btn-tt-primary:hover,
.section-head a.btn-primary:hover,
.section-head a.btn-tt-primary:hover {
    background: linear-gradient(135deg, var(--tt-teal-dark), var(--tt-accent-dark)) !important;
    border-color: var(--tt-teal-dark) !important;
    color: #ffffff !important;
}

.btn-default,
a.btn-default,
button.btn-default {
    background: #ffffff !important;
    border-color: #b8c7c5 !important;
    color: #172033 !important;
}

.btn-default:hover,
.btn-default:focus,
a.btn-default:hover,
button.btn-default:hover {
    background: #ecfdf5 !important;
    border-color: var(--tt-teal) !important;
    color: var(--tt-teal-dark) !important;
}

.btn-danger,
a.btn-danger,
button.btn-danger {
    background: #b91c1c !important;
    border-color: #991b1b !important;
    color: #ffffff !important;
}

.section-head a:not(.btn) {
    color: var(--tt-teal);
}

.section-head a:not(.btn):hover {
    color: var(--tt-accent);
}

.panel-card,
.filter-card,
.gallery-box,
.detail-box,
.reviews-box,
.trust-card,
.p-card {
    color: #172033;
    border-color: #d7e3df;
    box-shadow: 0 10px 28px rgba(17, 94, 89, 0.08);
}

.panel-card p,
.filter-card p,
.p-body p,
.cart-meta-tt p,
.admin-order-row p,
.text-muted {
    color: #586274 !important;
}

.panel-card .table > thead > tr > th {
    background: linear-gradient(90deg, #ecfdf5, #fff7ed);
    color: #111827;
}

.panel-card .table > tbody > tr > td {
    color: #1f2937;
}

.panel-card .table > tbody > tr:hover {
    background: #f0fdfa;
}

.label-success {
    background: var(--tt-teal) !important;
    color: #ffffff !important;
}

.label-warning {
    background: var(--tt-gold) !important;
    color: #ffffff !important;
}

.label-default {
    background: #64748b !important;
    color: #ffffff !important;
}

.label-danger {
    background: #b91c1c !important;
    color: #ffffff !important;
}

.p-price .new,
.price-line .sale,
.cart-line-total-tt,
.sum-line-tt.total {
    color: var(--tt-berry);
}

.p-tag,
.badge-tt {
    background: #fdf2f8;
    color: var(--tt-berry);
}

.chip-list a.active,
.chip-list a:hover {
    background: #ecfdf5;
    border-color: var(--tt-teal);
    color: var(--tt-teal-dark);
}

.pagination > .active > span,
.pagination > .active > a,
.pagination > .active > span:hover,
.pagination > .active > a:hover {
    background-color: var(--tt-teal);
    border-color: var(--tt-teal);
    color: #ffffff;
}

.pagination > li > a,
.pagination > li > span {
    color: var(--tt-teal);
}

.form-control,
.panel-card .form-control {
    color: #111827;
    background-color: #ffffff;
}

.form-control::placeholder {
    color: #717d8f;
}

.form-control:focus,
.panel-card .form-control:focus {
    border-color: var(--tt-teal);
    box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.16);
}

.tt-footer {
    background: linear-gradient(135deg, #111827, #123b3a 58%, #3b1023);
}

.tt-footer li,
.tt-footer p,
.tt-footer a {
    color: #dbe7e4;
}

@media (max-width: 767px) {
    .panel-card {
        padding: 14px;
    }

    .section-head h3 {
        font-size: 26px;
    }
}
