/* ====================================================================
   IDNT.ES — CSS v7.0 (2026-04-22)
   Fonts: Bebas Neue (--fd) | Space Mono (--fm) | Montserrat (--fb)
   ==================================================================== */

/* ── PARALLAX KILL — remove background-attachment:fixed everywhere ── */
.has-parallax,
.wp-block-cover.has-parallax,
.wp-block-cover.has-parallax .wp-block-cover__image-background,
[style*="background-attachment:fixed"],
[style*="background-attachment: fixed"] {
  background-attachment: scroll !important;
}

/* ── 0. KADENCE VARIABLE OVERRIDES ──────────────────────────────── */
:root {
  --black:   #0a0a0a;
  --white:   #ffffff;
  --cream:   #f4f3f0;
  --muted:   #888888;
  --fd: 'Bebas Neue', sans-serif;
  --fm: 'Space Mono', monospace;
  --fb: 'Montserrat', sans-serif;

  /* Kill Kadence's blue palette — wins by loading after kadence-parent */
  --global-palette1: #0a0a0a;
  --global-palette2: #1a1a1a;
  --global-palette3: #0a0a0a;
  --global-palette4: #2a2a2a;
  --global-palette5: #555555;
  --global-palette6: #888888;
  --global-palette7: #f4f3f0;
  --global-palette8: #f8f7f4;
  --global-palette9: #ffffff;
  --global-palette-btn-bg:           #0a0a0a;
  --global-palette-btn-bg-hover:     #333333;
  --global-palette-btn:              #ffffff;
  --global-palette-btn-hover:        #ffffff;
  --global-palette-btn-sec-bg:       #0a0a0a;
  --global-palette-btn-sec-bg-hover: #333333;
  --global-palette-btn-sec:          #ffffff;
  --global-palette-btn-sec-hover:    #ffffff;
  --global-palette-highlight:        #0a0a0a;
  --global-palette-highlight-alt:    #f4f3f0;
}

/* ── 1. BASE RESET ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

body {
  background: var(--white);
  color: var(--black);
  font-family: var(--fb);
  -webkit-font-smoothing: antialiased;
  text-transform: uppercase;
}

/* Preserve natural case for inputs and prices */
input, textarea, select,
.woocommerce-Price-amount bdi { text-transform: none; }
input::placeholder, textarea::placeholder {
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; }

/* ── 2. FULL-WIDTH UNLOCK ────────────────────────────────────────── */
.site-container,
.content-container,
.content-container.site-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.content-area {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}
#main.site-main { padding: 0 !important; }
.entry.single-entry,
.entry.loop-entry { box-shadow: none !important; }

/* ── 3. HEADER ───────────────────────────────────────────────────── */
#masthead,
#masthead .site-main-header-wrap .site-header-row-container-inner {
  background: var(--black) !important;
  transition: background 0.3s ease !important;
}

/* Header inner — contained at 1360px */
#masthead .site-main-header-inner-wrap {
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  width: 100% !important;
}

/* TRANSPARENT HEADER — on pages with full-bleed hero (desktop only) */
/* Only #masthead itself goes absolute — inner wrappers stay in normal flow */
.idnt-has-hero #masthead {
  background: transparent !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 200 !important;
  width: 100% !important;
}
.idnt-has-hero #masthead .site-main-header-wrap,
.idnt-has-hero #masthead .site-main-header-wrap .site-header-row-container-inner {
  background: transparent !important;
}

/* Logo */
.site-branding a.brand img,
.site-branding a.brand img.svg-logo-image {
  filter: brightness(0) invert(1) !important;
  max-width: 160px !important;
}
.site-branding .brand,
.site-branding a.brand {
  font-family: var(--fd) !important;
  font-size: 1.8rem !important;
  letter-spacing: 0.04em !important;
  color: var(--white) !important;
  text-transform: uppercase !important;
}

