/*
Theme Name: Brimful Nest (Storefront Child)
Template: storefront
Description: Marca Brimful Nest: cálida, minimalista, sobre Storefront. Sin fuentes ni scripts externos (privacidad y velocidad).
Version: 1.0.0
*/

/* Fuentes alojadas en el sitio (OFL; sin Google Fonts: no se envían datos del visitante a terceros) */
@font-face { font-family: "Fraunces"; font-weight: 600; font-style: normal; font-display: swap;
  src: url("fonts/fraunces-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 400; font-style: normal; font-display: swap;
  src: url("fonts/inter-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 600 700; font-style: normal; font-display: swap;
  src: url("fonts/inter-latin-600-normal.woff2") format("woff2"); }

:root {
  --nk-bg: #faf7f2;
  --nk-card: #ffffff;
  --nk-ink: #2b2f2c;
  --nk-muted: #636b65;
  --nk-accent: #3f5b4a;
  --nk-accent-dark: #2f463a;
  --nk-sand: #efe6d8;
  --nk-sage: #8fae98;
  --nk-clay: #c8795a;
  --nk-line: #e7e0d4;
  --nk-radius: 14px;
  --nk-shadow: 0 6px 24px rgba(38, 48, 47, .08);
}

body, .site, .site-content { background: var(--nk-bg); color: var(--nk-ink); }
body, button, input, select, textarea {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
h1, h2, h3, .site-title, .product_title, .entry-title {
  font-family: Fraunces, Georgia, "Times New Roman", serif; color: var(--nk-ink); letter-spacing: -.01em; font-weight: 600;
}
a { color: var(--nk-accent); }
a:hover { color: var(--nk-accent-dark); }

/* Barra superior */
.tp-topbar {
  background: var(--nk-accent-dark); color: #fff; text-align: center;
  font-size: .85rem; padding: .55em 1em; letter-spacing: .02em;
}

/* Cabecera */
.site-header { background: var(--nk-card); border-bottom: 1px solid var(--nk-line); padding-top: 1.2em; }
.site-header .site-branding .site-title a { color: var(--nk-ink); font-size: 1.7rem; }
.site-header .site-description { color: var(--nk-muted); }
.main-navigation ul li a, .site-header-cart .cart-contents { color: var(--nk-ink); }
.main-navigation ul li a:hover, .main-navigation ul li.current-menu-item > a { color: var(--nk-accent); }
.site-search .widget_product_search form input[type=search] {
  background: var(--nk-bg); border: 1px solid var(--nk-line); border-radius: 999px; padding-left: 2.6em;
}

/* Botones */
button, input[type=button], input[type=reset], input[type=submit], .button, .widget a.button,
.added_to_cart, .wc-block-components-button, .woocommerce #respond input#submit {
  background: var(--nk-accent); color: #fff; border: 0; border-radius: 999px;
  padding: .85em 1.8em; font-weight: 600; letter-spacing: .01em; transition: background .15s, transform .15s;
}
button:hover, input[type=submit]:hover, .button:hover, .added_to_cart:hover {
  background: var(--nk-accent-dark); color: #fff; transform: translateY(-1px);
}
.button.alt, button.alt, input.alt, .checkout-button, #place_order {
  background: var(--nk-accent); color: #fff;
}
.button.alt:hover, button.alt:hover, #place_order:hover { background: var(--nk-accent-dark); }

/* Portada */
.home .entry-header { display: none; }
.tp-hero {
  background: linear-gradient(135deg, var(--nk-sand), #f6efe4 60%, #fff);
  border: 1px solid var(--nk-line); border-radius: calc(var(--nk-radius) + 6px);
  padding: 3.2em 2em; text-align: center; margin: 1em 0 2.4em;
}
.tp-hero h2 { font-size: clamp(1.8rem, 4.5vw, 2.8rem); margin: 0 0 .4em; }
.tp-hero p { color: var(--nk-muted); font-size: 1.1rem; max-width: 36em; margin: 0 auto 1.4em; }
.tp-hero .tp-cta {
  display: inline-block; background: var(--nk-accent); color: #fff; border-radius: 999px;
  padding: .9em 2.2em; font-weight: 600; text-decoration: none;
}
.tp-hero .tp-cta:hover { background: var(--nk-accent-dark); color: #fff; }
.tp-trust {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1em; margin: 2em 0 2.4em;
}
.tp-trust > div {
  background: var(--nk-card); border: 1px solid var(--nk-line); border-radius: var(--nk-radius);
  padding: 1.2em 1.3em; box-shadow: var(--nk-shadow);
}
.tp-trust strong { display: block; margin-bottom: .25em; color: var(--nk-ink); }
.tp-trust span { color: var(--nk-muted); font-size: .92rem; }
.tp-section-title { text-align: center; margin: 2em 0 1em; }

/* Productos */
ul.products li.product {
  background: var(--nk-card); border: 1px solid var(--nk-line); border-radius: var(--nk-radius);
  padding: 1em; box-shadow: var(--nk-shadow); text-align: center;
}
ul.products li.product img { border-radius: 10px; }
ul.products li.product .woocommerce-loop-product__title { font-size: 1.05rem; }
.price, .price ins, .woocommerce-Price-amount { color: var(--nk-accent-dark); font-weight: 700; }
span.onsale { background: var(--nk-accent); color: #fff; border-radius: 999px; }

/* Ficha de producto */
.single-product div.product .product_title { font-size: 1.9rem; }
.single-product div.product p.price { font-size: 1.6rem; }
.single-product div.product .images img { border-radius: var(--nk-radius); }
.single-product .woocommerce-product-details__short-description { color: var(--nk-muted); }
.single-product .single_add_to_cart_button { width: 100%; padding: 1.05em 1.5em; font-size: 1.05rem; }
.single-product form.cart { margin-bottom: 1.2em; }
.tp-assure { list-style: none; margin: 1em 0 0; padding: 1em 1.2em; background: var(--nk-card);
  border: 1px solid var(--nk-line); border-radius: var(--nk-radius); }
.tp-assure li { margin: .35em 0; padding-left: 1.6em; position: relative; font-size: .95rem; }
.tp-assure li::before { content: "\2713"; position: absolute; left: 0; color: var(--nk-accent); font-weight: 700; }
.woocommerce-tabs ul.tabs li { background: transparent; border-radius: 999px 999px 0 0; }
.woocommerce-tabs ul.tabs li.active { background: var(--nk-card); }

/* Carrito y checkout */
.woocommerce-checkout #payment, .woocommerce-cart .cart-collaterals .cart_totals,
.col2-set .col-1, .col2-set .col-2 { background: var(--nk-card); border-radius: var(--nk-radius); }
.woocommerce-checkout #payment { border: 1px solid var(--nk-line); }
input[type=text], input[type=email], input[type=tel], input[type=password], textarea, select {
  border: 1px solid var(--nk-line); border-radius: 10px; background: #fff; padding: .7em .9em;
}
input:focus, textarea:focus, select:focus { outline: 2px solid rgba(63, 91, 74, .35); border-color: var(--nk-accent); }

/* Páginas de texto (políticas, FAQ) */
.page .entry-content { max-width: 46em; margin-left: auto; margin-right: auto; line-height: 1.75; }
.page .entry-content h2 { margin-top: 0; }
.page .entry-content h3 { margin-top: 1.6em; }

/* Pie */
.site-footer { background: var(--nk-ink); color: #cfd7d4; margin-top: 3em; }
.site-footer a:not(.button) { color: #e7efec; }
.site-footer a:not(.button):hover { color: #fff; text-decoration: underline; }
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer .widget-title { color: #fff; }
.site-info { color: #a9b5b1; }

@media (max-width: 600px) {
  .tp-hero { padding: 2.2em 1.2em; }
  .tp-topbar { font-size: .78rem; }
}

/* Pie: Storefront pinta los enlaces de los widgets en oscuro; se fuerza contraste legible */
.site-footer .widget a, .site-footer .widget ul li a, .site-footer .widget_nav_menu a,
.site-footer .menu a, .site-footer a:not(.button) { color: #e7efec !important; }
.site-footer .widget .widget-title, .site-footer .widget-title, .site-footer h4 { color: #fff !important; }
.site-footer .widget ul li::before, .site-footer .widget li a::before { color: #a9b5b1 !important; }
.site-footer .widget ul { margin-left: 0; }

/* Botón de la portada: sin subrayado de enlace */
.entry-content .tp-hero a.tp-cta, .tp-hero a.tp-cta:hover { text-decoration: none; color: #fff; }

/* Marca: logo en la cabecera y detalles terracota */
.nk-logo { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; }
.nk-logo svg { height: 46px; width: auto; max-width: 78vw; display: block; }
.site-header .site-branding { margin-bottom: .4em; }
.site-header .site-description { margin-top: .2em; font-size: .85rem; letter-spacing: .02em; }
.nk-eyebrow { color: var(--nk-clay); letter-spacing: .14em; text-transform: uppercase; font-size: .78rem;
  font-weight: 700; margin: 0 0 .8em; }
.tp-trust > div { border-top: 3px solid var(--nk-sage); }
span.onsale, .tp-assure li::before { color: var(--nk-clay); }
span.onsale { background: var(--nk-clay); color: #fff; }
