/* ==========================================================================
   NARANJA EXPRIMIA — main.css
   Design system: DM Serif Display + Space Grotesk
   ========================================================================== */

/* --------------------------------------------------------------------------
   GOOGLE FONTS IMPORT
   -------------------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Space+Grotesk:wght@300;400;500;600;700&display=swap');

/* --------------------------------------------------------------------------
   CSS CUSTOM PROPERTIES
   -------------------------------------------------------------------------- */
:root {
  /* Colors */
  --color-black:      #0A0A0A;
  --color-black-soft: #111111;
  --color-gray-900:   #1A1A1A;
  --color-gray-800:   #2A2A2A;
  --color-gray-600:   #555555;
  --color-gray-400:   #999999;
  --color-gray-200:   #D4CFC9;
  --color-gray-100:   #F0EBE3;
  --color-off-white:  #F5F0EB;
  --color-white:      #FFFFFF;
  --color-orange:     #FF4D00;
  --color-orange-dark:#CC3D00;
  --color-orange-soft:#FF6A2A;
  --color-orange-pale:#FFF0E8;

  /* Typography */
  --font-display: 'DM Serif Display', Georgia, serif;
  --font-body:    'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;

  /* Font sizes — fluid scale */
  --text-xs:   0.75rem;    /* 12px */
  --text-sm:   0.875rem;   /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-lg:   1.125rem;   /* 18px */
  --text-xl:   1.25rem;    /* 20px */
  --text-2xl:  1.5rem;     /* 24px */
  --text-3xl:  1.875rem;   /* 30px */
  --text-4xl:  2.25rem;    /* 36px */
  --text-5xl:  3rem;       /* 48px */
  --text-6xl:  3.75rem;    /* 60px */
  --text-7xl:  4.5rem;     /* 72px */
  --text-8xl:  6rem;       /* 96px */

  /* Spacing */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* Layout */
  --container-max:    1280px;
  --container-pad:    clamp(1rem, 5vw, 2rem);
  --section-pad:      clamp(3rem, 8vw, 6rem);
  --sidebar-width:    320px;
  --gap:              1.5rem;

  /* Borders */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   16px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm:  0 1px 3px rgba(0,0,0,.08);
  --shadow-md:  0 4px 16px rgba(0,0,0,.1);
  --shadow-lg:  0 8px 32px rgba(0,0,0,.15);
  --shadow-xl:  0 20px 60px rgba(0,0,0,.2);

  /* Transitions */
  --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:    cubic-bezier(0.7, 0, 0.84, 0);
  --duration:   0.3s;

  /* Header height */
  --header-h: 72px;
}

/* --------------------------------------------------------------------------
   RESET & BASE
   -------------------------------------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--color-black);
  background-color: var(--color-off-white);
  overflow-x: hidden;
}

/* Grain texture overlay */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 9999;
  opacity: 0.4;
}

img, video {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: var(--font-body);
  cursor: pointer;
  border: none;
  background: none;
}

input, textarea, select {
  font-family: var(--font-body);
  font-size: var(--text-base);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: -0.02em;
}

/* --------------------------------------------------------------------------
   CUSTOM CURSOR
   -------------------------------------------------------------------------- */
@media (pointer: fine) {
  * { cursor: none; }
  a, button, [role="button"], label, input, select, textarea { cursor: none; }
}

.cursor {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 10000;
  /* No mix-blend-mode — keeps dot orange on every background */
}

.cursor__dot {
  width: 12px;
  height: 12px;
  background: var(--color-orange) !important;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.15s var(--ease-out), width 0.2s var(--ease-out), height 0.2s var(--ease-out);
  will-change: transform;
  /* White halo ensures dot is visible on both light and dark backgrounds */
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.55), 0 0 0 3px rgba(0, 0, 0, 0.12);
}

.cursor--hover .cursor__dot {
  width: 36px;
  height: 36px;
}

.cursor--click .cursor__dot {
  transform: translate(-50%, -50%) scale(0.7);
}

/* Force native cursor visible over cookie consent modal */
.cmplz-cookiebanner,
.cmplz-cookiebanner *,
.cmplz-overlay,
[class*="cmplz"],
[class*="cookie"],
[class*="consent"] {
  cursor: auto !important;
}

.cmplz-cookiebanner button,
.cmplz-cookiebanner a,
[class*="cmplz"] button,
[class*="cmplz"] a {
  cursor: pointer !important;
}

.cmplz-cookiebanner {
  z-index: 999999 !important;
  position: fixed !important;
}

/* --------------------------------------------------------------------------
   LAYOUT
   -------------------------------------------------------------------------- */
.container {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

.site {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.site-main {
  flex: 1;
  padding-top: var(--header-h);
}

/* Homepage: hero covers full viewport behind fixed header — no padding needed */
body.home .site-main,
body.home main {
  padding-top: 0 !important;
  margin-top: 0 !important;
  background: #0A0A0A !important;
}
body.home,
body.home #page,
body.home .site-content,
body.home #content {
  background: #0A0A0A !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.admin-bar.home #page,
body.admin-bar.home .site-content,
body.admin-bar.home main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.admin-bar .hero {
  padding-top: 32px;
}
@media (max-width: 600px) {
  body.admin-bar .hero { padding-top: 46px; }
}
.home .wp-site-blocks,
.home .wp-block-group {
  background: #0A0A0A !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Two-column layout with sidebar */
.content-area {
  display: grid;
  grid-template-columns: 1fr var(--sidebar-width);
  gap: var(--space-12);
  align-items: start;
}

.content-area--full {
  grid-template-columns: 1fr;
  max-width: 860px;
  margin-inline: auto;
}

@media (max-width: 1024px) {
  .content-area {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   SECTIONS
   -------------------------------------------------------------------------- */
.section {
  padding-block: var(--section-pad);
}

.section--light {
  background-color: var(--color-off-white);
}

.section--dark {
  background-color: var(--color-black);
  color: var(--color-off-white);
}

.section--orange {
  background-color: var(--color-orange);
  color: var(--color-black);
}

.section__header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-4);
  margin-bottom: var(--space-12);
}

.section__label {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-orange);
  display: block;
  width: 100%;
}

.section__label--light {
  color: var(--color-orange-soft);
}

.section__title {
  font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl));
  flex: 1;
}

.section__title--light {
  color: var(--color-off-white);
}

.section__subtitle {
  width: 100%;
  font-size: var(--text-lg);
  color: var(--color-gray-600);
  max-width: 600px;
  margin-top: var(--space-2);
}

.section__subtitle--light {
  color: var(--color-gray-400);
}

.section__link {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-orange);
  text-decoration: none;
  margin-left: auto;
  white-space: nowrap;
  transition: opacity var(--duration);
}

.section__link:hover { opacity: 0.75; }

.section__link--light {
  color: var(--color-orange-soft);
}

/* --------------------------------------------------------------------------
   BUTTONS
   -------------------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.75em 1.5em;
  border-radius: var(--radius-sm);
  transition: all var(--duration) var(--ease-out);
  text-decoration: none;
  white-space: nowrap;
  border: 2px solid transparent;
}

.btn--primary {
  background-color: var(--color-orange);
  color: var(--color-white);
  border-color: var(--color-orange);
}

.btn--primary:hover {
  background-color: var(--color-orange-dark);
  border-color: var(--color-orange-dark);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255,77,0,.35);
}

.btn--outline {
  background: transparent;
  color: var(--color-black);
  border-color: var(--color-black);
}

.btn--outline:hover {
  background-color: var(--color-black);
  color: var(--color-white);
}

.btn--light {
  background: transparent;
  color: var(--color-off-white);
  border-color: rgba(245,240,235,.4);
}

.btn--light:hover {
  background-color: rgba(245,240,235,.1);
  border-color: var(--color-off-white);
}

.btn--dark {
  background-color: var(--color-black);
  color: var(--color-white);
  border-color: var(--color-black);
}

.btn--dark:hover {
  background-color: var(--color-gray-900);
}

.btn--lg {
  font-size: var(--text-base);
  padding: 0.875em 2em;
}

.btn--sm {
  font-size: var(--text-xs);
  padding: 0.5em 1em;
}

/* Ghost — white border/text, fills orange on hover (for dark backgrounds) */
.btn--ghost {
  background: transparent;
  color: var(--color-white);
  border-color: rgba(255,255,255,.45);
}

.btn--ghost:hover {
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-white);
  box-shadow: 0 6px 20px rgba(255,77,0,.35);
  transform: translateY(-2px);
}

/* --------------------------------------------------------------------------
   READING PROGRESS BAR
   -------------------------------------------------------------------------- */
.reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: rgba(255,77,0,.15);
  z-index: 200;
}

.reading-progress__bar {
  height: 100%;
  background: var(--color-orange);
  width: 0%;
  transition: width 0.1s linear;
  transform-origin: left;
}

/* --------------------------------------------------------------------------
   SITE HEADER
   -------------------------------------------------------------------------- */
.site-header,
#masthead,
.site-header-wrap,
.header-wrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 1rem 5%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  background: #0A0A0A !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
  height: var(--header-h);
}

.site-header::before,
.site-header::after { display: none !important; }

/* Admin bar offset */
body.admin-bar .site-header { top: 32px; }
@media (max-width: 600px) {
  body.admin-bar .site-header { top: 46px; }
}
#wpadminbar + * { border-top: none !important; }

/* On scroll: more opaque (no box-shadow — avoids white line) */
.site-header.scrolled {
  background: rgba(10,10,10,0.97) !important;
}

/* ── Logo (LEFT) ── */
.logo-wrap,
.site-header .site-branding {
  flex-shrink: 0;
  margin-right: auto;
}

.logo-text,
.site-header .site-logo {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff !important;
  text-decoration: none;
}
.logo-text:hover,
.site-header .site-logo:hover { opacity: 0.85; }