/* Nav links */
.main-navigation .primary-menu-container > ul > li.menu-item > a {
  font-family: var(--fm) !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.2em !important;
  color: var(--white) !important;
  text-transform: uppercase !important;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover {
  color: rgba(255,255,255,0.6) !important;
}

/* Submenu */
.header-navigation .header-menu-container ul ul.sub-menu {
  background: var(--black) !important;
  border-top: 1px solid #333 !important;
}
.header-navigation .header-menu-container ul ul li.menu-item > a {
  color: var(--white) !important;
  font-family: var(--fm) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.15em !important;
}

/* Mobile toggle */
.mobile-toggle-open-container .menu-toggle-open { color: var(--white) !important; }

/* ── CART ICON in nav ────────────────────────────────────────────── */
.idnt-cart-menu-item {
  display: flex !important;
  align-items: center !important;
}
.idnt-cart-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--white) !important;
  position: relative !important;
  padding: 0 4px !important;
  line-height: 1 !important;
}
.idnt-cart-link svg {
  display: block !important;
  flex-shrink: 0 !important;
}
.idnt-cart-count {
  font-family: var(--fm) !important;
  font-size: 0.55rem !important;
  letter-spacing: 0.1em !important;
  color: var(--white) !important;
  background: transparent !important;
  min-width: 0 !important;
  line-height: 1 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.idnt-cart-count--empty { display: none !important; }

/* ── 4. BUTTONS — ALL BLACK, ZERO RADIUS, SMALLER ───────────────── */
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
a.button,
.button,
.btn,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .cart .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order,
.single_add_to_cart_button,
.add_to_cart_button,
.wp-block-button__link,
.kb-button,
.woocommerce-Button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit {
  background: var(--black) !important;
  background-color: var(--black) !important;
  color: var(--white) !important;
  border: 1px solid var(--black) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: var(--fm) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  height: 38px !important;
  padding: 0 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
button:hover,
input[type="submit"]:hover,
a.button:hover,
.button:hover,
.woocommerce button.button:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
.wp-block-button__link:hover {
  background: #2a2a2a !important;
  background-color: #2a2a2a !important;
  color: var(--white) !important;
  box-shadow: none !important;
}

/* Cover block buttons (ghost style over images) */
.wp-block-cover .wp-block-button__link {
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(255,255,255,0.6) !important;
  color: var(--white) !important;
}
.wp-block-cover .wp-block-button__link:hover {
  background: var(--white) !important;
  background-color: var(--white) !important;
  color: var(--black) !important;
  border-color: var(--white) !important;
}

/* Navigation buttons (prev/next pages) */
.woocommerce-pagination a, .woocommerce-pagination span {
  height: auto !important;
  padding: 6px 12px !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.15em !important;
}

/* Newsletter submit — keep square */
.idnt-newsletter-form button {
  height: 44px !important;
  width: 44px !important;
  padding: 0 !important;
  font-size: 1rem !important;
  letter-spacing: 0 !important;
}

/* Contact form submit — slightly wider */
.idnt-contact-form button[type="submit"] {
  height: 40px !important;
  padding: 0 28px !important;
}

/* ── 5. HERO SECTIONS ────────────────────────────────────────────── */
/* On hero pages, header is absolute — pull content up to fill from top */
.idnt-has-hero #page,
.idnt-has-hero .content-area,
.idnt-has-hero #main.site-main { margin-top: 0 !important; padding-top: 0 !important; }

.idnt-img-hero {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  min-height: 90vh !important;
  background-size: cover !important;
  background-position: center center !important;
  background-color: var(--black) !important;
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  padding: 64px 6vw 56px !important;
  margin-bottom: 0 !important;
}
.idnt-img-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,0.05) 100%) !important;
}
.idnt-img-hero-content {
  position: relative !important;
  z-index: 1 !important;
  text-align: left !important;
  max-width: 700px !important;
}
.idnt-img-hero-content h1 {
  font-family: var(--fd) !important;
  font-size: clamp(3rem, 8vw, 7rem) !important;
  color: var(--white) !important;
  line-height: 0.9 !important;
  letter-spacing: 0.02em !important;
  margin: 0 0 14px !important;
  text-align: left !important;
}
.idnt-img-hero-content p {
  font-family: var(--fm) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.25em !important;
  color: rgba(255,255,255,0.7) !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Journal archive banner */
.post-archive-hero-section {
  background: var(--black) !important;
  padding: 60px 6vw 48px !important;
}
.post-archive-hero-section .page-title {
  font-family: var(--fd) !important;
  font-size: clamp(3rem, 8vw, 6rem) !important;
  color: var(--white) !important;
  line-height: 0.9 !important;
  margin: 0 !important;
}
.entry-hero .kadence-breadcrumbs { display: none !important; }
.woocommerce-products-header { display: none !important; }

/* ── 6. WOOCOMMERCE SHOP — FULL-WIDTH 4-COL GRID ────────────────── */
.woocommerce-page .content-container,
.woocommerce-page .site-container { padding: 0 !important; max-width: 100% !important; }
.woocommerce-page #primary { max-width: 100% !important; padding: 0 !important; }
.woocommerce-page #main { padding: 0 !important; }

/* Hide Kadence sections that create gap between hero and product grid */
.entry-hero.product-archive-hero-section,
.woocommerce-archive-description,
.woocommerce-products-header__title,
.kadence-product-toggle-container,
.kadence-product-toggle-outer { display: none !important; }

/* Zero space between hero and product grid — kill all padding on archive containers */
.woocommerce-page #primary,
.woocommerce-page .content-container,
.woocommerce-page #main,
.woocommerce-shop #primary,
.woocommerce.archive #primary { padding: 0 !important; margin-top: 0 !important; }
.woocommerce-page .woocommerce { padding: 0 !important; margin: 0 !important; }

.woocommerce-result-count,
.woocommerce-ordering { display: none !important; }

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

/* Product card — seamless grid, hairline dividers only */
.woocommerce ul.products li.product {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-right: 1px solid #e8e8e8 !important;
  border-bottom: 1px solid #e8e8e8 !important;
  position: relative !important;
  background: var(--white) !important;
  overflow: hidden !important;
}
.woocommerce ul.products li.product:nth-child(4n) {
  border-right: none !important;
}

/* Product image */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .woocommerce-loop-image-link {
  display: block !important;
  overflow: hidden !important;
  background: var(--cream) !important;
  aspect-ratio: 3/4 !important;
  position: relative !important;
}
.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  transition: opacity 0.4s ease !important;
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Hover image — second img injected by PHP, sits on top via absolute */
.woocommerce ul.products li.product img.idnt-hover-img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  opacity: 0 !important;
  transition: opacity 0.4s ease !important;
  transform: none !important;
}
.woocommerce ul.products li.product:hover img.idnt-hover-img {
  opacity: 1 !important;
}
/* Kill scale on hover — we're doing fade now */
.woocommerce ul.products li.product:hover img:not(.idnt-hover-img) {
  transform: none !important;
}

