/* ============================================================
   Hey You — prototype skin
   Tokens from FINAL_Hey You_Branding Set.ai / revamp prototype
   ============================================================ */
:root {
  --cream: #F4F1E4;
  --cream-2: #EBE6D6;
  --cream-3: #FBF9F3;
  --terra: #DB7852;
  --terra-dk: #C45F3F;
  --peach: #EDA994;
  --teal: #84BCB8;
  --teal-dk: #5E9A96;
  --blue: #1A47AA;
  --blue-lt: #6089E8;
  --peri: #E2E4F2;
  --ink: #22293D;
  --ink-60: #6E7488;
  --line: #DFD8C4;
  --line-2: #CFC8B2;
  --ok: #5E9A96;
  --warn: #B4762A;
  --err: #C45F3F;
  --radius: 16px;
  --shadow: 0 2px 12px rgba(34, 41, 61, .06);
  --shadow-lg: 0 14px 40px rgba(34, 41, 61, .14);
}

/* Override Elementor Site Kit defaults so new widgets inherit the brand */
.elementor-kit-9 {
  --e-global-color-primary: #1A47AA;
  --e-global-color-secondary: #DB7852;
  --e-global-color-text: #22293D;
  --e-global-color-accent: #DB7852;
  --e-global-typography-primary-font-family: "Jost";
  --e-global-typography-primary-font-weight: 600;
  --e-global-typography-secondary-font-family: "Jost";
  --e-global-typography-secondary-font-weight: 500;
  --e-global-typography-text-font-family: "Jost";
  --e-global-typography-text-font-weight: 400;
  --e-global-typography-accent-font-family: "Jost";
  --e-global-typography-accent-font-weight: 600;
}

/* ---------- base ---------- */
html {
  -webkit-font-smoothing: antialiased;
}

body,
body.elementor-page,
.elementor-kit-9 {
  background: var(--cream);
  color: var(--ink);
  font-family: "Jost", system-ui, sans-serif;
  font-size: 15.5px;
  line-height: 1.6;
}

a {
  color: var(--blue);
}

img {
  max-width: 100%;
  height: auto;
}

h1, h2, h3, h4,
.product_title,
.woocommerce-loop-product__title,
.woocommerce-loop-category__title {
  font-family: "Jost", sans-serif;
  font-weight: 600;
  letter-spacing: -.005em;
  color: var(--blue);
}

.script,
.yellowtail {
  font-family: "Yellowtail", cursive;
  font-weight: 400;
  color: var(--terra);
}

/* ---------- buttons (WooCommerce only — Elementor widgets keep their own styles) ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.single_add_to_cart_button,
.checkout-button,
.woocommerce-Button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.added_to_cart.wc-forward {
  background: var(--terra) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 30px !important;
  font-family: "Jost", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: .02em;
  box-shadow: none !important;
  fill: #fff !important;
  transition: background .15s, color .15s, border-color .15s, transform .15s;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover {
  background: var(--terra-dk) !important;
  color: #fff !important;
}

.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled {
  background: #C9C4B4 !important;
  cursor: not-allowed;
}

/* ---------- forms ---------- */
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="password"],
input[type="date"],
select,
textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty,
.select2-container .select2-selection--single {
  width: 100%;
  border: 1.5px solid var(--line-2) !important;
  border-radius: 12px !important;
  padding: 11px 13px;
  font-size: 14px;
  font-family: inherit;
  background: #fff !important;
  color: var(--ink);
  box-shadow: none !important;
}

input:focus,
select:focus,
textarea:focus,
.woocommerce form .form-row input.input-text:focus,
.select2-container--default .select2-selection--single:focus {
  outline: 0;
  border-color: var(--terra) !important;
  box-shadow: 0 0 0 3px rgba(219, 120, 82, .14) !important;
}

label,
.woocommerce form .form-row label {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-60);
}

/* ---------- product cards ---------- */
ul.products,
.elementor-widget-woocommerce-products ul.products,
.wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  list-style: none;
}

ul.products::before,
ul.products::after {
  display: none !important;
  content: none !important;
}

ul.products li.product,
.elementor-widget-woocommerce-products ul.products li.product,
.wc-block-grid__product {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: none;
  transition: .18s;
  padding: 0 0 15px !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

ul.products li.product:hover,
.wc-block-grid__product:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
  border-color: var(--peach);
}

ul.products li.product a img,
.wc-block-grid__product-image img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  margin: 0;
  border-radius: 0;
}

ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  font-size: 14.5px !important;
  font-weight: 600;
  line-height: 1.3;
  color: var(--blue) !important;
  padding: 13px 14px 0 !important;
}

ul.products li.product .price,
.wc-block-grid__product-price {
  font-weight: 600;
  font-size: 15.5px;
  color: var(--terra-dk) !important;
  padding: 0 14px;
}