.logo-ia,
.site-logo__ia { color: #FF4D00 !important; }

/* ── Nav (RIGHT) ── */
.main-navigation,
.nav-main {
  margin-left: auto;
  display: flex;
  align-items: center;
}

.nav-menu,
.nav-main__list {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2rem;
  margin: 0;
  padding: 0;
}

.nav-menu a,
.nav-main__list a,
.site-header nav a {
  color: rgba(255,255,255,0.85) !important;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  position: relative;
  padding-bottom: 2px;
  transition: color var(--duration);
}

.nav-menu a::after,
.nav-main__list a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--color-orange);
  transition: width var(--duration) var(--ease-out);
}

.nav-menu a:hover,
.nav-main__list a:hover,
.site-header nav a:hover,
.nav-menu .current-menu-item > a,
.nav-main__list .current-menu-item > a {
  color: #FF4D00 !important;
}

.nav-menu a:hover::after,
.nav-main__list a:hover::after,
.nav-menu .current-menu-item > a::after,
.nav-main__list .current-menu-item > a::after {
  width: 100%;
}

/* ── Nav dropdown ── */
.nav-item-dropdown {
  position: relative;
}

/* Bridge the 8px gap so menu doesn't close when moving mouse down */
.nav-item-dropdown::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 8px;
  background: transparent;
}

.dropdown-arrow {
  font-size: 0.65rem;
  transition: transform 0.2s;
  display: inline-block;
  margin-left: 0.2rem;
  opacity: 0.7;
}

.nav-item-dropdown:hover .dropdown-arrow {
  transform: rotate(180deg);
}

/* Dropdown hidden by default — high specificity to override any theme/WP styles */
.site-header .main-navigation .nav-menu .nav-item-dropdown .dropdown-menu,
.site-header nav ul li .dropdown-menu,
.dropdown-menu {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0;
  background: #111111;
  border: 1px solid rgba(255,77,0,0.15);
  border-radius: 10px;
  padding: 0.6rem 0 !important;
  min-width: 220px;
  z-index: 1000;
  box-shadow: 0 8px 32px rgba(0,0,0,0.5);
  margin: 0;
}

/* Dropdown visible on hover of trigger OR menu itself */
.site-header .main-navigation .nav-menu .nav-item-dropdown:hover .dropdown-menu,
.site-header nav ul li:hover .dropdown-menu,
.nav-item-dropdown .dropdown-menu:hover {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.dropdown-menu li a {
  display: block;
  padding: 0.6rem 1.25rem;
  color: rgba(255,255,255,0.75) !important;
  font-size: 0.85rem;
  text-decoration: none;
  transition: all 0.2s;
  white-space: nowrap;
}

.dropdown-menu li a:hover {
  color: #FF4D00 !important;
  background: rgba(255,77,0,0.08);
}

.dropdown-divider {
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 0.4rem 0;
  pointer-events: none;
}

@media (max-width: 768px) {
  .nav-item-dropdown .dropdown-menu { display: none !important; visibility: hidden !important; }
  .dropdown-arrow { display: none; }
}

/* ── Mobile menu ── */
.mobile-menu-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 1rem 0;
  overflow-y: auto;
  max-height: 85vh;
}

.mobile-main-link {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  text-align: center !important;
  transition: color 0.2s !important;
}

.mobile-main-link:hover {
  color: #FF4D00 !important;
}

.mobile-sub-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}

.mobile-sub-links a {
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.55) !important;
  text-decoration: none !important;
  text-align: center !important;
  transition: color 0.2s !important;
}

.mobile-sub-links a:hover {
  color: #FF4D00 !important;
}

.mobile-menu-divider {
  width: 40px;
  height: 1px;
  background: rgba(255,255,255,0.15);
  margin: 0.5rem 0;
}

/* ── Header actions (cart + hamburger) ── */
.site-header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-left: var(--space-6);
}

/* Cart */
.cart-link,
.cart-btn {
  position: relative;
  display: flex;
  align-items: center;
  color: #ffffff !important;
  transition: color var(--duration);
}
.cart-link:hover,
.cart-btn:hover { color: #FF4D00 !important; }

.cart-count {
  position: absolute;
  top: -8px;
  right: -8px;
  min-width: 18px;
  height: 18px;
  background: var(--color-orange);
  color: var(--color-white);
  font-size: 10px;
  font-weight: 700;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0);
  transition: all var(--duration) var(--ease-out);
}
.cart-count--active {
  opacity: 1;
  transform: scale(1);
}

/* --------------------------------------------------------------------------
   HAMBURGER BUTTON
   -------------------------------------------------------------------------- */
.hamburger-btn {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  margin-left: 0.5rem;
  flex-shrink: 0;
}

.hamburger-line {
  display: block;
  width: 24px;
  height: 2px;
  background: #ffffff;
  border-radius: 2px;
  transition: all 0.3s ease;
}

.hamburger-btn.active .hamburger-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.hamburger-btn.active .hamburger-line:nth-child(2) {
  opacity: 0;
}
.hamburger-btn.active .hamburger-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* --------------------------------------------------------------------------
   MOBILE FULLSCREEN OVERLAY
   -------------------------------------------------------------------------- */
.mobile-menu-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: #0A0A0A;
  z-index: 2000;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
.mobile-menu-overlay.active {
  display: flex;
}

.mobile-menu-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  background: none;
  border: none;
  color: #ffffff;
  font-size: 1.5rem;
  cursor: pointer;
  line-height: 1;
  padding: 0.5rem;
}
.mobile-menu-close:hover { color: #FF4D00; }

.mobile-menu-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

/* wp_nav_menu outputs a <ul> — flatten it for overlay style */
.mobile-menu-nav ul,
.mobile-nav-list {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

.mobile-menu-nav a,
.mobile-nav-list a {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 8vw, 2.5rem);
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s;
}
.mobile-menu-nav a:hover,
.mobile-nav-list a:hover { color: #FF4D00; }

.mobile-menu-footer {
  position: absolute;
  bottom: 2rem;
  color: rgba(255,255,255,0.3);
  font-size: 0.85rem;
  text-align: center;
}

/* Show hamburger only on mobile; hide desktop nav on mobile */
@media (max-width: 768px) {
  .main-navigation,
  .nav-main { display: none !important; }
  .hamburger-btn { display: flex; }
}
@media (min-width: 769px) {
  .hamburger-btn { display: none !important; }
  .mobile-menu-overlay { display: none !important; }
}

/* --------------------------------------------------------------------------
   HERO
   -------------------------------------------------------------------------- */
.hero {
  position: relative;
  min-height: 100vh;
  background: #0A0A0A;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.hero-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to right,
    rgba(10,10,10,0.98) 0%,
    rgba(10,10,10,0.90) 35%,
    rgba(10,10,10,0.50) 60%,
    rgba(10,10,10,0.10) 100%
  );
}

.hero-content {
  position: relative;
  z-index: 10;
  padding: 0 8%;
  max-width: 680px;
  text-align: left;
}

.hero-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  color: #FF4D00;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}

.hero-title {
  font-family: var(--font-display);
  font-size: clamp(4rem, 8vw, 7rem);
  line-height: 1.0;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 1.5rem 0;
}

.hero-title em {
  font-style: italic;
  color: #F5F0EB;
}

.hero-ia {
  color: #FF4D00;
  font-style: italic;
}

.hero-subtitle {
  font-size: 1.1rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.65);
  margin-bottom: 2.5rem;
  max-width: 520px;
}

.hero-ctas {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  padding: 0.85rem 2rem;
  background: #FF4D00;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.95rem;
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
}
.btn-primary:hover { background: #e04400; transform: translateY(-1px); }

.btn-secondary {
  display: inline-flex;
  align-items: center;
  padding: 0.85rem 2rem;
  background: transparent;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.95rem;
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,0.35);
  text-decoration: none;
  transition: border-color 0.2s, transform 0.15s;
}
.btn-secondary:hover { border-color: rgba(255,255,255,0.7); transform: translateY(-1px); }

.hero-scroll-indicator {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

@media (min-height: 700px) {
  .hero-scroll-indicator { display: flex; }
}

.hero-scroll-text {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.3em;
  color: rgba(255,255,255,0.25);
  text-transform: uppercase;
}

.hero-scroll-line {
  width: 1px;
  height: 48px;
  background: linear-gradient(to bottom, rgba(255,77,0,0.6), rgba(255,77,0,0));
  position: relative;
  overflow: hidden;
}

.hero-scroll-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FF4D00;
  position: absolute;
  left: -1px;
  top: 0;
  animation: scrollDot 1.8s ease-in-out infinite;
}

@keyframes scrollDot {
  0%   { top: 0; opacity: 1; }
  80%  { top: 44px; opacity: 0.3; }
  100% { top: 44px; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-scroll-dot { animation: none; top: 22px; opacity: 0.5; }
}

@media (max-width: 768px) {
  .hero-content { padding: 0 1.5rem; max-width: 100%; }
  .hero-ctas { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-canvas { opacity: 0.3; }
}

.text-orange { color: var(--color-orange); }

/* --------------------------------------------------------------------------
   MARQUEE STRIP
   -------------------------------------------------------------------------- */
.marquee-section {
  background: var(--color-black);
  overflow: hidden;
  border-block: 1px solid var(--color-gray-800);
}

.marquee {
  padding-block: var(--space-5);
  overflow: hidden;
}

.marquee__track {
  display: flex;
  animation: marqueeScroll 25s linear infinite;
  width: max-content;
}

.marquee__content {
  font-family: var(--font-body);
  font-size: var(--text-xl);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-orange);
  white-space: nowrap;
  padding-right: var(--space-8);
}

@keyframes marqueeScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.marquee:hover .marquee__track {
  animation-play-state: paused;
}

/* --------------------------------------------------------------------------
   FEATURED POST CARD (large — editorial dark magazine style)
   -------------------------------------------------------------------------- */
.featured-post .section__header {
  margin-bottom: var(--space-8);
}

/* Section itself is dark (section--dark class added in front-page.php) */

.post-card--featured {
  display: grid;
  grid-template-columns: 45fr 55fr;
  gap: 0;
  align-items: stretch;
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
  border: 1px solid var(--color-gray-800);
}

/* Removed oversized watermark — using .post-card__num element instead */
.post-card--featured::before { display: none; }

.post-card--featured .post-card__image-wrap {
  height: 100%;
  min-height: 480px;
  overflow: hidden;
  display: block;
}

.post-card--featured .post-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ease-out);
}