/* Product info */
.woocommerce ul.products li.product .product-details,
.woocommerce ul.products li.product .entry-content-wrap {
  padding: 16px !important;
  background: var(--white) !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: var(--fd) !important;
  font-size: 1.05rem !important;
  line-height: 1.1 !important;
  letter-spacing: 0.04em !important;
  color: var(--black) !important;
  margin: 0 0 6px !important;
  text-transform: uppercase !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .woocommerce-Price-amount {
  font-family: var(--fm) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.12em !important;
  color: var(--black) !important;
}
/* "Add to cart" on grid — minimal */
.woocommerce ul.products li.product .button.add_to_cart_button {
  font-size: 0.55rem !important;
  height: 32px !important;
  padding: 0 14px !important;
  letter-spacing: 0.18em !important;
  margin-top: 8px !important;
  width: 100% !important;
}

/* Sale badge */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  background: var(--black) !important;
  color: var(--white) !important;
  font-family: var(--fm) !important;
  font-size: 0.55rem !important;
  letter-spacing: 0.15em !important;
  border-radius: 0 !important;
  min-width: auto !important;
  min-height: auto !important;
  padding: 4px 10px !important;
  line-height: 1.5 !important;
}

/* ── 7. PRODUCT SINGLE — FORMER MERCHANDISE STYLE ───────────────── */
.idnt-product-dual-img {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2px !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  height: 92vh !important;
  background: #ddd !important;
}
.idnt-product-dual-img__col {
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-color: var(--cream) !important;
}
.idnt-product-dual-img__col--light {
  background-color: #f0ede8 !important;
  background-position: center center !important;
}

