/* ==========================================
   GLOBAL STYLE
   ========================================== */

:root{
  --red:#b91c1c; --red-light:#ef4444; --red-hover:#dc2626;
  --green:#10b981; --green-dark:#059669;
  --dark:#0f172a; --accent:#f59e0b;
  --white:#ffffff; --gray:#f8fafc; --border:#e5e7eb;

  --radius:10px;
  --shadow:0 8px 25px rgba(0,0,0,.08);
  --transition:.3s ease;
  --font:"Inter", Arial, sans-serif;

  --container-width:1200px;
  --container-padding:20px;

  --gutter-m:16px;
  --header-h:64px;
  --hit:40px;

  --brand:#7f1d1d; --brand-600:#991b1b;
  --text:#111827;  --muted:#6b7280;
  --card:#ffffff;  --line:#e5e7eb;
  --shadow-lg:0 20px 40px rgba(0,0,0,.12);
  --shadow-md:0 10px 24px rgba(0,0,0,.10);
  --radius-xl:20px; --radius-lg:16px;
  --trans:180ms ease;
}

*{ margin:0; padding:0; box-sizing:border-box; }
a{ text-decoration:none; color:inherit; transition:color var(--transition); }
a:hover{ color:var(--accent); text-decoration:none; }
body{ font-family:var(--font); background:var(--gray); color:var(--dark); line-height:1.6; }

.container{
  max-width:var(--container-width);
  margin:0 auto;
  padding:0 var(--container-padding);
  width:100%;
}


/* ==========================================
   TOP BAR
   ========================================== */

.top-bar{ background:var(--red); color:var(--white); font-size:14px; padding:6px 0; }
.top-bar .container{ display:flex; justify-content:center; gap:25px; flex-wrap:wrap; }


/* ==========================================
   HEADER
   ========================================== */

.main-header{ background:var(--white); box-shadow:var(--shadow); position:sticky; top:0; z-index:50; }
.main-header .container{ padding:0 var(--container-padding); }

.header-flex{
  display:flex; align-items:center; justify-content:space-between;
  padding:15px 0; width:100%;
  position:relative; z-index:2;
}

.logo{ display:flex; align-items:center; gap:10px; }
.logo img{ display:block; height:60px; width:auto; object-fit:contain; }

.header-cart{
  margin-left:25px; position:relative;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:transform var(--transition), color var(--transition);
}
.header-cart i{ font-size:22px; color:var(--dark); transition:color var(--transition); }
.header-cart:hover i{ color:var(--red); }
.cart-count{
  position:absolute; top:-8px; right:-10px;
  background:var(--red); color:var(--white);
  font-size:12px; font-weight:700; padding:3px 7px; border-radius:50%;
  min-width:20px; text-align:center; line-height:1; box-shadow:0 2px 6px rgba(0,0,0,.25);
}

