/*
 Theme Name:  Storefront Forged Buddies Child
 Theme URI:   https://forgedbuddies.com
 Description: Forged Buddies child theme for Storefront.
 Author:      Forged Buddies Webmaster
 Template:    storefront
 Version:     1.0.0
*/

/* =========================================================
   Design Tokens
   ========================================================= */
:root {
  --primary-color:   #fa360a; /* Forged Buddies red/orange */
  --secondary-color: #288fbf;
  --third-color:     #1d556f; /* Forged Buddies blue */
  --fifth-color:     #efddb2; /* Tan hover */

  --text-color: #111827;
  --bg-color:   #ffffff;

  --radius-pill: 10px;
  --radius-btn:  6px;
}

/* =========================================================
   Typography
   ========================================================= */
html { scroll-behavior: smooth; }

body {
  background: var(--bg-color);
  color: var(--text-color);
  font-family: "Montserrat", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--third-color);
  text-transform: uppercase;
}

/* Brand-facing UI + headings */
h1, h2, h3, h4, h5, h6,
.site-title,
.site-description,
.main-navigation a,
.widget-title,
.wp-block-heading,
.button,
.wp-element-button,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link) {
  font-family: "Bangers", cursive;
  letter-spacing: 0.06em;
}

/* Keep content + form controls readable */
p, li, dd, dt, label,
input, textarea, select, optgroup,
.woocommerce,
.woocommerce-product-details__short-description,
.woocommerce div.product p.price,
.woocommerce .price,
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce .product_title,
.woocommerce .woocommerce-tabs,
.woocommerce table,
.woocommerce-cart table,
.woocommerce-checkout,
.wc-block-components-form,
.wc-block-components-text-input,
.wc-block-components-checkout-step {
  font-family: "Montserrat", sans-serif;
}

p { margin: 0 0 1em; }

/* Links */
a {
  color: var(--third-color);
  text-decoration: none;
}
a:hover { color: var(--primary-color); }

/* =========================================================
   Layout / Content
   ========================================================= */
h1.woocommerce-products-header__title.page-title,
h1.entry-title,
nav.woocommerce-breadcrumb {
  text-align: left;
}

.storefront-breadcrumb { margin: 0; }

/* Full-width blocks */
.wp-site-blocks .alignfull,
.wp-block-cover.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
}

/* Storefront wide alignment tweak */
.storefront-align-wide.storefront-full-width-content
.hentry .entry-content .alignwide {
  margin-left: 0;
  margin-right: 0;
}

/* =========================================================
   Header / Footer
   ========================================================= */
.site-header,
.site-footer {
  background-color: var(--third-color);
  color: #ffffff;
}

.site-header a,
.site-footer a {
  color: #ffffff;
}
.site-header a:hover,
.site-footer a:hover {
  color: var(--fifth-color);
}

/* Footer menus */
ul#menu-footer-right li a,
ul#menu-footer-left li a {
  color: #ffffff;
}
ul#menu-footer-right li a:hover,
ul#menu-footer-left li a:hover {
  color: var(--primary-color);
}

/* Footer credit helper */
.site-footer-credit,
.footer-credit {
  margin-top: -2rem;
}

/* Widget title highlight */
span.gamma.widget-title {
  color: var(--primary-color) !important;
  border-bottom: none;
}

/* Mini-cart text in header (outside dropdown) */
a.cart-contents,
.site-header-cart .widget_shopping_cart a,
p.woocommerce-mini-cart__empty-message {
  color: #ffffff !important;
}

/* =========================================================
   Navigation
   ========================================================= */
.woocommerce-active .site-header .main-navigation {
  margin-top: 1rem;
}

.main-navigation ul.menu,
.main-navigation ul.nav-menu {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.main-navigation ul.menu > li,
.main-navigation ul.nav-menu > li {
  margin: 0;
}

/* Top-level “pill” links */
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
  background: var(--primary-color);
  color: #ffffff !important;
  border-radius: var(--radius-pill);
  padding: 12px 28px;
  line-height: 1;
  font-weight: 300;
  font-size: 1.2em;
  text-transform: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.main-navigation ul.menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:hover,
.main-navigation ul.menu > li.current-menu-item > a,
.main-navigation ul.nav-menu > li.current-menu-item > a {
  background: var(--fifth-color) !important;
  color: var(--third-color) !important;
}

/* Dropdowns keep normal styling */
.main-navigation ul.menu li ul.sub-menu a,
.main-navigation ul.nav-menu li ul.sub-menu a {
  background: transparent;
  border-radius: 0;
  padding: 10px 14px;
  color: var(--text-color) !important;
}

/* Search input */
input#woocommerce-product-search-field-0 {
  border-radius: var(--radius-pill);
}

/* =========================================================
   Buttons (Global + WooCommerce)
   ========================================================= */