/* Hide WC gallery — replaced by dual image */
.single-product .woocommerce-product-gallery,
.single-product .product-gallery-wrap { display: none !important; }

/* Product single content block */
.single-product div.product {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Summary — centered narrow column */
.single-product .summary.entry-summary {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  padding: 56px 40px 48px !important;
  text-align: center !important;
}
.single-product .summary .product_title {
  font-family: var(--fd) !important;
  font-size: clamp(2.8rem, 6vw, 5rem) !important;
  line-height: 0.92 !important;
  letter-spacing: 0.02em !important;
  color: var(--black) !important;
  margin-bottom: 20px !important;
}
.single-product .summary .price {
  font-family: var(--fm) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.15em !important;
  margin-bottom: 28px !important;
  display: block !important;
}
.single-product .summary .cart { text-align: center !important; }
.single-product .summary .single_add_to_cart_button {
  width: 100% !important;
  max-width: 300px !important;
  height: 44px !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.22em !important;
}
.single-product .summary .product_meta {
  font-family: var(--fm) !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.15em !important;
  color: var(--muted) !important;
  margin-top: 24px !important;
}

/* Tabs and description */
.single-product .woocommerce-tabs {
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 0 40px 60px !important;
  float: none !important;
  clear: both !important;
}
.single-product .woocommerce-tabs ul.tabs li a {
  font-family: var(--fm) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

/* Related products */
.single-product section.related.products {
  padding: 48px 6vw !important;
  clear: both !important;
  float: none !important;
}
.single-product section.related.products > h2 {
  font-family: var(--fd) !important;
  font-size: 2.5rem !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 32px !important;
}

/* ── 8. CATEGORY PAGES ───────────────────────────────────────────── */
.idnt-cat-hero,
.idnt-cat-hero-inner { display: none; }

/* ── 9. WOOCOMMERCE BREADCRUMB ───────────────────────────────────── */
.idnt-breadcrumb,
nav.woocommerce-breadcrumb,
.woocommerce-breadcrumb { display: none !important; }
.rank-math-breadcrumb { display: none !important; }

/* ── HOME JOURNAL SECTION (wp:latest-posts block) ───────────────── */
.idnt-journal-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Compact card on home — smaller image, tighter text */
.idnt-journal-grid li {
  border-right: 1px solid #e8e8e8 !important;
  border-bottom: 1px solid #e8e8e8 !important;
  overflow: hidden !important;
}
.idnt-journal-grid li:nth-child(3n) { border-right: none !important; }
.idnt-journal-grid .wp-block-latest-posts__featured-image,
.idnt-journal-grid .wp-block-latest-posts__featured-image a {
  display: block !important;
  height: 200px !important;
  overflow: hidden !important;
}
.idnt-journal-grid .wp-block-latest-posts__featured-image img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}
.idnt-journal-grid a {
  font-family: var(--fd) !important;
  font-size: 1.2rem !important;
  letter-spacing: 0.02em !important;
  line-height: 1.1 !important;
  color: var(--black) !important;
  display: block !important;
  padding: 16px !important;
}
.idnt-journal-grid .wp-block-latest-posts__post-date {
  font-family: var(--fm) !important;
  font-size: 0.55rem !important;
  letter-spacing: 0.15em !important;
  color: var(--muted) !important;
  padding: 0 16px 16px !important;
  display: block !important;
}
@media (max-width: 768px) {
  .idnt-journal-grid { grid-template-columns: 1fr !important; }
  .idnt-journal-grid .wp-block-latest-posts__featured-image,
  .idnt-journal-grid .wp-block-latest-posts__featured-image img { height: 160px !important; }
}

/* ── 10. JOURNAL / BLOG LISTING ──────────────────────────────────── */
.content-wrap.kadence-posts-list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
  padding: 0 !important;
}

