/* ══════════════════════════════════════════════════════
   Flying Carpet Rental — Main Stylesheet
   ══════════════════════════════════════════════════════ */

:root {
  --bg:       #080808;
  --bg2:      #101010;
  --bg3:      #181818;
  --bg4:      #222222;
  --gold:     #D4A017;
  --gold-lt:  #F0C040;
  --gold-dim: rgba(212,160,23,0.1);
  --gold-bdr: rgba(212,160,23,0.28);
  --white:    #FFFFFF;
  --gray:     #999;
  --gray2:    #555;
  --border:   rgba(255,255,255,0.07);
}

*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--white);
  font-family: 'Barlow', sans-serif;
  overflow-x: hidden;
  cursor: none;
}

/* ── CURSOR ── */
#cur  { position:fixed; width:10px; height:10px; background:var(--gold); border-radius:50%; pointer-events:none; z-index:100000; transform:translate(-50%,-50%); transition:width .18s, height .18s; }
#cur-r{ position:fixed; width:32px; height:32px; border:1px solid rgba(212,160,23,.45); border-radius:50%; pointer-events:none; z-index:99999; transform:translate(-50%,-50%); transition:all .1s ease-out; }
@media (pointer:coarse) { #cur, #cur-r { display:none !important; } body { cursor:auto !important; } }
body:has(button:hover) #cur, body:has(a:hover) #cur { width:18px; height:18px; }
body:has(.eq-card:hover) #cur  { width:5px; height:5px; }
body:has(.eq-card:hover) #cur-r{ width:54px; height:54px; border-color:rgba(212,160,23,.7); }

/* ── NOISE ── */
body::before {
  content:'';
  position:fixed; inset:0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
  pointer-events:none; z-index:1000; opacity:.45;
}

/* ── SECTION BACKGROUND (image / video) ── */
.section-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.section-bg--image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.section-bg--video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--bg);
  pointer-events: none;
}
/* Ensure content inside sections with bg sits above overlay */
.categories > *:not(.section-bg):not(.section-bg-overlay),
.equipment  > *:not(.section-bg):not(.section-bg-overlay),
.how        > *:not(.section-bg):not(.section-bg-overlay) {
  position: relative;
  z-index: 2;
}

/* ── NAV ── */
nav#navbar {
  position:fixed; top:0; left:0; right:0;
  z-index:500;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 48px; height:72px;
  background:transparent;
  transition:background .4s, border-color .4s;
  border-bottom:1px solid transparent;
}
nav#navbar.scrolled {
  background:rgba(8,8,8,.96);
  backdrop-filter:blur(20px);
  border-bottom-color:var(--border);
}
.nav-logo { font-family:'Bebas Neue',sans-serif; font-size:22px; letter-spacing:.08em; text-decoration:none; line-height:1; }
.nav-logo span:first-child { color:var(--white); }
.nav-logo span:last-child  { color:var(--gold); }
.nav-links { display:flex; gap:36px; list-style:none; }
.nav-links a { font-family:'Barlow Condensed',sans-serif; font-weight:500; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.55); text-decoration:none; transition:color .2s; }
.nav-links a:hover { color:var(--white); }
.nav-cta { font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--bg); background:var(--gold); border:none; padding:10px 26px; cursor:pointer; transition:background .2s, transform .15s; clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%); text-decoration:none; display:inline-flex; align-items:center; }
.nav-cta:hover { background:var(--gold-lt); transform:translateY(-1px); }

/* ══════════════ HERO ══════════════ */
.hero {
  position:relative; min-height:100vh;
  display:grid; grid-template-columns:1fr 480px;
  align-items:center; padding:100px 64px 0 80px;
  overflow:hidden; gap:40px;
}
#hero-canvas { position:absolute; inset:0; z-index:0; }
.hero-bg-static { position:absolute; inset:0; z-index:0; }
.hero::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:28px;
  background:repeating-linear-gradient(to bottom,var(--bg3) 0,var(--bg3) 16px,transparent 16px,transparent 32px);
  border-right:1px solid var(--border); opacity:.6; z-index:2;
}
.hero-ar { position:absolute; right:520px; top:92px; font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.22em; color:var(--gold); opacity:.4; writing-mode:vertical-rl; text-transform:uppercase; z-index:2; }

/* LEFT col */
.hero-left { position:relative; z-index:3; padding-right:20px; }
.hero-eyebrow { font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:500; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:14px; margin-bottom:20px; opacity:0; animation:fadeUp .7s .2s forwards; }
.hero-eyebrow::before { content:''; display:block; width:36px; height:1px; background:var(--gold); }
h1.hero-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(72px,8.5vw,140px); line-height:.92; letter-spacing:.02em; opacity:0; animation:fadeUp .7s .4s forwards; }
h1.hero-title .w { color:var(--white); display:block; }
h1.hero-title .g { display:block; background:linear-gradient(90deg,var(--gold) 0%,var(--gold-lt) 45%,var(--gold) 100%); background-size:200% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:shimmer 4s linear infinite, fadeUp .7s .4s forwards; }
@keyframes shimmer { 0%{background-position:0% center} 100%{background-position:200% center} }
.hero-sub { font-size:16px; font-weight:300; color:rgba(255,255,255,.45); margin-top:24px; letter-spacing:.06em; opacity:0; animation:fadeUp .7s .6s forwards; }
.hero-sub span { color:rgba(255,255,255,.2); margin:0 6px; }

/* SEARCH BAR */
.search-wrap  { margin-top:40px; position:relative; z-index:10; opacity:0; animation:fadeUp .7s .8s forwards; }
.search-label { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.search-box   { display:flex; align-items:center; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); height:56px; transition:border-color .2s; }
.search-box:focus-within { border-color:var(--gold-bdr); background:rgba(255,255,255,.06); }
.search-icon  { padding:0 16px; flex-shrink:0; }
.search-icon svg { width:18px; height:18px; stroke:var(--gray); fill:none; stroke-width:2; }
.search-box:focus-within .search-icon svg { stroke:var(--gold); }
#search-input { background:transparent; border:none; outline:none; color:var(--white); font-family:'Barlow',sans-serif; font-size:16px; font-weight:300; flex:1; height:100%; }
#search-input::placeholder { color:var(--gray2); }
.search-kbd { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.1em; color:var(--gray2); border:1px solid var(--gray2); padding:2px 7px; margin-right:16px; opacity:.5; }

/* autocomplete dropdown */
#search-dropdown { display:none; position:absolute; top:calc(100% + 4px); left:0; right:0; background:var(--bg2); border:1px solid var(--gold-bdr); z-index:200; max-height:320px; overflow-y:auto; }
#search-dropdown.open { display:block; animation:dropIn .18s ease; }
@keyframes dropIn { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:none} }
.drop-category { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); padding:10px 16px 6px; border-top:1px solid var(--border); }
.drop-category:first-child { border-top:none; }
.drop-item { display:flex; align-items:center; gap:12px; padding:10px 16px; cursor:pointer; transition:background .15s; }
.drop-item:hover, .drop-item.active { background:var(--gold-dim); }
.drop-item-icon { width:32px; height:32px; background:var(--bg3); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.drop-item-icon svg { width:16px; height:16px; stroke:var(--gold); fill:none; stroke-width:1.5; }
.drop-item-name { font-size:14px; font-weight:400; color:var(--white); flex:1; }
.drop-item-badge { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold-bdr); padding:2px 7px; }
.drop-item-price { font-family:'Bebas Neue',sans-serif; font-size:15px; color:var(--gold); margin-left:4px; }
.drop-no-results { padding:20px 16px; font-size:14px; color:var(--gray); font-weight:300; }
.drop-item-img { width:40px; height:40px; flex-shrink:0; overflow:hidden; background:var(--bg3); border:1px solid var(--border); }
.drop-item-img img { width:100%; height:100%; object-fit:cover; display:block; }
.drop-footer { border-top:1px solid var(--border); padding:10px 16px; }
.drop-all-btn { display:flex; align-items:center; justify-content:space-between; font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); text-decoration:none; }
.drop-all-btn:hover { color:#fff; }
.drop-all-btn span { opacity:.7; }
.drop-loading { padding:16px; font-size:13px; color:var(--gray); font-style:italic; text-align:center; }

.hero-actions { display:flex; gap:14px; margin-top:32px; opacity:0; animation:fadeUp .7s 1s forwards; }
.btn-primary { font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--bg) !important; background:var(--gold); border:none; padding:15px 36px; cursor:pointer; position:relative; overflow:hidden; transition:transform .2s; clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%); text-decoration:none; display:inline-flex; align-items:center; }
.btn-primary::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent); transform:translateX(-100%); transition:transform .4s; }
.btn-primary:hover::after { transform:translateX(100%); }
.btn-primary:hover { transform:translateY(-2px); }
.btn-secondary { font-family:'Barlow Condensed',sans-serif; font-weight:500; font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.6); background:transparent; border:1px solid rgba(255,255,255,.18); padding:14px 28px; cursor:pointer; transition:border-color .2s, color .2s, transform .2s; clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%); text-decoration:none; display:inline-flex; align-items:center; }
.btn-secondary:hover { border-color:var(--gold-bdr); color:var(--gold); transform:translateY(-2px); }

/* hero stats */
.hero-stats { display:flex; gap:48px; margin-top:56px; padding-top:40px; border-top:1px solid var(--border); opacity:0; animation:fadeIn .8s 1.2s forwards; }
.stat-num   { font-family:'Bebas Neue',sans-serif; font-size:38px; color:var(--gold); line-height:1; }
.stat-label { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gray2); margin-top:2px; }

/* RIGHT col — DATE PICKER */
.hero-right { position:relative; z-index:2; opacity:0; animation:fadeIn .8s .6s forwards; }
.datepicker-panel { background:rgba(12,12,12,.94); backdrop-filter:blur(24px); border:1px solid var(--gold-bdr); padding:24px; }
.dp-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.dp-title  { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:8px; }
.dp-title svg { width:14px; height:14px; stroke:var(--gold); fill:none; stroke-width:2; }
.dp-nav    { display:flex; gap:4px; }
.dp-nav-btn{ width:28px; height:28px; background:var(--gold-dim); border:1px solid var(--gold-bdr); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s; }
.dp-nav-btn:hover { background:rgba(212,160,23,.2); }
.dp-nav-btn svg { width:12px; height:12px; stroke:var(--gold); fill:none; stroke-width:2.5; }
.dp-months { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px; }
.dp-month  {}
.dp-month-name { font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--white); text-align:center; margin-bottom:10px; }
.dp-weekdays   { display:grid; grid-template-columns:repeat(7,1fr); margin-bottom:4px; }
.dp-wd   { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--gray2); text-align:center; padding:4px 0; }
.dp-days { display:grid; grid-template-columns:repeat(7,1fr); gap:1px; }
.dp-day  { height:30px; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:300; color:rgba(255,255,255,.65); cursor:pointer; position:relative; transition:background .15s, color .15s; user-select:none; }
.dp-day:hover:not(.dp-day--empty):not(.dp-day--past) { background:rgba(212,160,23,.12); color:var(--white); }
.dp-day--empty { cursor:default; }
.dp-day--past  { color:var(--gray2); cursor:default; opacity:.35; }
.dp-day--today::after { content:''; position:absolute; bottom:3px; left:50%; transform:translateX(-50%); width:3px; height:3px; background:var(--gold); border-radius:50%; }
.dp-day--start, .dp-day--end { background:var(--gold)!important; color:var(--bg)!important; font-weight:600; }
.dp-day--in-range { background:rgba(212,160,23,.15)!important; color:var(--white)!important; }
.dp-day--start { clip-path:polygon(6px 0%,100% 0%,100% 100%,0% 100%); }
.dp-day--end   { clip-path:polygon(0% 0%,calc(100% - 6px) 0%,100% 100%,0% 100%); }
.dp-times { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding-top:16px; border-top:1px solid var(--border); margin-bottom:16px; }
.dp-time-field  { display:flex; flex-direction:column; }
.dp-time-label  { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; display:flex; align-items:center; gap:6px; }
.dp-time-label svg { width:11px; height:11px; stroke:currentColor; fill:none; stroke-width:2; }
.dp-time-select { width:100%; background:var(--bg3); border:1px solid var(--border); color:var(--white); font-family:'Barlow',sans-serif; font-size:13px; padding:8px 10px; outline:none; cursor:pointer; transition:border-color .2s; }
.dp-time-select:focus, .dp-time-select:hover { border-color:var(--gold-bdr); }
.dp-time-select option { background:var(--bg2); }
.dp-summary { background:var(--gold-dim); border:1px solid var(--gold-bdr); padding:10px 14px; font-size:13px; font-weight:300; color:rgba(255,255,255,.7); margin-bottom:14px; min-height:40px; display:flex; align-items:center; gap:6px; }
.dp-summary strong { color:var(--gold); font-weight:600; }
.dp-summary.empty  { color:var(--gray2); }
.dp-confirm { width:100%; background:var(--gold); border:none; padding:14px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--bg); cursor:pointer; transition:background .2s; clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%); }
.dp-confirm:hover { background:var(--gold-lt); }

@keyframes fadeUp  { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:none} }
@keyframes fadeIn  { from{opacity:0} to{opacity:1} }

/* ══════════════ SECTIONS ══════════════ */
section { padding:110px 80px; position:relative; }
.section-label { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.section-label::before { content:''; display:block; width:28px; height:1px; background:var(--gold); }
.section-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(38px,4.5vw,68px); letter-spacing:.03em; line-height:1; color:var(--white); }
.section-title em { font-style:normal; color:var(--gold); }

/* ── CATEGORIES ── */
.categories { padding:100px 80px; background:var(--bg2); border-top:1px solid var(--border); }
.cat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); margin-top:56px; }
.cat-card { background:var(--bg2); padding:44px 36px; cursor:pointer; position:relative; overflow:hidden; transition:background .4s; text-decoration:none; display:block; }
.cat-card::before { content:''; position:absolute; inset:0; background:var(--gold-dim); opacity:0; transition:opacity .4s; }
.cat-card:hover { background:var(--bg3); }
.cat-card:hover::before { opacity:1; }
.cat-card-icon { width:52px; height:52px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; margin-bottom:28px; position:relative; transition:border-color .3s; }
.cat-card:hover .cat-card-icon { border-color:var(--gold); }
.cat-card-icon svg { width:24px; height:24px; stroke:var(--gold); fill:none; stroke-width:1.5; }
.cat-card-count { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--gray2); margin-bottom:10px; }
.cat-card-name  { font-family:'Bebas Neue',sans-serif; font-size:32px; letter-spacing:.04em; color:var(--white); margin-bottom:12px; transition:color .3s; line-height:1; }
.cat-card:hover .cat-card-name { color:var(--gold-lt); }
.cat-card-desc  { font-family:'Barlow',sans-serif; font-size:12px; font-weight:300; line-height:1.7; color:var(--gray); }
.cat-card-arrow { position:absolute; bottom:36px; right:36px; width:30px; height:30px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; transform:rotate(-45deg); transition:all .3s; }
.cat-card:hover .cat-card-arrow { border-color:var(--gold); background:var(--gold); transform:rotate(0deg); }
.cat-card-arrow svg { stroke:var(--gray); width:13px; height:13px; fill:none; stroke-width:2; transition:stroke .3s; }
.cat-card:hover .cat-card-arrow svg { stroke:var(--bg); }

/* ── EQUIPMENT CAROUSEL ── */
.equipment { background:var(--bg); }
.eq-carousel-wrap { position:relative; margin-top:56px; }
.eq-carousel { display:flex; overflow:hidden; gap:0; }
.eq-track { display:flex; transition:transform .5s cubic-bezier(.16,1,.3,1); will-change:transform; }
.eq-slide { flex:0 0 calc(33.333% - 1px); min-width:0; border-right:1px solid var(--border); background:var(--bg2); }
.eq-slide:last-child { border-right:none; }
.eq-carousel-wrap::before, .eq-carousel-wrap::after { display:none; }
.eq-nav     { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:24px; }
.eq-nav-btn { width:44px; height:44px; background:var(--bg2); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s, background .2s; }
.eq-nav-btn:hover    { border-color:var(--gold-bdr); background:var(--gold-dim); }
.eq-nav-btn:disabled { opacity:.3; cursor:default; }
.eq-nav-btn svg { width:16px; height:16px; stroke:var(--gold); fill:none; stroke-width:2; }
.eq-dots { display:flex; gap:6px; margin-right:auto; }
.eq-dot  { width:20px; height:2px; background:var(--border); border:none; padding:0; cursor:pointer; transition:background .25s, width .25s; }
.eq-dot.active { width:32px; background:var(--gold); }
.eq-card { position:relative; overflow:hidden; cursor:none; transition:background .3s; }
.eq-card:hover { background:var(--bg3); }
.eq-card::after { content:''; position:absolute; inset:0; border:1px solid var(--gold-bdr); opacity:0; transition:opacity .3s; pointer-events:none; }
.eq-card:hover::after { opacity:1; }
.eq-img-ph { width:100%; aspect-ratio:4/3; background:var(--bg3); position:relative; overflow:hidden; display:block; }
.eq-img-ph img { width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(15%) contrast(1.1); transition:filter .4s, transform .6s; position:absolute; inset:0; }
.eq-card:hover .eq-img-ph img { filter:grayscale(0%) contrast(1.15)!important; transform:scale(1.04); }
.eq-img-ph::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,transparent 40%,rgba(212,160,23,.05) 50%,transparent 60%); }
.eq-body      { padding:24px 28px 28px; }
.eq-badge     { display:inline-block; font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold-bdr); padding:2px 9px; margin-bottom:12px; }
.eq-name      { display:block; font-family:'Bebas Neue',sans-serif; font-size:24px; letter-spacing:.04em; color:var(--white); line-height:1.1; margin-bottom:4px; text-decoration:none; }
.eq-spec      { font-size:12px; font-weight:300; color:var(--gray); margin-bottom:20px; }
.eq-footer    { display:flex; align-items:center; justify-content:space-between; padding-top:18px; border-top:1px solid var(--border); }
.eq-price-amount { font-family:'Bebas Neue',sans-serif; font-size:26px; color:var(--gold); line-height:1; }
.eq-price-unit   { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--gray2); margin-top:2px; }
.eq-add { width:38px; height:38px; background:var(--gold-dim); border:1px solid var(--gold-bdr); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s; }
.eq-add:hover { background:var(--gold); }
.eq-add:hover svg { stroke:var(--bg); }
.eq-add svg { width:16px; height:16px; stroke:var(--gold); fill:none; stroke-width:2; }

/* ── HOW ── */
.how { background:var(--bg2); }
.how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); margin-top:56px; }
.how-step { background:var(--bg2); padding:44px 36px; position:relative; overflow:hidden; }
.how-step::before { content:attr(data-num); position:absolute; right:16px; top:-8px; font-family:'Bebas Neue',sans-serif; font-size:110px; color:rgba(212,160,23,.04); line-height:1; pointer-events:none; user-select:none; }
.how-num  { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.28em; color:var(--gold); margin-bottom:22px; display:flex; align-items:center; gap:10px; }
.how-num::after { content:''; flex:1; height:1px; background:var(--gold-bdr); }
.how-icon { width:48px; height:48px; background:var(--gold-dim); border:1px solid var(--gold-bdr); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.how-icon svg { width:22px; height:22px; stroke:var(--gold); fill:none; stroke-width:1.5; }
.how-title { font-family:'Bebas Neue',sans-serif; font-size:26px; letter-spacing:.05em; color:var(--white); margin-bottom:10px; }
.how-desc  { font-size:13px; font-weight:300; color:var(--gray); line-height:1.7; }

/* ── WHY US ── */
.whyus { background:var(--bg); }
.whyus-header { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:end; margin-bottom:72px; }
.whyus-desc   { font-size:15px; font-weight:300; color:rgba(255,255,255,.45); line-height:1.85; }
.whyus-grid   { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); }
.why-item { background:var(--bg2); padding:36px 28px; transition:background .3s; position:relative; }
.why-item:hover { background:var(--bg3); }
.why-item::after { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.why-item:hover::after { transform:scaleX(1); }
.why-icon  { width:40px; height:40px; margin-bottom:20px; }
.why-icon svg { width:100%; height:100%; stroke:var(--gold); fill:none; stroke-width:1.5; }
.why-title { font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:15px; letter-spacing:.05em; text-transform:uppercase; color:var(--white); margin-bottom:8px; }
.why-desc  { font-size:13px; font-weight:300; color:var(--gray); line-height:1.7; }

/* ── CTA BANNER ── */
.cta-banner { background:var(--gold); padding:72px 80px; display:flex; align-items:center; justify-content:space-between; gap:40px; position:relative; overflow:hidden; }
.cta-banner::before { content:'FCR'; position:absolute; right:72px; top:50%; transform:translateY(-50%); font-family:'Bebas Neue',sans-serif; font-size:180px; color:rgba(0,0,0,.06); line-height:1; pointer-events:none; user-select:none; }
.cta-banner-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(32px,3.5vw,52px); color:var(--bg); letter-spacing:.03em; line-height:1.1; }
.cta-banner-sub   { font-size:14px; font-weight:300; color:rgba(0,0,0,.55); margin-top:6px; }
.btn-dark { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); background:var(--bg); border:none; padding:16px 44px; cursor:pointer; white-space:nowrap; transition:background .2s, transform .2s; clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%); flex-shrink:0; text-decoration:none; display:inline-flex; align-items:center; }
.btn-dark:hover { background:var(--bg3); transform:translateY(-2px); }