.post-card--featured:hover .post-card__image {
  transform: scale(1.04);
}

.post-card--featured .post-card__body {
  padding: var(--space-12);
  background: var(--color-gray-900);
  border-left: 1px solid var(--color-gray-800);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1;
}

/* Orange accent bar on left edge of text panel */
.post-card--featured .post-card__body::before {
  content: '';
  position: absolute;
  top: var(--space-12);
  left: 0;
  width: 3px;
  height: 60px;
  background: var(--color-orange);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

/* Override text colors for dark background */
.post-card--featured .post-card__title--xl a {
  color: var(--color-off-white);
}

.post-card--featured .post-card__title--xl a:hover {
  color: var(--color-orange);
}

.post-card--featured .post-card__excerpt {
  color: var(--color-gray-400);
}

.post-card--featured .post-card__meta {
  color: var(--color-gray-600);
}

.post-card__cat {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-orange);
  background: var(--color-orange-pale);
  padding: 0.25em 0.75em;
  border-radius: var(--radius-full);
  margin-bottom: var(--space-4);
  transition: background var(--duration), color var(--duration);
}

.post-card__cat:hover {
  background: var(--color-orange);
  color: var(--color-white);
}

.post-card__title--xl {
  font-size: clamp(2.2rem, 3.5vw, 3.4rem);
  margin-bottom: var(--space-4);
  line-height: 1.08;
}

/* "№ 01" decorative label above featured post title */
.post-card__num {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-gray-600);
  margin-bottom: var(--space-5);
}

.post-card__title--xl a {
  color: var(--color-black);
  transition: color var(--duration);
}

.post-card__title--xl a:hover { color: var(--color-orange); }

.post-card__excerpt {
  color: var(--color-gray-600);
  line-height: 1.7;
  margin-bottom: var(--space-6);
}

.post-card__meta {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-gray-400);
  margin-bottom: var(--space-8);
}

.post-card__sep {
  color: var(--color-gray-200);
}

@media (max-width: 768px) {
  .post-card--featured {
    grid-template-columns: 1fr;
  }
  .post-card--featured .post-card__image-wrap {
    height: 260px;
    min-height: unset;
  }
  .post-card--featured .post-card__body {
    padding: var(--space-8);
  }
  .post-card--featured::before {
    font-size: 5rem;
    bottom: var(--space-4);
    right: var(--space-4);
  }
  .post-card--featured .post-card__body::before {
    top: var(--space-8);
  }
}

/* --------------------------------------------------------------------------
   POSTS GRID
   -------------------------------------------------------------------------- */
.posts-grid {
  display: grid;
  gap: var(--space-8);
}

.posts-grid--asymmetric {
  grid-template-columns: repeat(3, 1fr);
}

/* First item spans 2 rows for asymmetry */
.posts-grid--asymmetric .post-card:first-child {
  grid-row: span 2;
}

.posts-grid--asymmetric .post-card:first-child .post-card__image-wrap {
  height: 360px;
}

.posts-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}

/* Homepage grid — 3 columns, 4:3 images */
.posts-grid--home {
  grid-template-columns: repeat(3, 1fr);
}

.posts-grid--home .post-card__image-wrap {
  aspect-ratio: 4 / 3;
  height: auto;
}

/* Archive grid — 2 columns */
.posts-grid--archive {
  grid-template-columns: repeat(2, 1fr);
}

/* CTA row below homepage grid */
.posts-grid-cta {
  text-align: center;
  margin-top: var(--space-10);
}

@media (max-width: 1024px) {
  .posts-grid--asymmetric,
  .posts-grid--3,
  .posts-grid--home {
    grid-template-columns: repeat(2, 1fr);
  }
  .posts-grid--asymmetric .post-card:first-child {
    grid-row: auto;
  }
  .posts-grid--asymmetric .post-card:first-child .post-card__image-wrap {
    height: 220px;
  }
}

@media (max-width: 640px) {
  .posts-grid--asymmetric,
  .posts-grid--3,
  .posts-grid--home,
  .posts-grid--archive {
    grid-template-columns: 1fr;
  }
}

/* Home blog index grid (home.php) */
.home-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 5%;
}

/* Each card contains its content */
.home-posts-grid article {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}

/* Image wrapper and link stay inside card */
.home-posts-grid article img,
.home-posts-grid article > a > div,
.home-posts-grid article > a {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Image fixed height */
.home-posts-grid article img {
  height: 200px !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Tablet: 2 columns */
@media (max-width: 900px) {
  .home-posts-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Mobile: 1 column */
@media (max-width: 600px) {
  .home-posts-grid {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
    padding: 0 1.25rem !important;
  }
}

/* Standard post card */
.post-card {
  background: var(--color-white);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: transform var(--duration) var(--ease-out), box-shadow var(--duration);
  display: flex;
  flex-direction: column;
}

.post-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.post-card__image-wrap {
  overflow: hidden;
  height: 220px;
  display: block;
  background: linear-gradient(135deg, #8B2000 0%, #FF4D00 60%, #FF6A2A 100%);
}

/* Gradient placeholder when no featured image */
.post-card__image-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #8B2000 0%, #FF4D00 60%, #FF6A2A 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  opacity: 0.85;
}

.post-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s var(--ease-out);
}

.post-card:hover .post-card__image {
  transform: scale(1.05);
}

.post-card__content {
  padding: var(--space-6);
  flex: 1;
  display: flex;
  flex-direction: column;
}

.post-card__title {
  font-size: var(--text-xl);
  margin-bottom: var(--space-3);
  flex: 1;
}

.post-card__title a {
  color: var(--color-black);
  transition: color var(--duration);
  /* No line-clamp — let titles breathe fully; grid equalises card heights */
}

.post-card__title a:hover { color: var(--color-orange); }

.post-card__excerpt {
  font-size: var(--text-sm);
  color: var(--color-gray-600);
  line-height: 1.65;
  margin-bottom: var(--space-4);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-card__meta {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-xs);
  color: var(--color-gray-400);
  margin-top: auto;
}

/* --------------------------------------------------------------------------
   TOOLS GRID
   -------------------------------------------------------------------------- */
.tools-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-6);
  margin-bottom: var(--space-10);
}

.tool-card {
  background: var(--color-gray-900);
  border: 1px solid var(--color-gray-800);
  border-radius: var(--radius-md);
  padding: var(--space-8);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  transition: border-color var(--duration), transform var(--duration) var(--ease-out);
}

.tool-card:hover {
  border-color: var(--color-orange);
  transform: translateY(-4px);
}

.tool-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.tool-card__icon {
  font-size: var(--text-3xl);
}

.tool-card__tag {
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-orange);
  background: rgba(255,77,0,.12);
  padding: 0.25em 0.75em;
  border-radius: var(--radius-full);
}

.tool-card__name {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  color: var(--color-off-white);
}

.tool-card__desc {
  font-size: var(--text-sm);
  color: var(--color-gray-400);
  line-height: 1.6;
  flex: 1;
}

.tool-card__btn {
  align-self: flex-start;
  margin-top: auto;
}

.tools-section__footer {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  flex-wrap: wrap;
}

.tools-section__disclaimer {
  font-size: var(--text-xs);
  color: var(--color-gray-600);
}

@media (max-width: 1024px) {
  .tools-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .tools-grid { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   PRODUCT CARDS (Shop)
   -------------------------------------------------------------------------- */
.products-grid {
  display: grid;
  gap: var(--space-6);
}

.products-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}

.products-grid--shop {
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1024px) {
  .products-grid--3,
  .products-grid--shop { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .products-grid--3,
  .products-grid--shop { grid-template-columns: 1fr; }
}

.product-card {
  background: var(--color-gray-900);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: transform var(--duration) var(--ease-out), box-shadow var(--duration);
}

.shop-preview .product-card {
  background: var(--color-gray-900);
  border: 1px solid var(--color-gray-800);
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-xl);
}

.product-card__image-link {
  display: block;
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
}

.product-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s var(--ease-out);
}

.product-card:hover .product-card__image {
  transform: scale(1.06);
}

.product-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
  background: var(--color-gray-800);
}

.product-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10,10,10,.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity var(--duration);
}

.product-card:hover .product-card__overlay { opacity: 1; }

.product-card__quick-view {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-white);
  background: var(--color-orange);
  padding: 0.5em 1.25em;
  border-radius: var(--radius-sm);
  transform: translateY(8px);
  transition: transform var(--duration) var(--ease-out);
}

.product-card:hover .product-card__quick-view {
  transform: translateY(0);
}

.product-card__badge {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: var(--color-orange);
  color: var(--color-white);
  padding: 0.2em 0.6em;
  border-radius: var(--radius-sm);
}

.product-card__badge--out {
  background: var(--color-gray-600);
}

.product-card__info {
  padding: var(--space-5);
}

.product-card__title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  color: var(--color-off-white);
  margin-bottom: var(--space-3);
}

.product-card__title a {
  color: inherit;
  transition: color var(--duration);
}

.product-card__title a:hover { color: var(--color-orange); }

.product-card__price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.product-card__price {
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--color-orange);
}

.product-card__oos {
  font-size: var(--text-sm);
  color: var(--color-gray-600);
}

/* --------------------------------------------------------------------------
   SINGLE POST
   -------------------------------------------------------------------------- */
/* Full-width hero image band above the article */
.single-hero-wrap {
  background: var(--color-black);
  padding-top: var(--header-h);
}

.single-hero-image {
  margin: 0;
  border-radius: 0;
  overflow: hidden;
}

.single-hero-image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 560px;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

/* When hero wrap exists, push main content down without extra padding-top */
.single-hero-wrap + .site-main-inner {
  padding-top: 0;
}

/* .single-post-wrap removed — single.php uses .single-post-full directly */

.single-post__header {
  padding-block: var(--space-12) var(--space-8);
}