.loop-entry {
  background: var(--white) !important;
  border: none !important;
  border-right: 1px solid #e8e8e8 !important;
  border-bottom: 1px solid #e8e8e8 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
.loop-entry .entry-content-wrap {
  padding: 28px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

/* Thumbnail */
.loop-entry a.post-thumbnail {
  display: block !important;
  aspect-ratio: 16/10 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--cream) !important;
}
.loop-entry .post-thumbnail-inner {
  width: 100% !important;
  height: 100% !important;
}
.loop-entry .post-thumbnail-inner img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
/* Collapse empty Kadence ratio placeholder */
.loop-entry a.post-thumbnail.kadence-thumbnail-ratio-2-3 {
  aspect-ratio: unset !important;
  padding-bottom: 0 !important;
}
.loop-entry a.post-thumbnail:not(:has(img)) {
  display: none !important;
}

/* Category label */
.loop-entry .entry-categories-single {
  font-family: var(--fm) !important;
  font-size: 0.55rem !important;
  letter-spacing: 0.25em !important;
  color: var(--muted) !important;
  margin-bottom: 10px !important;
  display: block !important;
}

/* Card title */
.loop-entry .entry-title {
  font-family: var(--fd) !important;
  font-size: 1.45rem !important;
  line-height: 1.05 !important;
  letter-spacing: 0.02em !important;
  color: var(--black) !important;
  margin: 0 0 12px !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}
.loop-entry .entry-title a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Meta */
.loop-entry .entry-meta,
.loop-entry .posted-by,
.loop-entry .posted-on {
  font-family: var(--fm) !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.1em !important;
  color: var(--muted) !important;
}

/* Excerpt */
.loop-entry .entry-summary p,
.loop-entry p {
  font-family: var(--fb) !important;
  font-size: 0.78rem !important;
  line-height: 1.65 !important;
  color: #555 !important;
  text-transform: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Read more */
.loop-entry .post-more-link {
  font-family: var(--fm) !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.2em !important;
  color: var(--black) !important;
  border-bottom: 1px solid var(--black) !important;
  display: inline-block !important;
  margin-top: auto !important;
  padding-top: 16px !important;
}

/* ── 11. BLOG SINGLE POST ────────────────────────────────────────── */
/* Header on blog single must match main site — full-width dark */
.single-post #masthead,
.single-post #masthead .site-main-header-wrap .site-header-row-container-inner {
  background: var(--black) !important;
  position: relative !important;
}

.single-post .site-container { max-width: 760px !important; }
.single-post .content-area { padding: 0 24px !important; }

/* Collapse missing featured image */
.single-post .entry-hero,
.single-post .post-thumbnail-wrap:not(:has(img)),
.single-post figure.wp-block-post-featured-image:not(:has(img)) {
  display: none !important;
}
.single-post .post-thumbnail:not(:has(img)) { display: none !important; }

.single-post .entry-title {
  font-family: var(--fd) !important;
  font-size: clamp(2.5rem, 7vw, 5rem) !important;
  line-height: 0.94 !important;
  letter-spacing: 0.02em !important;
  color: var(--black) !important;
  margin-bottom: 20px !important;
  word-break: normal !important;
}
.single-post .entry-meta {
  font-family: var(--fm) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.15em !important;
  color: var(--muted) !important;
  margin-bottom: 40px !important;
}
.single-post .entry-content p {
  font-family: var(--fb) !important;
  font-size: 0.95rem !important;
  line-height: 1.78 !important;
  color: #333 !important;
  margin-bottom: 24px !important;
  text-transform: none !important;
}
.single-post .entry-content h2,
.single-post .entry-content h3 {
  font-family: var(--fd) !important;
  letter-spacing: 0.03em !important;
  margin: 40px 0 16px !important;
}
.single-post .entry-content img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 32px auto !important;
}

/* ── 12. SIMILAR POSTS CAROUSEL — fix Splide pre-init overflow ───── */
/* Kadence renders a Splide carousel for "Similar Posts"
   Before JS initialises, slide items have no explicit width → text collapses
   to a few characters wide and wraps letter-by-letter. */
.entry-related-carousel,
.kt-related-posts-container {
  max-width: 100% !important;
  overflow: hidden !important;
}

/* Splide list — force horizontal flex before init */
.entry-related-carousel .splide__track { overflow: visible !important; }
.entry-related-carousel .splide__list {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 1px !important;
}