/* ── FOOTER ── */
footer { background:var(--bg); border-top:1px solid var(--border); padding:64px 80px 36px; }
.footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:56px; padding-bottom:56px; border-bottom:1px solid var(--border); }
.footer-logo { font-family:'Bebas Neue',sans-serif; font-size:26px; letter-spacing:.08em; margin-bottom:14px; }
.footer-logo span:first-child { color:var(--white); }
.footer-logo span:last-child  { color:var(--gold); }
.footer-tagline   { font-size:13px; font-weight:300; color:var(--gray); line-height:1.7; max-width:240px; }
.footer-col-title { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.footer-links { list-style:none; }
.footer-links li { margin-bottom:9px; }
.footer-links a, .footer-links span { font-size:13px; font-weight:300; color:var(--gray); text-decoration:none; transition:color .2s; }
.footer-links a:hover { color:var(--white); }
.footer-bottom  { display:flex; align-items:center; justify-content:space-between; padding-top:28px; }
.footer-copy    { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.14em; color:var(--gray2); text-transform:uppercase; }
.footer-socials { display:flex; gap:12px; }
.footer-social  { width:32px; height:32px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s, background .2s; text-decoration:none; }
.footer-social:hover { border-color:var(--gold-bdr); background:var(--gold-dim); }
.footer-social svg { width:14px; height:14px; stroke:var(--gray); fill:none; stroke-width:2; }
.footer-social:hover svg { stroke:var(--gold); }

/* ── SCROLL REVEAL ── */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
.reveal-d1 { transition-delay:.1s; }
.reveal-d2 { transition-delay:.2s; }
.reveal-d3 { transition-delay:.3s; }

/* ── WooCommerce base ── */
.fcr-woo-main { padding:0; min-height:60vh; background:var(--bg); }

/* ══════════════════════════════════════
   NAV — right cluster
══════════════════════════════════════ */
.nav-right { display:flex; align-items:center; gap:4px; }

/* ── Nav search — shared button ─────────────────────────────────────────── */
.nav-search-wrap { position:relative; display:flex; align-items:center; }
.nav-search-btn { display:flex; align-items:center; justify-content:center; width:42px; height:42px; background:transparent; border:1px solid transparent; cursor:pointer; transition:border-color .2s, background .2s; flex-shrink:0; }
.nav-search-btn:hover { border-color:var(--gold-bdr); background:var(--gold-dim); }
.nav-search-btn svg { width:18px; height:18px; stroke:rgba(255,255,255,.6); fill:none; stroke-width:1.8; }
.nav-search-wrap.open .nav-search-btn { border-color:var(--gold-bdr); background:var(--gold-dim); border-left:none; }

/* ── Desktop: inline expanding field ───────────────────────────────────── */
.nav-search-inline { max-width:0; width:260px; height:42px; overflow:hidden; display:flex; align-items:center; border:1px solid transparent; border-right:none; background:transparent; transition:max-width .28s cubic-bezier(.4,0,.2,1), border-color .2s, background .2s; }
.nav-search-wrap.open .nav-search-inline { max-width:260px; border-color:var(--gold-bdr); background:var(--gold-dim); }
.nav-search-inline-input { background:transparent; border:none; outline:none; color:var(--white); font-family:'Barlow',sans-serif; font-size:14px; font-weight:300; flex:1; padding:0 12px; height:100%; min-width:0; width:100%; }
.nav-search-inline-input::placeholder { color:var(--gray2); }
.nav-search-inline-dd { display:none; position:absolute; top:calc(100% + 6px); right:0; width:340px; background:var(--bg2); border:1px solid var(--gold-bdr); z-index:700; max-height:320px; overflow-y:auto; }
.nav-search-inline-dd.open { display:block; animation:dropIn .18s ease; }

/* Mobile: hide inline, show overlay */
@media (max-width:768px) { .nav-search-inline, .nav-search-inline-dd { display:none !important; } }
/* Desktop: hide overlay */
@media (min-width:769px) { #nav-search-overlay { display:none !important; } }

/* ── Mobile overlay ─────────────────────────────────────────────────────── */
.nav-search-overlay { position:fixed; inset:0; z-index:9000; display:flex; flex-direction:column; pointer-events:none; }
.nav-search-overlay:not([hidden]) { pointer-events:all; }
.nav-search-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.65); opacity:0; transition:opacity .2s; }
.nav-search-overlay:not([hidden]) .nav-search-backdrop { opacity:1; }
.nav-search-panel { position:relative; width:100%; background:var(--bg2); border-bottom:1px solid var(--border); padding:16px 20px 0; transform:translateY(-100%); transition:transform .25s cubic-bezier(.4,0,.2,1); }
.nav-search-overlay:not([hidden]) .nav-search-panel { transform:translateY(0); }
.nav-search-row { display:flex; align-items:center; gap:12px; height:52px; }
.nav-search-icon { width:18px; height:18px; flex-shrink:0; stroke:var(--gold); fill:none; stroke-width:2; }
.nav-search-input { flex:1; background:transparent; border:none; outline:none; color:var(--white); font-family:'Barlow',sans-serif; font-size:16px; font-weight:300; height:100%; }
.nav-search-input::placeholder { color:var(--gray2); }
.nav-search-close { display:flex; align-items:center; justify-content:center; width:36px; height:36px; flex-shrink:0; background:transparent; border:1px solid var(--border); cursor:pointer; transition:border-color .2s; }
.nav-search-close:hover { border-color:var(--gold-bdr); }
.nav-search-close svg { width:16px; height:16px; stroke:rgba(255,255,255,.6); fill:none; stroke-width:1.8; }
.nav-search-dropdown { display:none; margin:0 -20px; background:var(--bg2); border-top:1px solid var(--border); max-height:min(60vh, 360px); overflow-y:auto; }
.nav-search-dropdown.open { display:block; }

.nav-cart { position:relative; width:42px; height:42px; background:transparent; border:1px solid transparent; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s, background .2s; }
.nav-cart:hover { border-color:var(--gold-bdr); background:var(--gold-dim); }
.nav-cart svg { width:19px; height:19px; stroke:rgba(255,255,255,.6); fill:none; stroke-width:1.8; }
.nav-cart-badge { position:absolute; top:6px; right:6px; width:16px; height:16px; background:var(--gold); border-radius:50%; font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; color:var(--bg); display:flex; align-items:center; justify-content:center; pointer-events:none; }

/* Account wrapper */
.nav-account { position:relative; }
.nav-account-btn { display:flex; align-items:center; width:42px; height:42px; justify-content:center; background:transparent; border:1px solid transparent; cursor:pointer; transition:border-color .2s, background .2s; }
.nav-account-btn:hover { border-color:var(--gold-bdr); background:var(--gold-dim); }
.nav-account-btn svg { width:19px; height:19px; stroke:rgba(255,255,255,.6); fill:none; stroke-width:1.8; }

/* Account dropdown */
.account-dropdown { position:absolute; top:calc(100% + 8px); right:0; width:260px; background:var(--bg2); border:1px solid var(--border); box-shadow:0 16px 48px rgba(0,0,0,.5); z-index:600; opacity:0; pointer-events:none; transform:translateY(-6px); transition:opacity .2s, transform .2s; }
.nav-account.open .account-dropdown { opacity:1; pointer-events:all; transform:none; }
.account-dropdown-head { display:flex; align-items:center; gap:12px; padding:18px 20px; border-bottom:1px solid var(--border); }
.account-avatar { width:36px; height:36px; border-radius:50%; background:var(--bg4); border:1px solid var(--gold-bdr); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:16px; color:var(--gold); flex-shrink:0; }
.account-name  { font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:.04em; color:var(--white); }
.account-email { font-family:'Barlow',sans-serif; font-size:11px; font-weight:300; color:var(--gray2); margin-top:1px; }
.account-dropdown-links { padding:8px 0; }
.account-link { display:flex; align-items:center; gap:10px; padding:10px 20px; font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.55); text-decoration:none; transition:background .15s, color .2s; }
.account-link:hover { background:var(--gold-dim); color:var(--white); }
.account-link--danger:hover { color:#e06050; }
.account-link svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.8; flex-shrink:0; }
.account-dropdown-guest { padding:20px; }
.account-guest-text { font-size:12px; font-weight:300; color:rgba(255,255,255,.5); line-height:1.65; margin-bottom:14px; }
.btn-account-login { display:block; width:100%; background:var(--gold); border:none; color:var(--bg); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:12px; letter-spacing:.2em; text-transform:uppercase; padding:10px; text-align:center; text-decoration:none; margin-bottom:6px; transition:background .2s; clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%); }
.btn-account-login:hover { background:var(--gold-lt); }
.btn-account-register { display:block; width:100%; background:transparent; border:1px solid var(--border); color:rgba(255,255,255,.55); font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.2em; text-transform:uppercase; padding:9px; text-align:center; text-decoration:none; transition:border-color .2s, color .2s; }
.btn-account-register:hover { border-color:var(--gold-bdr); color:var(--gold); }

/* Hamburger */
.nav-hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; background:transparent; border:1px solid transparent; cursor:pointer; padding:0 10px; }
.nav-hamburger span { display:block; height:1.5px; background:rgba(255,255,255,.7); transition:transform .3s, opacity .3s; }
.nav-hamburger span:nth-child(3) { width:65%; }

/* ══════════════════════════════════════
   CART DRAWER
══════════════════════════════════════ */
.cart-overlay { position:fixed; inset:0; z-index:800; pointer-events:none; }
.cart-overlay.open { pointer-events:all; }
.cart-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.6); opacity:0; transition:opacity .3s; cursor:pointer; }
.cart-overlay.open .cart-backdrop { opacity:1; }
.cart-drawer { position:absolute; top:0; right:0; bottom:0; width:400px; background:var(--bg2); border-left:1px solid var(--border); transform:translateX(100%); transition:transform .35s cubic-bezier(.22,.61,.36,1); display:flex; flex-direction:column; }
.cart-overlay.open .cart-drawer { transform:none; }
.cart-head { padding:20px 24px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
.cart-title { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:.08em; }
.cart-close { width:34px; height:34px; background:transparent; border:1px solid var(--border); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:border-color .2s; }
.cart-close:hover { border-color:var(--gold-bdr); }
.cart-close svg { width:15px; height:15px; stroke:var(--gray); fill:none; stroke-width:2; }
.cart-body { flex:1; overflow-y:auto; padding:20px 24px; }
.cart-item { display:flex; gap:14px; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid var(--border); }
.cart-item:last-child { margin-bottom:0; }
.cart-item-img { width:64px; height:48px; object-fit:cover; flex-shrink:0; filter:grayscale(15%); }
.cart-item-info { flex:1; min-width:0; }
.cart-item-name { font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:.04em; color:var(--white); margin-bottom:4px; display:flex; align-items:baseline; flex-wrap:wrap; gap:0; }
.cart-item-name-link { color:var(--white); text-decoration:none; transition:color .2s; }
.cart-item-name-link:hover { color:var(--gold); }
.cart-item-qty-inline { font-size:12px; color:var(--gray2); margin-left:3px; white-space:nowrap; }
.cart-item-meta { font-family:'Barlow Condensed',sans-serif; font-size:11px; color:rgba(255,255,255,.38); letter-spacing:.02em; line-height:1.65; margin-bottom:6px; }
.cart-item-meta .woocommerce-Price-amount { font-size:11px; color:rgba(255,255,255,.38); }
.cart-item-price { font-family:'Bebas Neue',sans-serif; font-size:18px; color:var(--gold); }
.cart-item-remove { width:26px; height:26px; background:transparent; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; opacity:.5; transition:opacity .2s; }
.cart-item-remove:hover { opacity:1; }
.cart-item-remove svg { width:14px; height:14px; stroke:var(--gray); fill:none; stroke-width:2; }
.cart-empty { text-align:center; padding:48px 16px; }
.cart-empty svg { width:40px; height:40px; stroke:var(--gray2); fill:none; stroke-width:1.5; margin-bottom:14px; }
.cart-empty p { font-size:13px; font-weight:300; color:var(--gray2); margin-bottom:20px; }
.btn-cart-shop { display:inline-block; font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold-bdr); padding:8px 20px; text-decoration:none; transition:background .2s; }
.btn-cart-shop:hover { background:var(--gold-dim); }
.cart-foot { padding:16px 24px 20px; border-top:1px solid var(--border); flex-shrink:0; }
/* Tax breakdown rows */
.cart-totals-breakdown { margin-bottom:16px; }
.cart-breakdown-row {
  display:flex; justify-content:space-between; align-items:baseline;
  padding:6px 0;
  font-family:'Barlow Condensed',sans-serif; font-size:12px;
  letter-spacing:.04em; color:rgba(255,255,255,.45);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.cart-breakdown-row span:last-child { font-variant-numeric:tabular-nums; }
.cart-breakdown-total {
  padding-top:10px; margin-top:2px;
  border-bottom:none !important;
  color:var(--white) !important;
}
.cart-breakdown-total span:first-child {
  font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gray2);
}
.cart-breakdown-total span:last-child {
  font-family:'Bebas Neue',sans-serif; font-size:26px; color:var(--gold);
  letter-spacing:.04em;
}
.cart-breakdown-total .woocommerce-Price-amount { font-family:'Bebas Neue',sans-serif; font-size:26px; color:var(--gold); }
.btn-checkout { display:block; width:100%; background:var(--gold); border:none; color:var(--bg); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; letter-spacing:.22em; text-transform:uppercase; padding:14px; cursor:pointer; text-align:center; text-decoration:none; transition:background .2s; clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%); }
.btn-checkout:hover { background:var(--gold-lt); }
.btn-cart-view { display:block; width:100%; text-align:center; background:transparent; border:1px solid var(--border); color:var(--gray2); font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.18em; text-transform:uppercase; padding:10px; text-decoration:none; transition:border-color .2s, color .2s; margin-top:8px; }
.btn-cart-view:hover { border-color:var(--gold-bdr); color:var(--white); }

/* ══════════════════════════════════════
   MOBILE MENU
══════════════════════════════════════ */
.mobile-menu-overlay { position:fixed; inset:0; z-index:1040; pointer-events:none; }
.mobile-menu-overlay.open { pointer-events:all; }
.mobile-menu-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.6); opacity:0; transition:opacity .3s; }
.mobile-menu-overlay.open .mobile-menu-backdrop { opacity:1; }
.mobile-menu-drawer {
    position:absolute; top:0; right:0; bottom:0; width:300px;
    background:var(--bg); border-left:1px solid var(--border);
    transform:translateX(100%); transition:transform .35s cubic-bezier(.22,.61,.36,1);
    display:flex; flex-direction:column; padding:80px 32px 40px; overflow-y:auto;
}
.mobile-menu-overlay.open .mobile-menu-drawer { transform:none; }
.mobile-menu-close { position:absolute; top:20px; right:20px; width:38px; height:38px; background:transparent; border:1px solid var(--border); cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:2; }
.mobile-menu-close svg { width:16px; height:16px; stroke:var(--gray); fill:none; stroke-width:2; }
.mobile-nav-links { list-style:none; display:flex; flex-direction:column; gap:2px; margin-bottom:32px; }
.mobile-nav-links li a,
.mobile-nav-links li > a { font-family:'Bebas Neue',sans-serif; font-size:28px; letter-spacing:.06em; color:rgba(255,255,255,.7); text-decoration:none; display:block; padding:6px 0; transition:color .2s; }
.mobile-nav-links li a:hover { color:var(--gold); }
.mobile-menu-actions { display:flex; flex-direction:column; gap:8px; }
.mobile-login-link { display:block; text-align:center; font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gray2); text-decoration:none; padding:10px; border:1px solid var(--border); transition:color .2s, border-color .2s; }
.mobile-login-link:hover { color:var(--gold); border-color:var(--gold-bdr); }

/* ══════════════════════════════════════
   MOBILE DATEPICKER TRIGGER + BOTTOM SHEET
══════════════════════════════════════ */
.dp-trigger { display:none; width:100%; background:var(--bg2); border:1px solid var(--gold-bdr); color:var(--gold); font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.2em; text-transform:uppercase; padding:14px 20px; cursor:pointer; text-align:left; gap:10px; align-items:center; transition:background .2s; }
.dp-trigger svg { width:15px; height:15px; stroke:var(--gold); fill:none; stroke-width:2; flex-shrink:0; }
.dp-mobile-overlay { position:fixed; inset:0; z-index:900; pointer-events:none; }
.dp-mobile-overlay.open { pointer-events:all; }
.dp-mobile-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.7); opacity:0; transition:opacity .3s; cursor:pointer; }
.dp-mobile-overlay.open .dp-mobile-backdrop { opacity:1; }
.dp-mobile-sheet { position:absolute; bottom:0; left:0; right:0; background:var(--bg2); border-top:1px solid var(--gold-bdr); border-top-left-radius:0; border-top-right-radius:0; padding:24px 20px 32px; transform:translateY(100%); transition:transform .35s cubic-bezier(.22,.61,.36,1); max-height:85vh; overflow-y:auto; }
.dp-mobile-overlay.open .dp-mobile-sheet { transform:none; }
.dp-mobile-sheet-close { position:absolute; top:12px; right:16px; width:32px; height:32px; background:transparent; border:1px solid var(--border); cursor:pointer; display:flex; align-items:center; justify-content:center; }
.dp-mobile-sheet-close svg { width:14px; height:14px; stroke:var(--gray); fill:none; stroke-width:2; }

