/*
Theme Name:   Goosmart Storefront
Theme URI:    https://goosmart.net
Description:  Goosmart brand theme for shop.goosmart.net. Child theme of Storefront, matching goosmart.net and Ask Goo.
Author:       Goosmart LLC
Author URI:   https://goosmart.net
Template:     storefront
Version:      1.0.0
Requires at least: 6.3
Requires PHP: 7.4
License:      GPL-2.0-or-later
Text Domain:  goosmart-storefront
*/

:root {
  --gs-bg: #f6f1e7;
  --gs-surface: #ffffff;
  --gs-ink: #1d2a26;
  --gs-text: #3c4a45;
  --gs-muted: #5b6a65;
  --gs-brand: #07503f;
  --gs-brand-2: #0b6b55;
  --gs-accent: #ffd166;
  --gs-line: #e4dccd;
  --gs-radius: 16px;
}

/* ---------- Base ---------- */
body { background: var(--gs-bg); color: var(--gs-text); font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
h1, h2, h3, .site-title, .product_title, .entry-title, .woocommerce-products-header__title { font-family: Fraunces, Georgia, serif; color: var(--gs-ink); letter-spacing: -.01em; }
a { color: var(--gs-brand); }
a:focus, button:focus, input:focus, select:focus { outline: 3px solid var(--gs-brand-2); outline-offset: 2px; }

button, .button, input[type="submit"], .added_to_cart, .wc-block-components-button:not(.is-link) {
  border-radius: 999px !important; font-weight: 600; padding: .8em 1.6em;
  background-color: var(--gs-brand); border-color: var(--gs-brand); color: #fff;
}
button:hover, .button:hover, input[type="submit"]:hover { background-color: var(--gs-brand-2); border-color: var(--gs-brand-2); color: #fff; }
.button.alt, button.alt, .single_add_to_cart_button, .checkout-button, #place_order {
  background-color: var(--gs-accent) !important; border-color: var(--gs-accent) !important; color: var(--gs-brand) !important;
}
.button.alt:hover, .single_add_to_cart_button:hover, .checkout-button:hover, #place_order:hover { filter: brightness(.96); }
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="search"], input[type="password"], textarea, select {
  border-radius: 12px; border: 1px solid var(--gs-line); background: var(--gs-surface); box-shadow: none; padding: .7em .9em;
}

