/*
Theme Name: Only Gredos
Theme URI: https://onlygredos.com/
Author: Only Gredos
Author URI: https://onlygredos.com/
Description: Conversión de la web app de Only Gredos a un tema clásico de WordPress, con portada, tienda, esencia, contacto, formularios y compatibilidad con WooCommerce.
Version: 2.0.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: only-gredos
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-logo, custom-menu, featured-images, e-commerce, blog, dark, one-column
*/

:root {
  --espresso: #2A2118;
  --alabaster: #F5F0FA;
  --camel: #CFA16F;
  --marigold: #FDCC28;
  --pine: #2F5E4E;
  --violet: #4C1D96;
  --orchid: #AB28B2;
}

html { scroll-behavior: smooth; }
body {
  background: var(--espresso);
  color: var(--alabaster);
  font-family: "Tussilago", "Saira", sans-serif;
}
.font-display,
h1, h2, h3, h4,
.woocommerce-loop-product__title,
.woocommerce div.product .product_title {
  font-family: "Strelka Ultra", "Unbounded", "Arial Black", sans-serif;
}

body.admin-bar .og-announcement { top: 32px; }
body.admin-bar .og-navbar { top: 68px; }
@media (max-width: 782px) {
  body.admin-bar .og-announcement { top: 46px; }
  body.admin-bar .og-navbar { top: 82px; }
}

.og-announcement { position: fixed; top: 0; left: 0; right: 0; z-index: 60; }
.og-navbar { position: fixed; top: 36px; left: 0; right: 0; z-index: 50; }
.og-main { padding-top: 100px; }
.home .og-main { padding-top: 36px; }

.custom-logo { width: auto; max-height: 40px; filter: brightness(0) invert(1); }
.og-logo-fallback { height: 38px; width: auto; filter: brightness(0) invert(1); }
.og-footer-logo { height: 64px; width: auto; filter: brightness(0) invert(1); }

.og-menu ul { display: flex; align-items: center; gap: 2rem; margin: 0; padding: 0; list-style: none; }
.og-menu a { color: var(--alabaster); text-transform: uppercase; letter-spacing: .2em; font-size: .75rem; text-decoration: none; transition: color .2s ease; }
.og-menu a:hover, .og-menu .current-menu-item > a, .og-menu .current_page_item > a { color: var(--marigold); }

.og-mobile-menu { display: none; }
.og-mobile-menu.is-open { display: flex; }
.og-mobile-menu ul { display: flex; flex-direction: column; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.og-mobile-menu a { color: var(--alabaster); text-transform: uppercase; letter-spacing: .2em; text-decoration: none; }

.og-reveal { opacity: 0; transform: translateY(28px); transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1); }
.og-reveal.is-visible { opacity: 1; transform: translateY(0); }

.og-hero-topography { transform: scale(1.2); transition: transform .12s linear; transform-origin: center; }
.og-hero-symbol { animation: og-spin 90s linear infinite; }
.og-floating { animation: og-float 6s ease-in-out infinite; }
.og-map-rotate { animation: og-spin 80s linear infinite; }
@keyframes og-spin { to { transform: rotate(360deg); } }
@keyframes og-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }

.og-value-orb { animation: og-float 5.5s ease-in-out infinite; }
.og-value-orb--knowledge { animation-duration: 6.5s; }
.og-value-orb--creativity { animation-duration: 7.5s; }
.og-value-icon { filter: invert(1); mix-blend-mode: screen; }

.og-product-card img { transition: transform .7s ease; }
.og-product-card:hover img { transform: scale(1.05); }
.og-product-overlay { opacity: 0; background: rgba(42,33,24,0); transition: opacity .3s ease, background .3s ease; }
.og-product-card:hover .og-product-overlay { opacity: 1; background: rgba(42,33,24,.42); }

.og-modal { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; padding: 24px; background: rgba(0,0,0,.78); }
.og-modal.is-open { display: flex; }
.og-modal__panel { position: relative; width: min(92vw, 860px); max-height: 90vh; overflow: auto; background: var(--espresso); border: 1px solid rgba(207,161,111,.45); }
.og-modal__close { position: absolute; top: 16px; right: 16px; z-index: 2; width: 38px; height: 38px; border: 1px solid rgba(207,161,111,.5); background: var(--espresso); color: var(--alabaster); cursor: pointer; }
.og-modal__close:hover { background: var(--marigold); color: var(--espresso); }
body.og-modal-open { overflow: hidden; }

.og-notice { margin: 0 auto 28px; max-width: 1400px; padding: 14px 20px; border: 1px solid rgba(207,161,111,.4); color: var(--alabaster); }
.og-notice--success { border-color: var(--marigold); }
.og-notice--error { border-color: var(--orchid); }
.og-honeypot { position: absolute !important; left: -9999px !important; }

.entry-content { color: var(--alabaster); }
.entry-content a { color: var(--marigold); }
.entry-content > * { max-width: 900px; margin-left: auto; margin-right: auto; }
.entry-content > .alignwide { max-width: 1200px; }
.entry-content > .alignfull { max-width: none; }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count { color: var(--camel); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2rem; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none; width: auto; margin: 0; }
.woocommerce ul.products li.product a img { margin: 0 0 1rem; aspect-ratio: 3/4; object-fit: cover; border: 1px solid rgba(207,161,111,.2); }
.woocommerce ul.products li.product .price { color: var(--marigold); font-family: "Strelka Ultra", "Unbounded", sans-serif; font-weight: 700; }
.woocommerce span.onsale { background: var(--marigold); color: var(--espresso); border-radius: 0; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--marigold); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { background: #211a13; color: var(--alabaster); border-top-color: var(--marigold); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  border-radius: 0; background: var(--marigold); color: var(--espresso); font-family: "Strelka Ultra", "Unbounded", sans-serif; text-transform: uppercase;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--alabaster); color: var(--espresso); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce select {
  background: transparent; color: var(--alabaster); border: 1px solid rgba(207,161,111,.6); padding: .8rem;
}

@media (max-width: 1024px) {
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  header .og-menu { display: none; }
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .home .og-main { padding-top: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .og-reveal { opacity: 1; transform: none; }
}