.nav-menu{ display:flex; align-items:center; gap:28px; }
.nav-menu a{
  font-weight:600; font-size:16px; color:#1e293b; position:relative; padding:10px 0; transition:color .25s ease;
}
.nav-menu a:hover{ color:#dc2626; }
.nav-menu a::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:3px; border-radius:2px;
  background:#dc2626; transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.nav-menu a.active{ color:#dc2626; }
.nav-menu a.active::after{ transform:scaleX(1); }

.nav-menu a.cta{
  background:linear-gradient(90deg,#dc2626,#b91c1c,#ef4444,#b91c1c);
  background-size:300% 300%; color:#fff; padding:8px 18px; border-radius:6px;
  font-weight:700; box-shadow:0 3px 10px rgba(220,38,38,.25); animation:akcijaShimmer 4s linear infinite;
}
.nav-menu a.cta:hover{ transform:translateY(-2px); box-shadow:0 6px 16px rgba(185,28,28,.35); }
.nav-menu a.cta::after{ display:none; }
.nav-menu a.active-cta{ filter:brightness(1.05); }
@keyframes akcijaShimmer{ 0%{ background-position:0% 50%; } 100%{ background-position:200% 50%; } }

.menu-toggle{
  display:inline-flex; flex-direction:column; gap:5px;
  width:var(--hit); height:var(--hit); align-items:center; justify-content:center;
  border:1px solid #e5e7eb; border-radius:12px; background:#fff; cursor:pointer;
  transition:filter .2s ease, box-shadow .2s ease;
}
.menu-toggle__bar{ width:20px; height:2px; background:#111827; transition:transform .2s ease; }
.menu-toggle:hover{ box-shadow:0 6px 16px rgba(0,0,0,.12); }


/* ==========================================
   MOBILE DRAWER
   ========================================== */

.mobile-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.45);
  opacity:0; pointer-events:none; transition:opacity .25s ease; z-index:9998;
}
.mobile-overlay.is-open{ opacity:1; pointer-events:auto; }

.mobile-drawer{
  position:fixed; top:0; right:0; height:100dvh; width:min(84vw,380px);
  background:#fff; box-shadow:-20px 0 60px rgba(0,0,0,.12);
  transform:translateX(100%); transition:transform .28s ease;
  z-index:9999; display:flex; flex-direction:column; padding-bottom:env(safe-area-inset-bottom,16px);
}
.mobile-drawer.is-open{ transform:translateX(0); }

.mobile-drawer__header{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px; border-bottom:1px solid #f1f5f9;
}
.mobile-brand img{ height:32px; display:block; }
.mobile-close{ width:40px; height:40px; border-radius:12px; background:#f8fafc; border:1px solid #e5e7eb; }

.mobile-nav{ padding:8px 12px; display:grid; gap:6px; margin-top:8px; }
.mobile-link{
  display:block; padding:14px 12px; border-radius:12px; border:1px solid #e5e7eb;
  background:#fff; color:#111827; font-weight:600;
}
.mobile-link.is-active{ border-color:#991b1b; outline:2px solid #991b1b22; }
.mobile-link.cta{ background:#7f1d1d; color:#fff; border-color:#7f1d1d; }
.mobile-link.cta.is-active{ outline:2px solid #7f1d1d33; }

.mobile-quick{ margin-top:auto; padding:12px; display:grid; gap:10px; border-top:1px solid #f1f5f9; }
.quick-btn{
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 12px; border-radius:12px; background:#111827; color:#fff; font-weight:600;
}
.quick-btn .badge{
  min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:#fff; color:#111827;
  display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:700;
}


/* ==========================================
   HERO
   ========================================== */

.akcija-hero{ background:linear-gradient(135deg,#dc2626,#b91c1c); color:#fff; padding:80px 0; text-align:center; position:relative; }
.akcija-hero .overlay{ background:rgba(0,0,0,.25); position:absolute; inset:0; }
.akcija-hero .category-hero-content{ position:relative; z-index:2; }
.akcija-hero h1{ font-size:42px; font-weight:700; margin-bottom:10px; color:#fff; }
.akcija-hero p{ font-size:18px; color:#f3f4f6; max-width:700px; margin:0 auto; }


/* ==========================================
   CTA HUB
   ========================================== */

.pg-cta-hub .container{ max-width:1200px; margin:0 auto; padding:0 16px; }
.pg-cta-hub{ position:relative; padding:56px 0 72px; isolation:isolate; overflow:hidden; }
.pg-cta-grid, .pg-cta-card, .pg-cta-actions{ position:relative; z-index:1; }

.pg-cta-grid{ display:grid; gap:22px; grid-template-columns:1fr; }
@media (min-width:960px){
  .pg-cta-grid{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:28px; }
}

.pg-cta-card{
  background:
    radial-gradient(1200px 600px at 0% 0%, rgba(255,255,255,.15) 0%, transparent 60%),
    linear-gradient(135deg, var(--brand) 0%, var(--brand-600) 100%);
  color:#fff; border-radius:var(--radius-xl);
  padding:28px; box-shadow:var(--shadow-lg);
  border:1px solid rgba(255,255,255,.12);
}
.pg-cta-title{ font-size:28px; line-height:1.2; font-weight:800; letter-spacing:.2px; margin:4px 0 18px; }
@media (min-width:640px){ .pg-cta-title{ font-size:30px; } }

.pg-cta-line{
  display:flex; align-items:center; gap:12px;
  text-decoration:none; color:#fff;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18);
  border-radius:14px; padding:0 16px; min-height:52px; margin-top:12px;
  transition:transform var(--trans), background var(--trans), border-color var(--trans), box-shadow var(--trans);
  box-shadow:0 6px 18px rgba(0,0,0,.15) inset, 0 8px 18px rgba(0,0,0,.08);
}

.pg-cta-line:hover{ transform:translateY(-1px); background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.28); }
.pg-cta-primary{ background:#fff; color:var(--brand); border-color:#fff; box-shadow:0 10px 24px rgba(0,0,0,.12); }
.pg-cta-primary:hover{ background:#f9fafb; }
.pg-cta-icon{ font-size:18px; line-height:1; }
.pg-cta-text{ font-size:17px; font-weight:700; letter-spacing:.15px; }
.pg-cta-note{ margin-top:14px; font-size:14px; color:rgba(255,255,255,.9); opacity:.95; }

.pg-cta-actions{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-xl); padding:22px; box-shadow:var(--shadow-md); }
.pg-cta-subtitle{ margin-bottom:12px; font-size:18px; font-weight:800; color:var(--text); letter-spacing:.2px; text-align:center;}
.pg-cta-buttons{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; grid-auto-rows:1fr; }
@media (min-width:640px){ .pg-cta-buttons{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (min-width:1024px){ .pg-cta-buttons{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
.pg-cat-btn{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  height:100%; min-height:52px; padding:0 16px; text-decoration:none;
  background:#fff; color:var(--text); border:1px solid var(--line);
  border-radius:14px; font-weight:600; letter-spacing:.1px; font-size:14px;
  transition:transform var(--trans), box-shadow var(--trans), border-color var(--trans), background var(--trans);
}
.pg-cat-btn i{ font-style:normal; transition:transform var(--trans), opacity var(--trans); opacity:.7; width:1em; text-align:right; }
.pg-cat-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,.10); border-color:rgba(127,29,29,.25); background:#fcfcfc; }
.pg-cat-btn:hover i{ transform:translateX(2px); opacity:1; }
.pg-cat-btn:focus-visible{ outline:3px solid rgba(127,29,29,.35); outline-offset:2px; border-color:rgba(127,29,29,.45); }


/* ==========================================
   FOOTER
   ========================================== */

.site-footer{ color:#e5e7eb; background:linear-gradient(135deg,#1e1e1e,#2a2a2a); padding-top:22px; }
.site-footer .container{ max-width:1200px; margin:0 auto; padding:0 16px; }

.footer-inner{
  display:grid; gap:28px; padding:56px 0 32px; grid-template-columns:1fr;
  border-bottom:1px solid rgba(255,255,255,.08);
}
@media (max-width:768px){
  .footer-inner{ padding:40px 0 24px; }
}
@media (min-width:720px){
  .footer-inner{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (min-width:1024px){
  .footer-inner{ grid-template-columns:1.15fr .85fr .85fr 1.2fr; gap:32px; }
}

.f-brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:#fff; font-weight:800; letter-spacing:.2px; margin-bottom:8px; }
.f-logo{ display:inline-grid; place-items:center; width:40px; height:40px; border-radius:10px; background:#7f1d1d; color:#fff; font-weight:900; box-shadow:0 10px 24px rgba(0,0,0,.25); }
.f-name{ font-size:18px; }
.f-text{ color:#cbd5e1; margin:8px 0 14px; }

.f-social{ display:flex; gap:10px; align-items:center; }
.f-soc{
  --size:40px; display:inline-flex; align-items:center; justify-content:center;
  width:var(--size); height:var(--size); border-radius:12px; color:#111827; background:#fff; border:1px solid #e5e7eb;
  text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, color .15s ease, background .15s ease; box-shadow:0 4px 12px rgba(0,0,0,.06);
}
.f-soc:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.12); }
.f-soc--ig:hover{ color:#b91c1c; background:#fff5f5; }
.f-soc--fb:hover{ color:#1877f2; background:#f0f6ff; }
.f-soc--yt:hover{ color:#ff0000; background:#fff5f5; }

.f-title{ color:#fff; font-weight:800; font-size:16px; letter-spacing:.2px; margin-bottom:10px; }
.f-list{ list-style:none; padding:0; margin:0; }
.f-list li{ margin:6px 0; }
.f-list a{ color:#d1d5db; border-bottom:1px dashed transparent; transition:color .18s ease, border-color .18s ease, transform .18s ease; }
.f-list a:hover{ color:#fff; border-color:rgba(255,255,255,.25); }
.f-contact span, .f-contact a{ color:#d1d5db; }

.f-newsletter{ margin-top:10px; }
.f-newsletter label{ display:block; font-size:14px; color:#e5e7eb; margin-bottom:8px; }
.f-input{ display:flex; gap:8px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:6px; }
.f-input input{ flex:1; min-width:0; background:transparent; border:none; outline:none; color:#fff; padding:10px 12px; font-size:14px; }
.f-input input::placeholder{ color:#9ca3af; }
.f-input button{ background:#7f1d1d; color:#fff; border:none; cursor:pointer; font-weight:700; border-radius:10px; padding:10px 14px; transition:transform .18s ease, background .18s ease; }
.f-input button:hover{ transform:translateY(-1px); background:#991b1b; }
.f-newsletter small{ display:block; color:#94a3b8; margin-top:6px; }

.footer-bottom{ padding:12px 0; }
.f-bottom-inner{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:10px 0; }
.f-bottom-inner p{ margin:0; color:#cbd5e1; }
.f-legal{ display:flex; gap:14px; list-style:none; margin:0; padding:0; }
.f-legal a{ color:#9ca3af; }
.f-legal a:hover{ color:#e5e7eb; }


/* ==========================================
   ACCESSIBILITY
   ========================================== */

.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}


/* ==========================================
   CHECKOUT (STICKY FOOTER)
   ========================================== */

.checkout-container ~ .site-footer{ position:sticky; top:100vh; }
.checkout-container{ min-height:50vh; padding-bottom:24px; }
@media (max-width:768px){
  .checkout-container{ min-height:60vh; }
}


/* ==========================================
   FOOTER (MOBILE CENTER)
   ========================================== */

@media (max-width:768px){
  .footer-inner{ text-align:center; justify-items:center; }
  .f-title{ text-align:center; }
  .f-brand{ justify-content:center; }
  .f-text{ margin-left:auto; margin-right:auto; }
  .f-list, .f-contact{ text-align:center; }
  .f-list a{ display:inline-block; }
  .f-social{ justify-content:center; }
  .f-newsletter{ width:100%; }
  .f-input{ flex-direction:column; align-items:stretch; }
  .f-input button{ width:100%; }
  .f-bottom-inner{ flex-direction:column; align-items:center; gap:8px; text-align:center; }
  .f-legal{ justify-content:center; flex-wrap:wrap; }
}

.site-footer .f-bottom-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.site-footer .f-bottom-inner p{
  margin:0;
  color:#e5e7eb;
  font-size:14px;
}

.site-footer .f-legal{
  display:flex;
  gap:16px;
  list-style:none;
  padding:0;
  margin:0;
}
.site-footer .f-legal a{
  color:#e5e7eb;
  text-decoration:none;
  font-size:14px;
  opacity:.9;
  transition:opacity .18s ease;
}
.site-footer .f-legal a:hover{ opacity:1; }

.site-footer .credit-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#7f1d1d,#b91c1c);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  letter-spacing:.2px;
  box-shadow:0 6px 18px rgba(185,28,28,.28), inset 0 0 0 1px rgba(255,255,255,.12);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.site-footer .credit-badge:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(185,28,28,.38), inset 0 0 0 1px rgba(255,255,255,.18);
  filter:saturate(1.15);
}
.site-footer .credit-badge strong{ font-weight:800; }


.site-footer .credit-badge .credit-spark{
  width:14px; height:14px; display:inline-block;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="%23ffffff"><path d="M12 2l2.3 4.9 5.4.8-3.9 3.8.9 5.4L12 14.9 7.3 17l.9-5.4L4.3 7.7l5.4-.8L12 2z"/></svg>');
  background-repeat:no-repeat;
  background-size:100% 100%;
  opacity:.95;
}

@media (max-width:720px){
  .site-footer .f-bottom-inner{
    justify-content:center;
    gap:12px;
  }
  .site-footer .f-legal{
    gap:12px;
    flex-wrap:wrap;
    justify-content:center;
  }
  .site-footer .credit-badge{
    font-size:13px;
    padding:6px 10px;
  }
}


/* ==========================================
   BUTTONS / TOAST
   ========================================== */

.btn-primary{
  display:inline-block; background:var(--red); color:var(--white); padding:12px 24px;
  border-radius:var(--radius); font-weight:600; transition:background var(--transition), transform var(--transition);
}
.btn-primary:hover{ background:var(--red-hover); transform:translateY(-2px); }

.cart-toast{
  position:fixed; bottom:30px; right:30px; background:var(--green); color:var(--white);
  padding:14px 20px; border-radius:var(--radius); font-weight:600; font-size:15px; box-shadow:var(--shadow);
  opacity:0; transform:translateY(20px); transition:opacity .4s ease, transform .4s ease; z-index:999999;
}
.cart-toast.show{ opacity:1; transform:translateY(0); }
.cart-toast.error{ background:var(--red); }
.cart-toast.warning{ background:var(--accent); color:var(--dark); }


/* ==========================================
   ANIMATIONS
   ========================================== */

@keyframes fadeIn{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }


/* ==========================================
   RESPONSIVE
   ========================================== */

@media (max-width:1023px){
  .container,
  .top-bar .container,
  .main-header .container,
  .akcija-hero .category-hero-content,
  .pg-cta-hub .container,
  .site-footer .container,
  .footer-inner,
  .f-bottom-inner{
    padding-left:var(--gutter-m) !important;
    padding-right:var(--gutter-m) !important;
  }

  .header-flex{
    display:grid !important;
    grid-template-columns:auto 1fr auto auto;
    align-items:center; column-gap:12px; min-height:var(--header-h);
    padding:0 !important; margin:0 !important;
  }

  .logo img{ height:40px !important; }

  .header-cart{
    display:inline-flex !important; width:var(--hit); height:var(--hit);
    align-items:center; justify-content:center; margin:0 !important;
  }
  .header-cart i{ font-size:20px; line-height:1; }
  .cart-count{ top:-6px; right:-6px; }

  .menu-toggle{
    background:#111827 !important; border:1px solid #111827 !important; color:#fff;
    width:var(--hit); height:var(--hit); margin:0 !important; z-index:10010;
  }
  .menu-toggle__bar{ background:#fff !important; }

  .nav-menu{ display:none !important; }
}

@media (min-width:1024px){
  .menu-toggle{ display:none; }
}


/* ==========================================
   POPUP (KONTAKT)
   ========================================== */

.popup-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.7);
  display:none; align-items:center; justify-content:center; z-index:1000;
}
.popup-overlay.show{ display:flex; animation:fadeIn .3s ease; }

.popup-box{
  background:#1e1e1e; border:1px solid rgba(255,255,255,.1);
  padding:30px 40px; border-radius:12px; text-align:center; color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.4); max-width:400px; width:90%;
}
.popup-icon{ font-size:48px; margin-bottom:15px; }
.popup-text{ font-size:17px; margin-bottom:20px; }
.popup-close{
  background:#f87171; color:#fff; border:none; padding:10px 20px; border-radius:6px;
  cursor:pointer; font-weight:600; transition:background .3s ease;
}
.popup-close:hover{ background:#ef4444; }


/* ==========================================
   MOBILE HEADER (CART UZ TOGGLE)
   ========================================== */

@media (max-width:1023px){
  .header-flex{
    display:grid !important;
    grid-template-columns:auto 1fr auto auto;
    align-items:center; column-gap:16px; min-height:64px; padding:0 !important;
  }

  .logo{ grid-column:1; }
  .header-cart{ grid-column:3; justify-self:end; }
  .menu-toggle{ grid-column:4; justify-self:end; }

  .header-cart{
    margin:0 !important; width:40px; height:40px;
    display:inline-grid !important; place-items:center; position:relative;
    transform:translateY(2px);
  }
  .header-cart a{ display:grid; place-items:center; width:40px; height:40px; padding:0 !important; margin:0 !important; }
  .header-cart i{ display:block; line-height:1; font-size:20px; }
  .cart-count{ top:-5px; right:-6px; }

  .menu-toggle{ width:40px; height:40px; margin:0 !important; display:inline-flex !important; align-items:center; justify-content:center; }
}