/* ---------- Top bar + header ---------- */
.gs-topbar { background: var(--gs-brand); color: #fff; font-size: .85rem; text-align: center; padding: .55em 0; }
.site-header { background: var(--gs-bg) !important; border-bottom: 1px solid var(--gs-line); padding-top: 1.2em; }
.site-header .col-full { display: flex; flex-wrap: wrap; align-items: center; gap: 1em; }
.gs-branding { margin: 0 !important; width: auto !important; float: none !important; }
.gs-logo img { display: block; height: 56px; width: auto; }
.site-header .site-search { flex: 1; width: auto !important; float: none !important; margin: 0 !important; }
.gs-ask-goo { display: inline-flex; align-items: center; gap: .5em; padding: .45em 1.1em .45em .5em; border-radius: 999px; background: var(--gs-surface); border: 1px solid var(--gs-line); color: var(--gs-brand); font-weight: 700; text-decoration: none; white-space: nowrap; }
.gs-ask-goo:hover { border-color: var(--gs-brand); }
.gs-ask-goo .goo { width: 32px; height: 32px; }
.storefront-primary-navigation { background: transparent; flex-basis: 100%; }
.main-navigation ul li a, .site-header-cart .cart-contents { color: var(--gs-ink) !important; font-weight: 500; }
.main-navigation ul li a:hover, .main-navigation ul li.current-menu-item > a { color: var(--gs-brand) !important; }

/* ---------- Goo mascot ---------- */
.goo { display: block; flex: none; }
.goo .goo-body { fill: var(--gs-brand); }
.goo .goo-pupil { fill: var(--gs-brand); }
.goo .goo-smile { stroke: var(--gs-bg); }
.goo .goo-eyes { transform-origin: 32px 28px; animation: gs-blink 5s infinite; }
@keyframes gs-blink { 0%, 92%, 100% { transform: scaleY(1); } 95% { transform: scaleY(.1); } }
@media (prefers-reduced-motion: reduce) { .goo .goo-eyes { animation: none; } }

/* ---------- Ask Goo banner (shop home + shop page) ---------- */
.gs-goo-banner { display: grid; grid-template-columns: auto 1fr auto; gap: 1.5em; align-items: center; background: linear-gradient(160deg, #eadfca, #d9e6de); border: 1px solid var(--gs-line); border-radius: 24px; padding: 1.5em 1.8em; margin: 0 0 2.5em; }
.gs-goo-banner .goo { width: 84px; height: 84px; }
.gs-goo-banner h2 { margin: .1em 0 .3em; font-size: 1.6em; }
.gs-goo-banner p { margin: 0; }
.gs-eyebrow { font-size: .78rem !important; letter-spacing: .12em; text-transform: uppercase; color: var(--gs-brand); font-weight: 700; }
.gs-goo-banner__actions { display: flex; flex-direction: column; gap: .6em; }

/* ---------- Product grid ---------- */
ul.products li.product { background: var(--gs-surface); border: 1px solid var(--gs-line); border-radius: var(--gs-radius); padding: 0 0 1.2em; overflow: hidden; text-align: left; }
ul.products li.product img { border-radius: 0; margin-bottom: 1em !important; }
ul.products li.product .woocommerce-loop-product__title, ul.products li.product .price, ul.products li.product .button { margin-left: 1em; margin-right: 1em; }
ul.products li.product .woocommerce-loop-product__title { font-family: Inter, system-ui, sans-serif; font-size: 1rem; font-weight: 600; color: var(--gs-ink); }
ul.products li.product .price { color: var(--gs-brand); font-weight: 600; }
.onsale { border-color: var(--gs-brand); color: var(--gs-brand); border-radius: 999px; }

/* ---------- Single product ---------- */
.single-product div.product .woocommerce-product-gallery img { border-radius: var(--gs-radius); background: var(--gs-surface); }
.single-product div.product p.price { color: var(--gs-brand); font-size: 1.5em; font-weight: 600; }
.variations select { min-width: 180px; }
.gs-ships { color: var(--gs-muted); font-size: .92em; }
.woocommerce-tabs ul.tabs li a { color: var(--gs-ink); }

/* ---------- Cart / checkout ---------- */
table.shop_table, .cart_totals, .woocommerce-checkout-review-order { background: var(--gs-surface); border-radius: var(--gs-radius); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--gs-brand); background: var(--gs-surface); color: var(--gs-text); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--gs-brand); }
.cart_totals .fee th, .cart_totals .fee td, .woocommerce-checkout-review-order .fee th, .woocommerce-checkout-review-order .fee td { color: var(--gs-brand); font-weight: 600; }

/* ---------- Footer ---------- */
.site-footer { background: var(--gs-surface) !important; border-top: 1px solid var(--gs-line); padding: 3em 0 1.5em; }
.gs-footer { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 2em; }
.gs-footer__brand img { height: 64px; width: auto; margin-bottom: .6em; }
.gs-footer__brand p { color: var(--gs-muted); max-width: 34ch; }
.gs-footer__col h2 { font: 600 .78rem Inter, system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--gs-muted); margin-bottom: .8em; }
.gs-footer__col a { display: block; color: var(--gs-ink) !important; text-decoration: none; margin-bottom: .45em; }
.gs-footer__col a:hover { color: var(--gs-brand) !important; }
.gs-social a { margin-right: 1em; font-weight: 600; }
.gs-footer__legal { border-top: 1px solid var(--gs-line); margin-top: 2em; padding-top: 1.2em; color: var(--gs-muted); font-size: .85rem; }
.gs-footer__legal p { margin: 0 0 .3em; }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .gs-logo img { height: 44px; }
  .site-header .col-full { gap: .6em; }
  .gs-ask-goo span { display: none; }
  .gs-ask-goo { padding: .35em; }
  .gs-goo-banner { grid-template-columns: 1fr; text-align: left; }
  .gs-goo-banner .goo { width: 60px; height: 60px; }
  .gs-goo-banner__actions { flex-direction: row; flex-wrap: wrap; }
  .gs-footer { grid-template-columns: 1fr 1fr; }
  .gs-footer__brand { grid-column: 1 / -1; }
}
@media (min-width: 768px) {
  .site-header .site-search { order: 2; }
  .gs-ask-goo { order: 3; }
  .site-header-cart { order: 4; }
}
