/*
Theme Name:  Germania Academia
Template:    astra
Description: Child theme de Astra con el branding de German Tapiza
Version:     1.0
Author:      German Tapiza
*/

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..600;1,9..144,300..500&family=Inter+Tight:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

/* ── Tokens de diseño ── */
:root {
  --bg:      #f3efe7;
  --bg2:     #ebe5d7;
  --paper:   #faf7f0;
  --ink:     #1f241e;
  --ink2:    #2a3126;
  --olive:   #3d4a37;
  --musgo:   #6b7760;
  --ceniza:  #d4c5a9;
  --linea:   rgba(31,36,30,0.14);
  --linea-s: rgba(31,36,30,0.08);
  --dim:     rgba(31,36,30,0.62);
  --bosque:  #1d2a1f;

  --f-serif: 'Fraunces', 'Times New Roman', serif;
  --f-sans:  'Inter Tight', -apple-system, sans-serif;
  --f-mono:  'JetBrains Mono', 'Menlo', monospace;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--f-sans) !important;
  background: var(--bg) !important;
  color: var(--ink) !important;
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  line-height: 1.55;
}

#page, .site { background: var(--bg) !important; }
.ast-container { max-width: 1280px; }

/* ── Header ── */
#masthead, .ast-primary-header-bar, .site-header {
  background: var(--bg) !important;
  border-bottom: 1px solid var(--linea) !important;
  box-shadow: none !important;
}
.ast-site-identity .site-title,
.ast-site-identity .site-title a {
  font-family: var(--f-sans) !important;
  font-weight: 300 !important;
  letter-spacing: -0.035em !important;
  font-size: 22px !important;
  color: var(--ink) !important;
  text-decoration: none;
}

/* ── Nav ── */
.ast-main-header-wrap .main-header-menu .menu-item > a,
#site-navigation .menu-item > a {
  font-family: var(--f-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--ink) !important;
}
.ast-main-header-wrap .main-header-menu .menu-item > a:hover { color: var(--olive) !important; }

/* ── Botones globales ── */
.ast-button, .menu-custom-links a,
button:not(.tutor-btn):not(.woocommerce .button),
input[type="submit"],
.wp-block-button__link {
  font-family: var(--f-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: 100px !important;
  padding: 14px 26px !important;
  transition: background .2s, color .2s !important;
}

/* ── Footer ── */
.site-footer, #colophon, .ast-small-footer {
  background: var(--bosque) !important;
  color: var(--ceniza) !important;
  border-top: none !important;
  font-family: var(--f-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
.site-footer a, #colophon a { color: var(--ceniza) !important; }

/* ── Tipografía ── */
h1, h2, h3, h4, h5, h6,
.entry-title, .page-title,
.woocommerce-products-header__title {
  font-family: var(--f-serif) !important;
  font-weight: 300 !important;
  letter-spacing: -0.025em !important;
  color: var(--ink) !important;
  line-height: 1.05 !important;
}
.entry-meta, .ast-post-meta, .woocommerce-breadcrumb,
.posted-on, .cat-links, .widget-title {
  font-family: var(--f-mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--olive) !important;
}
.widget-title {
  border-bottom: 1px solid var(--linea) !important;
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
}

/* ── WooCommerce ── */
.woocommerce .button, .woocommerce button.button,
.woocommerce a.button, .woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--olive) !important;
  color: var(--bg) !important;
  font-family: var(--f-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: 100px !important;
  border: none !important;
  padding: 14px 26px !important;
}
.woocommerce .button:hover, .woocommerce button.button:hover,
.woocommerce a.button:hover { background: var(--bosque) !important; color: var(--bg) !important; }
.woocommerce .button.alt { background: var(--bosque) !important; }
.woocommerce .button.alt:hover { background: var(--olive) !important; }

.woocommerce ul.products li.product {
  background: var(--paper);
  border: 1px solid var(--linea);
  border-radius: 4px;
  overflow: hidden;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--f-serif) !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  letter-spacing: -0.02em !important;
  color: var(--ink) !important;
}
.woocommerce .price, .woocommerce .amount {
  color: var(--olive) !important;
  font-family: var(--f-mono) !important;
  letter-spacing: 0.06em !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--linea) !important;
  border-radius: 4px !important;
  background: var(--paper) !important;
  font-family: var(--f-sans) !important;
  color: var(--ink) !important;
}
.woocommerce form .form-row input.input-text:focus { border-color: var(--olive) !important; outline: none !important; }
.woocommerce-info, .woocommerce-message { border-top-color: var(--olive) !important; background: var(--paper) !important; }
.woocommerce-cart table.cart, .woocommerce-checkout #payment { background: var(--paper); border: 1px solid var(--linea); }

/* ── Tutor LMS ── */
.tutor-card, .tutor-wrap, .tutor-course-card-figure {
  border: 1px solid var(--linea) !important;
  border-radius: 4px !important;
  background: var(--paper) !important;
  overflow: hidden;
}
.tutor-course-title a, .tutor-card-title, .tutor-card-title a {
  font-family: var(--f-serif) !important;
  font-weight: 300 !important;
  color: var(--ink) !important;
  letter-spacing: -0.02em !important;
}
.tutor-btn, .tutor-button, button.tutor-btn, a.tutor-btn {
  background: var(--olive) !important;
  color: var(--bg) !important;
  font-family: var(--f-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: 100px !important;
  border: none !important;
}
.tutor-btn:hover, a.tutor-btn:hover { background: var(--bosque) !important; color: var(--bg) !important; }
.tutor-btn-primary { background: var(--olive) !important; }
.tutor-btn-outline-primary {
  border: 1px solid var(--olive) !important;
  color: var(--olive) !important;
  background: transparent !important;
}
.tutor-progress-bar .tutor-progress-filled { background: var(--olive) !important; }
.tutor-tabs .tutor-tab-item.is-active, .tutor-tab-item.active {
  border-bottom: 2px solid var(--olive) !important;
  color: var(--olive) !important;
}
.tutor-course-author, .tutor-instructor-name {
  font-family: var(--f-mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--musgo) !important;
}
.tutor-archive-wrap, .tutor-course-filter-wrap { background: var(--bg) !important; }

/* Rating stars */
.tutor-ratings-stars .tutor-icon-star-filled,
.star-rating span::before { color: var(--olive) !important; }

/* ── Misceláneos ── */
a { color: var(--olive); }
a:hover { color: var(--bosque); }
::selection { background: var(--olive); color: var(--bg); }
hr, .wp-block-separator { border: none; border-top: 1px solid var(--linea); }
input, textarea, select {
  font-family: var(--f-sans) !important;
  border-color: var(--linea) !important;
  border-radius: 4px !important;
}
input:focus, textarea:focus { border-color: var(--olive) !important; outline: none !important; box-shadow: none !important; }

/* ── Responsive ── */
@media (max-width: 640px) { .ast-container { padding: 0 20px; } }