/* Each slide — fixed min-width so text doesn't collapse */
.entry-related-carousel .splide__slide {
  flex: 0 0 280px !important;
  min-width: 220px !important;
  max-width: 320px !important;
  overflow: hidden !important;
}

/* Title inside carousel slides */
.entry-related-carousel .splide__slide .entry-title,
.entry-related-carousel .kt-related-post-item .entry-title,
.entry-related-carousel .entry-list-item .entry-title,
.kt-related-posts-container .entry-title,
.kadence-related-posts .entry-title {
  font-family: var(--fd) !important;
  font-size: 1.1rem !important;
  line-height: 1.1 !important;
  letter-spacing: 0.02em !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  word-break: normal !important;
  white-space: normal !important;
  width: auto !important;
  min-width: 0 !important;
}

/* ── 13. FOOTER ──────────────────────────────────────────────────── */
#idnt-footer {
  background: var(--black) !important;
  color: var(--white) !important;
  width: 100% !important;
  clear: both !important;
  display: block !important;
  margin-top: 0 !important;
}
.idnt-footer-inner {
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding: 64px 48px 0 !important;
}
.idnt-footer-grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 2fr !important;
  gap: 40px !important;
  padding-bottom: 48px !important;
  border-bottom: 1px solid #1e1e1e !important;
}

.idnt-footer-logo {
  font-family: var(--fd) !important;
  font-size: 2rem !important;
  letter-spacing: 0.05em !important;
  color: var(--white) !important;
  display: block !important;
  margin-bottom: 16px !important;
  text-transform: uppercase !important;
}
.idnt-footer-brand p {
  font-family: var(--fb) !important;
  font-size: 0.78rem !important;
  line-height: 1.7 !important;
  color: #9a9a9a !important;
  text-transform: none !important;
}
.idnt-footer-social { margin-top: 20px !important; }
.idnt-footer-social a {
  font-family: var(--fm) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.18em !important;
  color: #9a9a9a !important;
}
.idnt-footer-social a:hover { color: var(--white) !important; }

