/*
Theme Name: EigerCode
Theme URI: https://eigercode.com
Description: Alpine-themed child of Twenty Twenty-Five — Swiss minimalist layout with terminal-aesthetic typography.
Author: EigerCode
Version: 1.0.0
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: eigercode
Template: twentytwentyfive
*/

/* === Layout fundamentals === */
:root {
  --ec-bg: #0d0e10;
  --ec-surface: #16181c;
  --ec-surface-2: #1d1f24;
  --ec-border: #2a2d34;
  --ec-text: #f5f6f7;
  --ec-muted: #8b8e93;
  --ec-accent: #36c5d6;
  --ec-accent-hot: #ff7a45;
}

body {
  background: var(--ec-bg);
  color: var(--ec-text);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "ss01", "cv11";
}

/* === Typography === */
body, p, li, td, .wp-block-button__link, input, textarea, select {
  font-family: 'Inter', system-ui, -apple-system, "Segoe UI", sans-serif;
}
h1, h2, h3, h4, h5, h6,
.wp-block-post-title,
.wp-block-heading,
.products .product .woocommerce-loop-product__title,
.product_title,
.site-title {
  font-family: 'JetBrains Mono', ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* Section eyebrow utility — small caps monospace */
.has-eyebrow,
.is-style-eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ec-muted);
}

/* === Header === */
.wp-site-blocks .wp-block-template-part.site-header,
header.wp-block-template-part {
  background: var(--ec-bg);
  border-bottom: 1px solid var(--ec-border);
}

.site-title a,
.site-title {
  color: var(--ec-text) !important;
  text-decoration: none;
}
.site-title a:hover {
  color: var(--ec-accent) !important;
}

/* Code-prefix on site title — terminal feel */
.site-title::before {
  content: "$ ";
  color: var(--ec-accent);
  opacity: 0.7;
}

/* Nav */
.wp-block-navigation a,
.wp-block-navigation .wp-block-navigation-item__content {
  color: var(--ec-muted) !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 13px;
  letter-spacing: 0.02em;
  transition: color 120ms ease;
}
.wp-block-navigation a:hover,
.wp-block-navigation .current-menu-item a {
  color: var(--ec-text) !important;
}

/* === Buttons === */
.wp-block-button__link,
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button,
.woocommerce-Price-amount {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
}

.wp-block-button__link,
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button.alt,
.woocommerce #respond input#submit {
  background: var(--ec-accent) !important;
  color: var(--ec-bg) !important;
  border-radius: 2px !important;
  padding: 12px 22px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  border: none !important;
  transition: background 120ms ease, transform 120ms ease;
}
.wp-block-button__link:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce .button.alt:hover {
  background: var(--ec-accent-hot) !important;
  transform: translateY(-1px);
}

.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--ec-text) !important;
  border: 1px solid var(--ec-border) !important;
}
.is-style-outline > .wp-block-button__link:hover {
  border-color: var(--ec-accent) !important;
  color: var(--ec-accent) !important;
}

/* === Links === */
a {
  color: var(--ec-accent);
  text-decoration: none;
  position: relative;
}
.entry-content a,
.wp-block-post-content a {
  background-image: linear-gradient(var(--ec-accent), var(--ec-accent));
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size 200ms ease;
}
.entry-content a:hover,
.wp-block-post-content a:hover {
  background-size: 100% 2px;
}

/* === Cards / Surfaces === */
.wp-block-group.has-surface-background {
  background: var(--ec-surface) !important;
  border: 1px solid var(--ec-border);
  border-radius: 4px;
}

/* === WooCommerce: shop archive === */

/* Products grid: fixed-width cards in a flex row, centered as a group.
   Cards stay at a consistent 320px regardless of how many; row centers
   itself horizontally so 2 products sit visually balanced in the section. */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  flex: 0 0 320px !important;
  max-width: 320px !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}
@media (max-width: 380px) {
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}