.button,
.wp-element-button,
button,
input[type="submit"],
.add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link),
.added_to_cart,
.added_to_cart.alt,
a.button.checkout.wc-forward,
a.button.wc-forward,
a.wp-block-button__link.wp-element-button,
button.wp-block-button__link.wp-element-button,
.site-header-cart .widget_shopping_cart a.button,
.wc-block-grid__products .wc-block-grid__product .wp-block-button__link {
  background: var(--primary-color);
  color: #ffffff;
  border-radius: var(--radius-btn) !important;
  border: none;
  padding: 0.7em 1.4em;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* Default hover (kept for buttons we don't explicitly override later) */
.button:hover,
.wp-element-button:hover,
button:hover,
input[type="submit"]:hover,
.add_to_cart_button:hover,
.added_to_cart:hover,
.added_to_cart.alt:hover,
a.button.checkout.wc-forward:hover,
a.button.wc-forward:hover,
a.wp-block-button__link.wp-element-button:hover,
button.wp-block-button__link.wp-element-button:hover {
  background: var(--third-color);
  color: #ffffff;
}

/* Cart: Proceed to checkout */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--primary-color);
  color: #ffffff;
  border-radius: var(--radius-pill);
  padding: 1em 2em;
  font-size: 1rem;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--third-color);
}

/* Block palette edge-case */
a.wp-block-button__link.has-fifth-color-color.has-primary-color-background-color.wp-element-button:hover {
  background-color: var(--third-color) !important;
}

/* Handheld footer bar + menu toggle */
.site-footer .storefront-handheld-footer-bar a:not(.button):not(.components-button) {
  color: var(--primary-color);
}

button.menu-toggle,
button.menu-toggle:hover {
  color: var(--primary-color);
  border-color: var(--primary-color);
  margin-top: -1rem;
}

button.menu-toggle:after,
button.menu-toggle:before,
button.menu-toggle span:before {
  background-color: var(--primary-color);
}

.storefront-handheld-footer-bar ul li.cart .count {
  background-color: #ffffff !important;
}

/* =========================================================
   Page-specific / Misc
   ========================================================= */
.banner { top: -5rem; }

.home-page-featured ul { margin: 0; }
.home-page-featured ul img { border-radius: var(--radius-pill); }
.home-page-featured ul a { font-weight: 700; }

.wp-block-media-text,
#block-14 {
  margin: 0;
}

/* =========================================================
   Mobile
   ========================================================= */
@media (max-width: 768px) {
  .site-header .col-full {
    justify-content: center;
  }

  .site-header .site-search {
    width: 100%;
    max-width: 420px;
  }

  .main-navigation ul.menu,
  .main-navigation ul.nav-menu {
    flex-wrap: wrap;
    justify-content: center;
  }

  .wp-block-buttons > .wp-block-button.wp-block-button__width-25 {
    width: 92%;
  }
}

/* =========================================================
   Overrides: ensure hover works even when base needs !important
   Goal: buttons are red by default, tan on hover (with blue text)
   ========================================================= */

/* Legacy class support if you still use it */
.custom-button a {
  background: var(--primary-color);
  color: #ffffff;
}
.custom-button a:hover {
  background: var(--fifth-color) !important;
  color: var(--third-color) !important;
}

/* Core + Woo buttons (force consistent palette) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.wc-block-components-button:not(.is-link),
.site-header-cart .widget_shopping_cart a.button,
.site-header-cart .widget_shopping_cart a.checkout {
  background: var(--primary-color) !important;
  color: #ffffff !important;
}

/* Hover must also be !important, otherwise base wins */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-page a.button:hover,
.wc-block-components-button:not(.is-link):hover,
.site-header-cart .widget_shopping_cart a.button:hover,
.site-header-cart .widget_shopping_cart a.checkout:hover {
  background: var(--fifth-color) !important;
  color: var(--third-color) !important;
}

/* Woo Blocks extra stubborn cases */
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-totals-coupon__button:hover {
  background: var(--fifth-color) !important;
  color: var(--third-color) !important;
}

/* =========================================================
   Cart dropdown (Storefront header mini-cart)
   ========================================================= */
.site-header-cart { position: relative; }

/* Keep it above other header elements if needed */
.site-header { position: relative; z-index: 50; }
.site-header-cart .widget_shopping_cart { z-index: 9999; }

/* Dropdown background + text */
.site-header-cart .widget_shopping_cart {
  background: var(--third-color);
  color: #ffffff;
}

/* All text inside dropdown = white */
.site-header-cart .widget_shopping_cart,
.site-header-cart .widget_shopping_cart *,
.site-header-cart .widget_shopping_cart a,
.site-header-cart .widget_shopping_cart .quantity,
.site-header-cart .widget_shopping_cart .amount,
.site-header-cart .widget_shopping_cart p,
.site-header-cart .widget_shopping_cart span {
  color: #ffffff !important;
}

/* Remove (X) icon */
.site-header-cart .widget_shopping_cart a.remove {
  color: #ffffff !important;
}
.site-header-cart .widget_shopping_cart a.remove:hover {
  color: var(--fifth-color) !important;
  background: transparent !important;
}
