/* ============================================================
   Sertsan Export Catalog — Premium Industrial Design
   main.css  v2.0
   ============================================================ */

/* ── CSS Variables ────────────────────────────────────────── */
:root {
  --navy:      #0F172A;
  --navy-700:  #1E293B;
  --navy-500:  #334155;
  --navy-400:  #475569;
  --blue:      #1D4ED8;
  --blue-light:#3B82F6;
  --orange:    #F97316;
  --orange-dk: #EA580C;
  --surface:   #F8FAFC;
  --border:    #E2E8F0;
  --text:      #0F172A;
  --muted:     #64748B;
  --white:     #FFFFFF;
  --radius:    12px;
  --radius-lg: 20px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
  --shadow:    0 4px 16px rgba(0,0,0,.10), 0 2px 4px rgba(0,0,0,.06);
  --shadow-lg: 0 12px 40px rgba(0,0,0,.14), 0 4px 12px rgba(0,0,0,.08);
  --transition: .22s cubic-bezier(.4,0,.2,1);
}

/* ── Reset / Base ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', 'Noto Sans', 'Segoe UI', system-ui, sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ── Utilities ────────────────────────────────────────────── */
.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.line-clamp-3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.x-small { font-size: .7rem; }
.hover-lift { transition: transform var(--transition), box-shadow var(--transition); }
.hover-lift:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg) !important; }
::-webkit-scrollbar { width:6px; height:6px; }
::-webkit-scrollbar-track { background:var(--surface); }
::-webkit-scrollbar-thumb { background:var(--navy-500); border-radius:4px; }