/* ══════════════════════════════════════
   SHOP / CATALOG PAGE
══════════════════════════════════════ */
.shop-header { margin-top:72px; padding:40px 48px; position:relative; background:var(--bg2); border-bottom:1px solid var(--border); overflow:hidden; }
.shop-header::before { content:''; position:absolute; left:0; top:0; bottom:0; width:20px; background:repeating-linear-gradient(to bottom,var(--bg3) 0,var(--bg3) 12px,transparent 12px,transparent 24px); border-right:1px solid var(--border); opacity:.5; }
.shop-header::after { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(to right,transparent,var(--gold-bdr) 30%,var(--gold-bdr) 70%,transparent); }
.shop-header-inner { max-width:1400px; margin:0 auto; }
.breadcrumb { display:flex; align-items:center; gap:8px; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gray2); margin-bottom:16px; flex-wrap:wrap; }
.shop-layout > .breadcrumb { grid-column:1 / -1; margin-bottom:0; padding-bottom:16px; border-bottom:1px solid var(--border); }
.breadcrumb a { color:var(--gray2); text-decoration:none; transition:color .2s; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb svg { width:10px; height:10px; stroke:var(--gray2); fill:none; stroke-width:2; flex-shrink:0; }
.breadcrumb span { color:var(--gold); }
.shop-header-row { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.shop-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(36px,5vw,72px); letter-spacing:.03em; line-height:1; color:var(--white); }
.shop-title em { font-style:normal; color:var(--gold); }
.shop-header-meta { display:flex; gap:32px; padding-bottom:4px; }
.shop-meta-item { text-align:right; }
.shop-meta-num { font-family:'Bebas Neue',sans-serif; font-size:32px; color:var(--gold); line-height:1; }
.shop-meta-label { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gray2); margin-top:2px; }
.shop-wrap { max-width:1400px; margin:0 auto; padding:0 48px 100px; }
.shop-layout { display:grid; grid-template-columns:280px 1fr; gap:0; padding-top:40px; align-items:start; }
/* sidebar */
.shop-sidebar { position:sticky; top:88px; padding-right:32px; }
.sb-search { margin-bottom:28px; }
.sb-search-box { display:flex; align-items:center; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); height:44px; transition:border-color .2s; }
.sb-search-box:focus-within { border-color:var(--gold-bdr); }
.sb-search-box svg { width:15px; height:15px; stroke:var(--gray); fill:none; stroke-width:2; margin:0 12px; flex-shrink:0; transition:stroke .2s; }
.sb-search-box:focus-within svg { stroke:var(--gold); }
.sb-search-box input { background:transparent; border:none; outline:none; color:var(--white); font-family:'Barlow',sans-serif; font-size:13px; font-weight:300; flex:1; height:100%; }
.sb-search-box input::placeholder { color:var(--gray2); }
.sb-active { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:24px; min-height:0; }
.sb-chip { display:inline-flex; align-items:center; gap:6px; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold-bdr); background:var(--gold-dim); padding:3px 8px; text-decoration:none; transition:background .2s; }
.sb-chip:hover { background:rgba(212,160,23,.2); }
.sb-chip svg { width:10px; height:10px; stroke:var(--gold); fill:none; stroke-width:2.5; }
.sb-clear { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gray2); background:none; border:none; cursor:pointer; padding:0; transition:color .2s; display:block; margin-bottom:20px; text-decoration:none; }
.sb-clear:hover { color:var(--white); }
.sb-section { border-top:1px solid var(--border); padding:18px 0; }
.sb-section:last-child { border-bottom:1px solid var(--border); }
.sb-section-head { display:flex; align-items:center; justify-content:space-between; cursor:pointer; user-select:none; }
.sb-section-title { font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--white); }
.sb-section-chevron { width:12px; height:12px; stroke:var(--gray2); fill:none; stroke-width:2.5; transition:transform .25s; }
.sb-section.open .sb-section-chevron { transform:rotate(180deg); }
.sb-section-body { overflow:hidden; max-height:0; transition:max-height .3s ease, padding .3s ease; }
.sb-section.open .sb-section-body { max-height:400px; padding-top:14px; }
.sb-option { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:5px 0; cursor:pointer; user-select:none; text-decoration:none; }
.sb-option:hover .sb-option-label { color:var(--white); }
.sb-option input[type=checkbox] { display:none; }
.sb-check { width:16px; height:16px; border:1px solid var(--gray2); background:transparent; flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:border-color .2s, background .2s; }
.sb-option input:checked + .sb-check { border-color:var(--gold); background:var(--gold); }
.sb-option input:checked + .sb-check::after { content:''; display:block; width:8px; height:5px; border-left:1.5px solid var(--bg); border-bottom:1.5px solid var(--bg); transform:rotate(-45deg) translateY(-1px); }
.sb-option-label { font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:.04em; color:rgba(255,255,255,.6); flex:1; transition:color .2s; }
.sb-option-count { font-family:'Barlow Condensed',sans-serif; font-size:11px; color:var(--gray2); }
.sb-price-inputs { display:grid; grid-template-columns:1fr auto 1fr; gap:8px; align-items:center; margin-top:4px; }
.sb-price-input { background:var(--bg3); border:1px solid var(--border); color:var(--white); font-family:'Barlow',sans-serif; font-size:13px; padding:8px 10px; outline:none; width:100%; transition:border-color .2s; }
.sb-price-input:focus { border-color:var(--gold-bdr); }
.sb-price-sep { font-family:'Barlow Condensed',sans-serif; font-size:13px; color:var(--gray2); text-align:center; }
.sb-price-apply { margin-top:10px; width:100%; background:var(--gold-dim); border:1px solid var(--gold-bdr); padding:8px; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); cursor:pointer; transition:background .2s; }
.sb-price-apply:hover { background:rgba(212,160,23,.2); }
.sb-radio { display:flex; align-items:center; gap:10px; padding:5px 0; cursor:pointer; text-decoration:none; }
.sb-radio input { display:none; }
.sb-radio-dot { width:16px; height:16px; border-radius:50%; border:1px solid var(--gray2); flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:border-color .2s; }
.sb-radio input:checked ~ .sb-radio-dot { border-color:var(--gold); }
.sb-radio input:checked ~ .sb-radio-dot::after { content:''; width:8px; height:8px; border-radius:50%; background:var(--gold); display:block; }
.sb-radio-label { font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:.04em; color:rgba(255,255,255,.6); transition:color .2s; }
.sb-radio:hover .sb-radio-label { color:var(--white); }

/* ═══ Filter Everything plugin ══════════════════════════════════════════════ */
/* Section */
.wpc-filters-main-wrap .wpc-filters-section { border-top:1px solid var(--border); padding:18px 0; margin-bottom:0; }
.wpc-filters-main-wrap .wpc-filters-section:last-child { border-bottom:1px solid var(--border); }
/* Collapsible header */
.wpc-filters-main-wrap .wpc-filter-header { display:flex; align-items:center; justify-content:space-between; cursor:pointer; user-select:none; }
.wpc-filters-main-wrap .wpc-filter-collapsible .wpc-filter-header::after { content:''; width:12px; height:12px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-size:contain; background-repeat:no-repeat; flex-shrink:0; transition:transform .25s; }
.wpc-filters-main-wrap .wpc-filter-collapsible.wpc-opened .wpc-filter-header::after { transform:rotate(180deg); }
/* Filter title */
.wpc-filters-main-wrap .wpc-filter-title,.wpc-filters-main-wrap .widget-title.wpc-filter-title { font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--white); margin:0; padding:0; border:none; background:none; }
/* Filter content */
.wpc-filters-main-wrap .wpc-filter-collapsible .wpc-filter-content { display:none; }
.wpc-filters-main-wrap .wpc-filter-collapsible.wpc-opened .wpc-filter-content { display:block; padding-top:14px; }
/* Checkbox list */
.wpc-filters-main-wrap ul.wpc-filters-ul-list { list-style:none; margin:0; padding:0; }
.wpc-filters-main-wrap li.wpc-term-item { padding:0; }
.wpc-filters-main-wrap .wpc-term-item-content-wrapper { display:flex; align-items:center; gap:0; padding:5px 0; cursor:pointer; }
/* Hide native input */
.wpc-filters-main-wrap input[type="checkbox"].wpc-term-checkbox,
.wpc-filters-main-wrap input[type="radio"].wpc-term-checkbox { display:none !important; }
/* Label = row */
.wpc-filters-main-wrap .wpc-term-item-content-wrapper label { display:flex; align-items:center; gap:10px; cursor:pointer; flex:1; margin:0; }
/* Custom checkbox via ::before */
.wpc-filters-main-wrap .wpc-filters-checkboxes .wpc-term-item-content-wrapper label::before { content:''; width:16px; height:16px; border:1px solid var(--gray2); background:transparent; flex-shrink:0; transition:border-color .2s,background .2s; }
.wpc-filters-main-wrap .wpc-filters-checkboxes .wpc-term-item-content-wrapper:hover label::before { border-color:var(--gold-bdr); }
.wpc-filters-main-wrap .wpc-filters-checkboxes input:checked + label::before,
.wpc-filters-main-wrap .wpc-filters-checkboxes .wpc-term-selected .wpc-term-item-content-wrapper label::before { border-color:var(--gold); background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='%23080808' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px 7px no-repeat; }
/* Custom radio via ::before */
.wpc-filters-main-wrap .wpc-filters-radio .wpc-term-item-content-wrapper label::before { content:''; width:16px; height:16px; border-radius:50%; border:1px solid var(--gray2); background:transparent; flex-shrink:0; transition:border-color .2s,box-shadow .2s; }
.wpc-filters-main-wrap .wpc-filters-radio .wpc-term-item-content-wrapper:hover label::before { border-color:var(--gold-bdr); }
.wpc-filters-main-wrap .wpc-filters-radio input:checked + label::before,
.wpc-filters-main-wrap .wpc-filters-radio .wpc-term-selected .wpc-term-item-content-wrapper label::before { border-color:var(--gold); box-shadow:inset 0 0 0 4px var(--gold); }
/* Term name + count */
.wpc-filters-main-wrap .wpc-term-name { font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:.04em; color:rgba(255,255,255,.6); flex:1; transition:color .2s; }
.wpc-filters-main-wrap .wpc-term-item-content-wrapper:hover .wpc-term-name,
.wpc-filters-main-wrap .wpc-term-item.wpc-term-selected .wpc-term-name { color:var(--white); }
.wpc-filters-main-wrap .wpc-term-count { font-family:'Barlow Condensed',sans-serif; font-size:11px; color:var(--gray2); white-space:nowrap; }
/* Disabled term */
.wpc-filters-main-wrap .wpc-term-item.wpc-term-disabled .wpc-term-name,
.wpc-filters-main-wrap .wpc-term-item.wpc-term-disabled .wpc-term-count { opacity:.35; cursor:default; }
/* Price range inputs */
.wpc-filters-main-wrap .wpc-filters-range-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:12px; }
.wpc-filters-main-wrap .wpc-filters-range-min,
.wpc-filters-main-wrap .wpc-filters-range-max { background:var(--bg3); border:1px solid var(--border); color:var(--white); font-family:'Barlow',sans-serif; font-size:13px; padding:8px 10px; outline:none; width:100%; transition:border-color .2s; -moz-appearance:textfield; }
.wpc-filters-main-wrap .wpc-filters-range-min:focus,
.wpc-filters-main-wrap .wpc-filters-range-max:focus { border-color:var(--gold-bdr); }
.wpc-filters-main-wrap .wpc-filters-range-min::-webkit-outer-spin-button,
.wpc-filters-main-wrap .wpc-filters-range-min::-webkit-inner-spin-button,
.wpc-filters-main-wrap .wpc-filters-range-max::-webkit-outer-spin-button,
.wpc-filters-main-wrap .wpc-filters-range-max::-webkit-inner-spin-button { -webkit-appearance:none; }
/* jQuery UI slider */
.wpc-filters-main-wrap .wpc-filters-range-slider-wrapper { padding:8px 8px 0; }
.wpc-filters-main-wrap .ui-slider { height:3px; background:var(--border); border:none; border-radius:0; position:relative; }
.wpc-filters-main-wrap .ui-slider-range { background:var(--gold); border-radius:0; }
.wpc-filters-main-wrap .ui-slider-handle { width:14px !important; height:14px !important; background:var(--gold) !important; border:2px solid var(--gold) !important; border-radius:50% !important; top:-6px !important; margin-left:-7px !important; cursor:pointer !important; outline:none !important; transition:transform .15s,box-shadow .15s !important; }
.wpc-filters-main-wrap .ui-slider-handle:hover,
.wpc-filters-main-wrap .ui-slider-handle:focus { transform:scale(1.2) !important; box-shadow:0 0 0 3px var(--gold-dim) !important; }
.wpc-filters-main-wrap .ui-widget-content { background:transparent; border:none; }
.wpc-filters-main-wrap .ui-widget-header { background:var(--gold); border:none; }
/* Submit / Reset buttons */
.wpc-filters-main-wrap .wpc-filter-layout-submit-button { margin-top:16px; display:flex; gap:8px; flex-direction:row; }
.wpc-filters-main-wrap .wpc-filters-submit-button,
.wpc-filters-main-wrap .wpc-filters-reset-button { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; cursor:pointer; padding:8px 14px; border:1px solid; transition:background .2s; flex:1; }
.wpc-filters-main-wrap .wpc-filters-submit-button { background:var(--gold-dim); border-color:var(--gold-bdr); color:var(--gold); }
.wpc-filters-main-wrap .wpc-filters-submit-button:hover { background:rgba(212,160,23,.2); }
.wpc-filters-main-wrap .wpc-filters-reset-button { background:transparent; border-color:var(--border); color:var(--gray2); }
.wpc-filters-main-wrap .wpc-filters-reset-button:hover { background:rgba(255,255,255,.05); color:var(--white); }
/* See more / less */
.wpc-filters-main-wrap .wpc-see-more-control,
.wpc-filters-main-wrap .wpc-see-less-control { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gray2); text-decoration:none; display:block; margin-top:8px; transition:color .2s; }
.wpc-filters-main-wrap .wpc-see-more-control:hover,
.wpc-filters-main-wrap .wpc-see-less-control:hover { color:var(--white); }
/* Dropdown select */
.wpc-filters-main-wrap .wpc-filters-widget-select { width:100%; background:var(--bg3); border:1px solid var(--border); color:var(--white); font-family:'Barlow Condensed',sans-serif; font-size:13px; padding:9px 10px; outline:none; cursor:pointer; transition:border-color .2s; }
.wpc-filters-main-wrap .wpc-filters-widget-select:focus { border-color:var(--gold-bdr); }
/* Search field inside filter */
.wpc-filters-main-wrap .wpc-filter-search-field { width:100%; background:rgba(255,255,255,.04); border:1px solid var(--border); color:var(--white); font-family:'Barlow',sans-serif; font-size:13px; padding:7px 10px; outline:none; transition:border-color .2s; margin-bottom:10px; }
.wpc-filters-main-wrap .wpc-filter-search-field:focus { border-color:var(--gold-bdr); }
/* Active filter chips */
.wpc-filter-chips-list { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; list-style:none; padding:0; }
.wpc-filter-chip { display:inline-flex; align-items:center; gap:6px; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold-bdr); background:var(--gold-dim); padding:3px 8px; text-decoration:none; transition:background .2s; cursor:pointer; }
.wpc-filter-chip:hover { background:rgba(212,160,23,.2); }
.wpc-chip-content { display:inline-flex; align-items:center; gap:6px; }
.wpc-chip-remove-icon { font-size:0; width:10px; height:10px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4A017' stroke-width='2.5'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E"); background-size:contain; background-repeat:no-repeat; display:inline-block; flex-shrink:0; }
li.wpc-chip-reset-all .wpc-filter-chip { border-color:var(--border); background:transparent; color:var(--gray2); }
li.wpc-chip-reset-all .wpc-filter-chip:hover { color:var(--white); background:rgba(255,255,255,.05); }
/* Posts found text */
.wpc-filters-found-posts,.wpc-posts-found { font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.1em; color:var(--gray2); }

/* shop main */
.shop-main { min-width:0; }
.shop-toolbar { display:flex; align-items:center; gap:16px; padding-bottom:24px; border-bottom:1px solid var(--border); margin-bottom:28px; flex-wrap:wrap; }
.shop-count { font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gray2); margin-right:auto; }
.shop-count strong { color:var(--white); font-weight:600; }
.shop-sort { background:var(--bg2); border:1px solid var(--border); color:var(--white); font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.1em; padding:8px 12px; outline:none; cursor:pointer; transition:border-color .2s; appearance:none; -webkit-appearance:none; padding-right:28px; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9' stroke='%23555' stroke-width='2' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 8px center; background-size:14px; }
.shop-sort:focus,.shop-sort:hover { border-color:var(--gold-bdr); }
.shop-sort option { background:var(--bg2); }
.view-toggle { display:flex; gap:0; }
.view-btn { width:34px; height:34px; background:transparent; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s, background .2s; margin-left:-1px; }
.view-btn:hover { border-color:var(--gold-bdr); }
.view-btn.active { background:var(--gold-dim); border-color:var(--gold-bdr); }
.view-btn svg { width:14px; height:14px; stroke:var(--gray2); fill:none; stroke-width:1.8; }
.view-btn.active svg { stroke:var(--gold); }
/* WooCommerce shortcode product grid — uses same pcard template */
ul.products { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1px; background:var(--border); list-style:none; margin:0; padding:0; }
ul.products li.pcard-li { margin:0; padding:0; list-style:none; }
ul.products li.pcard-li .pcard { height:100%; }
/* Inside mega menu: stack vertically (full column width), no grid cramping */
#mega-menu-wrap-primary ul.products { display:block !important; background:transparent !important; gap:0 !important; }
#mega-menu-wrap-primary ul.products li.pcard-li { margin-bottom:1px; }


/* product grid */
.products-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); }
.products-grid.cols-2 { grid-template-columns:repeat(2,1fr); }
.products-grid.list-view { grid-template-columns:1fr; background:transparent; gap:1px; }
/* product card */
.pcard { background:var(--bg2); position:relative; overflow:hidden; cursor:default; transition:background .3s; display:flex; flex-direction:column; }
.pcard:hover { background:var(--bg3); }
.pcard::after { content:''; position:absolute; inset:0; border:1px solid var(--gold-bdr); opacity:0; transition:opacity .3s; pointer-events:none; z-index:1; }
.pcard:hover::after { opacity:1; }
.pcard-img { position:relative; overflow:hidden; aspect-ratio:4/3; display:block; background:var(--bg3); flex-shrink:0; }
.pcard-img img { width:100%; height:100%; object-fit:cover; filter:grayscale(15%) contrast(1.1); transition:filter .4s, transform .6s; display:block; }
.pcard:hover .pcard-img img { filter:grayscale(0%) contrast(1.15); transform:scale(1.04); }
.pcard-img::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 50%,rgba(8,8,8,.5)); pointer-events:none; }
.pcard-avail { position:absolute; top:12px; left:12px; font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.18em; text-transform:uppercase; padding:3px 8px; z-index:2; }
.pcard-avail.available { background:rgba(50,180,80,.15); border:1px solid rgba(50,180,80,.4); color:#4caf72; }
.pcard-avail.rented   { background:rgba(212,80,50,.1); border:1px solid rgba(212,80,50,.3); color:#e06050; }
.pcard-wish { position:absolute; top:10px; right:10px; width:30px; height:30px; background:rgba(8,8,8,.7); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:2; opacity:0; transform:translateY(-4px); transition:opacity .2s, transform .2s, border-color .2s, background .2s; }
.pcard:hover .pcard-wish { opacity:1; transform:none; }
.pcard-wish:hover { border-color:var(--gold-bdr); background:var(--gold-dim); }
.pcard-wish svg { width:14px; height:14px; stroke:var(--gray); fill:none; stroke-width:1.8; transition:stroke .2s; }
.pcard-wish:hover svg,.pcard-wish.wishlisted svg { stroke:var(--gold); }

/* ── Wishlist plugin: thumb button on product cards ── */
.pcard-wish.alg-wc-wl-toggle-btn { display:flex !important; align-items:center !important; justify-content:center !important; margin:0 !important; padding:0 !important; float:none !important; }
.pcard-wish.remove svg { stroke:var(--gold); fill:rgba(212,160,23,.25); }

/* ── Wishlist plugin: default button on single product (styled as btn-ghost) ── */
.product-actions .alg-wc-wl-btn-wrapper { flex:1; margin:0; padding:0; }
.product-actions .alg-wc-wl-btn-wrapper .alg-wc-wl-btn {
  display:flex !important; align-items:center; justify-content:center; gap:8px;
  width:100%; height:100%;
  background:transparent !important; border:1px solid var(--border) !important;
  color:rgba(255,255,255,.55) !important;
  font-family:'Barlow Condensed',sans-serif !important; font-size:11px !important;
  font-weight:400 !important; letter-spacing:.18em !important; text-transform:uppercase !important;
  padding:10px !important; cursor:pointer;
  transition:border-color .2s, color .2s;
  margin:0 !important; float:none !important; border-radius:0 !important;
  box-shadow:none !important;
}
.product-actions .alg-wc-wl-btn-wrapper .alg-wc-wl-btn:hover,
.product-actions .alg-wc-wl-btn-wrapper .alg-wc-wl-btn.remove { border-color:var(--gold-bdr) !important; color:var(--gold) !important; background:transparent !important; }
/* show/hide add vs remove text via plugin's state classes */
.product-actions .alg-wc-wl-btn-wrapper .alg-wc-wl-view-state { display:none !important; }
.product-actions .alg-wc-wl-btn-wrapper .alg-wc-wl-btn.add .alg-wc-wl-view-state-add,
.product-actions .alg-wc-wl-btn-wrapper .alg-wc-wl-btn.remove .alg-wc-wl-view-state-remove { display:inline !important; }
/* SVG heart icon */
.product-actions .alg-wc-wl-btn-wrapper .fcr-wl-icon {
  width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.8; flex-shrink:0;
}
.product-actions .alg-wc-wl-btn-wrapper .alg-wc-wl-btn.remove .fcr-wl-icon { fill:currentColor; }
/* suppress plugin's FA icon scale on hover */
.product-actions .alg-wc-wl-btn-wrapper .alg-wc-wl-btn:hover .alg-wc-wl-view-state i { transform:none !important; }
.pcard-body { padding:18px 20px 20px; display:flex; flex-direction:column; flex:1; }
.pcard-cat { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold-bdr); padding:2px 7px; display:inline-block; margin-bottom:10px; align-self:flex-start; text-decoration:none; }
.pcard-name { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:.04em; color:var(--white); line-height:1.1; margin-bottom:4px; transition:color .3s; text-decoration:none; display:block; }
.pcard:hover .pcard-name { color:var(--gold-lt); }
.pcard-spec { font-size:11px; font-weight:300; color:var(--gray); line-height:1.6; margin-bottom:auto; padding-bottom:14px; }
.pcard-footer { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid var(--border); margin-top:auto; }
.pcard-price-amount { font-family:'Bebas Neue',sans-serif; font-size:22px; color:var(--gold); line-height:1; }
.pcard-price-unit { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--gray2); margin-top:1px; }
.pcard-price-tax { color:var(--gold); opacity:.7; }
.pcard-stock { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--gray2); margin-top:3px; }
.pcard-add { width:34px; height:34px; background:var(--gold-dim); border:1px solid var(--gold-bdr); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s; flex-shrink:0; }
.pcard-add:hover { background:rgba(212,160,23,.25); }
.pcard-add svg { width:14px; height:14px; stroke:var(--gold); fill:none; stroke-width:2.5; }
/* list view card */
.list-view .pcard { flex-direction:row; }
.list-view .pcard-img { width:200px; aspect-ratio:unset; min-height:140px; }
.list-view .pcard-body { padding:20px 24px; }
/* pagination */
.shop-pagination { display:flex; align-items:center; justify-content:center; gap:4px; padding-top:40px; }
.page-numbers { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:.1em; color:var(--gray2); border:1px solid var(--border); text-decoration:none; transition:border-color .2s, color .2s, background .2s; }
.page-numbers:hover { border-color:var(--gold-bdr); color:var(--gold); }
.page-numbers.current { background:var(--gold); color:var(--bg); border-color:var(--gold); font-weight:700; }
.page-numbers.dots { border:none; width:auto; padding:0 4px; }
/* mobile filter fab */
.filter-fab { display:none; position:fixed; bottom:24px; right:24px; z-index:600; background:var(--gold); border:none; color:var(--bg); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:12px; letter-spacing:.18em; text-transform:uppercase; padding:12px 22px; cursor:pointer; display:none; align-items:center; gap:8px; clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%); box-shadow:0 4px 20px rgba(0,0,0,.5); transition:background .2s; }
.filter-fab:hover { background:var(--gold-lt); }
.filter-fab svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; }
/* filter bottom sheet */
.filter-overlay { position:fixed; inset:0; z-index:700; pointer-events:none; }
.filter-overlay.open { pointer-events:all; }
.filter-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.7); opacity:0; transition:opacity .3s; cursor:pointer; }
.filter-overlay.open .filter-backdrop { opacity:1; }
.filter-sheet { position:absolute; bottom:0; left:0; right:0; background:var(--bg2); border-top:1px solid var(--gold-bdr); padding:20px 20px 40px; transform:translateY(100%); transition:transform .35s cubic-bezier(.22,.61,.36,1); max-height:80vh; overflow-y:auto; }
.filter-overlay.open .filter-sheet { transform:none; }
.filter-sheet-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.filter-sheet-title { font-family:'Bebas Neue',sans-serif; font-size:18px; letter-spacing:.06em; }
.filter-sheet-close { width:34px; height:34px; background:transparent; border:1px solid var(--border); cursor:pointer; display:flex; align-items:center; justify-content:center; }
.filter-sheet-close svg { width:14px; height:14px; stroke:var(--gray); fill:none; stroke-width:2; }

