/* TailorCraft — storefront theme (original CSS, no derivation) */

:root{
  --tc-primary: #1a5fb4;
  --tc-primary-dark: #124680;
  --tc-accent: #1f8a5c;
  --tc-ink: #14213d;
  --tc-ink-soft: #4a5568;
  --tc-cream: #f4f8fb;
  --tc-border: #dce6f0;
  --tc-radius: 10px;
  --tc-shadow: 0 2px 18px rgba(20,33,61,.07);
  --tc-shadow-hover: 0 10px 30px rgba(20,33,61,.14);
  --tc-font-display: 'Poppins', -apple-system, sans-serif;
  --tc-font-body: 'Inter', -apple-system, sans-serif;
}

body{ font-family: var(--tc-font-body); color: var(--tc-ink); }
h1,h2,h3,h4,.tc-display{ font-family: var(--tc-font-display); }

a{ text-decoration: none; }

/* ---------- Header ---------- */
.tc-topbar{ background: var(--tc-ink); color:#d8e4f0; font-size:.8rem; padding:6px 0; }
.tc-topbar a{ color:#d8e4f0; }

.tc-header{ background:#fff; border-bottom:1px solid var(--tc-border); position:sticky; top:0; z-index:1030; }
.tc-header .navbar-brand{ font-family: var(--tc-font-display); font-weight:700; font-size:1.5rem; color: var(--tc-ink); }

.tc-icon-link{ color: var(--tc-ink); position:relative; padding:.4rem .6rem; }
.tc-badge{ position:absolute; top:-2px; right:-4px; background: var(--tc-primary); color:#fff; font-size:.6rem; font-weight:700; border-radius:50px; padding:2px 5px; }

.tc-nav{ background: var(--tc-cream); border-bottom:1px solid var(--tc-border); }
.tc-nav .nav-link{ color: var(--tc-ink); font-weight:600; font-size:.85rem; text-transform:uppercase; letter-spacing:.03em; }
.tc-nav .nav-link:hover{ color: var(--tc-primary); }

/* ---------- Buttons ---------- */
.btn-tc-primary{ background: var(--tc-primary); border-color: var(--tc-primary); color:#fff; font-weight:600; border-radius:50px; padding:.65rem 1.6rem; }
.btn-tc-primary:hover{ background: var(--tc-primary-dark); color:#fff; }
.btn-tc-outline{ border:1.5px solid var(--tc-ink); color: var(--tc-ink); font-weight:600; border-radius:50px; background:transparent; }
.btn-tc-outline:hover{ background: var(--tc-ink); color:#fff; }

/* ---------- Product cards ---------- */
.tc-card{ border:1px solid var(--tc-border); border-radius: var(--tc-radius); overflow:hidden; background:#fff; box-shadow: var(--tc-shadow); transition: box-shadow .25s ease, transform .25s ease; height:100%; }
.tc-card:hover{ box-shadow: var(--tc-shadow-hover); transform: translateY(-4px); }
.tc-card .tc-img{ position:relative; aspect-ratio: 3/4; overflow:hidden; background: var(--tc-cream); }
.tc-card .tc-img img{ width:100%; height:100%; object-fit:cover; transition: transform .4s ease; }
.tc-card:hover .tc-img img{ transform: scale(1.06); }
.tc-card .tc-body{ padding:1rem; }
.tc-card .tc-name{ font-weight:600; font-size:.95rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:var(--tc-ink); }
.tc-price-old{ color:#9a9a9a; text-decoration:line-through; font-size:.85rem; margin-right:.4rem; }
.tc-price{ color: var(--tc-primary); font-weight:700; }

.tc-label{ position:absolute; top:10px; left:10px; z-index:2; font-size:.65rem; font-weight:700; text-transform:uppercase; padding:4px 9px; border-radius:50px; color:#fff; }
.tc-label.bestseller{ background: var(--tc-accent); }
.tc-label.new{ background: var(--tc-primary); }
.tc-label.sale{ background:#d64545; }

.tc-wishlist-btn{ position:absolute; top:10px; right:10px; z-index:3; width:34px; height:34px; background:rgba(255,255,255,.92); border-radius:50%; display:flex; align-items:center; justify-content:center; color: var(--tc-ink-soft); box-shadow:0 2px 8px rgba(0,0,0,.12); }
.tc-wishlist-btn.active{ color: var(--tc-primary); }

/* ---------- Hero / parallax ---------- */
.tc-hero{ background-attachment: fixed; background-size:cover; background-position:center; min-height:460px; display:flex; align-items:center; position:relative; }
.tc-hero::before{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,33,61,.55), rgba(20,33,61,.72)); }
.tc-hero .container{ position:relative; z-index:2; text-align:center; color:#fff; }
@media (max-width:767.98px){ .tc-hero{ background-attachment:scroll; min-height:340px; } }

/* ---------- Measurement form ---------- */
.tc-measure-block{ border:1px solid var(--tc-border); border-radius: var(--tc-radius); padding:1.2rem; background: var(--tc-cream); }
.tc-measure-block h4{ font-size:1rem; margin-bottom:.5rem; }

/* ---------- Footer ---------- */
.tc-footer{ background: var(--tc-ink); color:#cfcfcf; padding:3rem 0 0; }
.tc-footer h5{ color:#fff; font-weight:700; margin-bottom:1rem; }
.tc-footer a{ color:#cfcfcf; }
.tc-footer a:hover{ color:#fff; }
.tc-footer-bottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:2rem; padding:1rem 0; font-size:.85rem; color:#9a9a9a; text-align:center; }

/* ---------- Account sidebar ---------- */
.tc-account-menu{ list-style:none; margin:0; padding:0; background:#fff; border:1px solid var(--tc-border); border-radius: var(--tc-radius); overflow:hidden; }
.tc-account-menu li a{ display:flex; align-items:center; gap:.7rem; padding:.75rem 1rem; color: var(--tc-ink); border-bottom:1px solid var(--tc-border); }
.tc-account-menu li:last-child a{ border-bottom:none; }
.tc-account-menu li a:hover, .tc-account-menu li.active a{ background: var(--tc-cream); color: var(--tc-primary); }

@media (max-width: 767.98px){
  .tc-nav{ display:none; }
}