.single-post__cats {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
  margin-bottom: var(--space-4);
}

.single-post__title {
  font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
  line-height: 1.1;
  margin-bottom: var(--space-6);
}

.single-post__meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-gray-600);
  flex-wrap: wrap;
}

.single-post__author {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-weight: 600;
  color: var(--color-black);
  transition: color var(--duration);
}

.single-post__author:hover { color: var(--color-orange); }

.single-post__avatar {
  border-radius: 50%;
}

.single-post__sep {
  color: var(--color-gray-200);
}

/* Legacy: kept for safety, image is now rendered outside the article */
.single-post__hero-image {
  display: none;
}

.single-post__caption {
  font-size: var(--text-sm);
  color: var(--color-gray-400);
  margin-top: var(--space-2);
  text-align: center;
}

/* Entry content typography */
.entry-content {
  font-size: 1.125rem; /* 18px */
  line-height: 1.85;
  color: var(--color-gray-900);
  max-width: 680px;
}

.entry-content h2 {
  font-size: 1.8rem;
  font-weight: 700;
  margin-top: 2.5rem;
  margin-bottom: var(--space-4);
  color: var(--color-black);
}

.entry-content h3 {
  font-size: 1.4rem;
  margin-top: 2rem;
  margin-bottom: var(--space-3);
}

.entry-content h4 {
  font-size: var(--text-xl);
  margin-top: var(--space-8);
  margin-bottom: var(--space-2);
  font-family: var(--font-body);
  font-weight: 700;
}

.entry-content p {
  margin-bottom: 1.5rem;
}

.entry-content a {
  color: var(--color-orange);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: opacity var(--duration);
}

.entry-content a:hover { opacity: 0.75; }

.entry-content li {
  margin-bottom: var(--space-2);
}

.entry-content blockquote {
  border-left: 4px solid var(--color-orange);
  padding: var(--space-4) var(--space-6);
  margin: var(--space-8) 0;
  background: var(--color-gray-100);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-style: italic;
  color: var(--color-gray-900);
}

.entry-content blockquote cite {
  display: block;
  font-size: var(--text-sm);
  font-family: var(--font-body);
  font-style: normal;
  color: var(--color-gray-600);
  margin-top: var(--space-2);
}

.entry-content img {
  border-radius: var(--radius-md);
  margin-block: var(--space-8);
}

.entry-content figure {
  margin-block: var(--space-8);
}

.entry-content figcaption {
  font-size: var(--text-sm);
  color: var(--color-gray-400);
  text-align: center;
  margin-top: var(--space-2);
}

.entry-content code {
  font-size: 0.9em;
  background: var(--color-gray-100);
  padding: 0.15em 0.4em;
  border-radius: var(--radius-sm);
  font-family: 'Courier New', monospace;
}

.entry-content pre {
  background: var(--color-black);
  color: var(--color-orange);
  padding: var(--space-6);
  border-radius: var(--radius-md);
  overflow-x: auto;
  margin-bottom: var(--space-6);
  font-size: var(--text-sm);
}

.entry-content pre code {
  background: none;
  padding: 0;
  color: inherit;
}

.entry-content hr {
  border: none;
  border-top: 1px solid var(--color-gray-200);
  margin-block: var(--space-10);
}

.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--space-6);
  font-size: var(--text-sm);
}

.entry-content th,
.entry-content td {
  padding: var(--space-3) var(--space-4);
  text-align: left;
  border-bottom: 1px solid var(--color-gray-200);
}

.entry-content th {
  font-weight: 700;
  background: var(--color-gray-100);
}

/* Tags */
.single-post__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-block: var(--space-8);
}

.post-tag {
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--color-gray-600);
  background: var(--color-gray-100);
  padding: 0.3em 0.8em;
  border-radius: var(--radius-full);
  transition: all var(--duration);
}

.post-tag:hover {
  background: var(--color-orange);
  color: var(--color-white);
}

/* Share buttons */
.share-buttons {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
  padding: var(--space-6) 0;
  border-block: 1px solid var(--color-gray-200);
  margin-bottom: var(--space-8);
}

.share-buttons__label {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-gray-600);
}

.share-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 600;
  padding: 0.4em 1em;
  border-radius: var(--radius-full);
  border: 1.5px solid transparent;
  transition: all var(--duration);
}

.share-btn--twitter {
  color: var(--color-black);
  border-color: var(--color-gray-200);
}

.share-btn--twitter:hover {
  background: var(--color-black);
  border-color: var(--color-black);
  color: var(--color-white);
}

.share-btn--linkedin {
  color: #0A66C2;
  border-color: #0A66C2;
}

.share-btn--linkedin:hover {
  background: #0A66C2;
  color: var(--color-white);
}

.share-btn--whatsapp {
  color: #25D366;
  border-color: #25D366;
}

.share-btn--whatsapp:hover {
  background: #25D366;
  color: var(--color-white);
}

.share-btn--copy {
  color: var(--color-gray-600);
  border-color: var(--color-gray-200);
}

.share-btn--copy:hover {
  background: var(--color-gray-100);
}

/* Author box */
.author-box {
  display: flex;
  gap: var(--space-6);
  padding: var(--space-8);
  background: var(--color-gray-100);
  border-radius: var(--radius-lg);
  margin-bottom: var(--space-10);
}

.author-box__img {
  border-radius: 50%;
  flex-shrink: 0;
}

.author-box__name {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  margin-bottom: var(--space-2);
}

.author-box__name a {
  color: var(--color-black);
  transition: color var(--duration);
}

.author-box__name a:hover { color: var(--color-orange); }

.author-box__bio {
  font-size: var(--text-sm);
  color: var(--color-gray-600);
  line-height: 1.7;
  margin-bottom: var(--space-3);
}

.author-box__link {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-orange);
}

@media (max-width: 640px) {
  .author-box { flex-direction: column; }
}

/* Post newsletter — inline block after article, never an overlay */
.post-newsletter {
  background: var(--color-black);
  border-radius: var(--radius-lg);
  padding: var(--space-10);
  margin-top: var(--space-12);
  margin-bottom: var(--space-12);
  text-align: center;
  max-width: 560px;
  margin-inline: auto;
  position: static; /* guard against any inherited positioning */
}

.post-newsletter h3 {
  font-size: var(--text-2xl);
  color: var(--color-off-white);
  margin-bottom: var(--space-2);
}

.post-newsletter p {
  color: var(--color-gray-400);
  margin-bottom: var(--space-6);
}

.newsletter-form--inline {
  display: flex;
  gap: var(--space-3);
  max-width: 480px;
  margin-inline: auto;
  flex-wrap: wrap;
  justify-content: center;
}

.newsletter-form--inline .newsletter-form__input {
  flex: 1;
  min-width: 200px;
}

/* Related posts */
.related-posts {
  margin-bottom: var(--space-16);
}

.related-posts__title {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-8);
}

/* Related posts cards — force 3-column, full title visible */
.related-posts .posts-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}

.related-posts .post-card__title {
  font-size: var(--text-base);
}

.related-posts .post-card__title a {
  white-space: normal;
  overflow: visible;
  -webkit-line-clamp: unset;
}

@media (max-width: 768px) {
  .related-posts .posts-grid--3 {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   AD ZONES
   -------------------------------------------------------------------------- */
.ad-zone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 90px;
  background: var(--color-gray-100);
  border: 1px dashed var(--color-gray-200);
  border-radius: var(--radius-md);
  position: relative;
  overflow: hidden;
}

.ad-zone__label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-gray-400);
  position: absolute;
  top: var(--space-2);
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-gray-100);
  padding: 0 var(--space-2);
  white-space: nowrap;
}

.ad-zone-inline {
  margin-block: var(--space-8);
  min-height: 90px;
}

.ad-zone-post-footer {
  min-height: 90px;
  margin-block: var(--space-8);
}

.ad-zone--homepage {
  min-height: 120px;
  margin-block: var(--space-8);
}

/* --------------------------------------------------------------------------
   NEWSLETTER SECTION (homepage)
   -------------------------------------------------------------------------- */
.newsletter-section {
  background: var(--color-orange);
}

.newsletter-section__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
  align-items: center;
}

.newsletter-section__title {
  font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl));
  color: var(--color-black);
  margin-bottom: var(--space-6);
}