ul.products li.product .price ins,
ul.products li.product .price .amount {
  color: var(--terra-dk) !important;
}

ul.products li.product .button,
ul.products li.product a.button,
.wc-block-grid__product-add-to-cart .wp-element-button {
  background: var(--peri) !important;
  color: var(--blue) !important;
  border-radius: 20px !important;
  padding: 8px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  margin: 8px 14px 0 !important;
  float: none !important;
}

ul.products li.product .button:hover,
.wc-block-grid__product-add-to-cart .wp-element-button:hover {
  background: var(--terra) !important;
  color: #fff !important;
}

.onsale,
ul.products li.product .onsale,
span.onsale {
  background: rgba(255, 255, 255, .95) !important;
  color: var(--blue) !important;
  border-radius: 20px !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  padding: 4px 10px !important;
  letter-spacing: .05em;
  min-height: 0 !important;
  min-width: 0 !important;
  line-height: 1.3 !important;
  left: 10px !important;
  top: 10px !important;
  right: auto !important;
}

/* ---------- shop / archive ---------- */
.woocommerce-products-header .woocommerce-products-header__title,
.woocommerce-products-header h1 {
  font-size: 34px;
  color: var(--blue);
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce-breadcrumb {
  font-family: "Jost", sans-serif;
  font-size: 13px;
  color: var(--ink-60);
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--blue);
}

.woocommerce-ordering select {
  width: auto;
}

.woocommerce nav.woocommerce-pagination ul {
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
  margin: 0 4px;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: 11px;
  color: var(--blue);
  padding: 8px 12px;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--terra);
  border-color: var(--terra);
  color: #fff;
}

/* ---------- single product ----------
   Elementor puts class "product" on the whole page wrapper (.elementor.product).
   Never grid/width-force that node — the Theme Builder already has 36/60 columns. */
body.single-product:not(.elementor-page) .woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  align-items: start;
  padding: 32px 0 20px;
}

body.single-product:not(.elementor-page) .woocommerce div.product div.images,
body.single-product:not(.elementor-page) .woocommerce div.product div.summary {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

body.single-product:not(.elementor-page) .woocommerce div.product .woocommerce-tabs,
body.single-product:not(.elementor-page) .woocommerce div.product .related.products,
body.single-product:not(.elementor-page) .woocommerce div.product .upsells.products {
  grid-column: 1 / -1;
}

body.elementor-page.single-product .elementor.product {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  padding: 0;
}

.woocommerce-product-gallery .flex-viewport {
  background: var(--cream-3);
  border-radius: 22px;
  overflow: hidden;
}

body.single-product:not(.elementor-page) .woocommerce-product-gallery__image img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.woocommerce div.product .product_title,
.elementor-widget-woocommerce-product-title .product_title {
  font-size: 32px;
  margin-top: 10px;
}

.woocommerce div.product:not(.elementor) p.price,
.woocommerce div.product:not(.elementor) > .summary span.price,
.elementor-widget-woocommerce-product-price .price {
  color: var(--terra-dk);
  font-size: 21px;
  font-weight: 600;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .summary .price + p {
  color: var(--ink-60);
  font-size: 13.5px;
}

.woocommerce div.product form.cart .quantity .qty {
  width: 72px;
  height: 48px;
  text-align: center;
}

.woocommerce div.product .single_add_to_cart_button {
  padding: 13px 26px !important;
  font-size: 14.5px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin: 0 0 20px;
  border-bottom: 1px solid var(--line);
  overflow: visible;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: 0;
  border-radius: 0;
  margin: 0 18px 0 0;
  padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: "Jost", sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--ink-60);
  padding: 10px 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--blue);
  border-bottom: 2px solid var(--peach);
}

.woocommerce-Tabs-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px;
  box-shadow: var(--shadow);
}

/* WCPA configurator */
.wcpa_form_outer,
.wcpa_wrap {
  font-family: "Jost", sans-serif;
}

.wcpa_form_outer label,
.wcpa_wrap label {
  font-size: 14.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--blue) !important;
}

.wcpa_form_outer input[type="text"],
.wcpa_form_outer input[type="number"],
.wcpa_form_outer textarea,
.wcpa_form_outer select {
  border: 1.5px solid var(--line) !important;
  border-radius: 12px !important;
  padding: 11px 13px !important;
}

.wcpa_form_outer input:focus,
.wcpa_form_outer textarea:focus,
.wcpa_form_outer select:focus {
  border-color: var(--terra) !important;
  box-shadow: 0 0 0 3px rgba(219, 120, 82, .14) !important;
}

/* WCPA chip/button restyle lives in pdp.css (loaded last). */

/* ---------- cart / checkout ---------- */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-page.woocommerce-cart .site-main,
.woocommerce-page.woocommerce-checkout .site-main {
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 20px 44px;
}