/* ══════════════════════════════════════
   SINGLE PRODUCT PAGE
══════════════════════════════════════ */
.product-header { margin-top:72px; padding:24px 48px 0; background:var(--bg); position:relative; }
.product-header::after { content:''; position:absolute; left:0; bottom:0; right:0; height:1px; background:linear-gradient(to right,transparent,var(--gold-bdr) 30%,var(--gold-bdr) 70%,transparent); }
.product-header-inner { max-width:1400px; margin:0 auto; padding:24px 0; }
.product-wrap { max-width:1400px; margin:0 auto; padding:0 48px 80px; }
.product-layout { display:grid; grid-template-columns:1fr 420px; gap:64px; padding-top:40px; align-items:start; }
/* gallery */
.product-gallery { position:sticky; top:88px; }
.gallery-main { position:relative; overflow:hidden; background:var(--bg3); aspect-ratio:16/10; cursor:zoom-in; }
.gallery-main img { width:100%; height:100%; object-fit:cover; filter:grayscale(10%) contrast(1.12); transition:transform .6s ease, filter .4s; display:block; }
.gallery-main:hover img { transform:scale(1.03); filter:grayscale(0%) contrast(1.15); }
.gallery-main::before,.gallery-main::after { content:''; position:absolute; top:0; bottom:0; width:18px; background:repeating-linear-gradient(to bottom,var(--bg) 0,var(--bg) 10px,transparent 10px,transparent 20px); z-index:2; opacity:.55; pointer-events:none; }
.gallery-main::before { left:0; }
.gallery-main::after  { right:0; }
.gallery-avail { position:absolute; top:18px; left:28px; z-index:3; display:flex; align-items:center; gap:7px; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase; background:rgba(8,8,8,.85); border:1px solid rgba(76,175,114,.5); color:#4caf72; padding:6px 12px; backdrop-filter:blur(8px); }
.gallery-avail-dot { width:6px; height:6px; border-radius:50%; background:#4caf72; flex-shrink:0; animation:pulse-dot 2s ease-in-out infinite; }
.gallery-avail.unavailable { border-color:rgba(212,80,50,.5); color:#e06050; }
.gallery-avail.unavailable .gallery-avail-dot { background:#e06050; }
@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.7)} }
.gallery-zoom { position:absolute; bottom:16px; right:28px; z-index:3; width:34px; height:34px; background:rgba(8,8,8,.75); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s, background .2s; backdrop-filter:blur(6px); }
.gallery-zoom:hover { border-color:var(--gold-bdr); background:var(--gold-dim); }
.gallery-zoom svg { width:15px; height:15px; stroke:rgba(255,255,255,.6); fill:none; stroke-width:2; }
.gallery-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:4px; margin-top:4px; }
.gthumb { position:relative; overflow:hidden; aspect-ratio:4/3; cursor:pointer; background:var(--bg3); }
.gthumb img { width:100%; height:100%; object-fit:cover; filter:grayscale(25%) brightness(.7); transition:filter .3s, transform .4s; display:block; }
.gthumb:hover img,.gthumb.active img { filter:grayscale(0%) brightness(1); transform:scale(1.06); }
.gthumb::after { content:''; position:absolute; inset:0; border:2px solid transparent; transition:border-color .2s; pointer-events:none; }
.gthumb.active::after { border-color:var(--gold); }
.gallery-ribbon { display:flex; gap:0; margin-top:4px; border:1px solid var(--border); background:var(--bg2); }
.ribbon-item { flex:1; padding:12px 16px; border-right:1px solid var(--border); text-align:center; }
.ribbon-item:last-child { border-right:none; }
.ribbon-val { font-family:'Bebas Neue',sans-serif; font-size:18px; color:var(--white); letter-spacing:.06em; line-height:1; }
.ribbon-key { font-family:'Barlow Condensed',sans-serif; font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--gray2); margin-top:3px; }
/* product info */
.product-badges { display:flex; align-items:center; gap:8px; margin-bottom:18px; flex-wrap:wrap; }
.product-cat { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold-bdr); background:var(--gold-dim); padding:3px 9px; text-decoration:none; }
.product-serial { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--gray2); border:1px solid var(--border); padding:3px 9px; }
.product-name { font-family:'Bebas Neue',sans-serif; font-size:clamp(38px,4.5vw,58px); letter-spacing:.04em; line-height:.95; color:var(--white); margin-bottom:12px; }
.product-name em { display:block; font-style:normal; color:var(--gold); }
.product-short { font-size:13px; font-weight:300; color:rgba(255,255,255,.6); line-height:1.7; margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid var(--border); }
.product-pills { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:28px; }
.pill { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.6); background:rgba(255,255,255,.04); border:1px solid var(--border); padding:4px 10px; }
/* rental box */
.rental-box { background:var(--bg2); border:1px solid var(--border); margin-bottom:24px; position:relative; overflow:hidden; }
.rental-box::before { content:'WYNAJEM'; position:absolute; top:-2px; right:16px; font-family:'Bebas Neue',sans-serif; font-size:10px; letter-spacing:.3em; color:var(--gold-bdr); pointer-events:none; }
.rental-box-inner { padding:24px; }
.rental-price-row { display:flex; align-items:baseline; gap:10px; margin-bottom:20px; }
.rental-price-main { font-family:'Bebas Neue',sans-serif; font-size:46px; color:var(--gold); letter-spacing:.03em; line-height:1; }
.rental-price-unit { font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--gray2); }
.rental-price-ref { font-family:'Barlow Condensed',sans-serif; font-size:12px; color:var(--gray2); text-decoration:line-through; margin-left:auto; }
.rental-dates { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); margin-bottom:16px; }
.rental-date-field { background:var(--bg3); padding:12px 14px; cursor:pointer; transition:background .2s; }
.rental-date-field:hover { background:var(--bg4); }
.rental-date-label { font-family:'Barlow Condensed',sans-serif; font-size:9px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:6px; margin-bottom:4px; }
.rental-date-label svg { width:11px; height:11px; stroke:currentColor; fill:none; stroke-width:2; }
.rental-date-val,.rental-date-placeholder { font-family:'Barlow Condensed',sans-serif; font-size:15px; letter-spacing:.06em; }
.rental-date-val { color:var(--white); }
.rental-date-placeholder { color:var(--gray2); }
.rental-counter-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.rental-counter-label { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gray2); }
.rental-counter { display:flex; align-items:center; }
.rental-counter-btn { width:30px; height:30px; background:var(--bg3); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s, background .2s; }
.rental-counter-btn:hover { border-color:var(--gold-bdr); background:var(--gold-dim); }
.rental-counter-btn:disabled { opacity:.35; cursor:default; }
.rental-counter-btn svg { width:12px; height:12px; stroke:var(--gray); fill:none; stroke-width:2.5; }
.rental-counter-val { width:44px; height:30px; background:var(--bg3); border-top:1px solid var(--border); border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:18px; letter-spacing:.06em; color:var(--white); }
.rental-total { display:flex; align-items:center; justify-content:space-between; padding:14px 0; border-top:1px solid var(--border); margin-bottom:20px; }
.rental-total-label { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gray2); }
.rental-total-value { font-family:'Bebas Neue',sans-serif; font-size:28px; color:var(--gold); letter-spacing:.04em; transition:all .3s; }
.btn-reserve { width:100%; background:var(--gold); border:none; color:var(--bg); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14px; letter-spacing:.22em; text-transform:uppercase; padding:16px; cursor:pointer; transition:background .2s; display:flex; align-items:center; justify-content:center; gap:10px; clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%); }
.btn-reserve:hover { background:var(--gold-lt); }
.btn-reserve svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2.5; }
.product-actions { display:flex; gap:8px; margin-top:12px; }
.btn-ghost { flex:1; background:transparent; border:1px solid var(--border); color:rgba(255,255,255,.55); font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; padding:10px; cursor:pointer; transition:border-color .2s, color .2s; display:flex; align-items:center; justify-content:center; gap:8px; }
.btn-ghost:hover { border-color:var(--gold-bdr); color:var(--gold); }
.btn-ghost svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.8; }
.btn-ghost.wishlisted { border-color:var(--gold-bdr); color:var(--gold); }
.product-delivery { margin-top:20px; padding:14px; background:rgba(76,175,114,.06); border:1px solid rgba(76,175,114,.2); display:flex; gap:12px; align-items:flex-start; }
.delivery-icon { width:32px; height:32px; flex-shrink:0; border:1px solid rgba(76,175,114,.3); display:flex; align-items:center; justify-content:center; }
.delivery-icon svg { width:14px; height:14px; stroke:#4caf72; fill:none; stroke-width:2; }
.delivery-text { font-size:12px; font-weight:300; color:rgba(255,255,255,.6); line-height:1.6; }
.delivery-text strong { color:#4caf72; font-weight:500; }
.product-trust { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); margin-top:20px; }
.trust-item { background:var(--bg2); padding:12px 10px; text-align:center; }
.trust-icon { width:24px; height:24px; margin:0 auto 6px; display:flex; align-items:center; justify-content:center; }
.trust-icon svg { width:16px; height:16px; stroke:var(--gold); fill:none; stroke-width:1.8; }
.trust-label { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--gray2); line-height:1.4; }
/* product tabs */
.product-details { max-width:1400px; margin:0 auto; padding:0 48px 80px; }
.product-tabs { display:flex; gap:0; border-bottom:1px solid var(--border); margin-bottom:48px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.tab-btn { font-family:'Barlow Condensed',sans-serif; font-size:12px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--gray2); background:none; border:none; border-bottom:2px solid transparent; padding:16px 28px 14px; cursor:pointer; transition:color .2s, border-color .2s; position:relative; bottom:-1px; white-space:nowrap; }
.tab-btn.active { color:var(--gold); border-bottom-color:var(--gold); }
.tab-btn:hover:not(.active) { color:var(--white); }
.tab-panel { display:none; animation:fadeIn .3s ease; }
.tab-panel.active { display:block; }
/* description tab */
.desc-layout { display:grid; grid-template-columns:1fr 320px; gap:64px; align-items:start; }
.desc-text p { font-size:14px; font-weight:300; color:rgba(255,255,255,.6); line-height:1.85; margin-bottom:16px; }
.desc-text h3 { font-family:'Bebas Neue',sans-serif; font-size:22px; letter-spacing:.06em; color:var(--white); margin-top:28px; margin-bottom:12px; }
.desc-callout { background:var(--bg2); border:1px solid var(--border); padding:28px; position:sticky; top:100px; }
.desc-callout-title { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:.06em; color:var(--gold); margin-bottom:16px; }
.desc-callout-item { display:flex; align-items:flex-start; gap:10px; margin-bottom:14px; }
.callout-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); flex-shrink:0; margin-top:5px; }
.callout-text { font-size:12px; font-weight:300; color:rgba(255,255,255,.55); line-height:1.6; }
/* specs tab */
.specs-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); }
.spec-row { background:var(--bg2); display:flex; align-items:baseline; padding:14px 20px; gap:16px; transition:background .2s; }
.spec-row:hover { background:var(--bg3); }
.spec-key { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gray2); flex-shrink:0; width:160px; padding-left:10px; border-left:2px solid var(--gold-bdr); }
.spec-val { font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:.04em; color:var(--white); }
/* accessories tab */
.acc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); }
.acc-card { background:var(--bg2); padding:20px; display:flex; flex-direction:column; gap:10px; transition:background .3s; position:relative; overflow:hidden; }
.acc-card:hover { background:var(--bg3); }
.acc-card::after { content:''; position:absolute; inset:0; border:1px solid var(--gold-bdr); opacity:0; transition:opacity .3s; pointer-events:none; }
.acc-card:hover::after { opacity:1; }
.acc-img { aspect-ratio:4/3; background:var(--bg3); overflow:hidden; margin-bottom:4px; }
.acc-img img { width:100%; height:100%; object-fit:cover; filter:grayscale(20%); transition:filter .3s, transform .4s; display:block; }
.acc-card:hover .acc-img img { filter:grayscale(0%); transform:scale(1.05); }
.acc-name { font-family:'Bebas Neue',sans-serif; font-size:16px; letter-spacing:.04em; color:var(--white); }
.acc-price { font-family:'Barlow Condensed',sans-serif; font-size:12px; color:var(--gold); }
.acc-add-btn { margin-top:auto; background:var(--gold-dim); border:1px solid var(--gold-bdr); color:var(--gold); font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase; padding:6px 10px; cursor:pointer; transition:background .2s; text-decoration:none; display:block; text-align:center; }
.acc-add-btn:hover { background:rgba(212,160,23,.2); }
/* reviews tab */
.reviews-header { display:flex; align-items:center; gap:48px; margin-bottom:40px; padding-bottom:32px; border-bottom:1px solid var(--border); flex-wrap:wrap; }
.review-score-big { font-family:'Bebas Neue',sans-serif; font-size:80px; color:var(--gold); line-height:1; letter-spacing:.02em; }
.review-score-sub { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gray2); margin-top:4px; }
.review-stars { display:flex; gap:4px; margin-top:6px; }
.review-stars svg { width:16px; height:16px; fill:var(--gold); stroke:none; }
.review-bars { flex:1; min-width:200px; }
.review-bar-row { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.review-bar-label { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.1em; color:var(--gray2); width:40px; flex-shrink:0; text-align:right; }
.review-bar-track { flex:1; height:4px; background:var(--bg4); overflow:hidden; }
.review-bar-fill { height:100%; background:var(--gold); }
.review-bar-count { font-family:'Barlow Condensed',sans-serif; font-size:11px; color:var(--gray2); width:24px; flex-shrink:0; }
.review-list { display:flex; flex-direction:column; gap:1px; background:var(--border); }
.review-item { background:var(--bg2); padding:24px 28px; }
.review-item-head { display:flex; align-items:center; gap:14px; margin-bottom:12px; }
.review-avatar { width:36px; height:36px; border-radius:50%; background:var(--bg4); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:16px; color:var(--gold); flex-shrink:0; }
.review-meta { flex:1; }
.review-author { font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:.06em; color:var(--white); }
.review-date { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.14em; color:var(--gray2); margin-top:1px; }
.review-item-stars { display:flex; gap:3px; }
.review-item-stars svg { width:12px; height:12px; fill:var(--gold); stroke:none; }
.review-text { font-size:13px; font-weight:300; color:rgba(255,255,255,.55); line-height:1.75; }
.review-tag { display:inline-block; font-family:'Barlow Condensed',sans-serif; font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold-bdr); padding:2px 7px; margin-top:10px; }
/* related */
.related { max-width:1400px; margin:0 auto; padding:0 48px 80px; }
.related-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:28px; flex-wrap:wrap; gap:16px; }
.related-title-block .section-label { margin-bottom:6px; }
.related-title-block h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(28px,3vw,40px); letter-spacing:.04em; color:var(--white); }
.related-title-block h2 em { font-style:normal; color:var(--gold); }
.related-see-all { font-family:'Barlow Condensed',sans-serif; font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); text-decoration:none; display:flex; align-items:center; gap:7px; padding-bottom:3px; border-bottom:1px solid var(--gold-bdr); transition:border-color .2s; white-space:nowrap; }
.related-see-all:hover { border-bottom-color:var(--gold); }
.related-see-all svg { width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2; }
.related-track { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); }
/* mobile sticky CTA */
.mobile-sticky-cta { display:none; position:fixed; bottom:0; left:0; right:0; z-index:600; background:rgba(8,8,8,.97); border-top:1px solid var(--border); padding:12px 16px; backdrop-filter:blur(16px); }
.mobile-sticky-inner { display:flex; align-items:center; gap:12px; }
.mobile-sticky-price { font-family:'Bebas Neue',sans-serif; font-size:28px; color:var(--gold); line-height:1; }
.mobile-sticky-unit { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--gray2); margin-top:2px; }
.btn-reserve-mobile { flex:1; background:var(--gold); border:none; color:var(--bg); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; letter-spacing:.22em; text-transform:uppercase; padding:14px; cursor:pointer; transition:background .2s; }
.btn-reserve-mobile:hover { background:var(--gold-lt); }
/* lightbox */
.lightbox { position:fixed; inset:0; z-index:2000; background:rgba(8,8,8,.97); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s; backdrop-filter:blur(16px); }
.lightbox.open { opacity:1; pointer-events:all; }
.lightbox-img { max-width:90vw; max-height:90vh; object-fit:contain; display:block; }
.lightbox-close { position:absolute; top:24px; right:32px; width:44px; height:44px; background:transparent; border:1px solid var(--border); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:border-color .2s; }
.lightbox-close:hover { border-color:var(--gold-bdr); }
.lightbox-close svg,.lightbox-prev svg,.lightbox-next svg { width:18px; height:18px; stroke:var(--gray); fill:none; stroke-width:2; }
.lightbox-prev,.lightbox-next { position:absolute; top:50%; transform:translateY(-50%); width:50px; height:50px; background:transparent; border:1px solid var(--border); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:border-color .2s, background .2s; }
.lightbox-prev { left:24px; }
.lightbox-next { right:24px; }
.lightbox-prev:hover,.lightbox-next:hover { border-color:var(--gold-bdr); background:var(--gold-dim); }
.lightbox-counter { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--gray2); }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width:1200px) {
  .products-grid { grid-template-columns:repeat(2,1fr); }
  .acc-grid { grid-template-columns:repeat(3,1fr); }
  .related-track { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:1100px) {
  .product-layout { grid-template-columns:1fr 360px; gap:40px; }
  .desc-layout { grid-template-columns:1fr 280px; gap:40px; }
  .specs-grid { grid-template-columns:1fr; }
}
@media (max-width:900px) {
  section { padding:80px 40px; }
  .product-layout { grid-template-columns:1fr; gap:32px; }
  .product-gallery { position:static; }
  .gallery-ribbon { display:none; }
  .desc-layout { grid-template-columns:1fr; }
  .desc-callout { position:static; }
  .acc-grid { grid-template-columns:repeat(2,1fr); }
  .related-track { grid-template-columns:repeat(2,1fr); }
  .reviews-header { flex-direction:column; align-items:flex-start; gap:24px; }
  .mobile-sticky-cta { display:block; }
  .product-wrap { padding-bottom:100px; }
  .product-details,.related { padding-bottom:40px; }
  .shop-layout { grid-template-columns:1fr; }
  .shop-sidebar { display:none; }
  .filter-fab { display:flex !important; }
  .shop-wrap { padding-left:24px; padding-right:24px; }
}
@media (max-width:768px) {
  nav#navbar { padding:0 20px; }
  .nav-links,.nav-cta { display:none; }
  .nav-hamburger { display:flex; }
  .account-dropdown { right:0; left:auto; width:min(260px, calc(100vw - 24px)); }
  .hero { grid-template-columns:1fr; padding:80px 24px 60px; }
  .hero-right { display:none; }
  .dp-trigger { display:flex; }
  .hero-stats { gap:28px; }
  .categories { padding:60px 24px; }
  .cat-grid { grid-template-columns:repeat(2,1fr); }
  .how-grid { grid-template-columns:1fr; }
  .whyus-header { grid-template-columns:1fr; gap:20px; }
  .whyus-grid { grid-template-columns:repeat(2,1fr); }
  .cta-banner { padding:48px 24px; flex-direction:column; align-items:flex-start; }
  .shop-header { padding:32px 24px; }
  .shop-wrap { padding:0 20px 80px; }
  .product-header { padding:20px 20px 0; }
  .product-wrap,.product-details,.related { padding-left:20px; padding-right:20px; }
  .product-tabs .tab-btn { padding:14px 16px 12px; }
  footer { padding:48px 24px 32px; }
  .footer-top { grid-template-columns:1fr 1fr; gap:32px; }
  /* Carousel mobile */
  .eq-slide { flex:0 0 100% !important; border-right:none !important; }
  .eq-img-ph { aspect-ratio:16/9; max-height:220px; }
}
@media (max-width:480px) {
  nav#navbar { padding:0 16px; }
  section { padding:60px 20px; }
  .cat-grid { grid-template-columns:1fr; }
  .whyus-grid { grid-template-columns:1fr; }
  .products-grid { grid-template-columns:1fr; }
  .acc-grid { grid-template-columns:1fr; }
  .related-track { grid-template-columns:1fr; }
  .gallery-thumbs { grid-template-columns:repeat(4,1fr); }
  .footer-top { grid-template-columns:1fr; }
  .rental-dates { grid-template-columns:1fr; }
  .product-trust { grid-template-columns:1fr 1fr; }
  .shop-header-meta { display:none; }
}

/* ── WP Admin Bar offset (logged-in users) ── */
@media screen and (min-width: 601px) {
  .admin-bar nav#navbar { top:32px; }
  .admin-bar .shop-header  { margin-top:104px; } /* 32px admin-bar + 72px nav */
  .admin-bar .product-header { margin-top:104px; }
  .admin-bar .hero { padding-top:112px; } /* 32+72+8 */
}
@media screen and (max-width: 600px) {
  .admin-bar nav#navbar { top:46px; }
}

/* ════════════════════════════════════════════════════════════
   WooCommerce Rental & Booking (RnB) Plugin — FCR Theme Override
   ════════════════════════════════════════════════════════════ */

/* Hide inventory selector (single-item products) */
.rnb-booking-inventory { display:none !important; }

/* Remove extra margin/padding from the form wrapper */
.rnb-cart { margin:0; padding:0; }
.rnb-cart .rnb-component-wrapper { margin:0; padding:0; }

/* ── Date/time pickers — dark themed ── */
.rnb-cart .date-time-picker {
  width:100%;
  display:block;
  margin-bottom:0;
  overflow:hidden;
}
.rnb-cart .date-time-picker + .date-time-picker { margin-top:0; }

.rnb-cart .date-time-picker .pick-up-date-picker,
.rnb-cart .date-time-picker .drop-off-date-picker {
  width:60%;
  float:left;
  padding-right:8px;
  position:relative;
  box-sizing:border-box;
}
.rnb-cart .date-time-picker .pick-up-time-picker,
.rnb-cart .date-time-picker .drop-off-time-picker {
  width:40%;
  float:left;
  position:relative;
  box-sizing:border-box;
}
.rnb-cart .date-time-picker::after { content:''; display:table; clear:both; }

.rnb-cart .date-time-picker input[type="text"] {
  background:var(--bg3) !important;
  border:1px solid var(--border) !important;
  color:var(--white) !important;
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:14px !important;
  font-weight:500 !important;
  padding:10px 10px 10px 32px !important;
  height:auto !important;
  width:100% !important;
  box-sizing:border-box !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transition:border-color .15s !important;
  cursor:pointer !important;
}
.rnb-cart .date-time-picker input[type="text"]:focus {
  border-color:var(--gold-bdr) !important;
  outline:none !important;
}
.rnb-cart .date-time-picker input[type="text"]::placeholder {
  color:var(--gray2) !important;
  font-size:13px !important;
}

/* Calendar icon inside date fields */
.rnb-cart .date-time-picker .fa-calendar-alt,
.rnb-cart .date-time-picker .fa-clock {
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  color:var(--gold) !important;
  font-size:12px;
  pointer-events:none;
  z-index:1;
}

/* Date pickers section: separated from the rest by a border */
.rnb-cart .date-time-picker.rnb-component-wrapper {
  padding:14px 0;
  border-top:1px solid var(--border);
}
.rnb-cart .date-time-picker.rnb-component-wrapper:first-of-type { border-top:none; }

/* xdSoft datetime picker popup — dark cinematic theme */
.xdsoft_datetimepicker {
  background:var(--bg2) !important;
  border:1px solid var(--gold-bdr) !important;
  box-shadow:0 12px 40px rgba(0,0,0,.85) !important;
  border-radius:0 !important;
  color:var(--white) !important;
  font-family:'Barlow Condensed',sans-serif !important;
}
.xdsoft_datetimepicker .xdsoft_label {
  background:var(--bg2) !important;
  color:var(--white) !important;
  font-family:'Bebas Neue',sans-serif !important;
  font-size:16px !important;
  letter-spacing:.08em !important;
}
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select {
  background:var(--bg3) !important;
  border-color:var(--gold-bdr) !important;
}
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option {
  color:var(--white) !important;
}
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover,
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
  background:var(--gold) !important;
  color:#000 !important;
}
.xdsoft_datetimepicker td.xdsoft_calendar_header {
  color:var(--gold) !important;
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:11px !important;
  letter-spacing:.8px !important;
  text-transform:uppercase !important;
  border-bottom:1px solid var(--border) !important;
  background:var(--bg2) !important;
}
.xdsoft_datetimepicker td,
.xdsoft_datetimepicker th {
  background:transparent !important;
  border-color:var(--border) !important;
  color:var(--white) !important;
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:13px !important;
}
.xdsoft_datetimepicker td.xdsoft_date:hover .xdsoft_label,
.xdsoft_datetimepicker td.xdsoft_date:hover {
  background:var(--gold-dim) !important;
  color:var(--gold-lt) !important;
}
.xdsoft_datetimepicker td.xdsoft_today .xdsoft_label {
  font-weight:700 !important;
  color:var(--gold) !important;
}
.xdsoft_datetimepicker td.xdsoft_current .xdsoft_label,
.xdsoft_datetimepicker td.xdsoft_current {
  background:var(--gold) !important;
  color:#000 !important;
  font-weight:700 !important;
  border-radius:0 !important;
}
.xdsoft_datetimepicker td.xdsoft_disabled,
.xdsoft_datetimepicker td.xdsoft_disabled .xdsoft_label {
  color:var(--gray2) !important;
  opacity:.4 !important;
  text-decoration:line-through !important;
}
.xdsoft_datetimepicker td.xdsoft_other_month {
  color:var(--gray2) !important;
  opacity:.4 !important;
}
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div {
  background:var(--bg3) !important;
  border-top-color:var(--border) !important;
  color:var(--gray) !important;
  font-family:'Barlow Condensed',sans-serif !important;
}
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div:hover,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current {
  background:var(--gold) !important;
  color:#000 !important;
}
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box { border-bottom-color:var(--border) !important; }

