@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Crimson+Text:ital,wght@0,400;0,600;1,400&display=swap');
/**
 * BareBones Shop — Styles
 * Minimal, functional, mobile-first.
 * BEM naming: block__element--modifier
 */

/* ============================================================
   Reset & Base
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    line-height: 1.5;
    color: #1a1a2e;
    background: #f8f9fa;
}
a { color: #2563eb; text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }
button { cursor: pointer; font: inherit; }
input, select { font: inherit; }

/* ============================================================
   Container & Layouts
   ============================================================ */
.container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }

.layout { display: flex; gap: 24px; padding: 24px 0; }
.layout--one-column { flex-direction: column; }
.layout--two-column .layout__main { flex: 1; min-width: 0; }
.layout--two-column .layout__sidebar { width: 260px; flex-shrink: 0; }
.layout--three-column { }
.layout--three-column .layout__main { flex: 1; min-width: 0; }
.layout--three-column .layout__sidebar { width: 220px; flex-shrink: 0; }

@media (max-width: 768px) {
    .layout--two-column, .layout--three-column { flex-direction: column; }
    .layout--two-column .layout__sidebar,
    .layout--three-column .layout__sidebar { width: 100%; }
}

/* ============================================================
   Header
   ============================================================ */
.header {
    background: #1a1a2e;
    color: #fff;
    padding: 12px 0;
    position: sticky;
    top: 0;
    z-index: 100;
}
.header__inner { display: flex; align-items: center; gap: 16px; }
.header__logo { font-size: 18px; font-weight: 700; color: #fff; text-decoration: none; }
.header__nav { display: flex; gap: 12px; flex: 1; }
.header__nav a { color: #ccc; font-size: 14px; }
.header__nav a:hover { color: #fff; text-decoration: none; }

.header__search { position: relative; flex: 1; max-width: 400px; }
.header__search input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #333;
    border-radius: 6px;
    background: #16213e;
    color: #fff;
    font-size: 14px;
}
.header__search input::placeholder { color: #888; }

.search-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
    z-index: 200;
}
.search-suggestion { display: block; padding: 8px 12px; color: #333; font-size: 14px; }
.search-suggestion:hover { background: #f0f4ff; text-decoration: none; }

.header__cart {
    position: relative;
    background: none;
    border: none;
    color: #fff;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.cart-badge {
    background: #e74c3c;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 10px;
    min-width: 18px;
    text-align: center;
}

.header__lang { display: flex; gap: 6px; }
.header__lang a { color: #888; font-size: 12px; text-transform: uppercase; }
.header__lang a.is-active { color: #fff; }

/* ============================================================
   Footer
   ============================================================ */
.footer {
    background: #1a1a2e;
    color: #ccc;
    padding: 32px 0 16px;
    margin-top: 48px;
    font-size: 14px;
}
.footer__inner { display: flex; gap: 48px; flex-wrap: wrap; }
.footer__col h4 { color: #fff; margin-bottom: 8px; font-size: 14px; }
.footer__col a { color: #999; display: block; margin-bottom: 4px; }
.footer__copy { text-align: center; margin-top: 24px; padding-top: 16px; border-top: 1px solid #333; color: #666; font-size: 12px; }

/* ============================================================
   Breadcrumb
   ============================================================ */
.breadcrumb { display: flex; gap: 6px; font-size: 13px; padding: 12px 0; color: #666; flex-wrap: wrap; }
.breadcrumb a { color: #2563eb; }
.breadcrumb__sep { color: #ccc; }

/* ============================================================
   Product Grid
   ============================================================ */
.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}
.product-grid--small { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }

@media (max-width: 480px) {
    .product-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* ============================================================
   Product Card
   ============================================================ */
.product-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    transition: box-shadow .2s;
    position: relative;
}
.product-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.product-card__link { display: block; text-decoration: none; color: inherit; }
.product-card__image {
    position: relative;
    aspect-ratio: 1;
    background: #f5f5f5;
    overflow: hidden;
}
.product-card__image img { width: 100%; height: 100%; object-fit: contain; }
.product-card__badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: #e74c3c;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
}
.product-card__badge--out { background: #6c757d; }
.product-card__body { padding: 12px; }
.product-card__name { font-size: 14px; font-weight: 500; margin-bottom: 6px; line-height: 1.3; }
.product-card__price { display: flex; align-items: baseline; gap: 6px; }
.product-card__cart {
    display: block;
    width: 100%;
    padding: 8px;
    background: #2563eb;
    color: #fff;
    border: none;
    font-size: 13px;
    font-weight: 600;
    transition: background .2s;
}
.product-card__cart:hover { background: #1d4ed8; }

.price--current { font-weight: 700; font-size: 16px; color: #1a1a2e; }
.price--old { text-decoration: line-through; color: #999; font-size: 13px; }

/* ============================================================
   Product Detail
   ============================================================ */
.product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; padding: 24px 0; }
@media (max-width: 768px) { .product-detail { grid-template-columns: 1fr; } }

.product-detail__hero { width: 100%; aspect-ratio: 1; object-fit: contain; background: #f5f5f5; border-radius: 8px; }
.product-detail__thumbs { display: flex; gap: 8px; margin-top: 12px; overflow-x: auto; }
.product-detail__thumb {
    width: 64px;
    height: 64px;
    border: 2px solid transparent;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    background: none;
    padding: 0;
}
.product-detail__thumb.is-active { border-color: #2563eb; }
.product-detail__thumb img { width: 100%; height: 100%; object-fit: contain; }

.product-detail__name { font-size: 24px; font-weight: 700; margin-bottom: 8px; }
.product-detail__price { margin-bottom: 12px; }
.product-detail__price .price--current { font-size: 24px; }
.product-detail__summary { color: #555; margin-bottom: 16px; }

.product-detail__actions { display: flex; gap: 12px; margin-bottom: 8px; align-items: center; }
.product-detail__stock { font-size: 14px; color: #22c55e; }
.product-detail__stock--out { color: #e74c3c; }

.qty-input {
    width: 64px;
    text-align: center;
    padding: 8px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
}

.product-info__discount {
    background: #e74c3c;
    color: #fff;
    font-size: 12px;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
}

.stock--in { color: #22c55e; font-size: 14px; }
.stock--out { color: #e74c3c; font-size: 14px; }

/* ============================================================
   Product Attributes / Specs Table
   ============================================================ */
.product-attributes { margin: 24px 0; }
.product-attributes h2 { font-size: 18px; margin-bottom: 12px; }
.spec-table { width: 100%; border-collapse: collapse; }
.spec-table th, .spec-table td { padding: 8px 12px; border-bottom: 1px solid #e5e7eb; font-size: 14px; }
.spec-table th { background: #f9fafb; font-weight: 500; width: 40%; color: #555; text-align: left; }

/* ============================================================
   Gallery (standalone block)
   ============================================================ */
.gallery__main { margin-bottom: 12px; }
.gallery__hero { width: 100%; border-radius: 8px; }
.gallery__thumbs { display: flex; gap: 8px; overflow-x: auto; }
.gallery__thumb {
    width: 72px; height: 72px;
    border: 2px solid transparent;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    background: none;
    padding: 0;
    flex-shrink: 0;
}
.gallery__thumb.is-active { border-color: #2563eb; }
.gallery__thumb img { width: 100%; height: 100%; object-fit: contain; }

/* ============================================================
   Variants
   ============================================================ */
.variant-option {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    margin: 4px;
    cursor: pointer;
    font-size: 14px;
}
.variant-option input:checked + span { font-weight: 700; }
.variant-option:has(input:checked) { border-color: #2563eb; background: #eff6ff; }

/* ============================================================
   Tabs
   ============================================================ */
.product-tabs { margin: 24px 0; }
.product-tabs__nav { display: flex; border-bottom: 2px solid #e5e7eb; gap: 0; }
.product-tabs__tab {
    padding: 10px 20px;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    font-size: 14px;
    font-weight: 500;
    color: #666;
}
.product-tabs__tab.is-active { color: #2563eb; border-bottom-color: #2563eb; }
.product-tabs__panel { display: none; padding: 16px 0; }
.product-tabs__panel.is-active { display: block; }

/* ============================================================
   Filters (Sidebar)
   ============================================================ */
.filters { font-size: 14px; }
.filters__group { margin-bottom: 20px; }
.filters__group h4 { font-size: 13px; font-weight: 600; text-transform: uppercase; color: #555; margin-bottom: 8px; }
.filter-options { list-style: none; }
.filter-option { display: flex; align-items: center; gap: 6px; padding: 3px 0; cursor: pointer; }
.filter-option input { margin: 0; }
.filter-count { color: #999; font-size: 12px; }

.filters__active { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid #e5e7eb; }
.filter-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.filter-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 4px;
    font-size: 12px;
    cursor: pointer;
}
.filter-tag:hover { background: #dbeafe; }
.filters__clear { background: none; border: none; color: #e74c3c; font-size: 12px; }

.price-range { display: flex; align-items: center; gap: 8px; }
.price-range input { width: 80px; padding: 6px 8px; border: 1px solid #d1d5db; border-radius: 4px; }

/* ============================================================
   Sort Bar
   ============================================================ */
.sort-bar { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; font-size: 14px; }
.sort-bar select { padding: 6px 10px; border: 1px solid #d1d5db; border-radius: 6px; }
.sort-bar__results { color: #666; }

/* ============================================================
   Category Header
   ============================================================ */
.category-header { padding: 16px 0; }
.category-header h1 { font-size: 22px; margin-bottom: 4px; }
.category-header__desc { color: #555; font-size: 14px; }

/* ============================================================
   Cart
   ============================================================ */
.cart-items { width: 100%; border-collapse: collapse; }
.cart-items th { text-align: left; padding: 8px 12px; border-bottom: 2px solid #e5e7eb; font-size: 13px; color: #555; }
.cart-items td { padding: 12px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }
.cart-items__image { width: 64px; }
.cart-items__image img { width: 64px; height: 64px; object-fit: contain; border-radius: 4px; }
.cart-items__name { font-weight: 500; }
.cart-items__variant { font-size: 13px; color: #666; }
.cart-items__qty { width: 60px; text-align: center; padding: 6px; border: 1px solid #d1d5db; border-radius: 4px; }
.cart-items__remove { background: none; border: none; color: #e74c3c; font-size: 13px; }
.cart-items__remove:hover { text-decoration: underline; }

.cart-summary {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 20px;
}
.cart-summary__row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 14px; }
.cart-summary__total { font-size: 18px; font-weight: 700; border-top: 2px solid #1a1a2e; padding-top: 12px; margin-top: 8px; }

/* ============================================================
   Checkout
   ============================================================ */
.checkout-form { max-width: 600px; }
.checkout-form label { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 500; color: #555; }
.checkout-form input,
.checkout-form select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    margin-bottom: 12px;
    font-size: 14px;
}
.checkout-form input:focus,
.checkout-form select:focus { border-color: #2563eb; outline: none; box-shadow: 0 0 0 3px rgba(37,99,235,.1); }

.checkout-form__group { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) { .checkout-form__group { grid-template-columns: 1fr; } }

/* ============================================================
   Buttons
   ============================================================ */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    transition: background .2s;
    text-decoration: none;
}
.btn--primary { background: #2563eb; color: #fff; }
.btn--primary:hover { background: #1d4ed8; text-decoration: none; }
.btn--secondary { background: #e5e7eb; color: #1a1a2e; }
.btn--secondary:hover { background: #d1d5db; text-decoration: none; }
.btn--danger { background: #e74c3c; color: #fff; }
.btn--danger:hover { background: #c0392b; text-decoration: none; }
.btn--full { width: 100%; }

/* ============================================================
   Hero Banner
   ============================================================ */
.hero { padding: 48px 0; text-align: center; background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); color: #fff; border-radius: 12px; margin: 16px 0; }
.hero h1 { font-size: 32px; margin-bottom: 8px; }
.hero p { font-size: 16px; color: #ccc; margin-bottom: 16px; }

/* ============================================================
   Featured Categories
   ============================================================ */
.featured-categories { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; padding: 24px 0; }
.featured-categories__item {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .2s;
}
.featured-categories__item:hover { box-shadow: 0 4px 12px rgba(0,0,0,.08); text-decoration: none; }
.featured-categories__item h3 { font-size: 15px; }
.featured-categories__count { font-size: 13px; color: #888; }

/* ============================================================
   Newsletter
   ============================================================ */
.newsletter { background: #1a1a2e; color: #fff; padding: 32px; border-radius: 8px; text-align: center; margin: 24px 0; }
.newsletter h3 { margin-bottom: 8px; }
.newsletter__form { display: flex; gap: 8px; max-width: 400px; margin: 12px auto 0; }
.newsletter__form input { flex: 1; padding: 10px 12px; border: none; border-radius: 6px; }
.newsletter__form button { padding: 10px 20px; }

/* ============================================================
   Pagination
   ============================================================ */
.pagination { display: flex; justify-content: center; gap: 4px; padding: 24px 0; }
.pagination__btn {
    padding: 8px 14px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #fff;
    font-size: 14px;
    cursor: pointer;
}
.pagination__btn:hover { background: #f0f4ff; }
.pagination__btn.is-active { background: #2563eb; color: #fff; border-color: #2563eb; }

/* ============================================================
   Related / Cross-sell
   ============================================================ */
.related-products, .cross-sell, .recently-viewed { margin: 32px 0; }
.related-products h2, .cross-sell h3, .recently-viewed h2 { font-size: 18px; margin-bottom: 16px; }

/* ============================================================
   Reviews
   ============================================================ */
.reviews-list { }
.review { padding: 16px 0; border-bottom: 1px solid #e5e7eb; }
.review__header { display: flex; gap: 12px; align-items: baseline; margin-bottom: 4px; }
.review__date { color: #999; font-size: 13px; }
.review__text { font-size: 14px; color: #555; }
.reviews-empty { color: #999; font-size: 14px; }

/* ============================================================
   CMS Content
   ============================================================ */
.cms-content { padding: 24px 0; line-height: 1.7; }
.cms-content h2 { margin: 24px 0 8px; }
.cms-content p { margin-bottom: 12px; }

/* ============================================================
   Notifications
   ============================================================ */
.notification {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #22c55e;
    color: #fff;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    transform: translateY(20px);
    opacity: 0;
    transition: all .3s ease;
    z-index: 1000;
}
.notification.is-visible { transform: translateY(0); opacity: 1; }

/* ============================================================
   No Products
   ============================================================ */
.no-products { text-align: center; padding: 48px 0; color: #999; font-size: 16px; }

/* ============================================================
   THE LAST TRIAL — dark-fantasy theme layer
   Palette + typography mirrored from lasttrial.art main site
   (appended override — cascade wins over base shop.css)
   ============================================================ */
:root{
  --tlt-dark:#0a0908; --tlt-brown:#1a1512; --tlt-parchment:#2a2420;
  --tlt-sepia:#c4a35a; --tlt-sepia-dark:#8b7355; --tlt-sepia-light:#d4c4a8;
  --tlt-blood:#8b0000; --tlt-text:#d4c8b8; --tlt-dim:#9a9088;
  --tlt-head:'Cinzel',Georgia,serif; --tlt-body:'Crimson Text',Georgia,serif;
}
html,body{background:var(--tlt-dark)!important;color:var(--tlt-text);}
body{font-family:var(--tlt-body);line-height:1.7;}
h1,h2,h3,h4{font-family:var(--tlt-head);letter-spacing:.04em;color:var(--tlt-sepia-light);}
a{color:var(--tlt-sepia);}
a:hover{color:var(--tlt-sepia-light);}

/* Header */
.site-header{background:rgba(10,9,8,.97);border-bottom:1px solid rgba(196,163,90,.25);position:sticky;top:0;z-index:1000;padding:1rem 0;backdrop-filter:blur(8px);}
.site-header__inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;gap:1.5rem;}
.site-header__logo{font-family:var(--tlt-head);font-size:1.25rem;color:var(--tlt-sepia)!important;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap;}
.site-header__logo:hover{color:var(--tlt-sepia-light)!important;}
.site-header__nav{display:flex;gap:1rem;flex:1;}
.site-header__nav .nav-link{color:var(--tlt-dim);font-family:var(--tlt-head);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;}
.site-header__nav .nav-link:hover{color:var(--tlt-sepia);}
.site-header__actions{display:flex;align-items:center;gap:1rem;margin-left:auto;}
.search-input{background:rgba(42,36,32,.6);border:1px solid var(--tlt-sepia-dark);color:var(--tlt-text);padding:.5rem .8rem;font-family:var(--tlt-body);}
.search-input::placeholder{color:var(--tlt-dim);}
.search-input:focus{outline:none;border-color:var(--tlt-sepia);}
.cart-badge{font-family:var(--tlt-head);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tlt-dark)!important;background:linear-gradient(135deg,var(--tlt-sepia),var(--tlt-sepia-dark));padding:.5rem .9rem;text-decoration:none;white-space:nowrap;}
.cart-badge:hover{color:var(--tlt-dark)!important;box-shadow:0 6px 20px rgba(196,163,90,.35);}

/* Container */
main.container{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem;}

/* Breadcrumb */
.breadcrumb__list{display:flex;gap:.5rem;list-style:none;padding:0;font-size:.85rem;color:var(--tlt-dim);flex-wrap:wrap;}
.breadcrumb__item a{color:var(--tlt-sepia-dark);}
.breadcrumb__item a:hover{color:var(--tlt-sepia);}
.breadcrumb__item+.breadcrumb__item::before{content:'\203A';margin-right:.5rem;color:var(--tlt-dim);}

/* Product detail */
.product-detail{display:flex;gap:3rem;margin:2rem 0;align-items:flex-start;}
.product-detail__gallery{flex:1;min-width:0;background:var(--tlt-brown);border:1px solid rgba(196,163,90,.15);min-height:360px;display:flex;align-items:center;justify-content:center;}
.product-detail__gallery:empty::after{content:'THE LAST TRIAL';font-family:var(--tlt-head);color:var(--tlt-sepia-dark);letter-spacing:.2em;opacity:.5;}
.product-detail__hero{width:100%;height:auto;}
.product-detail__info{flex:1;min-width:0;}
.product-detail__name{font-size:2.4rem;line-height:1.15;color:var(--tlt-sepia-light);margin-bottom:1rem;}
.product-detail__price{font-family:var(--tlt-head);font-size:1.8rem;color:var(--tlt-sepia);margin-bottom:1.2rem;}
.price--old{color:var(--tlt-dim);text-decoration:line-through;font-size:1.1rem;margin-right:.6rem;}
.price--current{color:var(--tlt-sepia);font-family:var(--tlt-head);}
.product-detail__summary{font-size:1.15rem;font-style:italic;color:var(--tlt-sepia-light);margin-bottom:1.5rem;}
.product-detail__actions{display:flex;gap:1rem;align-items:center;margin-bottom:1rem;}
.qty-input{width:70px;background:rgba(42,36,32,.6);border:1px solid var(--tlt-sepia-dark);color:var(--tlt-text);padding:.7rem;text-align:center;font-family:var(--tlt-head);}
.product-detail__stock{color:#7fae7f;font-family:var(--tlt-head);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.5rem;}
.product-detail__stock--out{color:var(--tlt-blood);}
.product-detail__desc{color:var(--tlt-text);line-height:1.8;margin-top:1rem;}

/* Buttons (both .btn-- and .btn- conventions) */
.btn{font-family:var(--tlt-head);text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;padding:1rem 2.4rem;border:none;cursor:pointer;transition:all .3s ease;display:inline-block;text-decoration:none;}
.btn--primary,.btn-primary{color:var(--tlt-dark)!important;background:linear-gradient(135deg,var(--tlt-sepia) 0%,var(--tlt-sepia-dark) 100%);}
.btn--primary:hover,.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(196,163,90,.4);text-decoration:none;}
.btn-secondary,.btn--secondary{color:var(--tlt-sepia)!important;background:transparent;border:1px solid var(--tlt-sepia);}
.btn-secondary:hover,.btn--secondary:hover{background:var(--tlt-sepia);color:var(--tlt-dark)!important;text-decoration:none;}
.wishlist-toggle-form{margin:1.5rem 0;}

/* Specifications */
.product-attributes{margin:3rem 0;}
.product-attributes h2,.reviews h2,.related-products h2{font-size:1.6rem;color:var(--tlt-sepia-light);border-bottom:1px solid rgba(196,163,90,.2);padding-bottom:.6rem;margin-bottom:1.2rem;}
.spec-table{width:100%;border-collapse:collapse;}
.spec-table th,.spec-table td{text-align:left;padding:.8rem 1rem;border-bottom:1px solid rgba(196,163,90,.12);}
.spec-table th{color:var(--tlt-dim);font-family:var(--tlt-head);font-weight:400;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;width:40%;}
.spec-table td{color:var(--tlt-text);}

/* Reviews */
.reviews{margin:3rem 0;}
.stars{color:var(--tlt-sepia);letter-spacing:.15em;}
.reviews-summary{color:var(--tlt-text);margin-bottom:1.5rem;}
.reviews-empty{color:var(--tlt-dim);font-style:italic;margin-bottom:1.5rem;}
.review{background:var(--tlt-brown);border:1px solid rgba(196,163,90,.12);padding:1.2rem 1.5rem;margin-bottom:1rem;}
.review header{display:flex;gap:.8rem;align-items:center;margin-bottom:.5rem;}
.review header strong{color:var(--tlt-sepia-light);font-family:var(--tlt-head);}
.review time,.muted{color:var(--tlt-dim);font-size:.8rem;}
.review h3{color:var(--tlt-sepia-light);font-size:1.1rem;margin:.3rem 0;}
.review p{color:var(--tlt-text);}

/* Review form — clean vertical stack (was ugly inline row) */
.review-form{background:var(--tlt-brown);border:1px solid rgba(196,163,90,.15);padding:1.8rem;margin-top:2rem;display:flex;flex-direction:column;gap:1rem;max-width:640px;}
.review-form h3{color:var(--tlt-sepia-light);font-size:1.3rem;margin-bottom:.4rem;}
.review-form label{display:flex;flex-direction:column;gap:.4rem;color:var(--tlt-dim);font-family:var(--tlt-head);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;}
.review-form input,.review-form select,.review-form textarea{background:rgba(10,9,8,.5);border:1px solid var(--tlt-sepia-dark);color:var(--tlt-text);padding:.7rem .9rem;font-family:var(--tlt-body);font-size:1rem;text-transform:none;letter-spacing:normal;}
.review-form input:focus,.review-form select:focus,.review-form textarea:focus{outline:none;border-color:var(--tlt-sepia);}
.review-form .btn{align-self:flex-start;}

/* Footer */
.site-footer{background:var(--tlt-dark);border-top:1px solid rgba(196,163,90,.15);padding:3rem 1.5rem;text-align:center;margin-top:3rem;}
.site-footer__inner{color:var(--tlt-dim);font-family:var(--tlt-head);font-size:.85rem;letter-spacing:.08em;}

/* Related products */
.related-products{margin:3rem 0;}
.product-card{background:var(--tlt-brown);border:1px solid rgba(196,163,90,.12);}
.product-card__name{color:var(--tlt-sepia-light);font-family:var(--tlt-head);font-size:1rem;}

@media(max-width:768px){
  .product-detail{flex-direction:column;gap:1.5rem;}
  .product-detail__name{font-size:1.8rem;}
  .site-header__inner{flex-wrap:wrap;}
  .site-header__nav{order:3;width:100%;}
}

.spec-table th{background:transparent!important;}

/* Last Trial error states */
.page-error::before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0,rgba(139,115,85,.16),transparent 45%),linear-gradient(rgba(10,9,8,.94),rgba(10,9,8,.98));z-index:-1;}
.page-error main.container{min-height:62vh;display:grid;place-items:center;padding-top:4rem;padding-bottom:5rem;}
.error-page{width:min(100%,680px);background:rgba(26,21,18,.92);border:1px solid rgba(196,163,90,.24);box-shadow:0 22px 70px rgba(0,0,0,.32);padding:4rem 2rem;text-align:center;}
.error-page h1{color:var(--tlt-sepia-light);font-size:clamp(2.5rem,8vw,5rem);font-weight:500;letter-spacing:.08em;margin:0 0 1rem;}
.error-page h2{color:var(--tlt-sepia);margin-top:2rem;}
.error-page p{color:var(--tlt-dim);font-size:1.1rem;margin:0 0 2rem;}
.error-page .btn{margin-top:1rem;}