.woocommerce ul.products li.product,
.wc-block-grid__product,
.wp-block-woocommerce-product-template .product {
  background: var(--ec-surface);
  border: 1px solid var(--ec-border);
  border-radius: 4px;
  padding: 16px !important;
  transition: border-color 160ms ease, transform 160ms ease;
  list-style: none;
}
.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover {
  border-color: var(--ec-accent);
  transform: translateY(-2px);
}
.woocommerce ul.products li.product img,
.wc-block-grid__product-image {
  border-radius: 2px;
  margin-bottom: 12px !important;
  background: var(--ec-bg);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  font-size: 14px !important;
  color: var(--ec-text) !important;
  margin: 8px 0 6px !important;
  line-height: 1.4 !important;
}
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price {
  color: var(--ec-accent) !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.woocommerce ul.products li.product .price del {
  color: var(--ec-muted) !important;
}

/* === WooCommerce: single product === */
.woocommerce div.product .product_title {
  color: var(--ec-text);
  font-size: 32px;
  margin-bottom: 12px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--ec-accent) !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 24px;
  font-weight: 600;
}
.woocommerce-tabs ul.tabs li {
  background: var(--ec-surface) !important;
  border: 1px solid var(--ec-border) !important;
  border-bottom: none !important;
}
.woocommerce-tabs ul.tabs li.active {
  background: var(--ec-bg) !important;
  border-color: var(--ec-accent) !important;
}

/* Form inputs */
input[type=text], input[type=email], input[type=search], input[type=password],
input[type=number], textarea, select {
  background: var(--ec-bg) !important;
  border: 1px solid var(--ec-border) !important;
  color: var(--ec-text) !important;
  border-radius: 2px !important;
  padding: 10px 12px !important;
  font-family: 'Inter', sans-serif;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--ec-accent) !important;
  outline: none !important;
}

/* Footer */
.wp-block-template-part.site-footer,
footer.wp-block-template-part {
  background: var(--ec-bg);
  border-top: 1px solid var(--ec-border);
  color: var(--ec-muted);
  padding: 48px 0 32px;
}
.wp-block-template-part.site-footer a {
  color: var(--ec-muted);
}
.wp-block-template-part.site-footer a:hover {
  color: var(--ec-accent);
}

/* Subtle scrolling cursor on hero */
@keyframes ec-blink { 50% { opacity: 0; } }
.has-cursor::after {
  content: "▮";
  display: inline-block;
  margin-left: 4px;
  color: var(--ec-accent);
  animation: ec-blink 1s steps(1) infinite;
}

/* WordPress admin bar — fix theme bleed on dark page */
body.admin-bar #wpadminbar { background: #1d1f24; }

/* Hide the auto page-title block on the home page (we render our own hero) */
body.home .wp-block-post-title,
body.home main > .wp-block-post-title,
body.home .wp-block-template-part .wp-block-post-title {
  display: none !important;
}

/* Hide breadcrumbs on front page if any */
body.home .woocommerce-breadcrumb { display: none; }

/* === WooCommerce auto-injected header icons (customer-account + mini-cart) === */

/* Customer account icon */
.wp-block-woocommerce-customer-account .wc-block-customer-account__link {
  color: var(--ec-muted) !important;
  text-decoration: none !important;
  background: none !important;
  display: inline-flex;
  align-items: center;
  transition: color 120ms ease;
}
.wp-block-woocommerce-customer-account .wc-block-customer-account__link:hover {
  color: var(--ec-accent) !important;
}
.wc-block-customer-account__account-icon {
  width: 22px !important;
  height: 22px !important;
  fill: currentColor !important;
}
/* Hide the "My account" text label next to the icon — icon-only header */
.wp-block-woocommerce-customer-account .label {
  display: none !important;
}

/* Mini-cart */
.wp-block-woocommerce-mini-cart .wc-block-mini-cart__button {
  color: var(--ec-muted) !important;
  background: transparent !important;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  transition: color 120ms ease;
}
.wp-block-woocommerce-mini-cart .wc-block-mini-cart__button:hover {
  color: var(--ec-accent) !important;
}
.wc-block-mini-cart__icon {
  width: 22px !important;
  height: 22px !important;
}
.wc-block-mini-cart__amount {
  display: none !important;  /* hide the price next to the icon — icon-only */
}
.wc-block-mini-cart__badge {
  background: var(--ec-accent) !important;
  color: var(--ec-bg) !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}
.wc-block-mini-cart__quantity-badge {
  /* The wrapper that holds the icon + badge */
  position: relative;
}

/* Pull the home page hero up against the header.
   Twenty Twenty-Five injects three sources of top spacing on the home page
   that we have to override at high specificity (they're inline styles): */
body.home main.wp-block-group {
  margin-top: 0 !important;        /* main has inline margin-top:spacing|60 */
}
body.home main > .wp-block-group:first-child,
body.home main > .wp-block-group.alignfull:first-child {
  padding-top: 0 !important;       /* inner wrapper has inline padding-top:spacing|60 */
}
body.home .wp-block-post-title {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.home .wp-block-cover:first-of-type,
body.home main .entry-content > .wp-block-cover:first-child {
  margin-top: 0 !important;
}