/* ── Section headers (h5) ── */
.rnb-cart h5,
.rnb-component-wrapper > h5,
.rnb-select-wrapper h5 {
  font-family:'Barlow Condensed',sans-serif;
  font-size:10px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:1.4px;
  color:var(--gold);
  margin:0 0 8px;
  padding:0;
  border:none;
  background:none;
}

/* ── Quantity (RnB single product) ── */
.rnb-cart .redq-quantity.rnb-component-wrapper {
  padding:14px 0;
  border-top:1px solid var(--border);
}
/* +/- controls wrapper injected by JS */
.rnb-cart .redq-quantity .fcr-qty-controls {
  display:inline-flex;
  align-items:stretch;
  border:1px solid var(--border);
  background:var(--bg3);
  height:36px;
}
.rnb-cart input.inventory-qty {
  width:48px !important; height:100% !important; text-align:center !important;
  background:transparent !important; border:none !important;
  border-left:1px solid var(--border) !important; border-right:1px solid var(--border) !important;
  color:var(--white) !important; font-family:'Barlow Condensed',sans-serif !important; font-size:15px !important;
  -moz-appearance:textfield !important; appearance:textfield !important; outline:none !important;
  padding:0 !important; margin:0 !important; box-sizing:border-box !important;
  align-self:stretch; display:block;
}
.rnb-cart input.inventory-qty::-webkit-inner-spin-button,
.rnb-cart input.inventory-qty::-webkit-outer-spin-button { -webkit-appearance:none; }
/* Available quantity label */
.fcr-qty-avail {
  display:block; margin-top:6px;
  font-family:'Barlow Condensed',sans-serif; font-size:12px;
  letter-spacing:.06em; color:var(--gray2); text-transform:uppercase;
}
/* Cart: static quantity display */
.fcr-cart-qty-static {
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px;
  border:1px solid var(--border); background:var(--bg3);
  color:var(--white); font-family:'Barlow Condensed',sans-serif; font-size:15px;
}

/* ── Accessories / Extras ── */
#resourcePreview.rnb-component-wrapper {
  padding:14px 0;
  border-top:1px solid var(--border);
  background:none;
}
.rnb-cart .attributes { margin-bottom:4px; }
.rnb-cart label.custom-block {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--white);
  font-family:'Barlow Condensed',sans-serif;
  font-size:14px;
  cursor:pointer;
  padding:7px 0 7px 40px;
  background:none;
  line-height:1.3;
  border-bottom:1px solid var(--border);
}
/* Input hidden by plugin already; ensure no ghost element */
.rnb-cart label.custom-block input[type="checkbox"] { display:none !important; }
/* Toggle track — off state: dark, vertically centered */
.rnb-cart label.custom-block span:after,
.custom-block span:after {
  background-color:var(--bg3) !important;
  border:1px solid var(--border) !important;
  box-shadow:none !important;
  top:50% !important;
  transform:translateY(-50%) !important;
}
/* Toggle track — on state: gold */
.rnb-cart label.custom-block input[type="checkbox"]:checked + span:after,
.custom-block input[type="checkbox"]:checked + span:after {
  background-color:var(--gold) !important;
  border-color:var(--gold) !important;
}
/* Knob: white circle, vertically centered */
.rnb-cart label.custom-block span:before,
.custom-block input[type="checkbox"] + span:before {
  background-color:#fff !important;
  box-shadow:0 1px 3px rgba(0,0,0,.5) !important;
  opacity:1 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
}
.rnb-cart .pull-right {
  margin-left:auto;
  color:var(--gray);
  font-size:12px;
  flex-shrink:0;
  white-space:nowrap;
}

/* ── Pricing breakdown ── */
.rnb-loader { margin:0; }
.booking-pricing-info {
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-top:1px solid var(--gold-bdr);
  padding:0;
  margin:0;
}
.booking_cost ul { list-style:none; margin:0; padding:0; }
.booking_cost ul li {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 16px;
  border-bottom:1px solid var(--border);
  font-family:'Barlow Condensed',sans-serif;
  font-size:12px;
  color:var(--gray);
  gap:8px;
}
.booking_cost ul li:last-child { border-bottom:none; }
.booking_cost ul li .name {
  text-transform:uppercase;
  letter-spacing:.8px;
  font-size:10px;
  color:var(--gray);
}
.booking_cost ul li.total .name { color:var(--white); font-size:11px; }
.booking_cost ul li .price { flex-shrink:0; }
.booking_cost ul li .woocommerce-Price-amount {
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px;
  color:var(--gray);
}
.booking_cost ul li.total { padding:12px 16px; }
.booking_cost ul li.total .woocommerce-Price-amount {
  font-family:'Bebas Neue',sans-serif;
  font-size:22px;
  letter-spacing:.04em;
  color:var(--gold);
}

/* ── Submit button ── */
button.redq_add_to_cart_button,
.single_add_to_cart_button.redq_add_to_cart_button {
  display:block !important;
  width:100% !important;
  padding:16px 22px !important;
  background:var(--gold) !important;
  color:#000 !important;
  border:none !important;
  border-radius:0 !important;
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:2px !important;
  cursor:pointer !important;
  transition:background .15s !important;
  text-align:center !important;
  margin-top:0 !important;
  clip-path:none !important;
  box-shadow:none !important;
}
button.redq_add_to_cart_button:not(:disabled):hover,
.single_add_to_cart_button.redq_add_to_cart_button:not(:disabled):hover {
  background:var(--gold-lt) !important;
}
/* Override RnB plugin rule that squishes the disabled button on hover */
button.btn-book-now[disabled]:hover {
  padding:16px 22px !important;
  font-family:'Barlow Condensed',sans-serif !important;
}

/* ── Error / notice ── */
#formError.rnb-notice {
  font-family:'Barlow Condensed',sans-serif;
  font-size:12px;
  color:#e06050;
  padding:6px 0;
  letter-spacing:.5px;
  min-height:0;
}

/* ── Spacing: remove gap between rental-total and RnB pricing ── */
.rental-total { margin-bottom:0; border-bottom:none; }
.booking-pricing-info { margin-top:0; }

/* ══════════════════════════════════════
   CART PAGE
══════════════════════════════════════ */

body.woocommerce-cart .woocommerce {
  margin-top:72px;
  max-width:1400px; margin-left:auto; margin-right:auto;
  padding:40px 48px 100px;
}
.admin-bar.woocommerce-cart .woocommerce { margin-top:104px; }

/* Two-column layout */
.fcr-cart-wrap {
  display:grid;
  grid-template-columns:1fr 380px;
  column-gap:48px;
  align-items:start;
}

/* ── Headings ── */
.fcr-cart-heading {
  font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:.06em;
  color:var(--white); font-weight:400; margin:0 0 24px;
  padding-bottom:12px; border-bottom:1px solid var(--border);
}
.fcr-cart-totals-heading {
  font-family:'Bebas Neue',sans-serif; font-size:18px; letter-spacing:.06em;
  color:var(--white); font-weight:400; margin:0 0 0;
  padding-bottom:12px; border-bottom:1px solid var(--border);
}

/* ── Cart item row ── */
.fcr-cart-item {
  display:flex; gap:20px; align-items:flex-start;
  padding:20px 0; border-bottom:1px solid var(--border);
}
.fcr-cart-item-img-wrap { flex-shrink:0; }
.fcr-cart-item-img {
  width:96px; height:72px; object-fit:cover;
  display:block; filter:grayscale(15%);
}
.fcr-cart-item-info { flex:1; min-width:0; }
.fcr-cart-item-top {
  display:flex; justify-content:space-between;
  align-items:flex-start; gap:16px; margin-bottom:12px;
}
.fcr-cart-item-name {
  font-family:'Barlow Condensed',sans-serif; font-size:15px;
  letter-spacing:.04em; color:var(--white); text-decoration:none;
  display:block; margin-bottom:8px; transition:color .2s;
}
.fcr-cart-item-name:hover { color:var(--gold); }
.fcr-cart-item-qty-tag {
  font-size:13px; color:var(--gray2); margin-left:6px;
}
.fcr-cart-item-meta {
  font-family:'Barlow Condensed',sans-serif; font-size:12px;
  color:rgba(255,255,255,.4); letter-spacing:.02em; line-height:1.7;
}
.fcr-cart-item-meta strong { color:rgba(255,255,255,.7); font-weight:400; }
.fcr-cart-base-total { color:rgba(255,255,255,.4); }
.fcr-cart-base-total .woocommerce-Price-amount { font-size:12px; color:rgba(255,255,255,.4); }

/* Price col */
.fcr-cart-item-price-col { text-align:right; flex-shrink:0; }
.fcr-cart-item-price {
  font-family:'Bebas Neue',sans-serif; font-size:22px;
  color:var(--gold); letter-spacing:.04em; line-height:1;
}
.fcr-cart-item-price .woocommerce-Price-amount { font-family:'Bebas Neue',sans-serif; font-size:22px; color:var(--gold); }
.fcr-cart-item-price-vat {
  font-family:'Barlow Condensed',sans-serif; font-size:10px;
  color:var(--gray2); letter-spacing:.1em; text-transform:uppercase; margin-top:2px;
}

/* Actions row */
.fcr-cart-item-actions {
  display:flex; align-items:center; gap:16px;
}
/* ── Quantity +/- buttons (global) ── */
.fcr-qty {
  display:inline-flex; align-items:stretch;
  border:1px solid var(--border); background:var(--bg3);
  height:36px;
}
.fcr-qty-btn {
  display:flex; align-items:center; justify-content:center;
  width:32px; min-width:32px; height:100%;
  background:none; border:none; color:var(--gold);
  font-size:18px; line-height:1; cursor:pointer;
  transition:background .15s, color .15s;
  padding:0; flex-shrink:0;
}
.fcr-qty-btn:hover { background:rgba(212,160,23,.12); color:var(--gold); }
.fcr-qty-btn:disabled { opacity:.3; cursor:default; }
.fcr-qty input.qty {
  width:48px; height:100%; text-align:center;
  background:transparent; border:none; border-left:1px solid var(--border); border-right:1px solid var(--border);
  color:var(--white); font-family:'Barlow Condensed',sans-serif; font-size:15px;
  -moz-appearance:textfield; outline:none; padding:0;
  -webkit-appearance:none;
}
.fcr-qty input.qty::-webkit-inner-spin-button,
.fcr-qty input.qty::-webkit-outer-spin-button { -webkit-appearance:none; }
.fcr-qty .screen-reader-text { display:none; }