.idnt-footer-nav h4 {
  font-family: var(--fm) !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.25em !important;
  color: var(--white) !important;
  margin-bottom: 20px !important;
}
.idnt-footer-nav ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.idnt-footer-nav ul li { margin-bottom: 10px !important; }
.idnt-footer-nav ul li a {
  font-family: var(--fb) !important;
  font-size: 0.78rem !important;
  color: #9a9a9a !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}
.idnt-footer-nav ul li a:hover { color: var(--white) !important; }

.idnt-footer-newsletter h4 {
  font-family: var(--fm) !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.25em !important;
  color: var(--white) !important;
  margin-bottom: 8px !important;
}
.idnt-footer-newsletter > p {
  font-family: var(--fb) !important;
  font-size: 0.75rem !important;
  color: #9a9a9a !important;
  margin-bottom: 16px !important;
  text-transform: none !important;
}
.idnt-newsletter-form {
  display: flex !important;
  height: 44px !important;
  margin-bottom: 20px !important;
}
.idnt-newsletter-form input[type="email"] {
  flex: 1 !important;
  background: #111 !important;
  border: 1px solid #333 !important;
  border-right: 0 !important;
  padding: 0 16px !important;
  font-family: var(--fm) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.12em !important;
  color: var(--white) !important;
  height: 44px !important;
  border-radius: 0 !important;
}
.idnt-newsletter-form button {
  background: var(--white) !important;
  background-color: var(--white) !important;
  color: var(--black) !important;
  border: 1px solid var(--white) !important;
  width: 44px !important;
  height: 44px !important;
  font-size: 1rem !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
  border-radius: 0 !important;
}
.idnt-newsletter-form button:hover {
  background: #e0ddd8 !important;
  background-color: #e0ddd8 !important;
}
.idnt-account-link {
  font-family: var(--fm) !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.18em !important;
  color: #9a9a9a !important;
  display: block !important;
}
.idnt-account-link:hover { color: var(--white) !important; }

.idnt-footer-bottom {
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding: 20px 48px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.idnt-footer-bottom span,
.idnt-footer-bottom a {
  font-family: var(--fm) !important;
  font-size: 0.55rem !important;
  letter-spacing: 0.12em !important;
  color: #555 !important;
  text-transform: uppercase !important;
}
.idnt-footer-bottom a:hover { color: #999 !important; }
.idnt-footer-sep { color: #333 !important; }

/* ── 14. CONTACT FORM ────────────────────────────────────────────── */
.idnt-contact-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.idnt-contact-form input,
.idnt-contact-form textarea {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #ddd !important;
  padding: 16px 0 !important;
  font-family: var(--fm) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.12em !important;
  color: var(--black) !important;
  width: 100% !important;
  outline: none !important;
  border-radius: 0 !important;
  height: auto !important;
  display: block !important;
  text-transform: none !important;
}
.idnt-contact-form textarea {
  min-height: 120px !important;
  resize: vertical !important;
  margin-bottom: 16px !important;
}
.idnt-contact-form input:focus,
.idnt-contact-form textarea:focus { border-bottom-color: var(--black) !important; }
.idnt-contact-form button[type="submit"] {
  align-self: flex-start !important;
  width: auto !important;
  height: 40px !important;
  padding: 0 28px !important;
  margin-top: 8px !important;
  display: inline-flex !important;
  max-width: none !important;
}
.idnt-form-ok, .idnt-form-err {
  font-family: var(--fm) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.15em !important;
  padding: 16px 0 !important;
}
.idnt-form-err { color: #c00 !important; }

/* ── 15. GUTENBERG BLOCKS — FULL-WIDTH ───────────────────────────── */
.wp-block-cover.alignfull,
.wp-block-group.alignfull,
.wp-block-columns.alignfull {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
}
.wp-block-cover__inner-container,
.wp-block-group.alignfull > .wp-block-group__inner-container {
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}

/* ── 16. MISC ─────────────────────────────────────────────────────── */
html { scroll-behavior: smooth; }

.wp-block-details summary {
  font-family: var(--fm) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.15em !important;
  cursor: pointer !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid #eee !important;
}

.kadence-footer-credit { display: none !important; }
#colophon:not(#idnt-footer) { display: none !important; }

/* ── 17. RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width: 1024px) {
  #masthead .site-main-header-inner-wrap { padding: 0 24px !important; }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .content-wrap.kadence-posts-list {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .idnt-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
  .idnt-img-hero { min-height: 60vh !important; }
  .idnt-img-hero-content h1 { font-size: clamp(2.5rem, 10vw, 5rem) !important; }
  .idnt-product-dual-img { height: 70vh !important; }
}

@media (max-width: 768px) {
  /* On mobile: header always solid black — transparent header only works on desktop */
  .idnt-has-hero #masthead {
    position: relative !important;
    background: var(--black) !important;
  }
  .idnt-has-hero #masthead .site-main-header-wrap,
  .idnt-has-hero #masthead .site-main-header-wrap .site-header-row-container-inner {
    background: var(--black) !important;
  }

  #masthead .site-main-header-inner-wrap { padding: 0 16px !important; }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .content-wrap.kadence-posts-list {
    grid-template-columns: 1fr !important;
  }
  .idnt-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .idnt-footer-inner { padding: 48px 20px 0 !important; }
  .idnt-footer-bottom { padding: 20px !important; }

  .idnt-img-hero {
    min-height: 70vh !important;
    padding: 40px 5vw 36px !important;
  }
  .idnt-img-hero-content h1 { font-size: clamp(2.5rem, 14vw, 4.5rem) !important; }

  .idnt-product-dual-img {
    grid-template-columns: 1fr !important;
    height: auto !important;
  }
  .idnt-product-dual-img__col { height: 65vw !important; }
  .idnt-product-dual-img__col--light { display: none !important; }

  .single-product .summary.entry-summary { padding: 36px 20px 40px !important; }
  .single-product .woocommerce-tabs { padding: 0 20px 40px !important; }

  .wp-block-cover__inner-container,
  .wp-block-group.alignfull > .wp-block-group__inner-container {
    padding: 0 20px !important;
  }

  .single-post .site-container { max-width: 100% !important; }
  .single-post .content-area { padding: 0 20px !important; }
}

@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .idnt-product-dual-img__col { height: 85vw !important; }
}