.newsletter-section__benefits {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.newsletter-section__benefits li {
  font-size: var(--text-base);
  color: rgba(10,10,10,.75);
  font-weight: 500;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.newsletter-form__row {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.newsletter-form__input {
  width: 100%;
  padding: 0.875em 1.25em;
  border: 2px solid rgba(10,10,10,.2);
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.3);
  color: var(--color-black);
  font-size: var(--text-base);
  transition: border-color var(--duration), background var(--duration);
  outline: none;
}

.newsletter-form__input::placeholder { color: rgba(10,10,10,.5); }

.newsletter-form__input:focus {
  border-color: var(--color-black);
  background: rgba(255,255,255,.5);
}

.newsletter-form__btn {
  background: var(--color-black) !important;
  border-color: var(--color-black) !important;
  color: var(--color-white) !important;
}

.newsletter-form__btn:hover {
  background: var(--color-gray-900) !important;
  border-color: var(--color-gray-900) !important;
}

.newsletter-form__disclaimer {
  font-size: var(--text-xs);
  color: rgba(10,10,10,.6);
}

@media (max-width: 768px) {
  .newsletter-section__inner {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   NEWSLETTER BAR (slide-in)
   -------------------------------------------------------------------------- */
.newsletter-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--color-black);
  color: var(--color-off-white);
  z-index: 90;
  transform: translateY(100%);
  transition: transform 0.4s var(--ease-out);
  border-top: 2px solid var(--color-orange);
}

.newsletter-bar.is-visible {
  transform: translateY(0);
}

.newsletter-bar__inner {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  padding-block: var(--space-4);
  flex-wrap: wrap;
}

.newsletter-bar__text {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.newsletter-bar__emoji { font-size: var(--text-2xl); }
.newsletter-bar__text strong { font-size: var(--text-base); }
.newsletter-bar__sub { font-size: var(--text-sm); color: var(--color-gray-400); }

.newsletter-bar__form {
  display: flex;
  gap: var(--space-2);
  flex: 1;
  min-width: 280px;
}

.newsletter-bar__input {
  flex: 1;
  padding: 0.6em 1em;
  border: 1.5px solid var(--color-gray-800);
  border-radius: var(--radius-sm);
  background: var(--color-gray-900);
  color: var(--color-off-white);
  font-size: var(--text-sm);
  outline: none;
  transition: border-color var(--duration);
}

.newsletter-bar__input:focus { border-color: var(--color-orange); }

.newsletter-bar__btn {
  flex-shrink: 0;
}

.newsletter-bar__close {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: var(--space-2);
  color: var(--color-gray-600);
  transition: color var(--duration);
}

.newsletter-bar__close:hover { color: var(--color-orange); }

@media (max-width: 640px) {
  .newsletter-bar__form { flex-wrap: wrap; }
}

/* --------------------------------------------------------------------------
   EXIT INTENT POPUP
   -------------------------------------------------------------------------- */
.exit-popup {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.exit-popup.is-visible {
  opacity: 1;
  visibility: visible;
}

.exit-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,10,10,.8);
  backdrop-filter: blur(4px);
}

.exit-popup__box {
  position: relative;
  z-index: 1;
  background: var(--color-off-white);
  border-radius: var(--radius-lg);
  padding: var(--space-12);
  max-width: 480px;
  width: calc(100% - var(--space-8));
  text-align: center;
  transform: scale(0.9) translateY(20px);
  transition: transform 0.35s var(--ease-out);
}

.exit-popup.is-visible .exit-popup__box {
  transform: scale(1) translateY(0);
}

.exit-popup__close {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  color: var(--color-gray-400);
  padding: var(--space-1);
  transition: color var(--duration);
}

.exit-popup__close:hover { color: var(--color-black); }

.exit-popup__emoji { font-size: var(--text-4xl); display: block; margin-bottom: var(--space-4); }
.exit-popup__title { font-size: var(--text-2xl); margin-bottom: var(--space-3); }
.exit-popup__text { color: var(--color-gray-600); margin-bottom: var(--space-6); }

.exit-popup__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.exit-popup__input {
  width: 100%;
  padding: 0.875em 1.25em;
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-sm);
  font-size: var(--text-base);
  outline: none;
  transition: border-color var(--duration);
}

.exit-popup__input:focus { border-color: var(--color-orange); }

.exit-popup__btn { width: 100%; justify-content: center; }

.exit-popup__disclaimer {
  font-size: var(--text-xs);
  color: var(--color-gray-400);
  margin-top: var(--space-2);
}

/* --------------------------------------------------------------------------
   ARCHIVE HEADER
   -------------------------------------------------------------------------- */
.archive-header {
  padding-block: var(--space-16) var(--space-12);
  border-bottom: 1px solid var(--color-gray-200);
  margin-bottom: var(--space-12);
}

.archive-header--shop {
  padding-block: var(--space-12) var(--space-8);
}

.archive-header__inner {
  max-width: 700px;
}

.archive-header__type {
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-orange);
  display: block;
  margin-bottom: var(--space-2);
}

.archive-header__title {
  font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
  margin-bottom: var(--space-4);
}

.archive-header__description {
  font-size: var(--text-lg);
  color: var(--color-gray-600);
  max-width: 600px;
}

.archive-header__count {
  font-size: var(--text-sm);
  color: var(--color-gray-400);
  margin-top: var(--space-2);
}

.archive-header__search {
  margin-top: var(--space-6);
  max-width: 480px;
}

/* --------------------------------------------------------------------------
   SINGLE PRODUCT
   -------------------------------------------------------------------------- */
.single-product {
  padding-block: var(--space-12);
}

.single-product__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
  align-items: start;
  margin-bottom: var(--space-16);
}

.single-product__gallery .woocommerce-product-gallery {
  position: sticky;
  top: calc(var(--header-h) + var(--space-4));
}

.single-product__cats {
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-orange);
  margin-bottom: var(--space-3);
}

.single-product__cats a {
  color: inherit;
}

.single-product__title {
  font-size: clamp(var(--text-3xl), 4vw, var(--text-4xl));
  margin-bottom: var(--space-4);
}

.single-product__price {
  font-size: var(--text-3xl);
  font-weight: 700;
  color: var(--color-orange);
  margin-bottom: var(--space-6);
}

.single-product__short-desc {
  color: var(--color-gray-600);
  line-height: 1.7;
  margin-bottom: var(--space-6);
}

.single-product__size-guide {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-gray-600);
  text-decoration: underline;
  text-underline-offset: 3px;
  margin-bottom: var(--space-4);
  transition: color var(--duration);
}

.single-product__size-guide:hover { color: var(--color-orange); }

.single-product__size-table {
  margin-bottom: var(--space-6);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.single-product__size-table table { width: 100%; font-size: var(--text-sm); }
.single-product__size-table th { background: var(--color-gray-100); font-weight: 700; }
.single-product__size-table th,
.single-product__size-table td {
  padding: var(--space-2) var(--space-4);
  border-bottom: 1px solid var(--color-gray-200);
  text-align: center;
}

.product-trust {
  display: flex;
  gap: var(--space-6);
  margin-top: var(--space-6);
  flex-wrap: wrap;
}

.product-trust__item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-gray-600);
}

@media (max-width: 768px) {
  .single-product__layout { grid-template-columns: 1fr; }
}

/* WooCommerce button overrides */
.woocommerce button.button,
.woocommerce .button,
.woocommerce input[type="submit"] {
  font-family: var(--font-body) !important;
  font-size: var(--text-sm) !important;
  font-weight: 600 !important;
  background: var(--color-orange) !important;
  color: var(--color-white) !important;
  border-radius: var(--radius-sm) !important;
  padding: 0.75em 1.5em !important;
  transition: background var(--duration) !important;
  border: none !important;
}

.woocommerce button.button:hover,
.woocommerce .button:hover,
.woocommerce input[type="submit"]:hover {
  background: var(--color-orange-dark) !important;
}

.woocommerce-shop .woo-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-8);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-gray-200);
}

.woocommerce-result-count {
  font-size: var(--text-sm);
  color: var(--color-gray-600);
}

/* --------------------------------------------------------------------------
   SIDEBAR
   -------------------------------------------------------------------------- */
.sidebar {
  position: sticky;
  top: calc(var(--header-h) + var(--space-6));
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.sidebar-widget {
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: var(--space-6);
}

.sidebar-widget__title {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-gray-400);
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-gray-200);
}

.sidebar-newsletter {
  background: var(--color-black);
  color: var(--color-off-white);
}

.sidebar-newsletter .sidebar-widget__title {
  color: var(--color-gray-600);
  border-color: var(--color-gray-800);
}

.sidebar-newsletter p {
  font-size: var(--text-sm);
  color: var(--color-gray-400);
  margin-bottom: var(--space-4);
}

.sidebar-newsletter__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.sidebar-newsletter__input {
  width: 100%;
  padding: 0.7em 1em;
  border: 1.5px solid var(--color-gray-800);
  border-radius: var(--radius-sm);
  background: var(--color-gray-900);
  color: var(--color-off-white);
  font-size: var(--text-sm);
  outline: none;
  transition: border-color var(--duration);
}

.sidebar-newsletter__input:focus { border-color: var(--color-orange); }
.sidebar-newsletter__btn { width: 100%; justify-content: center; }

.popular-posts { display: flex; flex-direction: column; gap: var(--space-4); }

.popular-posts__item {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
}

.popular-posts__thumb {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.popular-posts__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.popular-posts__content { flex: 1; }

.popular-posts__title {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-black);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color var(--duration);
}

.popular-posts__title:hover { color: var(--color-orange); }

.popular-posts__date {
  font-size: var(--text-xs);
  color: var(--color-gray-400);
  display: block;
  margin-top: var(--space-1);
}

.sidebar-tools .sidebar-widget__title { border-color: var(--color-gray-200); }
.sidebar-tools__list { display: flex; flex-direction: column; gap: var(--space-2); margin-bottom: var(--space-4); }

.sidebar-tools__link {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-gray-200);
  transition: all var(--duration);
}

.sidebar-tools__link:hover {
  border-color: var(--color-orange);
  background: var(--color-orange-pale);
}

.sidebar-tools__icon { font-size: var(--text-xl); }

.sidebar-tools__name {
  flex: 1;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-black);
}

.sidebar-tools__arrow {
  color: var(--color-gray-400);
  transition: transform var(--duration), color var(--duration);
}

.sidebar-tools__link:hover .sidebar-tools__arrow {
  transform: translateX(4px);
  color: var(--color-orange);
}

/* --------------------------------------------------------------------------
   404 PAGE
   -------------------------------------------------------------------------- */
.error-404 {
  padding-block: var(--space-24);
  text-align: center;
  max-width: 700px;
  margin-inline: auto;
}

.error-404__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  margin-bottom: var(--space-8);
}

.error-404__number {
  font-family: var(--font-display);
  font-size: clamp(5rem, 15vw, 10rem);
  line-height: 1;
  color: var(--color-black);
}

.error-404__icon {
  font-size: clamp(4rem, 12vw, 8rem);
  animation: wiggle 2s ease-in-out infinite;
}

@keyframes wiggle {
  0%, 100% { transform: rotate(-5deg); }
  50%       { transform: rotate(5deg); }
}

.error-404__title {
  font-size: clamp(var(--text-xl), 3vw, var(--text-3xl));
  margin-bottom: var(--space-4);
}

.error-404__text {
  color: var(--color-gray-600);
  font-size: var(--text-lg);
  max-width: 500px;
  margin-inline: auto;
  margin-bottom: var(--space-8);
}

.error-404__actions {
  display: flex;
  gap: var(--space-4);
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-12);
}

.error-404__search {
  margin-bottom: var(--space-12);
}

.error-404__search p {
  color: var(--color-gray-600);
  margin-bottom: var(--space-4);
}