.fcr-cart-remove {
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Barlow Condensed',sans-serif; font-size:11px;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--gray2); text-decoration:none;
  transition:color .2s; background:none; border:none; cursor:pointer; padding:0;
}
.fcr-cart-remove svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.8; flex-shrink:0; }
.fcr-cart-remove:hover { color:#e06050; }

/* Update button — hidden (qty is fixed in rental cart) */
.fcr-cart-update-row { display:none; }

/* ── Empty cart ── */
.fcr-cart-empty {
  text-align:center; padding:100px 40px 80px;
  color:var(--gray2); font-family:'Barlow Condensed',sans-serif;
  display:flex; flex-direction:column; align-items:center; gap:0;
}
.fcr-cart-empty-icon {
  width:64px; height:64px; stroke:var(--gold-bdr); fill:none;
  stroke-width:1.5; margin-bottom:28px; opacity:.7;
}
.fcr-cart-empty svg { width:64px; height:64px; stroke:var(--gold-bdr); fill:none; stroke-width:1.5; margin-bottom:28px; opacity:.7; }
.fcr-cart-empty-title {
  font-family:'Bebas Neue',sans-serif; font-size:28px;
  letter-spacing:.12em; color:var(--white); margin:0 0 10px;
}
.fcr-cart-empty-sub {
  font-size:13px; letter-spacing:.05em; color:var(--gray2);
  margin:0 0 32px; max-width:320px; line-height:1.5;
}
.fcr-cart-empty p { font-size:14px; letter-spacing:.06em; margin-bottom:24px; }
.fcr-cart-empty-btn { display:inline-block; }

/* ── Totals sidebar ── */
.fcr-cart-sidebar { position:sticky; top:88px; }
.fcr-cart-totals-box {
  background:var(--bg2); border:1px solid var(--border);
  margin-top:0; padding:0;
}
.fcr-totals-row {
  display:flex; justify-content:space-between; align-items:baseline;
  padding:14px 20px; border-bottom:1px solid var(--border);
  font-family:'Barlow Condensed',sans-serif; font-size:13px;
  letter-spacing:.04em; color:rgba(255,255,255,.6);
}
.fcr-totals-row:last-of-type { border-bottom:none; }
.fcr-totals-label { }
.fcr-totals-val .woocommerce-Price-amount { color:rgba(255,255,255,.75); }
.fcr-totals-coupon .fcr-totals-val { color:var(--gold); }

.fcr-totals-total {
  padding:16px 20px 20px;
  background:var(--bg3);
}
.fcr-totals-total .fcr-totals-label {
  font-family:'Bebas Neue',sans-serif; font-size:16px;
  letter-spacing:.08em; color:var(--gold);
}
.fcr-totals-total .fcr-totals-val { font-family:'Bebas Neue',sans-serif; font-size:26px; letter-spacing:.04em; color:var(--gold); }
.fcr-totals-total .fcr-totals-val .woocommerce-Price-amount { font-family:'Bebas Neue',sans-serif; font-size:26px; color:var(--gold); }
.fcr-totals-total .fcr-totals-val small { font-family:'Barlow Condensed',sans-serif; font-size:11px; color:rgba(255,255,255,.4); display:block; margin-top:4px; }
.fcr-totals-total .fcr-totals-val small .woocommerce-Price-amount { font-size:11px; color:rgba(255,255,255,.4); }

.fcr-cart-checkout-btn {
  display:block; width:100%; text-align:center;
  background:var(--gold); color:var(--bg);
  font-family:'Barlow Condensed',sans-serif; font-size:13px;
  font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  text-decoration:none; padding:18px 24px;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:background .2s; margin-top:0;
}
.fcr-cart-checkout-btn:hover { background:#e8b420; color:var(--bg); }

/* ── Coupon ── */
.fcr-cart-coupon { margin-top:16px; }
.fcr-coupon-label {
  font-family:'Barlow Condensed',sans-serif; font-size:10px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--gray2); margin-bottom:8px;
}
.fcr-coupon-row { display:flex; gap:0; }
.fcr-coupon-input {
  flex:1; background:var(--bg3); border:1px solid var(--border);
  border-right:none; color:var(--white); padding:10px 14px;
  font-family:'Barlow Condensed',sans-serif; font-size:13px;
  letter-spacing:.04em; outline:none;
}
.fcr-coupon-input:focus { border-color:var(--gold-bdr); }
.fcr-coupon-btn {
  background:var(--bg3); border:1px solid var(--border);
  color:var(--gray2); font-family:'Barlow Condensed',sans-serif;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  padding:10px 16px; cursor:pointer; transition:color .2s, border-color .2s; white-space:nowrap;
}
.fcr-coupon-btn:hover { color:var(--white); border-color:var(--gold-bdr); }

/* Responsive */
@media (max-width:900px) {
  .fcr-cart-wrap { grid-template-columns:1fr; }
  .fcr-cart-sidebar { position:static; margin-top:32px; }
  body.woocommerce-cart .woocommerce { padding:0 24px 80px; }
}

/* ══════════════════════════════════════
   CHECKOUT PAGE
══════════════════════════════════════ */

/* Wrapper — push content below fixed nav */
body.woocommerce-checkout .woocommerce {
  margin-top:72px;
  max-width:1400px; margin-left:auto; margin-right:auto;
  padding:40px 48px 100px;
}
.admin-bar body.woocommerce-checkout .woocommerce,
.admin-bar.woocommerce-checkout .woocommerce { margin-top:104px; }

/* Notices (RnB + WC info) */
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce > .woocommerce-info,
body.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-info {
  background:var(--bg2) !important;
  border:1px solid var(--border) !important;
  border-left:3px solid var(--gold) !important;
  color:var(--gray2) !important;
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:13px !important; letter-spacing:.04em !important;
  padding:12px 16px !important; margin-bottom:24px !important;
  box-shadow:none !important; border-radius:0 !important;
}
body.woocommerce-checkout .woocommerce-info::before { display:none !important; }
body.woocommerce-checkout .woocommerce-info a { color:var(--gold) !important; text-decoration:none !important; }

/* ── Two-column layout ──
   Both heading and review go into col 2 / row 1 (same cell).
   Review is offset by margin-top to sit below the heading.
   This avoids row-height sync that pushes the review far down. */
form.woocommerce-checkout {
  display:grid;
  grid-template-columns:1fr 400px;
  column-gap:48px;
  align-items:start;
}
/* Everything in col 1 by default */
form.woocommerce-checkout > *:not(#order_review_heading):not(#order_review) { grid-column:1; }
/* Anchor customer_details at row 1 so injected express-pay buttons don't push it down */
form.woocommerce-checkout #customer_details { grid-row:1; }
/* Heading and review share col 2, row 1 — review pushed below heading with margin */
form.woocommerce-checkout #order_review_heading {
  grid-column:2; grid-row:1;
  align-self:start;
  font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:.06em;
  color:var(--white); padding-bottom:12px; border-bottom:1px solid var(--border);
  margin:0; font-weight:400;
}
form.woocommerce-checkout #order_review {
  grid-column:2; grid-row:1;
  align-self:start;
  margin-top:50px; /* clear the heading */
  position:sticky; top:88px;
}

/* Section headings */
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3 {
  font-family:'Bebas Neue',sans-serif !important;
  font-size:20px !important;
  letter-spacing:.06em !important;
  color:var(--white) !important;
  padding-bottom:12px !important;
  border-bottom:1px solid var(--border) !important;
  margin:0 0 20px !important;
  font-weight:400 !important;
}

/* Labels */
.woocommerce-checkout .form-row label,
.woocommerce-checkout p.form-row label {
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:10px !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  color:var(--gray2) !important;
  display:block !important;
  margin-bottom:5px !important;
}
.woocommerce-checkout .form-row label .required { color:var(--gold) !important; }

/* Inputs, selects, textareas */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="text"] {
  background:var(--bg3) !important;
  border:1px solid var(--border) !important;
  border-radius:0 !important;
  color:var(--white) !important;
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:14px !important;
  letter-spacing:.04em !important;
  padding:11px 14px !important;
  width:100% !important;
  outline:none !important;
  box-shadow:none !important;
  transition:border-color .2s !important;
  -webkit-appearance:none !important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus { border-color:var(--gold-bdr) !important; background:var(--bg4,#1a1a1a) !important; }
.woocommerce-checkout .form-row input.input-text::placeholder { color:var(--gray2) !important; }
/* Select arrow */
.woocommerce-checkout .form-row select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  padding-right:36px !important;
  cursor:pointer !important;
}

/* Form row spacing */
.woocommerce-checkout .form-row { margin-bottom:14px !important; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width:100% !important; float:none !important; }

/* Checkbox/radio for "ship to different address" */
.woocommerce-checkout #ship-to-different-address label,
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  display:flex !important; align-items:center !important; gap:10px !important;
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:12px !important; letter-spacing:.12em !important;
  text-transform:uppercase !important; color:var(--gray2) !important;
  cursor:pointer !important;
}
.woocommerce-checkout input[type="checkbox"] {
  width:16px !important; height:16px !important;
  appearance:none !important; -webkit-appearance:none !important;
  background:var(--bg3) !important;
  border:1px solid var(--border) !important;
  border-radius:0 !important; cursor:pointer !important;
  position:relative !important; flex-shrink:0 !important;
  transition:border-color .2s, background .2s !important;
}
.woocommerce-checkout input[type="checkbox"]:checked {
  background:var(--gold) !important; border-color:var(--gold) !important;
}
.woocommerce-checkout input[type="checkbox"]:checked::after {
  content:'' !important; position:absolute !important;
  left:4px !important; top:1px !important;
  width:5px !important; height:9px !important;
  border:2px solid var(--bg) !important;
  border-top:none !important; border-left:none !important;
  transform:rotate(40deg) !important;
}

/* WooCommerce notices — global dark theme */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--bg2) !important;
  border: none !important;
  border-left: 2px solid var(--gold) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none !important; }

/* ── ul.woocommerce-error: validation error list (above checkout / notices) ── */
.woocommerce ul.woocommerce-error,
body.woocommerce-checkout ul.woocommerce-error,
body.woocommerce-account ul.woocommerce-error {
  display: block !important;
  background: rgba(224,96,80,.08) !important;
  border: none !important;
  border-left: 3px solid #e06050 !important;
  padding: 14px 18px !important;
  margin: 0 0 20px !important;
  list-style: none !important;
  box-shadow: none !important;
}
.woocommerce ul.woocommerce-error li,
body.woocommerce-checkout ul.woocommerce-error li {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  color: #e06050 !important;
  letter-spacing: .03em !important;
  line-height: 1.6 !important;
  padding: 2px 0 !important;
}
.woocommerce ul.woocommerce-error li a,
body.woocommerce-checkout ul.woocommerce-error li a {
  color: #e06050 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-color: rgba(224,96,80,.5) !important;
}
.woocommerce ul.woocommerce-error li a:hover { text-decoration-color: #e06050 !important; }

/* ── Inline field errors: span.woocommerce-error inside .form-row ── */
.woocommerce-checkout .form-row span.woocommerce-error {
  display: block !important;
  background: none !important;
  border: none !important;
  padding: 4px 0 0 !important;
  margin: 0 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: .04em !important;
  color: #e06050 !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
}

/* Icon stripe on the left */
.woocommerce-message::after {
  display: none !important;
}

/* Text content */
.woocommerce-message li,
.woocommerce-message,
.woocommerce-info {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: .04em !important;
  color: rgba(255,255,255,.65) !important;
  padding: 13px 20px !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

/* "Cofnij?" undo link — styled as a small ghost button */
.woocommerce-message a.restore-item,
.woocommerce-message a:not(.button) {
  color: var(--white) !important;
  text-decoration: none !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  border: 1px solid var(--border) !important;
  padding: 4px 12px !important;
  transition: border-color .2s, color .2s !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.woocommerce-message a.restore-item:hover,
.woocommerce-message a:not(.button):hover {
  border-color: var(--gold-bdr) !important;
  color: var(--gold) !important;
}

/* .button links inside notices (e.g. "Kontynuuj zakupy") */
.woocommerce-message a.button,
.woocommerce-message .button {
  background: transparent !important;
  border: 1px solid var(--border) !important;
  color: var(--gray2) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: border-color .2s, color .2s !important;
  flex-shrink: 0 !important;
}
.woocommerce-message a.button:hover { border-color: var(--gold-bdr) !important; color: var(--white) !important; }

.woocommerce-error { border-left-color: #e06050 !important; }

/* WC sets tabindex="-1" on notices and focuses them on page load — kill the browser outline */
.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus {
  outline: none !important;
  box-shadow: 0 0 0 1px var(--gold-bdr) !important;
}

/* ── Order Review table ── */
.woocommerce-checkout-review-order { background:var(--bg2); border:1px solid var(--border); }
table.woocommerce-checkout-review-order-table { width:100%; border-collapse:collapse; table-layout:fixed; }
table.woocommerce-checkout-review-order-table thead th {
  font-family:'Barlow Condensed',sans-serif;
  font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gray2); padding:14px 20px; border-bottom:1px solid var(--border);
  text-align:left; font-weight:400; background:var(--bg3);
}
/* Column widths: product name gets more room */
table.woocommerce-checkout-review-order-table thead th.product-name { width:58%; }
table.woocommerce-checkout-review-order-table thead th.product-total { width:42%; }
table.woocommerce-checkout-review-order-table tbody tr td,
table.woocommerce-checkout-review-order-table tfoot tr td,
table.woocommerce-checkout-review-order-table tfoot tr th {
  padding:14px 20px; border-bottom:1px solid var(--border);
  font-family:'Barlow Condensed',sans-serif; font-size:13px;
  letter-spacing:.04em; color:rgba(255,255,255,.75); vertical-align:top;
  word-break:break-word;
}
/* Product name: bold/white */
table.woocommerce-checkout-review-order-table .product-name { color:var(--white); }
table.woocommerce-checkout-review-order-table .product-name .quantity { color:var(--gray2); font-size:11px; }
/* RnB rental meta container */
table.woocommerce-checkout-review-order-table .product-name dl,
table.woocommerce-checkout-review-order-table .product-name ul,
table.woocommerce-checkout-review-order-table .product-name .wc-item-meta {
  margin:6px 0 0 0 !important; padding:0 !important;
  font-size:11px !important; color:rgba(255,255,255,.38) !important;
  letter-spacing:.02em !important; line-height:1.55 !important;
  list-style:none !important;
}
/* Flatten dl: dt + dd on same line */
table.woocommerce-checkout-review-order-table .product-name dl dt,
table.woocommerce-checkout-review-order-table .product-name dl dd {
  display:inline !important; margin:0 !important; padding:0 !important;
  font-weight:400 !important;
}
table.woocommerce-checkout-review-order-table .product-name dl dt { margin-right:3px !important; }
table.woocommerce-checkout-review-order-table .product-name dl br { display:block !important; }
/* ul items */
table.woocommerce-checkout-review-order-table .product-name ul li,
table.woocommerce-checkout-review-order-table .product-name .wc-item-meta li { margin:0 !important; padding:0 !important; }
/* Hide "Przedmiot: Sony A7iii" — redundant with product name above */
table.woocommerce-checkout-review-order-table .product-name dl dt:first-of-type,
table.woocommerce-checkout-review-order-table .product-name dl dt:first-of-type + dd {
  display:none !important;
}

/* Sub-totals row (Kwota) */
table.woocommerce-checkout-review-order-table tfoot tr:not(.order-total) td,
table.woocommerce-checkout-review-order-table tfoot tr:not(.order-total) th {
  font-size:12px; color:rgba(255,255,255,.5);
}

/* Total row — th gold, td structured in two tiers */
table.woocommerce-checkout-review-order-table tfoot .order-total th {
  color:var(--gold); border-bottom:none; vertical-align:top; padding-top:18px;
}
table.woocommerce-checkout-review-order-table tfoot .order-total td {
  border-bottom:none; vertical-align:top; padding-top:14px;
}
/* VAT context wrapper — style first so the .amount override below wins */
table.woocommerce-checkout-review-order-table tfoot .order-total td small,
table.woocommerce-checkout-review-order-table tfoot .order-total td .tax_label,
table.woocommerce-checkout-review-order-table tfoot .order-total td .includes_tax {
  display:block; margin-top:6px;
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:11px !important; letter-spacing:.03em !important;
  color:rgba(255,255,255,.4) !important; line-height:1.4 !important;
}
/* .amount inside VAT small — stays small */
table.woocommerce-checkout-review-order-table tfoot .order-total td small .amount,
table.woocommerce-checkout-review-order-table tfoot .order-total td .tax_label .amount {
  display:inline !important;
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:11px !important; color:rgba(255,255,255,.4) !important;
}
/* Main total .amount (NOT inside small) — large gold Bebas */
table.woocommerce-checkout-review-order-table tfoot .order-total td .amount {
  font-family:'Bebas Neue',sans-serif; font-size:26px; letter-spacing:.04em;
  color:var(--gold) !important; display:block; line-height:1; margin-bottom:2px;
}

/* ── Textarea scrollbar ── */
.woocommerce-checkout textarea { scrollbar-width:thin; scrollbar-color:var(--border) var(--bg3); resize:vertical; }
.woocommerce-checkout textarea::-webkit-scrollbar { width:6px; }
.woocommerce-checkout textarea::-webkit-scrollbar-track { background:var(--bg3); }
.woocommerce-checkout textarea::-webkit-scrollbar-thumb { background:var(--border); }

/* ── Payment ── */
#payment { background:var(--bg2) !important; border:0 !important; border-top:1px solid var(--border) !important; }
#payment .payment_methods { list-style:none !important; margin:0 !important; padding:0 !important; }
#payment .payment_methods li { border-bottom:1px solid var(--border) !important; padding:14px 20px !important; }
#payment .payment_methods li label {
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:13px !important; letter-spacing:.08em !important;
  color:rgba(255,255,255,.75) !important; cursor:pointer !important;
  display:flex !important; align-items:center !important; gap:10px !important;
}
/* Hide default WC payment method image icons */
#payment .payment_methods li label img { display:none !important; }
#payment .payment_methods li input[type="radio"] {
  accent-color:var(--gold) !important;
  width:14px !important; height:14px !important; flex-shrink:0 !important;
}
#payment .payment_box {
  background:var(--bg3) !important; padding:12px 20px !important;
  font-family:'Barlow',sans-serif !important; font-size:12px !important;
  color:var(--gray2) !important; border-top:1px solid var(--border) !important;
}
/* Hide WC's default payment triangle/arrow icon */
#payment .payment_box::before,
#payment ul.payment_methods li::before { display:none !important; }
/* Payment method icon (triangle) from WC theme */
#payment .payment_methods li .wc-payment-credit-card-form,
#payment .payment_methods li .payment_method_paypal img { display:none !important; }

/* Terms checkbox */
#payment .form-row.place-order { padding:20px !important; background:var(--bg3) !important; border:none !important; box-shadow:none !important; }
#payment .woocommerce-terms-and-conditions-wrapper { margin-bottom:16px !important; font-family:'Barlow Condensed',sans-serif !important; font-size:12px !important; color:var(--gray2) !important; letter-spacing:.04em !important; }
#payment .woocommerce-terms-and-conditions-wrapper a { color:var(--gold) !important; text-decoration:none !important; }
/* Terms checkbox row — reset all borders/shadows WC might add */
#payment .woocommerce-terms-and-conditions-wrapper,
#payment .woocommerce-terms-and-conditions-wrapper .form-row,
.woocommerce-checkout .form-row.woocommerce-invalid,
.woocommerce-checkout .form-row.woocommerce-invalid-required-field {
  border:none !important; border-left:none !important;
  box-shadow:none !important; outline:none !important;
}
/* Terms row — simple flex row */
#payment .woocommerce-terms-and-conditions-wrapper .form-row {
  display:flex !important; align-items:center !important; gap:0 !important;
  flex-wrap:wrap !important;
}
/* Terms error spans full row below the checkbox label */
#payment .woocommerce-terms-and-conditions-wrapper .form-row span.woocommerce-error {
  flex:0 0 100% !important; margin-top:6px !important; padding-top:0 !important;
}
/* Terms label — inline flex for checkbox + text */
#payment .woocommerce-form__label-for-checkbox {
  display:inline-flex !important; align-items:center !important; gap:10px !important;
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:12px !important; letter-spacing:.04em !important;
  color:var(--gray2) !important; cursor:pointer !important;
}
/* Required asterisk — directly after label text, minimal gap */
#payment .woocommerce-terms-and-conditions-wrapper .required {
  display:none !important; /* redundant — the field is obviously required */
}
/* Terms checkbox input */
#payment input[type="checkbox"],
.woocommerce-checkout #payment input[type="checkbox"] {
  display:inline-block !important;
  width:16px !important; min-width:16px !important; height:16px !important;
  appearance:none !important; -webkit-appearance:none !important;
  background:transparent !important;
  border:1.5px solid rgba(255,255,255,.35) !important;
  border-radius:0 !important; cursor:pointer !important;
  position:relative !important; flex-shrink:0 !important;
  transition:border-color .2s, background .2s !important;
  box-shadow:none !important; outline:none !important;
  vertical-align:middle !important;
}
#payment input[type="checkbox"]:checked,
.woocommerce-checkout #payment input[type="checkbox"]:checked {
  background:var(--gold) !important; border-color:var(--gold) !important;
}
#payment input[type="checkbox"]:checked::after,
.woocommerce-checkout #payment input[type="checkbox"]:checked::after {
  content:'' !important; position:absolute !important;
  left:4px !important; top:1px !important;
  width:5px !important; height:9px !important;
  border:2px solid var(--bg) !important;
  border-top:none !important; border-left:none !important;
  transform:rotate(40deg) !important;
}
/* Kill WC validation color on the checkbox itself */
.woocommerce-checkout .form-row.woocommerce-invalid input[type="checkbox"],
.woocommerce-checkout .form-row.woocommerce-invalid-required-field input[type="checkbox"] {
  border-color:var(--border) !important;
  box-shadow:none !important; outline:none !important;
}

/* Place Order button */
#place_order,
.woocommerce #payment #place_order {
  font-family:'Barlow Condensed',sans-serif !important;
  font-size:13px !important; font-weight:700 !important;
  letter-spacing:.18em !important; text-transform:uppercase !important;
  background:var(--gold) !important; color:var(--bg) !important;
  border:none !important; padding:16px 40px !important;
  width:100% !important; cursor:pointer !important;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%) !important;
  transition:background .2s !important;
  border-radius:0 !important; box-shadow:none !important;
}
#place_order:hover,
.woocommerce #payment #place_order:hover { background:var(--gold-lt) !important; }

/* WC notices — error color override (specificity bump for checkout error list already above) */

/* Responsive checkout */
@media (max-width:900px) {
  form.woocommerce-checkout { grid-template-columns:1fr; }
  form.woocommerce-checkout #customer_details { grid-row:1; }
  form.woocommerce-checkout #order_review_heading { grid-column:1; grid-row:2; margin-top:40px; }
  form.woocommerce-checkout #order_review { grid-column:1; grid-row:3; position:static; }
  body.woocommerce-checkout .woocommerce { padding:0 24px 80px; }
}