.woocommerce table.shop_table,
.woocommerce-cart-form,
.cart-collaterals .cart_totals {
  background: #fff;
  border: 1px solid var(--line) !important;
  border-radius: 20px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.woocommerce table.shop_table {
  border-collapse: separate;
  border-spacing: 0;
}

.woocommerce table.shop_table th {
  background: var(--peri);
  font-size: 10.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue);
  font-weight: 600;
  border: 0;
}

.woocommerce table.shop_table td {
  border-color: var(--line);
  color: var(--ink);
}

.cart-collaterals .cart_totals {
  padding: 22px;
}

.cart-collaterals .cart_totals h2,
.woocommerce-checkout-review-order-table,
#order_review_heading {
  color: var(--blue);
  font-size: 15px;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 22px;
  box-shadow: var(--shadow);
  margin-bottom: 16px;
}

.woocommerce-checkout h3 {
  font-size: 17px;
}

.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  background: #fff;
  border-top: 0;
  border: 1px solid var(--line);
  border-left: 3px solid var(--teal);
  border-radius: 0 12px 12px 0;
  color: var(--ink);
}

.woocommerce-message {
  border-left-color: var(--ok);
}

.woocommerce-error {
  border-left-color: var(--err);
  background: #FBEEE9;
}

.woocommerce-thankyou-order-received,
.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-family: "Jost", sans-serif;
  font-size: 28px;
  color: var(--blue);
  font-weight: 600;
}

.woocommerce-order {
  max-width: 700px;
  margin: 40px auto 60px;
}

.woocommerce-order-overview {
  background: var(--peri);
  border-radius: 20px;
  padding: 20px 22px;
}

/* Iconic delivery slots + distance plugins */
.jckwds-delivery-date,
.iconic-wds-fields,
#jckwds-delivery-date,
.woocommerce-checkout .iconic-wds {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 22px;
  margin-bottom: 16px;
}

/* ---------- notices / misc Woo ---------- */
.woocommerce-notices-wrapper {
  max-width: 1180px;
  margin: 16px auto 0;
  padding: 0 20px;
}

.star-rating span::before,
.star-rating::before {
  color: var(--terra);
}

.remove {
  color: var(--err) !important;
}

/* Mini cart */
.widget_shopping_cart_content .woocommerce-mini-cart-item,
.elementor-menu-cart__product {
  font-family: "Jost", sans-serif;
  font-size: 13.5px;
}

.elementor-menu-cart__toggle_button,
.elementor-menu-cart__toggle .elementor-button-icon {
  color: var(--blue);
}

.elementor-menu-cart__container {
  border-radius: 14px;
}

/* ---------- footer already branded; polish links ---------- */
.elementor-location-footer a:hover {
  color: var(--peach) !important;
}

/* ---------- Joinchat: keep green, round like prototype ---------- */
.joinchat__button,
.joinchat .joinchat__button {
  border-radius: 30px !important;
}

/* ---------- blocks checkout ---------- */
.wc-block-components-sidebar,
.wc-block-components-order-summary,
.wp-block-woocommerce-checkout-order-summary-block {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 22px;
  box-shadow: var(--shadow);
}

.wc-block-components-totals-item__label,
.wc-block-components-product-name {
  color: var(--blue);
}

.wc-block-components-formatted-money-amount {
  color: var(--terra-dk);
  font-weight: 600;
}

/* ---------- page titles outside Elementor ---------- */
.page-header .entry-title,
.woocommerce-products-header__title.page-title {
  font-size: 40px;
  line-height: 1.1;
}

body.woocommerce-page:not(.elementor-page) .site-main {
  max-width: 1180px;
}

.woocommerce div.product .related.products ul.products li.product,
.woocommerce div.product .upsells.products ul.products li.product {
  margin-bottom: 18px;
}

.elementor-widget-image-box .elementor-image-box-wrapper {
  transition: transform .18s, box-shadow .18s;
}

.elementor-widget-image-box:hover .elementor-image-box-wrapper {
  transform: translateY(-4px);
}

/* ---------- FAQ / info pages (Elementor accordion + details) ---------- */
.elementor-accordion-item,
.elementor-toggle-item {
  border-bottom: 1px solid var(--line) !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

.elementor-tab-title,
.elementor-accordion-title {
  font-family: "Jost", sans-serif !important;
  font-weight: 600 !important;
  color: var(--blue) !important;
}

.elementor-tab-content,
.elementor-accordion-content {
  color: var(--ink-60);
  font-size: 13.5px;
}

/* ---------- announce bar countdown ---------- */
.heyyou-cutdown {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: #41200F;
}

@media (max-width: 960px) {
  body.single-product:not(.elementor-page) .woocommerce div.product {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-top: 16px;
  }

  ul.products {
    grid-template-columns: repeat(2, 1fr);
  }

  h1, .page-header .entry-title {
    font-size: 30px;
  }

  .woocommerce div.product .product_title {
    font-size: 26px;
  }
}