.error-404__popular-title {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-8);
  text-align: left;
}

.error-404__popular .posts-grid--3 { text-align: left; }

/* --------------------------------------------------------------------------
   SEARCH FORM
   -------------------------------------------------------------------------- */
.search-form {
  display: flex;
  gap: var(--space-2);
}

.search-field {
  flex: 1;
  padding: 0.75em 1.25em;
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-sm);
  font-size: var(--text-base);
  color: var(--color-black);
  background: var(--color-white);
  outline: none;
  transition: border-color var(--duration);
}

.search-field:focus { border-color: var(--color-orange); }

.search-submit {
  padding: 0.75em 1.5em;
  background: var(--color-orange);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  font-weight: 700;
  transition: background var(--duration);
}

.search-submit:hover { background: var(--color-orange-dark); }

/* --------------------------------------------------------------------------
   BREADCRUMBS
   -------------------------------------------------------------------------- */
.breadcrumbs {
  margin-bottom: var(--space-6);
}

.breadcrumbs__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  font-size: var(--text-xs);
  color: var(--color-gray-400);
}

.breadcrumbs__item + .breadcrumbs__item::before {
  content: none;
}

.breadcrumbs__item a {
  color: var(--color-gray-600);
  text-decoration: none;
  transition: color var(--duration);
}

.breadcrumbs__item a:hover { color: var(--color-orange); }

.breadcrumbs__item--current {
  color: var(--color-gray-600);
}

/* --------------------------------------------------------------------------
   PAGINATION
   -------------------------------------------------------------------------- */
.pagination {
  margin-top: var(--space-12);
  display: flex;
  justify-content: center;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  justify-content: center;
}

.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding-inline: var(--space-3);
  border: 1.5px solid var(--color-gray-200);
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-black);
  transition: all var(--duration);
  text-decoration: none;
}

.page-numbers:hover,
.page-numbers.current {
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-white);
}

.page-numbers.dots {
  border-color: transparent;
  background: none;
}

/* --------------------------------------------------------------------------
   SITE FOOTER
   -------------------------------------------------------------------------- */
.site-footer {
  background: var(--color-black);
  color: var(--color-off-white);
}

.site-footer__top { padding-block: var(--space-20); }

.site-footer__grid,
.footer-grid,
.footer-columns,
.footer-inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 0.9fr 0.75fr;
  gap: 1.5rem;
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 3rem 4%;
  align-items: start;
  box-sizing: border-box;
}

.site-footer__logo {
  display: inline-block;
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  color: var(--color-off-white);
  margin-bottom: var(--space-3);
  transition: opacity var(--duration);
}

.site-footer__logo:hover { opacity: 0.8; }
.site-footer__logo span { color: var(--color-orange); }

.site-footer__tagline {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-orange);
  letter-spacing: 0.05em;
  margin-bottom: var(--space-4);
}

.site-footer__desc {
  font-size: var(--text-sm);
  color: var(--color-gray-600);
  line-height: 1.7;
  max-width: 300px;
  margin-bottom: var(--space-6);
}

.site-footer__social {
  display: flex;
  gap: var(--space-3);
}

.social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--color-gray-900);
  color: var(--color-gray-400);
  transition: all var(--duration);
}

.social-icon:hover {
  background: var(--color-orange);
  color: var(--color-white);
}

.site-footer__nav-title,
.footer-col-title {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: rgba(255,255,255,0.4);
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.site-footer__nav ul,
.footer-menu {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.site-footer__nav li a,
.footer-menu li a {
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  font-size: 0.82rem;
  line-height: 1.4;
  transition: color 0.2s;
  white-space: nowrap;
}

.site-footer__nav li a:hover,
.footer-menu li a:hover {
  color: #FF4D00;
}

.site-footer__bottom {
  border-top: 1px solid var(--color-gray-900);
  padding-block: var(--space-6);
}

.site-footer__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.site-footer__copy {
  font-size: var(--text-xs);
  color: var(--color-gray-600);
}

.site-footer__legal {
  display: flex;
  gap: var(--space-6);
  flex-wrap: wrap;
}

.site-footer__legal a {
  font-size: var(--text-xs);
  color: var(--color-gray-600);
  transition: color var(--duration);
}

.site-footer__legal a:hover { color: var(--color-orange); }

@media (max-width: 900px) {
  .site-footer__grid,
  .footer-grid,
  .footer-columns,
  .footer-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
  }
}

@media (max-width: 480px) {
  .site-footer__grid,
  .footer-grid,
  .footer-columns,
  .footer-inner {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__bottom-inner { flex-direction: column; text-align: center; }
}

/* --------------------------------------------------------------------------
   NO RESULTS / MISC
   -------------------------------------------------------------------------- */
.no-results {
  padding: var(--space-16);
  text-align: center;
  color: var(--color-gray-600);
}

.no-results p { margin-bottom: var(--space-6); }

.page-content {
  padding-bottom: var(--space-16);
}

.page-content__header {
  padding-block: var(--space-12) var(--space-8);
}

.page-content__title {
  font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
}

.page-content__hero {
  margin-bottom: var(--space-10);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.page-content__hero-img {
  width: 100%;
  max-height: 480px;
  object-fit: cover;
}

/* Woo toolbar */
.woo-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-8);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-gray-200);
}

/* --------------------------------------------------------------------------
   SCROLL ANIMATIONS
   -------------------------------------------------------------------------- */
[data-animate] {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out);
}

[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered grid children — class added by JS when observer is ready */
.js-stagger > .post-card,
.js-stagger > .tool-card,
.js-stagger > .product-card {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.45s var(--ease-out), transform 0.45s var(--ease-out);
}

.js-stagger > .post-card.stagger-visible,
.js-stagger > .tool-card.stagger-visible,
.js-stagger > .product-card.stagger-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Honour reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  [data-animate],
  .js-stagger > .post-card,
  .js-stagger > .tool-card,
  .js-stagger > .product-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* --------------------------------------------------------------------------
   ACCESSIBILITY
   -------------------------------------------------------------------------- */
.skip-link {
  position: absolute;
  top: -100%;
  left: var(--space-4);
  z-index: 9999;
  padding: var(--space-3) var(--space-6);
  background: var(--color-orange);
  color: var(--color-white);
  font-weight: 700;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  transition: top var(--duration);
}

.skip-link:focus { top: 0; }

:focus-visible {
  outline: 3px solid var(--color-orange);
  outline-offset: 3px;
  border-radius: 2px;
}

/* --------------------------------------------------------------------------
   SHOP ARCHIVE — dark editorial layout
   -------------------------------------------------------------------------- */

/* Light header area above the dark grid */
.shop-header-section {
  padding-block: var(--space-16) var(--space-10);
  background: var(--color-off-white);
  border-bottom: 1px solid var(--color-gray-200);
}

.shop-header-section .archive-header__title {
  font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));
  margin-bottom: var(--space-3);
}

.shop-header-section .archive-header__title em {
  font-style: italic;
  color: var(--color-orange);
}

.shop-header-section .archive-header__description {
  font-size: var(--text-lg);
  color: var(--color-gray-600);
  max-width: 560px;
}

/* Dark canvas for the product grid */
.shop-archive {
  background: var(--color-black);
  padding-block: var(--space-16);
  min-height: 60vh;
}

/* Toolbar on dark bg */
.shop-archive .woo-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-10);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-gray-800);
  flex-wrap: wrap;
  gap: var(--space-3);
}

.shop-archive .woocommerce-result-count {
  font-size: var(--text-sm);
  color: var(--color-gray-600);
}

.shop-archive .woocommerce-ordering select {
  background: var(--color-gray-900);
  color: var(--color-off-white);
  border: 1px solid var(--color-gray-800);
  border-radius: var(--radius-sm);
  padding: 0.45em 0.75em;
  font-size: var(--text-sm);
  font-family: var(--font-body);
  outline: none;
  transition: border-color var(--duration);
}

.shop-archive .woocommerce-ordering select:focus {
  border-color: var(--color-orange);
}

/* Product card enhancements on dark bg */
.shop-archive .product-card {
  background: var(--color-gray-900);
  border: 1px solid var(--color-gray-800);
  transition: border-color var(--duration), transform var(--duration) var(--ease-out), box-shadow var(--duration);
}

.shop-archive .product-card:hover {
  border-color: var(--color-orange);
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(255, 77, 0, 0.15);
}

/* Price in bold orange (overrides any WooCommerce defaults) */
.product-card__price,
.product-card__price .woocommerce-Price-amount,
.product-card__price bdi {
  color: var(--color-orange) !important;
  font-weight: 700;
  font-size: var(--text-xl);
}

.product-card__price del {
  color: var(--color-gray-600) !important;
  font-weight: 400;
  font-size: var(--text-base);
}

/* Size availability hint */
.product-card__sizes {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--color-gray-600);
}

/* Quick-add button in overlay — enters from below on hover */
.product-card__quick-add {
  font-size: var(--text-sm) !important;
  padding: 0.65em 1.25em !important;
  transform: translateY(16px);
  transition: transform 0.3s var(--ease-out), background var(--duration) !important;
  opacity: 0;
}

.product-card:hover .product-card__quick-add {
  transform: translateY(0);
  opacity: 1;
}

.product-card__quick-add--oos {
  font-size: var(--text-sm);
  color: var(--color-gray-600);
  background: none;
  transform: translateY(16px);
  opacity: 0;
  transition: transform 0.3s var(--ease-out), opacity 0.3s;
}

.product-card:hover .product-card__quick-add--oos {
  transform: translateY(0);
  opacity: 1;
}

/* "Ver producto →" secondary link in overlay */
.product-card__view-link {
  display: block;
  font-size: var(--text-xs);
  font-weight: 600;
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  margin-top: var(--space-2);
  transform: translateY(16px);
  opacity: 0;
  transition: transform 0.3s var(--ease-out) 0.04s, opacity 0.3s 0.04s, color var(--duration);
  letter-spacing: 0.04em;
}

.product-card:hover .product-card__view-link {
  transform: translateY(0);
  opacity: 1;
}