/* Override narrow index.php wrapper for WooCommerce pages where is_woocommerce() returns false */
body.woocommerce-checkout .fcr-content,
body.woocommerce-cart .fcr-content,
body.woocommerce-account .fcr-content,
body.woocommerce-page .fcr-content {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Select2 (WooCommerce country/state dropdowns) ── */
.select2-container--default .select2-selection--single {
  background: var(--bg3) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--white) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important;
  letter-spacing: .03em !important;
  line-height: 44px !important;
  padding-left: 14px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px !important;
  right: 10px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent !important;
}
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--gold-bdr) !important;
}
/* Dropdown list */
body .select2-dropdown {
  background: #111 !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
}
body .select2-container--default .select2-search--dropdown .select2-search__field {
  background: #0d0d0d !important;
  border: 1px solid var(--border) !important;
  color: #fff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  outline: none !important;
}
body .select2-container--default .select2-results__option {
  background: transparent !important;
  color: rgba(255,255,255,.75) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: .03em !important;
  padding: 8px 14px !important;
}
body .select2-container--default .select2-results__option--highlighted,
body .select2-container--default .select2-results__option--highlighted[aria-selected],
body .select2-container--default .select2-results__option:hover {
  background: #1a1a1a !important;
  color: #fff !important;
}
body .select2-container--default .select2-results__option[aria-selected="true"] {
  background: #0d0d0d !important;
  color: var(--gold) !important;
}

/* ══════════════ ORDER RECEIVED / THANK YOU ══════════════ */
.fcr-thankyou { max-width:860px; margin:0 auto; padding:48px 24px 80px; }

/* Header */
.fcr-ty-header { display:flex; align-items:flex-start; gap:28px; margin-bottom:40px; padding-bottom:40px; border-bottom:1px solid var(--border); }
.fcr-ty-icon { width:64px; height:64px; flex-shrink:0; border:2px solid var(--gold); display:flex; align-items:center; justify-content:center; }
.fcr-ty-icon svg { width:28px; height:28px; stroke:var(--gold); fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.fcr-ty-icon--fail { border-color:#e55; }
.fcr-ty-icon--fail svg { stroke:#e55; }
.fcr-ty-eyebrow { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; }
.fcr-ty-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(40px,5vw,64px); line-height:.95; letter-spacing:.02em; color:var(--white); margin:0 0 14px; }
.fcr-ty-title em { font-style:normal; background:linear-gradient(90deg,var(--gold),var(--gold-lt),var(--gold)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.fcr-ty-sub { font-size:14px; font-weight:300; color:rgba(255,255,255,.55); line-height:1.6; }
.fcr-ty-sub strong { color:var(--white); font-weight:400; }

/* Meta strip */
.fcr-ty-meta { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:0; border:1px solid var(--border); margin-bottom:48px; }
.fcr-ty-meta-item { padding:18px 22px; border-right:1px solid var(--border); }
.fcr-ty-meta-item:last-child { border-right:none; }
.fcr-ty-meta-label { display:block; font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; opacity:.7; }
.fcr-ty-meta-val { display:block; font-family:'Barlow Condensed',sans-serif; font-size:15px; letter-spacing:.04em; color:var(--white); }
.fcr-ty-meta-total { font-family:'Bebas Neue',sans-serif; font-size:22px; color:var(--gold); }

/* Section */
.fcr-ty-section { margin-bottom:48px; }
.fcr-ty-section-title { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--border); font-weight:500; }

/* Items list */
.fcr-ty-items { margin-bottom:0; }
.fcr-cart-item-img--placeholder { width:96px; height:72px; background:var(--bg3); border:1px solid var(--border); display:block; }

/* Totals */
.fcr-ty-totals { border-top:1px solid var(--border); padding-top:4px; margin-top:4px; }
.fcr-ty-total-row { display:flex; justify-content:space-between; align-items:baseline; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.05); }
.fcr-ty-total-row:last-child { border-bottom:none; }
.fcr-ty-total-label { font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.45); font-weight:400; }
.fcr-ty-total-val { font-family:'Barlow Condensed',sans-serif; font-size:14px; color:rgba(255,255,255,.65); }
.fcr-ty-total-row--order-total .fcr-ty-total-label { color:var(--gold); font-size:13px; }
.fcr-ty-total-row--order-total .fcr-ty-total-val { font-family:'Bebas Neue',sans-serif; font-size:26px; color:var(--gold); line-height:1; }
.fcr-ty-total-row--order-total .fcr-ty-total-val .woocommerce-Price-amount { font-family:'Bebas Neue',sans-serif; font-size:26px; color:var(--gold); }

/* Addresses */
.fcr-ty-addr-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.fcr-ty-addr-block { background:var(--bg2); border:1px solid var(--border); padding:22px 24px; }
.fcr-ty-addr-label { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; font-weight:500; }
.fcr-ty-addr-text { font-size:13px; font-weight:300; color:rgba(255,255,255,.65); line-height:1.8; font-style:normal; }
.fcr-ty-addr-phone { font-size:13px; color:rgba(255,255,255,.5); margin-top:10px; display:flex; align-items:center; gap:6px; }
.fcr-ty-addr-phone svg { stroke:var(--gold); fill:none; stroke-width:2; flex-shrink:0; }
.fcr-ty-addr-block--company { border-color:var(--gold-bdr); }
.fcr-ty-addr-label { display:flex; align-items:center; gap:10px; }
.fcr-ty-company-badge { font-family:'Barlow Condensed',sans-serif; font-size:9px; letter-spacing:.12em; text-transform:uppercase; background:var(--gold); color:#080808; padding:2px 7px; font-weight:700; }

/* CTA row */
.fcr-ty-cta { display:flex; gap:16px; margin-top:16px; padding-top:40px; border-top:1px solid var(--border); }
.fcr-ty-failed { text-align:center; padding:60px 24px; }
.fcr-ty-failed .fcr-ty-icon { margin:0 auto 28px; }
.fcr-ty-failed .fcr-ty-title { margin-bottom:12px; }
.fcr-ty-actions { display:flex; gap:16px; justify-content:center; margin-top:28px; }

/* WooCommerce notices on this page */
.fcr-thankyou .woocommerce-notice { font-size:13px; padding:14px 18px; border-left:3px solid var(--gold); background:rgba(212,160,23,.08); color:rgba(255,255,255,.75); margin-bottom:32px; }
.fcr-thankyou .woocommerce-notice--error { border-left-color:#e55; background:rgba(238,85,85,.08); }

@media(max-width:680px) {
  .fcr-ty-header { flex-direction:column; gap:18px; }
  .fcr-ty-meta { grid-template-columns:1fr 1fr; }
  .fcr-ty-meta-item { border-bottom:1px solid var(--border); }
  .fcr-ty-addr-grid { grid-template-columns:1fr; }
  .fcr-ty-cta { flex-direction:column; }
}

/* ══════════════ MY ACCOUNT ══════════════ */
/* Account page header bar */
.fcr-account-header { margin-top:72px; padding:20px 24px; background:var(--bg2); border-bottom:1px solid var(--border); }
.admin-bar .fcr-account-header { margin-top:104px; }
.fcr-account-header-inner { max-width:1100px; margin:0 auto; }
.fcr-account-title { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); font-weight:500; margin:0; }

.fcr-account-wrap { display:grid; grid-template-columns:280px 1fr; gap:32px; max-width:1100px; margin:0 auto; padding:32px 24px 80px; align-items:start; }

/* Sidebar */
.fcr-account-sidebar { position:sticky; top:100px; overflow:hidden; }
.fcr-account-user { display:flex; align-items:center; gap:14px; padding:20px; background:var(--bg2); border:1px solid var(--border); margin-bottom:4px; }
.fcr-account-avatar { width:44px; height:44px; flex-shrink:0; background:var(--gold); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:18px; color:var(--bg); letter-spacing:.04em; }
.fcr-account-user-name { display:block; font-family:'Barlow Condensed',sans-serif; font-size:14px; letter-spacing:.04em; color:var(--white); }
.fcr-account-user-email { display:block; font-family:'Barlow Condensed',sans-serif; font-size:11px; color:var(--gray2); margin-top:2px; }

/* Reset WooCommerce default float layout that breaks our grid */
.woocommerce-account .woocommerce-MyAccount-navigation { float:none !important; width:100% !important; }
.woocommerce-account .woocommerce-MyAccount-content { float:none !important; width:100% !important; }

/* Nav */
.fcr-account-nav ul { list-style:none; margin:0; padding:0; background:var(--bg2); border:1px solid var(--border); border-top:none; }
.fcr-account-nav li { border-bottom:1px solid rgba(255,255,255,.05); }
.fcr-account-nav li:last-child { border-bottom:none; }
.fcr-account-nav a { display:flex; align-items:center; gap:10px; padding:12px 18px; font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.5); text-decoration:none; transition:color .2s, background .2s; }
.fcr-account-nav a:hover { color:var(--white); background:rgba(255,255,255,.03); }
.fcr-account-nav li.is-active a { color:var(--gold); background:rgba(212,160,23,.06); border-left:2px solid var(--gold); }
.fcr-account-nav-icon { width:16px; height:16px; flex-shrink:0; }
.fcr-account-nav-icon svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; display:block; }
.fcr-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout a { color:rgba(238,85,85,.6); }
.fcr-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { color:#e55; }

/* Content area */
.fcr-account-content { min-width:0; }
.woocommerce-MyAccount-content { background:var(--bg2); border:1px solid var(--border); padding:28px; }
.woocommerce-MyAccount-content > h2 { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); margin:0 0 20px; padding-bottom:12px; border-bottom:1px solid var(--border); font-weight:500; }
.woocommerce-MyAccount-content p { font-size:14px; font-weight:300; color:rgba(255,255,255,.6); line-height:1.7; margin-bottom:12px; }
.woocommerce-MyAccount-content p:last-child { margin-bottom:0; }
.woocommerce-MyAccount-content a { color:var(--gold); text-decoration:none; }
.woocommerce-MyAccount-content a:hover { color:var(--white); }

/* WC notices inside account */
.woocommerce-MyAccount-content .woocommerce-message { background:rgba(212,160,23,.08); border-left:3px solid var(--gold); padding:12px 16px; font-size:13px; color:rgba(255,255,255,.75); margin-bottom:20px; display:flex; align-items:center; gap:12px; }
.woocommerce-MyAccount-content .woocommerce-error { background:rgba(238,85,85,.08); border-left:3px solid #e55; padding:12px 16px; font-size:13px; color:rgba(255,255,255,.75); list-style:none; margin-bottom:20px; }

/* ── Orders list ── */
.fcr-orders-list { display:flex; flex-direction:column; gap:1px; }
.fcr-order-row { display:grid; grid-template-columns:72px 1fr auto; gap:16px; align-items:center; padding:18px 20px; background:var(--bg2); border:1px solid var(--border); transition:border-color .2s; }
.fcr-order-row:hover { border-color:var(--gold-bdr); }

.fcr-order-thumb { width:72px; height:54px; overflow:hidden; background:var(--bg3); border:1px solid var(--border); flex-shrink:0; }
.fcr-order-thumb img { width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(15%); }
.fcr-order-thumb-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.fcr-order-thumb-placeholder svg { width:22px; height:22px; stroke:rgba(255,255,255,.2); fill:none; stroke-width:1.5; }

.fcr-order-top { display:flex; align-items:center; gap:12px; margin-bottom:4px; }
.fcr-order-number { font-family:'Bebas Neue',sans-serif; font-size:20px; color:var(--white); text-decoration:none; transition:color .2s; }
.fcr-order-number:hover { color:var(--gold); }
.fcr-order-status { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase; padding:3px 8px; border:1px solid; }
/* ── Status colour progression ─────────────────────────────────────────────
   pending (gray) → pending-approval (amber) → processing/Potwierdzona (blue)
   → wydano (gold) → completed (green) | cancelled/failed (red)             */
.fcr-order-status--pending           { color:#888;    border-color:rgba(136,136,136,.25); background:rgba(136,136,136,.06); }
.fcr-order-status--pending-approval  { color:#e09820; border-color:rgba(224,152,32,.35);  background:rgba(224,152,32,.08);  }
.fcr-order-status--processing        { color:#5b9bd5; border-color:rgba(91,155,213,.35);  background:rgba(91,155,213,.08);  }
.fcr-order-status--on-hold           { color:#8a8aff; border-color:rgba(138,138,255,.3);  background:rgba(138,138,255,.06); }
.fcr-order-status--wydano            { color:var(--gold); border-color:var(--gold-bdr);   background:rgba(212,160,23,.10);  }
.fcr-order-status--completed         { color:#4ab87a; border-color:rgba(74,184,122,.35);  background:rgba(74,184,122,.08);  }
.fcr-order-status--cancelled,
.fcr-order-status--refunded,
.fcr-order-status--failed            { color:#e55;    border-color:rgba(238,85,85,.3);    background:rgba(238,85,85,.06);   }

.fcr-order-products { font-size:13px; font-weight:300; color:rgba(255,255,255,.5); margin-bottom:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fcr-order-meta { display:flex; align-items:center; gap:16px; flex-wrap:wrap; font-family:'Barlow Condensed',sans-serif; font-size:12px; color:rgba(255,255,255,.35); }
.fcr-order-meta span { display:flex; align-items:center; gap:5px; }
.fcr-order-meta svg { stroke:currentColor; fill:none; stroke-width:1.5; flex-shrink:0; }
.fcr-order-meta .woocommerce-Price-amount { font-family:'Barlow Condensed',sans-serif; font-size:12px; color:rgba(255,255,255,.35); }
.fcr-order-rental-dates { color:rgba(212,160,23,.7) !important; letter-spacing:.03em; }
.fcr-order-rental-arrow { color:rgba(212,160,23,.4) !important; font-size:10px; margin:0 2px; }

.fcr-order-actions { display:flex; flex-direction:column; gap:6px; }
.fcr-order-action { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); border:1px solid rgba(255,255,255,.14); padding:6px 14px; text-decoration:none; text-align:center; white-space:nowrap; transition:color .2s, border-color .2s; }
.fcr-order-action:hover { color:var(--gold); border-color:var(--gold-bdr); }
.fcr-order-action--pay { color:var(--gold); border-color:var(--gold-bdr); }
.fcr-order-action--pay:hover { color:var(--white); border-color:rgba(255,255,255,.3); }

.fcr-orders-pagination { display:flex; gap:12px; margin-top:24px; }
.fcr-orders-empty { text-align:center; padding:60px 24px; }
.fcr-orders-empty svg { width:48px; height:48px; stroke:rgba(255,255,255,.15); fill:none; stroke-width:1.5; margin:0 auto 20px; display:block; }
.fcr-orders-empty-title { font-family:'Bebas Neue',sans-serif; font-size:28px; color:rgba(255,255,255,.4); margin-bottom:8px; }
.fcr-orders-empty-sub { font-size:14px; color:var(--gray2); margin-bottom:24px; }

/* WC forms inside account (edit account, address) */
.woocommerce-MyAccount-content fieldset { border:1px solid var(--border); padding:20px; margin-bottom:20px; }
.woocommerce-MyAccount-content fieldset legend { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); padding:0 8px; }
.woocommerce-MyAccount-content .form-row { margin-bottom:16px; }
.woocommerce-MyAccount-content label { display:block; font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:6px; }
body.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
body.woocommerce-account .woocommerce-MyAccount-content select,
body.woocommerce-account .woocommerce-MyAccount-content textarea { width:100%; background:rgba(255,255,255,.04) !important; border:1px solid rgba(255,255,255,.12) !important; color:var(--white) !important; font-family:'Barlow',sans-serif; font-size:14px; font-weight:300; padding:11px 13px; outline:none; border-radius:0; appearance:none; transition:border-color .2s; box-shadow:none !important; }
body.woocommerce-account .woocommerce-MyAccount-content input:focus,
body.woocommerce-account .woocommerce-MyAccount-content select:focus,
body.woocommerce-account .woocommerce-MyAccount-content textarea:focus { border-color:var(--gold-bdr) !important; }
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content button[type="submit"] { font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--bg); background:var(--gold); border:none; padding:14px 32px; cursor:pointer; clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%); transition:background .2s, transform .2s; margin-top:8px; }
.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content button[type="submit"]:hover { background:var(--gold-lt); transform:translateY(-1px); }

/* ── Wishlist table ────────────────────────────────────────────────── */
.alg-wc-wl-view-table-container { padding:0; }
.alg-wc-wl-view-table { width:100%; border-collapse:collapse; font-family:'Barlow Condensed',sans-serif; }
.alg-wc-wl-view-table thead tr { border-bottom:1px solid var(--gold-bdr); }
.alg-wc-wl-view-table th { padding:10px 14px; font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); text-align:left; background:transparent; }
.alg-wc-wl-view-table tbody tr { border-bottom:1px solid var(--border); transition:background .2s; }
.alg-wc-wl-view-table tbody tr:hover { background:var(--bg3); }
.alg-wc-wl-view-table td { padding:14px; vertical-align:middle; font-size:13px; color:rgba(255,255,255,.75); }
/* thumbnail */
.alg-wc-wl-view-table td.product-thumbnail { width:64px; padding-right:0; }
.alg-wc-wl-view-table td.product-thumbnail a { display:block; width:64px; height:48px; overflow:hidden; background:var(--bg3); }
.alg-wc-wl-view-table td.product-thumbnail img { width:64px; height:48px; object-fit:cover; display:block; filter:grayscale(15%); }
/* product name */
.alg-wc-wl-view-table td.product-name a { font-family:'Bebas Neue',sans-serif; font-size:18px; letter-spacing:.04em; color:var(--white); text-decoration:none; transition:color .2s; }
.alg-wc-wl-view-table td.product-name a:hover { color:var(--gold); }
/* price */
.alg-wc-wl-view-table td.product-price { color:var(--gold); font-size:14px; white-space:nowrap; }
.alg-wc-wl-view-table td.product-price .woocommerce-Price-amount { color:var(--gold); }
/* "Więcej" add-to-cart button */
.alg-wc-wl-view-table .add-to-cart-btn .button,
.alg-wc-wl-view-table .add-to-cart-btn a.button { background:transparent !important; border:1px solid var(--gold-bdr) !important; color:var(--gold) !important; font-family:'Barlow Condensed',sans-serif !important; font-size:11px !important; font-weight:600 !important; letter-spacing:.18em !important; text-transform:uppercase !important; padding:8px 18px !important; clip-path:none !important; border-radius:0 !important; transition:background .2s, color .2s !important; }
.alg-wc-wl-view-table .add-to-cart-btn .button:hover,
.alg-wc-wl-view-table .add-to-cart-btn a.button:hover { background:var(--gold-dim) !important; transform:none !important; }
/* remove button */
.alg-wc-wl-view-table td.product-removal { width:48px; text-align:center; }
.fcr-wl-remove { width:28px; height:28px; background:transparent; border:1px solid var(--border); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s, background .2s; padding:0; border-radius:0; }
.fcr-wl-remove:hover { border-color:rgba(220,50,50,.5); background:rgba(220,50,50,.1); }
.fcr-wl-remove svg { width:12px; height:12px; stroke:var(--gray2); fill:none; stroke-width:2; transition:stroke .2s; }
.fcr-wl-remove:hover svg { stroke:#e06050; }
/* empty state */
.alg-wc-wl-empty-wishlist { padding:28px 0; color:var(--gray2); font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:.08em; }

@media(max-width:768px) {
  .fcr-account-header { margin-top:60px; }
  .admin-bar .fcr-account-header { margin-top:92px; }
  .fcr-account-wrap { grid-template-columns:1fr; padding:24px 16px 60px; }
  .fcr-account-sidebar { position:static; overflow:visible; }
  .fcr-account-nav ul { display:flex; flex-wrap:wrap; border:1px solid var(--border); }
  .fcr-account-nav li { border-bottom:none; border-right:1px solid rgba(255,255,255,.05); }
  .fcr-account-nav a { padding:10px 14px; font-size:11px; }
  .fcr-order-row { grid-template-columns:56px 1fr; }
  .fcr-order-actions { display:none; }
}

/* ══════════════ AUTH FORMS (shared) ══════════════ */
.fcr-auth-field { margin-bottom:18px; }
.fcr-auth-field label { display:block; font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:7px; }
.fcr-auth-field input[type="text"],
.fcr-auth-field input[type="email"],
.fcr-auth-field input[type="password"] { width:100%; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.06); color:var(--white); font-family:'Barlow',sans-serif; font-size:14px; font-weight:300; padding:12px 14px; outline:none; border-radius:0; appearance:none; transition:border-color .2s, box-shadow .2s; }
.fcr-auth-field input:focus { border-color:var(--gold-bdr); box-shadow:0 0 0 1px rgba(212,160,23,.12); }
.fcr-auth-field input::placeholder { color:rgba(255,255,255,.18); }

.fcr-auth-pwd-wrap { position:relative; }
.fcr-auth-pwd-wrap input { padding-right:44px; }
.fcr-auth-toggle-pwd { position:absolute; right:12px; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; color:rgba(255,255,255,.25); padding:4px; transition:color .2s; }
.fcr-auth-toggle-pwd:hover { color:var(--gold); }
.fcr-auth-toggle-pwd svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.5; display:block; }

.fcr-auth-row { display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.fcr-auth-row--between { justify-content:space-between; }
.fcr-auth-check { display:flex; align-items:center; gap:7px; cursor:pointer; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.06em; color:rgba(255,255,255,.4); user-select:none; }
.fcr-auth-check input[type="checkbox"] { width:14px; height:14px; accent-color:var(--gold); flex-shrink:0; cursor:pointer; }
.fcr-auth-link-sm { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.06em; color:var(--gold); text-decoration:none; white-space:nowrap; transition:color .2s; background:none; border:none; padding:0; cursor:pointer; }
.fcr-auth-link-sm:hover { color:var(--white); }

.fcr-auth-submit { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; background:var(--gold); color:var(--bg); border:none; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:12px; letter-spacing:.2em; text-transform:uppercase; padding:15px 32px; cursor:pointer; clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%); transition:background .2s, transform .15s; margin-top:4px; }
.fcr-auth-submit:hover { background:var(--gold-lt); transform:translateY(-1px); }
.fcr-auth-submit svg { width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2; flex-shrink:0; }
.fcr-auth-info-text { font-size:13px; color:rgba(255,255,255,.4); margin-bottom:20px; line-height:1.65; }

/* Tab switcher (shared) */
.fcr-auth-tabs { display:flex; margin-bottom:28px; border-bottom:1px solid var(--border); }
.fcr-auth-tab { flex:1; background:none; border:none; border-bottom:2px solid transparent; margin-bottom:-1px; padding:10px 0 12px; font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.35); cursor:pointer; transition:color .2s, border-color .2s; }
.fcr-auth-tab.active { color:var(--gold); border-bottom-color:var(--gold); }
.fcr-auth-tab:hover:not(.active) { color:rgba(255,255,255,.65); }
.fcr-auth-single-title { font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:28px; padding-bottom:12px; border-bottom:1px solid var(--border); }

.fcr-auth-pane { display:none; }
.fcr-auth-pane.active { display:block; }

/* WC notices inside auth forms */
.fcr-auth-page .woocommerce-error,
.fcr-auth-page .woocommerce-message,
.auth-modal-box .woocommerce-error,
.auth-modal-box .woocommerce-message { list-style:none; margin:0 0 20px; padding:12px 16px; font-size:13px; color:rgba(255,255,255,.75); border-left:3px solid #e55; background:rgba(238,85,85,.07); }
.fcr-auth-page .woocommerce-message,
.auth-modal-box .woocommerce-message { border-color:var(--gold); background:rgba(212,160,23,.07); }

/* ══════════════ AUTH PAGE — FULL PAGE (Variant 1) ══════════════ */
.fcr-auth-page { display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - 72px); margin-top:72px; }
.admin-bar .fcr-auth-page { margin-top:104px; min-height:calc(100vh - 104px); }

/* Brand panel */
.fcr-auth-brand { position:relative; background:var(--bg2); display:flex; align-items:center; justify-content:center; overflow:hidden; border-right:1px solid var(--border); }
.fcr-auth-brand::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(135deg, transparent, transparent 40px, rgba(212,160,23,.025) 40px, rgba(212,160,23,.025) 41px); pointer-events:none; }
.fcr-auth-brand-inner { position:relative; z-index:1; padding:60px 48px; max-width:440px; }
.fcr-auth-brand-logo { font-family:'Bebas Neue',sans-serif; font-size:28px; letter-spacing:.18em; color:var(--white); text-decoration:none; display:block; margin-bottom:48px; }
.fcr-auth-brand-logo span { color:var(--gold); }
.fcr-auth-brand-headline { font-family:'Bebas Neue',sans-serif; font-size:54px; line-height:.95; letter-spacing:.03em; color:var(--white); margin-bottom:20px; }
.fcr-auth-brand-sub { font-size:14px; font-weight:300; color:rgba(255,255,255,.45); line-height:1.7; margin-bottom:36px; }
.fcr-auth-brand-divider { width:40px; height:2px; background:var(--gold); margin-bottom:32px; }
.fcr-auth-brand-features { list-style:none; display:flex; flex-direction:column; gap:14px; }
.fcr-auth-brand-features li { display:flex; align-items:center; gap:12px; font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:.04em; color:rgba(255,255,255,.5); }
.fcr-auth-brand-features li svg { width:14px; height:14px; stroke:var(--gold); fill:none; stroke-width:2.5; flex-shrink:0; }