/* ═══ NAVBAR ══════════════════════════════════════════════════ */
.navbar {
  background: var(--navy) !important;
  padding: .7rem 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.navbar-brand {
  display:flex; align-items:center; gap:10px;
  font-weight:800; font-size:1.3rem; letter-spacing:-.02em;
  color:#fff !important; text-decoration:none;
}
.brand-logo-wrap {
  width:42px; height:42px; background:var(--orange); border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:1rem; color:#fff; flex-shrink:0;
}
.brand-sub { font-size:.62rem; font-weight:400; opacity:.5; display:block; line-height:1; text-transform:uppercase; letter-spacing:.08em; }
.navbar .nav-link { color:rgba(255,255,255,.78) !important; font-size:.88rem; font-weight:500; padding:.45rem .85rem !important; border-radius:7px; transition:all var(--transition); }
.navbar .nav-link:hover, .navbar .nav-link.active { color:#fff !important; background:rgba(255,255,255,.1); }
.navbar .nav-link.active { color:var(--orange) !important; background:rgba(249,115,22,.12); }

.navbar-search { position:relative; width:230px; }
.navbar-search input { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); color:#fff; border-radius:8px; padding:.4rem .85rem .4rem 2.1rem; font-size:.86rem; width:100%; outline:none; transition:all var(--transition); }
.navbar-search input::placeholder { color:rgba(255,255,255,.42); }
.navbar-search input:focus { background:rgba(255,255,255,.18); border-color:var(--orange); box-shadow:0 0 0 3px rgba(249,115,22,.22); }
.navbar-search .si { position:absolute; left:.68rem; top:50%; transform:translateY(-50%); color:rgba(255,255,255,.48); font-size:.8rem; pointer-events:none; }

.lang-btn { background:rgba(255,255,255,.1) !important; border:1px solid rgba(255,255,255,.2) !important; color:rgba(255,255,255,.8) !important; font-size:.8rem; padding:.38rem .72rem !important; border-radius:8px; transition:all var(--transition); }
.lang-btn:hover { background:rgba(255,255,255,.18) !important; color:#fff !important; }
.dropdown-menu { border:1px solid var(--border); box-shadow:var(--shadow-lg); border-radius:var(--radius); }

.btn-quote { background:var(--orange); color:#fff; border:none; border-radius:8px; padding:.42rem .95rem; font-size:.86rem; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; gap:6px; position:relative; transition:all var(--transition); }
.btn-quote:hover { background:var(--orange-dk); transform:translateY(-1px); box-shadow:0 4px 12px rgba(249,115,22,.4); }
.basket-badge { position:absolute; top:-6px; right:-6px; background:#3B82F6; color:#fff; border-radius:50%; width:18px; height:18px; font-size:.6rem; font-weight:700; align-items:center; justify-content:center; }
.basket-badge:not(.d-none) { display:flex !important; }
.navbar-toggler { border:1px solid rgba(255,255,255,.3); padding:.3rem .55rem; border-radius:8px; }
.navbar-toggler-icon { filter:invert(1); }

/* ═══ HERO ═════════════════════════════════════════════════════ */
.hero-section {
  background: linear-gradient(135deg, #0A1628 0%, #142240 50%, #1a3560 100%);
  color:#fff; padding:90px 0 70px; position:relative; overflow:hidden;
}
.hero-section::before {
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse 80% 60% at 70% 50%, rgba(29,78,216,.35) 0%, transparent 60%),
              radial-gradient(circle at 10% 90%, rgba(249,115,22,.2) 0%, transparent 40%);
  pointer-events:none;
}
.hero-section::after {
  content:''; position:absolute; bottom:-1px; left:0; right:0; height:50px;
  background:var(--white); clip-path:ellipse(55% 100% at 50% 100%);
}
.hero-section h1 { font-size:clamp(2rem,5vw,3.2rem); font-weight:900; line-height:1.1; letter-spacing:-.04em; }
.hero-section h1 .accent { color:var(--orange); }
.hero-section .lead { font-size:clamp(.92rem,2vw,1.1rem); opacity:.82; max-width:520px; }

.hero-search-form { display:flex; max-width:520px; background:rgba(255,255,255,.1); border:1.5px solid rgba(255,255,255,.22); border-radius:12px; overflow:hidden; backdrop-filter:blur(12px); transition:all var(--transition); }
.hero-search-form:focus-within { border-color:var(--orange); box-shadow:0 0 0 4px rgba(249,115,22,.22); background:rgba(255,255,255,.16); }
.hero-search-form input { flex:1; background:transparent; border:none; color:#fff; padding:.8rem 1rem; font-size:1rem; outline:none; }
.hero-search-form input::placeholder { color:rgba(255,255,255,.48); }
.hero-search-form button { background:var(--orange); border:none; color:#fff; padding:.8rem 1.4rem; font-weight:600; font-size:.9rem; cursor:pointer; display:flex; align-items:center; gap:6px; transition:background var(--transition); }
.hero-search-form button:hover { background:var(--orange-dk); }

.stats-bar { display:flex; gap:2rem; margin-top:2.5rem; }
.stat-item .stat-num { font-size:1.65rem; font-weight:800; color:var(--orange); line-height:1; letter-spacing:-.03em; }
.stat-item .stat-label { font-size:.73rem; opacity:.6; text-transform:uppercase; letter-spacing:.06em; }

/* ═══ SECTION HEADERS ══════════════════════════════════════════ */
.section-tag { display:inline-block; background:rgba(249,115,22,.12); color:var(--orange); font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.26rem .7rem; border-radius:50px; margin-bottom:.7rem; }
.section-title { font-size:clamp(1.5rem,3vw,2rem); font-weight:800; letter-spacing:-.03em; line-height:1.2; }
.section-divider { width:44px; height:3px; background:var(--orange); border-radius:2px; margin:.7rem 0 0; }

/* ═══ CATALOG CARDS ════════════════════════════════════════════ */
.catalog-card { border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; background:var(--white); transition:all var(--transition); box-shadow:var(--shadow-sm); display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.catalog-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--blue-light); color:inherit; }
.catalog-card-img { height:200px; overflow:hidden; background:linear-gradient(135deg,var(--navy) 0%,#1e3a5f 100%); position:relative; }
.catalog-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.catalog-card:hover .catalog-card-img img { transform:scale(1.07); }
.catalog-card-img .cat-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,20,42,.8) 0%,transparent 55%); }
.catalog-card-img .cat-icon { position:absolute; top:.9rem; left:.9rem; width:40px; height:40px; background:rgba(249,115,22,.92); border-radius:9px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.1rem; }
.catalog-card-img .cat-name { position:absolute; bottom:.85rem; left:.95rem; right:.95rem; color:#fff; font-size:.98rem; font-weight:700; line-height:1.25; }
.catalog-card-body { padding:1.1rem 1.2rem 1.2rem; flex:1; display:flex; flex-direction:column; gap:.7rem; }
.catalog-card-desc { color:var(--muted); font-size:.84rem; line-height:1.5; flex:1; }
.catalog-card-footer { display:flex; align-items:center; justify-content:space-between; }
.catalog-count-badge { display:inline-flex; align-items:center; gap:4px; background:var(--surface); color:var(--muted); border:1px solid var(--border); border-radius:50px; padding:.22rem .65rem; font-size:.76rem; font-weight:500; }
.btn-explore { display:inline-flex; align-items:center; gap:5px; background:var(--navy); color:#fff; border:none; border-radius:8px; padding:.4rem .82rem; font-size:.8rem; font-weight:600; text-decoration:none; transition:all var(--transition); }
.catalog-card:hover .btn-explore { background:var(--orange); }

/* ═══ PRODUCT CARDS ════════════════════════════════════════════ */
.product-card { border:1px solid var(--border); border-radius:var(--radius); background:var(--white); overflow:hidden; transition:all var(--transition); box-shadow:var(--shadow-sm); display:flex; flex-direction:column; }
.product-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--blue-light); }
.product-img-wrap { height:185px; background:var(--surface); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.product-img-wrap img { width:100%; height:100%; object-fit:contain; padding:.7rem; transition:transform .35s ease; }
.product-card:hover .product-img-wrap img { transform:scale(1.09); }
.product-code-badge { position:absolute; top:.55rem; left:.55rem; background:rgba(15,23,42,.8); color:rgba(255,255,255,.88); font-size:.63rem; font-family:'Courier New',monospace; font-weight:600; padding:.17rem .48rem; border-radius:5px; backdrop-filter:blur(4px); }
.featured-badge { position:absolute; top:.55rem; right:.55rem; background:var(--orange); color:#fff; font-size:.64rem; font-weight:700; padding:.18rem .52rem; border-radius:5px; }
.product-card-body { padding:.82rem .95rem .95rem; flex:1; display:flex; flex-direction:column; }
.product-name { font-size:.86rem; font-weight:600; line-height:1.4; color:var(--text); text-decoration:none; margin-bottom:.48rem; display:block; }
.product-name:hover { color:var(--blue); }
.product-card-footer { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:.6rem; border-top:1px solid var(--border); }
.unit-badge { background:var(--surface); color:var(--muted); border:1px solid var(--border); border-radius:50px; padding:.16rem .55rem; font-size:.7rem; font-weight:500; }
.btn-add-quote { background:var(--navy); color:#fff; border:none; border-radius:7px; padding:.28rem .72rem; font-size:.77rem; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; gap:4px; transition:all var(--transition); }
.btn-add-quote:hover { background:var(--orange); transform:translateY(-1px); box-shadow:0 4px 10px rgba(249,115,22,.35); }
.btn-add-quote.added { background:#10B981; }

/* ═══ CATEGORY PAGE ════════════════════════════════════════════ */
.category-hero { background:linear-gradient(135deg,var(--navy) 0%,#1e3a5f 100%); color:#fff; padding:2.5rem 0 2rem; }
.category-hero .breadcrumb-item+.breadcrumb-item::before { color:rgba(255,255,255,.4); }
.category-hero .breadcrumb-item { font-size:.82rem; }
.category-hero .breadcrumb-item a { color:rgba(255,255,255,.65); text-decoration:none; }
.category-hero .breadcrumb-item.active { color:rgba(255,255,255,.88); }
.category-sidebar { position:sticky; top:80px; }
.sidebar-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.sidebar-card-header { background:var(--navy); color:#fff; padding:.85rem 1.05rem; font-size:.8rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; display:flex; align-items:center; gap:7px; }
.sidebar-card-body { padding:.65rem; }
.cat-list-item { display:flex; align-items:center; justify-content:space-between; padding:.52rem .72rem; border-radius:8px; text-decoration:none; color:var(--text); font-size:.87rem; font-weight:500; transition:all var(--transition); }
.cat-list-item:hover { background:var(--surface); color:var(--blue); }
.cat-list-item.active { background:rgba(29,78,216,.08); color:var(--blue); font-weight:600; }
.count-pill { background:var(--surface); border:1px solid var(--border); color:var(--muted); border-radius:50px; padding:.07rem .5rem; font-size:.68rem; font-weight:600; }
.cat-list-item.active .count-pill { background:var(--blue); color:#fff; border-color:var(--blue); }

/* ═══ PRODUCT DETAIL ═══════════════════════════════════════════ */
.product-detail-gallery { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; }
.product-detail-gallery .main-img { height:380px; display:flex; align-items:center; justify-content:center; padding:1.5rem; }
.product-detail-gallery .main-img img { max-width:100%; max-height:100%; object-fit:contain; }
.product-info-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:1.5rem; box-shadow:var(--shadow-sm); }
.product-code-label { font-family:'Courier New',monospace; font-size:.8rem; color:var(--muted); background:var(--surface); padding:.24rem .58rem; border-radius:5px; border:1px solid var(--border); }
.product-specs-table { border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.product-specs-table td { padding:.62rem .95rem; border-bottom:1px solid var(--border); font-size:.87rem; }
.product-specs-table tr:last-child td { border-bottom:none; }
.product-specs-table td:first-child { font-weight:600; color:var(--muted); background:var(--surface); width:38%; }

/* ═══ WHY SECTION ══════════════════════════════════════════════ */
.why-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:1.4rem; }
.why-item { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:1.7rem 1.4rem; text-align:center; transition:all var(--transition); position:relative; overflow:hidden; }
.why-item::before { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--orange); transform:scaleX(0); transition:transform var(--transition); }
.why-item:hover::before { transform:scaleX(1); }
.why-item:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.why-icon { width:54px; height:54px; background:rgba(29,78,216,.08); border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.45rem; color:var(--blue); margin:0 auto 1rem; transition:all var(--transition); }
.why-item:hover .why-icon { background:var(--orange); color:#fff; }
.why-item h6 { font-size:.9rem; font-weight:700; margin-bottom:.38rem; }
.why-item p { font-size:.8rem; color:var(--muted); margin:0; }

/* ═══ QUOTE OFFCANVAS ══════════════════════════════════════════ */
#basketOffcanvas { width:380px !important; }
#basketOffcanvas .offcanvas-header { background:var(--navy); color:#fff; border-bottom:1px solid rgba(255,255,255,.1); }
#basketOffcanvas .btn-close { filter:invert(1); }
.basket-item { display:flex; align-items:center; gap:.8rem; padding:.8rem 0; border-bottom:1px solid var(--border); }
.basket-item-code { font-size:.7rem; font-family:monospace; color:var(--muted); }
.basket-item-name { font-size:.85rem; font-weight:600; line-height:1.3; }
.basket-item-qty input { width:52px; text-align:center; border:1px solid var(--border); border-radius:6px; padding:.22rem; font-size:.85rem; }
.basket-remove { color:var(--muted); cursor:pointer; padding:.22rem; border-radius:4px; transition:color var(--transition); }
.basket-remove:hover { color:#EF4444; }
.btn-send-quote { width:100%; background:var(--orange); color:#fff; border:none; border-radius:10px; padding:.82rem; font-size:.94rem; font-weight:700; cursor:pointer; transition:all var(--transition); }
.btn-send-quote:hover { background:var(--orange-dk); box-shadow:0 4px 16px rgba(249,115,22,.4); }

/* ═══ FILTER BAR ═══════════════════════════════════════════════ */
.filter-bar { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:.72rem .95rem; margin-bottom:1.4rem; display:flex; align-items:center; gap:.9rem; flex-wrap:wrap; }
.filter-label { font-size:.78rem; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; white-space:nowrap; }
.filter-search { flex:1; min-width:180px; position:relative; }
.filter-search input { width:100%; border:1px solid var(--border); border-radius:8px; padding:.4rem .82rem .4rem 1.95rem; font-size:.875rem; outline:none; transition:border-color var(--transition); }
.filter-search input:focus { border-color:var(--blue); }
.filter-search .si { position:absolute; left:.62rem; top:50%; transform:translateY(-50%); color:var(--muted); font-size:.78rem; }

/* ═══ FOOTER ═══════════════════════════════════════════════════ */
footer.site-footer { background:var(--navy); color:rgba(255,255,255,.72); padding:4rem 0 0; margin-top:5rem; }
.footer-brand { font-size:1.35rem; font-weight:800; color:#fff; letter-spacing:-.02em; margin-bottom:.5rem; display:flex; align-items:center; gap:8px; }
.footer-brand .brand-dot { width:9px; height:9px; background:var(--orange); border-radius:50%; display:inline-block; }
footer.site-footer h6 { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.45); margin-bottom:.95rem; }
footer.site-footer a { color:rgba(255,255,255,.62); text-decoration:none; font-size:.875rem; transition:color var(--transition); }
footer.site-footer a:hover { color:var(--orange); }
footer.site-footer p { font-size:.875rem; }
.footer-contact-item { display:flex; align-items:flex-start; gap:.58rem; margin-bottom:.62rem; font-size:.84rem; }
.footer-contact-item i { color:var(--orange); font-size:.88rem; flex-shrink:0; margin-top:.15rem; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding:1.2rem 0; margin-top:3rem; font-size:.78rem; color:rgba(255,255,255,.38); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem; }

/* ═══ BUTTONS ══════════════════════════════════════════════════ */
.btn-primary { background:var(--blue) !important; border-color:var(--blue) !important; font-weight:600; border-radius:8px; }
.btn-primary:hover { background:#1e40af !important; border-color:#1e40af !important; }

/* ═══ PAGINATION ═══════════════════════════════════════════════ */
.pagination .page-link { border:1px solid var(--border); color:var(--text); border-radius:8px !important; margin:0 2px; font-size:.87rem; font-weight:500; transition:all var(--transition); }
.pagination .page-link:hover { background:var(--navy); color:#fff; border-color:var(--navy); }
.pagination .page-item.active .page-link { background:var(--orange); border-color:var(--orange); color:#fff; }

/* ═══ BREADCRUMB ═══════════════════════════════════════════════ */
.breadcrumb { background:none; padding:0; margin:0; }
.breadcrumb-item+.breadcrumb-item::before { content:'/'; color:var(--muted); }
.breadcrumb-item a { color:var(--blue); text-decoration:none; font-size:.84rem; }
.breadcrumb-item.active { color:var(--muted); font-size:.84rem; }

/* ═══ LOADING SKELETON ═════════════════════════════════════════ */
.skeleton { background:linear-gradient(90deg,#f0f4f8 25%,#e2e8f0 50%,#f0f4f8 75%); background-size:200% 100%; animation:shimmer 1.5s infinite; border-radius:6px; }
@keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* ═══ SEARCH ═══════════════════════════════════════════════════ */
.search-header { background:var(--surface); border-bottom:1px solid var(--border); padding:1.5rem 0; }
.search-header h1 { font-size:1.4rem; font-weight:700; }
.query-highlight { color:var(--orange); }

/* ═══ RESPONSIVE ═══════════════════════════════════════════════ */
@media(max-width:991.98px){
  .hero-section{padding:60px 0 50px}
  .hero-section::after{display:none}
  .stats-bar{gap:1.25rem}
  .stat-item .stat-num{font-size:1.3rem}
  .navbar-search{width:100%;margin:.5rem 0}
}
@media(max-width:575.98px){
  .hero-section h1{font-size:1.75rem}
  .product-img-wrap{height:155px}
  .stats-bar{gap:.9rem}
}

/* ═══ PRINT ════════════════════════════════════════════════════ */
@media print{
  .navbar,footer,.btn-add-quote,.btn-quote{display:none !important}
  body{font-size:11pt}
  .product-card{break-inside:avoid}
}