.product-card__view-link:hover {
  color: var(--color-orange);
}

/* Overlay needs flex column to stack quick-add + view link */
.product-card__overlay {
  flex-direction: column;
  gap: 0;
}

/* No-results on dark */
.no-results--dark {
  color: var(--color-gray-600);
  text-align: center;
  padding: var(--space-20);
}

.no-results--dark p {
  margin-bottom: var(--space-6);
}

/* Pagination on dark bg */
.pagination--dark .page-numbers {
  background: var(--color-gray-900);
  border-color: var(--color-gray-800);
  color: var(--color-gray-400);
}

.pagination--dark .page-numbers:hover,
.pagination--dark .page-numbers.current {
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-white);
}

.pagination--dark .page-numbers.dots {
  background: none;
  border-color: transparent;
  color: var(--color-gray-600);
}

/* --------------------------------------------------------------------------
   SIDEBAR — desktop only
   -------------------------------------------------------------------------- */
@media (max-width: 1023px) {
  .sidebar { display: none; }
  .content-area { grid-template-columns: 1fr !important; }
}

/* --------------------------------------------------------------------------
   COMMENTS
   -------------------------------------------------------------------------- */
.comments-area {
  margin-top: var(--space-12);
  padding-top: var(--space-12);
  border-top: 1px solid var(--color-gray-200);
}

.comments-title,
.comment-reply-title {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-8);
}

/* On-brand "Deja tu comentario" submit button */
.comment-form input[type="submit"],
.comment-form .submit {
  background: var(--color-orange) !important;
  color: var(--color-white) !important;
  border: none !important;
  padding: 0.75em 2.25em !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-sm) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  border-radius: var(--radius-sm) !important;
  cursor: pointer !important;
  transition: background var(--duration), box-shadow var(--duration) !important;
}

.comment-form input[type="submit"]:hover,
.comment-form .submit:hover {
  background: var(--color-orange-dark) !important;
  box-shadow: 0 4px 12px rgba(255,77,0,.3) !important;
}

.comment-form label {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-gray-600);
  display: block;
  margin-bottom: var(--space-1);
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  width: 100%;
  padding: 0.75em 1em;
  border: 1.5px solid var(--color-gray-200);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--color-black);
  background: var(--color-white);
  outline: none;
  transition: border-color var(--duration);
  margin-bottom: var(--space-5);
}

.comment-form input:focus,
.comment-form textarea:focus {
  border-color: var(--color-orange);
}

/* Mobile font size — minimum 17 px for body text */
@media (max-width: 640px) {
  body { font-size: 1.0625rem; }
  .entry-content { font-size: 1.0625rem; }
}

/* (Hero animated lines CSS consolidated into HERO section above) */

/* --------------------------------------------------------------------------
   SINGLE POST — FULL-WIDTH SINGLE-COLUMN LAYOUT
   -------------------------------------------------------------------------- */

body.single {
  overflow-x: hidden;
}

/* Kill sidebar grid on single posts — target only the main content area,
   NOT .container (footer uses .container and must keep its own padding) */
body.single #page,
body.single #content,
body.single .site-content,
body.single .content-area,
body.single #primary {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

body.single #secondary,
body.single .widget-area,
body.single .sidebar {
  display: none !important;
}

/* Article wrapper: true full-width */
.single-post-full {
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  display: block;
  float: none;
}

/* Header: category · title · meta — centered reading column */
.single-post-header {
  max-width: 800px;
  margin: 3rem auto;
  padding: 0 2rem;
}

/* Body copy — centered reading column */
.single-post-content {
  max-width: 740px;
  margin: 0 auto;
  padding: 0 2rem 3rem;
  font-size: 18px;
  line-height: 1.85;
  color: var(--color-gray-900);
}

/* Fix: entry-content inside single-post-content inherits width naturally */
.single-post-content.entry-content {
  max-width: 740px;
}

/* Post footer: tags · share · ad · bio — full width, internal padding only */
.single-post-footer {
  width: 100%;
  padding: 0 2rem 4rem;
}

/* Newsletter and related posts */
.post-newsletter {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: 2rem;
}

.related-posts {
  max-width: 100%;
  padding-inline: 2rem;
  padding-bottom: var(--space-16);
}

/* Comments — centered reading column, same as content */
body.single #comments,
.comments-area {
  max-width: 740px;
  margin: 0 auto;
  padding: 2rem 2rem 0;
}

body.single .comment-form,
body.single .comment-list {
  max-width: 100%;
}

/* Mobile adjustments for single post */
@media (max-width: 640px) {
  .single-post-header,
  .single-post-content,
  .single-post-footer,
  .post-newsletter,
  .related-posts,
  .comments-area {
    padding-inline: 1.25rem;
  }
  .single-post-header { margin-top: 1.5rem; }
}

/* --------------------------------------------------------------------------
   PRINT
   -------------------------------------------------------------------------- */
@media print {
  .site-header,
  .site-footer,
  .sidebar,
  .newsletter-bar,
  .newsletter-section,
  .ad-zone,
  .share-buttons,
  .cursor,
  .reading-progress { display: none !important; }

  body { font-size: 12pt; color: #000; }
  a { color: #000; text-decoration: underline; }
  .entry-content a::after { content: " (" attr(href) ")"; font-size: 0.8em; }
}

/* --------------------------------------------------------------------------
   BLOG ARCHIVE — FEATURED SLIDER (JS auto-advance, 3 slides × 5s)
   -------------------------------------------------------------------------- */
.nex-blog-slider {
  position: relative;
  width: 100%;
  height: 90vh;
  min-height: 500px;
  max-height: 700px;
  overflow: hidden;
  display: block;
  margin-bottom: 0;
}
.nex-slider-track {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
}
.nex-slide {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  transition: opacity 0.8s ease !important;
  pointer-events: none !important;
  display: block !important;
}
.nex-slide.active {
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 2 !important;
}
.nex-slide-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.nex-slide-bg-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #FF4D00 0%, #6B1F00 100%);
}
.nex-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.85) 0%,
    rgba(0,0,0,0.40) 50%,
    rgba(0,0,0,0.15) 100%
  );
  z-index: 1;
}
.nex-slide-content {
  position: absolute;
  bottom: 4rem;
  left: 5%;
  right: 5%;
  max-width: 680px;
  z-index: 2;
}
.nex-slide-category {
  display: inline-block;
  background: #FF4D00;
  color: #ffffff;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.3rem 0.9rem;
  border-radius: 20px;
  text-decoration: none;
  margin-bottom: 0.75rem;
}
.nex-slide-title {
  display: block;
  font-size: clamp(1.6rem, 3.5vw, 2.8rem);
  font-weight: 800;
  color: #ffffff;
  margin: 0.5rem 0 0.75rem;
  line-height: 1.15;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.nex-slide-excerpt {
  color: rgba(255,255,255,0.75);
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nex-slide-cta {
  display: inline-block;
  background: #FF4D00;
  color: #ffffff;
  padding: 0.8rem 1.75rem;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  transition: background 0.2s, transform 0.2s;
}
.nex-slide-cta:hover {
  background: #e04400;
  transform: translateY(-2px);
}
.nex-slider-dots {
  position: absolute;
  bottom: 1.5rem;
  right: 5%;
  display: flex;
  gap: 0.5rem;
  z-index: 10;
}
.nex-slider-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.35);
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
}
.nex-slider-dot.active {
  background: #FF4D00;
  width: 28px;
  border-radius: 4px;
}
@media (max-width: 768px) {
  .nex-blog-slider {
    height: 75vh;
    min-height: 400px;
  }
  .nex-slide-content {
    bottom: 3rem;
  }
  .nex-slide-title {
    font-size: 1.5rem;
  }
  .nex-slider-dots {
    right: 50%;
    transform: translateX(50%);
  }
}

/* --------------------------------------------------------------------------
   BLOG PAGE — CATEGORIES GRID
   -------------------------------------------------------------------------- */
.blog-categories { padding-block: var(--space-16); }

.categories-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
}

.category-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.5rem;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  text-decoration: none;
  transition: border-color 0.2s, background 0.2s, transform 0.15s;
  background: var(--color-white);
}
.category-card:hover {
  border-color: var(--color-orange);
  background: rgba(255,77,0,0.03);
  transform: translateY(-2px);
}

.category-card__name {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-black);
}

.category-card__count {
  font-size: 0.85rem;
  color: var(--color-gray-500);
}

.category-card__arrow {
  font-size: 1.1rem;
  color: var(--color-orange);
  margin-top: auto;
  padding-top: 0.5rem;
}

@media (max-width: 900px) {
  .categories-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .categories-grid { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   BLOG PAGE — LATEST POSTS
   -------------------------------------------------------------------------- */
.blog-latest { padding-block: var(--space-16); }

/* --------------------------------------------------------------------------
   CATEGORY ARCHIVE PAGE
   -------------------------------------------------------------------------- */
.category-header {
  background: var(--color-black);
  padding-block: var(--space-16) var(--space-12);
  margin-bottom: var(--space-12);
}

.category-header .breadcrumbs { margin-bottom: var(--space-6); }

.category-header__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-orange);
  margin-bottom: 0.5rem;
}

.category-header__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  color: var(--color-off-white);
  margin-bottom: 0.75rem;
}

.category-header__desc {
  color: var(--color-gray-400);
  font-size: 1.05rem;
  max-width: 640px;
  margin-bottom: 0.75rem;
}

.category-header__count {
  display: inline-block;
  font-size: 0.85rem;
  color: var(--color-gray-500);
}

/* Two-column layout: posts grid + sidebar */
.category-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: var(--space-12);
  align-items: start;
  padding-bottom: var(--space-16);
}

.category-main { min-width: 0; }

.category-sidebar {
  position: sticky;
  top: calc(var(--header-h) + 2rem);
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.category-empty {
  color: var(--color-gray-500);
  padding-block: var(--space-16);
  text-align: center;
}

/* Cat list in sidebar */
.cat-list {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.cat-list__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--color-gray-100);
  text-decoration: none;
  color: var(--color-black);
  font-size: 0.95rem;
  transition: color 0.15s;
}
.cat-list__link:hover { color: var(--color-orange); }