/* Decorative rings */
.fcr-auth-brand-deco { position:absolute; bottom:-120px; right:-80px; pointer-events:none; }
.fcr-auth-brand-deco-ring { position:absolute; border-radius:50%; border:1px solid rgba(212,160,23,.08); }
.fcr-auth-brand-deco-ring--1 { width:400px; height:400px; top:-200px; left:-200px; }
.fcr-auth-brand-deco-ring--2 { width:600px; height:600px; top:-300px; left:-300px; border-color:rgba(212,160,23,.04); }

/* Form panel */
.fcr-auth-panel { background:var(--bg); display:flex; align-items:center; justify-content:center; padding:60px 40px; }
.fcr-auth-form-wrap { width:100%; max-width:400px; }

@media(max-width:900px) {
  .fcr-auth-page { grid-template-columns:1fr; }
  .fcr-auth-brand { display:none; }
  .fcr-auth-panel { padding:48px 24px; align-items:flex-start; }
  .fcr-auth-page { margin-top:60px; }
}

/* Page label / title / desc (lost-password, reset-password) */
.fcr-auth-page-label { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; }
.fcr-auth-page-title { font-family:'Bebas Neue',sans-serif; font-size:38px; letter-spacing:.03em; color:var(--white); margin-bottom:10px; }
.fcr-auth-page-desc { font-size:13px; font-weight:300; color:rgba(255,255,255,.4); line-height:1.65; margin-bottom:28px; }

/* Back link */
.fcr-auth-back-link { margin-top:20px; }
.fcr-auth-back-link a { display:inline-flex; align-items:center; gap:7px; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.35); text-decoration:none; transition:color .2s; }
.fcr-auth-back-link a:hover { color:var(--gold); }
.fcr-auth-back-link svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; flex-shrink:0; }

/* ══════════════ AUTH MODAL (Variant 2) ══════════════ */
.auth-modal-overlay { position:fixed; inset:0; z-index:900; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.auth-modal-overlay.open { opacity:1; pointer-events:all; }

.auth-modal-backdrop { position:absolute; inset:0; backdrop-filter:blur(14px) brightness(.38); -webkit-backdrop-filter:blur(14px) brightness(.38); background:rgba(8,8,8,.55); }

.auth-modal-box { position:relative; z-index:1; background:var(--bg2); border:1px solid var(--gold-bdr); width:min(460px, 94vw); padding:36px 40px 40px; transform:translateY(20px) scale(.97); transition:transform .32s cubic-bezier(.22,1,.36,1); max-height:90vh; overflow-y:auto; }
.auth-modal-overlay.open .auth-modal-box { transform:none; }

.auth-modal-close { position:absolute; top:16px; right:16px; background:none; border:none; cursor:pointer; color:rgba(255,255,255,.3); padding:4px; transition:color .2s; }
.auth-modal-close:hover { color:var(--white); }
.auth-modal-close svg { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2; display:block; }

.auth-modal-logo { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:.18em; color:var(--white); text-decoration:none; display:block; margin-bottom:28px; }
.auth-modal-logo span { color:var(--gold); }
.auth-modal-single-title { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:24px; padding-bottom:12px; border-bottom:1px solid var(--border); }

/* Modal tabs — same structure, slightly smaller */
.auth-modal-tabs { display:flex; margin-bottom:24px; border-bottom:1px solid var(--border); }
.auth-modal-tab { flex:1; background:none; border:none; border-bottom:2px solid transparent; margin-bottom:-1px; padding:8px 0 11px; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.35); cursor:pointer; transition:color .2s, border-color .2s; }
.auth-modal-tab.active { color:var(--gold); border-bottom-color:var(--gold); }
.auth-modal-tab:hover:not(.active) { color:rgba(255,255,255,.65); }

.auth-modal-pane { display:none; }
.auth-modal-pane.active { display:block; }

/* Nav dropdown guest buttons (now <button> not <a>) */
.btn-account-login,
.btn-account-register { display:block; width:100%; text-align:center; border:none; cursor:pointer; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; transition:background .2s, color .2s; }
.btn-account-login { background:var(--gold); color:var(--bg); padding:10px 16px; clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%); margin-bottom:8px; }
.btn-account-login:hover { background:var(--gold-lt); }
.btn-account-register { background:transparent; color:rgba(255,255,255,.5); padding:9px 16px; border:1px solid rgba(255,255,255,.1); }
.btn-account-register:hover { color:var(--white); border-color:rgba(255,255,255,.25); }

/* Inline error in auth modal */
.fcr-modal-error { background:rgba(238,85,85,.08); border-left:2px solid #e55; padding:10px 14px; font-size:13px; font-weight:300; color:rgba(255,255,255,.75); margin-bottom:16px; line-height:1.5; }
.fcr-modal-error[hidden] { display:none; }

/* Full-page notices (lost-password success / error) */
.fcr-page-notice { padding:14px 18px; font-size:14px; font-weight:400; line-height:1.6; margin-bottom:24px; }
.fcr-page-notice[hidden] { display:none; }
.fcr-page-notice--error   { background:rgba(229,85,85,.08); border-left:2px solid #e55; color:rgba(255,255,255,.8); }
.fcr-page-notice--success { background:rgba(111,207,151,.08); border-left:2px solid #6fcf97; color:rgba(255,255,255,.85); }

/* Lost-password sub-pane in modal */
.auth-modal-sub-header { margin-bottom:20px; }
.auth-modal-back-btn { display:inline-flex; align-items:center; gap:6px; background:none; border:none; cursor:pointer; padding:0; }
.auth-modal-back-btn svg { width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2; }
.auth-modal-lost-desc { font-size:13px; font-weight:300; color:rgba(255,255,255,.42); line-height:1.6; margin-top:10px; }
.auth-modal-lost-success { text-align:center; padding:24px 0 8px; }
.auth-modal-lost-success[hidden] { display:none; }
.auth-modal-lost-success svg { width:44px; height:44px; stroke:#6fcf97; fill:none; stroke-width:2; display:block; margin:0 auto 16px; }
.auth-modal-lost-success p { font-size:14px; font-weight:300; color:rgba(255,255,255,.65); line-height:1.65; margin-bottom:24px; }
.auth-modal-back-to-login { width:100%; }

/* ── Password strength meter ── */
.woocommerce-password-strength {
    display: block;
    padding: 9px 16px;
    margin-top: 8px;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-align: center;
    border: 1px solid transparent;
    transition: background .2s, color .2s, border-color .2s;
}
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad { background:rgba(229,85,85,.1); color:#e57373; border-color:rgba(229,85,85,.22); }
.woocommerce-password-strength.good { background:rgba(212,160,23,.1); color:var(--gold); border-color:rgba(212,160,23,.28); }
.woocommerce-password-strength.strong { background:rgba(111,207,151,.08); color:#6fcf97; border-color:rgba(111,207,151,.2); }
.woocommerce-password-hint { display:block; margin-top:7px; font-size:11px; font-weight:300; color:rgba(255,255,255,.35); line-height:1.55; }

/* ══════════════ VIEW ORDER ══════════════ */

/* Header */
.fcr-vo-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:20px; border-bottom:1px solid var(--border); margin-bottom:24px; }
.fcr-vo-header-left { display:flex; flex-direction:column; gap:4px; }
.fcr-vo-back { display:inline-flex; align-items:center; gap:6px; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.35); text-decoration:none; margin-bottom:6px; transition:color .2s; }
.fcr-vo-back:hover { color:var(--gold); }
.fcr-vo-back svg { stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.fcr-vo-number { font-family:'Barlow Condensed',sans-serif; font-size:20px; letter-spacing:.04em; color:rgba(255,255,255,.55); font-weight:500; margin:0; text-transform:uppercase; }
.fcr-vo-number span { color:var(--white); }
.fcr-vo-date { font-family:'Barlow Condensed',sans-serif; font-size:11px; color:rgba(255,255,255,.32); letter-spacing:.04em; margin:0; }

/* Order notes */
.fcr-vo-notes { background:rgba(255,255,255,.02); border:1px solid var(--border); padding:16px 18px; margin-bottom:24px; }
.fcr-vo-notes .fcr-form-section-title { margin-bottom:14px; }
.fcr-vo-notes-list { list-style:none; margin:0; padding:0; }
.fcr-vo-note { padding:10px 0; border-bottom:1px solid rgba(255,255,255,.04); }
.fcr-vo-note:last-child { border-bottom:none; padding-bottom:0; }
.fcr-vo-note-date { display:block; font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.28); margin-bottom:4px; }
.fcr-vo-note-text { font-size:13px; font-weight:300; color:rgba(255,255,255,.62); line-height:1.6; }
.fcr-vo-note-text p { margin:0; }

/* Sections */
.fcr-vo-section { margin-bottom:24px; }
.fcr-vo-section .fcr-form-section-title { margin-bottom:14px; }

/* Products table */
.fcr-vo-table { width:100%; border-collapse:collapse; }
.fcr-vo-table thead tr { border-bottom:1px solid var(--border); }
.fcr-vo-table thead th { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.3); padding:0 0 10px; font-weight:400; text-align:left; }
.fcr-vo-table thead th.product-total { text-align:right; }
.fcr-vo-table tbody td { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.04); vertical-align:middle; }
.fcr-vo-table .product-name { font-family:'Barlow',sans-serif; font-size:14px; font-weight:300; color:var(--white); }
.fcr-vo-table .product-name a { color:var(--white); text-decoration:none; transition:color .2s; }
.fcr-vo-table .product-name a:hover { color:var(--gold); }
.fcr-vo-table .product-quantity { color:rgba(255,255,255,.38); font-size:13px; margin-left:4px; }
/* Item meta grid — aligns all values at the same column */
.fcr-vo-table .wc-item-meta { display:grid; grid-template-columns:max-content 1fr; gap:2px 10px; list-style:none; padding:0; margin:5px 0 0; }
.fcr-vo-table .wc-item-meta li { display:contents; }
.fcr-vo-table .wc-item-meta-label { font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:400; color:rgba(255,255,255,.3); white-space:nowrap; align-self:baseline; }
.fcr-vo-table .wc-item-meta li p { margin:0; font-family:'Barlow Condensed',sans-serif; font-size:11px; color:rgba(255,255,255,.5); align-self:baseline; }
.fcr-vo-table .product-total { text-align:right; font-family:'Barlow Condensed',sans-serif; font-size:14px; color:var(--gold); letter-spacing:.02em; white-space:nowrap; }
/* Totals tfoot */
.fcr-vo-totals tr th,
.fcr-vo-totals tr td { padding:8px 0; font-size:13px; color:rgba(255,255,255,.5); border-top:1px solid rgba(255,255,255,.04); vertical-align:top; }
.fcr-vo-totals tr th { font-family:'Barlow Condensed',sans-serif; font-weight:400; letter-spacing:.04em; width:50%; }
.fcr-vo-totals tr td { text-align:right; }
.fcr-vo-totals .order-total th,
.fcr-vo-totals .order-total td { color:var(--white); font-size:16px; border-top:1px solid var(--border); padding-top:14px; }
.fcr-vo-totals .order-total td { color:var(--gold); font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:.04em; }
/* Actions */
.fcr-vo-actions-cell { padding:14px 0; border-top:1px solid var(--border); }
.fcr-vo-actions-cell .fcr-order-action { margin-right:8px; }
/* Item meta */
.fcr-vo-table .wc-item-meta { margin-top:4px; }
.fcr-vo-table .wc-item-meta li,
.fcr-vo-table .wc-item-meta p { font-size:11px; color:rgba(255,255,255,.35); margin:0; list-style:none; }

/* Customer details */
.woocommerce .woocommerce-order-details { margin-bottom:0 !important; }
.fcr-vo-customer { margin-top:0; }
.woocommerce-customer-details { margin-top:0 !important; }
.fcr-vo-address-grid { display:grid; grid-template-columns:1fr; gap:12px; }
.fcr-vo-address-grid--2col { grid-template-columns:1fr 1fr; }
.fcr-vo-address-block { background:rgba(255,255,255,.02); border:1px solid var(--border); padding:16px 18px; }
.fcr-vo-address-label { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.3); margin:0 0 10px; }
.fcr-vo-address-block address { font-style:normal; font-family:'Barlow',sans-serif; font-size:14px; font-weight:300; color:rgba(255,255,255,.7); line-height:1.75; }
.fcr-vo-address-meta { display:flex; align-items:center; gap:6px; font-size:13px; color:rgba(255,255,255,.4); margin-top:6px; }
.fcr-vo-address-meta svg { stroke:currentColor; fill:none; stroke-width:1.5; flex-shrink:0; }

@media(max-width:600px) {
  .fcr-vo-header { flex-direction:column; gap:10px; }
  .fcr-vo-address-grid--2col { grid-template-columns:1fr; }
}

/* ── FCR Invoicing — documents section on view-order ── */
.woocommerce-order-invoices {
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--border);
}
.woocommerce-order-invoices .woocommerce-order-details__title {
  font-family:'Barlow Condensed',sans-serif;
  font-size:10px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold); font-weight:500; margin:0 0 14px;
}
.woocommerce-table--order-invoices {
  width:100%; border-collapse:collapse;
}
.woocommerce-table--order-invoices td {
  padding:10px 0; border-bottom:1px solid var(--border);
  font-family:'Barlow Condensed',sans-serif; font-size:14px;
  color:rgba(255,255,255,.7); vertical-align:middle;
}
.woocommerce-table--order-invoices tr:last-child td { border-bottom:none; }
.woocommerce-table--order-invoices td:last-child { text-align:right; }
.fci-doc-numer { color:var(--white); font-weight:500; margin-left:4px; }
.woocommerce-order-invoices .button,
.woocommerce-order-invoices .button:visited {
  display:inline-flex !important; align-items:center; gap:6px;
  font-family:'Barlow Condensed',sans-serif !important; font-size:11px !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  color:var(--gold) !important; background:transparent !important;
  border:1px solid var(--gold-bdr) !important; padding:8px 16px !important;
  text-decoration:none !important; transition:background .2s, color .2s;
  border-radius:0 !important; box-shadow:none !important;
}
.woocommerce-order-invoices .button:hover {
  background:rgba(212,160,23,.12) !important; color:var(--white) !important;
}

/* ══════════════ ACCOUNT FORM LAYOUT (edit-account / edit-address) ══════════════ */
.fcr-form-section { margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid var(--border); }
.fcr-form-section-title { font-family:'Barlow Condensed',sans-serif; font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); font-weight:500; margin:0; }

/* Two-column grid for paired fields (name / password) */
.fcr-form-cols { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }

/* WC address field wrapper — grid layout */
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row-wide { grid-column:1 / -1; }
/* Cancel WC default floats so our grid takes over */
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row-first,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row-last { float:none; width:auto; clear:none; }

/* Password toggle inside account forms */
.woocommerce-MyAccount-content .fcr-auth-pwd-wrap { display:block; position:relative; }
.woocommerce-MyAccount-content .fcr-auth-pwd-wrap input { width:100%; padding-right:44px; }

/* Helper text */
.fcr-form-hint { display:block; font-size:11px; font-family:'Barlow',sans-serif; font-weight:300; color:rgba(255,255,255,.28); margin-top:5px; line-height:1.5; }
.fcr-form-optional { font-family:'Barlow',sans-serif; font-size:9px; color:rgba(255,255,255,.28); font-weight:300; text-transform:none; letter-spacing:0; margin-left:4px; }

/* Submit row */
.fcr-form-actions { margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }
.fcr-account-btn { display:inline-flex; align-items:center; gap:8px; font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--bg); background:var(--gold); border:none; padding:14px 32px; cursor:pointer; clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%); transition:background .2s, transform .2s; }
.fcr-account-btn:hover { background:var(--gold-lt); transform:translateY(-1px); }
.fcr-account-btn svg { flex-shrink:0; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

@media(max-width:600px) {
  .fcr-form-cols { grid-template-columns:1fr; }
  .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper { grid-template-columns:1fr; }
  .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row-wide { grid-column:1; }
}