.cat-list__count {
  font-size: 0.8rem;
  color: var(--color-gray-400);
  background: var(--color-gray-100);
  border-radius: 20px;
  padding: 0.15rem 0.5rem;
}

@media (max-width: 860px) {
  .category-layout {
    grid-template-columns: 1fr;
  }
  .category-sidebar {
    position: static;
    border-top: 1px solid var(--color-gray-200);
    padding-top: var(--space-8);
  }
}

/* --------------------------------------------------------------------------
   MOBILE RESPONSIVE OVERRIDES
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {

  /* HERO */
  .hero { min-height: 100svh; padding: 0; }
  .hero-content { padding: 0 1.5rem; max-width: 100%; }
  .hero-title { font-size: clamp(3rem, 12vw, 4.5rem) !important; }
  .hero-subtitle { font-size: 1rem; }
  .hero-ctas { flex-direction: column; gap: 0.75rem; }
  .hero-ctas .btn-primary,
  .hero-ctas .btn-secondary { width: 100%; text-align: center; padding: 1rem; justify-content: center; }
  #hero-canvas { opacity: 0.6; }

  /* POSTS GRID — 1 column */
  .posts-grid,
  .latest-posts-grid { grid-template-columns: 1fr !important; gap: 1.5rem; }

  /* TOOLS GRID — 1 column */
  .tools-grid,
  .recommended-tools { grid-template-columns: 1fr !important; }

  /* FEATURED POST — stack */
  .featured-post-inner { flex-direction: column !important; }
  .featured-post-image { width: 100% !important; height: 220px; }

  /* MARQUEE — contain */
  .marquee-wrapper { overflow: hidden; }

  /* NEWSLETTER */
  .newsletter-grid,
  .newsletter-inner { grid-template-columns: 1fr !important; flex-direction: column !important; }

  /* FOOTER — stack */
  .footer-grid,
  .footer-columns,
  .footer-inner,
  .site-footer__grid { grid-template-columns: 1fr !important; gap: 2rem; }
  .footer-logo-col,
  .site-footer__brand { text-align: center; }

  /* SINGLE POST */
  .single-post-header,
  .single-post-content { padding: 0 1.25rem !important; }
  .single-post-header { margin: 2rem auto !important; }

  /* WOOCOMMERCE shop */
  .woocommerce ul.products { grid-template-columns: 1fr 1fr !important; }

  /* General spacing */
  section { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
  .hero-title { font-size: 2.8rem !important; }
}

/* --------------------------------------------------------------------------
   COOKIE BANNER
   -------------------------------------------------------------------------- */
.cookie-banner {
  position: fixed;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  max-width: 680px;
  background: #111111;
  border: 1px solid rgba(255,77,0,0.2);
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  z-index: 9999;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4);
  transform: translateY(120%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.cookie-banner.visible { transform: translateY(0); }

.cookie-banner-inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.cookie-text {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  flex: 1;
  min-width: 200px;
}
.cookie-icon { font-size: 1.5rem; flex-shrink: 0; }
.cookie-text strong { display: block; color: #ffffff; font-size: 0.95rem; margin-bottom: 0.2rem; }
.cookie-text p { color: rgba(255,255,255,0.5); font-size: 0.8rem; margin: 0; line-height: 1.5; }
.cookie-text a { color: #FF4D00; text-decoration: underline; }

.cookie-actions { display: flex; gap: 0.75rem; flex-shrink: 0; }

.cookie-btn-reject {
  padding: 0.6rem 1.1rem;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 6px;
  color: rgba(255,255,255,0.6);
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s;
}
.cookie-btn-reject:hover { border-color: rgba(255,255,255,0.5); color: #ffffff; }

.cookie-btn-accept {
  padding: 0.6rem 1.25rem;
  background: #FF4D00;
  border: none;
  border-radius: 6px;
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}
.cookie-btn-accept:hover { background: #e04400; }

@media (max-width: 600px) {
  .cookie-banner { left: 0.75rem; right: 0.75rem; bottom: 0.75rem; }
  .cookie-banner-inner { flex-direction: column; gap: 1rem; }
  .cookie-actions { width: 100%; }
  .cookie-btn-accept,
  .cookie-btn-reject { flex: 1; text-align: center; }
}

/* --------------------------------------------------------------------------
   COMMENTS
   -------------------------------------------------------------------------- */
#comments,
.comments-area {
  max-width: 740px;
  margin: 3rem auto;
  padding: 0 2rem;
}
.comment-list {
  padding: 0;
  margin: 0 0 2rem 0;
}
.comment-body {
  padding: 1.5rem;
  background: #f9f5f0;
  border-radius: 8px;
  margin-bottom: 1rem;
}
.comment-form {
  margin-top: 2rem;
}
.comment-form input,
.comment-form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 1rem;
  margin-bottom: 1rem;
  font-family: inherit;
}
.comment-form input:focus,
.comment-form textarea:focus {
  outline: none;
  border-color: #FF4D00;
}
.comments-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: #0A0A0A;
}
.comments-wrapper {
  max-width: 740px !important;
  margin: 3rem auto !important;
  padding: 0 2rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.comments-wrapper #comments,
.comments-wrapper .comments-area {
  padding: 0 !important;
  margin: 0 !important;
}
body.single .comments-wrapper {
  max-width: 740px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 2rem !important;
}

/* --------------------------------------------------------------------------
   HOME PAGE — remove top gap above slider
   -------------------------------------------------------------------------- */
body.home #main,
body.home .site-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* --------------------------------------------------------------------------
   SINGLE POST — remove top gap, featured image below header
   -------------------------------------------------------------------------- */
body.single .site-main,
body.single #main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.single-post-header {
  max-width: 800px;
  margin: 0 auto !important;
  padding: 6.5rem 2rem 2rem !important;
}

.single-post-featured-image {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-bottom: 3rem !important;
  overflow: hidden !important;
  max-height: 550px !important;
}

.single-post-featured-image img,
.single-post-featured-image__img {
  width: 100% !important;
  height: 100% !important;
  max-height: 550px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

@media (max-width: 768px) {
  .single-post-header {
    padding: 6rem 1.25rem 1.5rem !important;
  }
  .single-post-featured-image {
    max-height: 300px !important;
  }
  .single-post-featured-image img,
  .single-post-featured-image__img {
    max-height: 300px !important;
  }
}

/* --------------------------------------------------------------------------
   BREADCRUMB — fix text overflow / overlap
   -------------------------------------------------------------------------- */
.breadcrumb,
.naranja-breadcrumb,
.post-breadcrumb {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.25rem 0.5rem !important;
  font-size: 0.8rem !important;
  color: rgba(255,255,255,0.5) !important;
  margin-bottom: 1.5rem !important;
  line-height: 1.5 !important;
  word-break: break-word !important;
  overflow: visible !important;
  white-space: normal !important;
}

.breadcrumb a,
.naranja-breadcrumb a {
  color: rgba(255,255,255,0.5) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.breadcrumb span,
.naranja-breadcrumb span {
  white-space: normal !important;
  word-break: break-word !important;
}

body.single .breadcrumb,
body.single .naranja-breadcrumb {
  color: rgba(0,0,0,0.4) !important;
}

body.single .breadcrumb a,
body.single .naranja-breadcrumb a {
  color: rgba(0,0,0,0.4) !important;
}

/* ============================================
   LISTS & BULLETS — DEFINITIVE GLOBAL RULES
   ============================================ */

/* Base reset */
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 1. NAVIGATION lists — no bullets ever */
nav ul,
.nav-menu,
.dropdown-menu,
.footer-menu,
.mobile-menu-nav,
.glossary-alpha-nav,
.faq-category-nav {
  list-style: none !important;
}
nav ul li::before,
nav ul li::marker,
.nav-menu li::before,
.footer-menu li::before {
  display: none !important;
  content: none !important;
}

/* 2. TOOL page bullets — overrides tools.css circle bullet */
.tool-seo-content ul,
.tool-page ul,
.tool-intro ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 1rem 0 1.5rem !important;
}
.tool-seo-content ul li,
.tool-page ul li,
.tool-intro ul li {
  position: relative !important;
  padding-left: 1.5rem !important;
  margin-bottom: 0.65rem !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: #444 !important;
  list-style: none !important;
}
.tool-seo-content ul li::before,
.tool-page ul li::before,
.tool-intro ul li::before {
  content: "●" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.55em !important;
  color: #FF4D00 !important;
  font-size: 0.5rem !important;
  line-height: 1 !important;
  display: block !important;
}

/* 3. WORDPRESS EDITOR content — entry-content and blocks */
.entry-content ul,
.wp-block-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 1rem 0 1.5rem !important;
}
.entry-content ul li,
.wp-block-list li {
  position: relative !important;
  padding-left: 1.5rem !important;
  margin-bottom: 0.65rem !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: #444 !important;
  list-style: none !important;
}
.entry-content ul li::before,
.wp-block-list li::before {
  content: "●" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.55em !important;
  color: #FF4D00 !important;
  font-size: 0.5rem !important;
  line-height: 1 !important;
  display: block !important;
}

/* 4. BLOG POST content */
.single-post-content ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 1rem 0 1.5rem !important;
}
.single-post-content ul li {
  position: relative !important;
  padding-left: 1.5rem !important;
  margin-bottom: 0.65rem !important;
  font-size: 1rem !important;
  line-height: 1.85 !important;
  color: #333 !important;
  list-style: none !important;
}
.single-post-content ul li::before {
  content: "●" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.55em !important;
  color: #FF4D00 !important;
  font-size: 0.5rem !important;
  line-height: 1 !important;
  display: block !important;
}

/* 5. GLOSSARY and FAQ lists — no bullets */
.glossary-list,
.faq-section ul,
.footer-col ul {
  list-style: none !important;
}
.glossary-list li::before,
.faq-section ul li::before,
.footer-col ul li::before {
  display: none !important;
  content: none !important;
}
