@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,600;0,9..144,700;1,9..144,600;1,9..144,700&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap');
/* The Morning Tails — sitewide brand styles (home page look).
   Loaded by wp-content/mu-plugins/morning-tails-brand.php. Delete both to undo. */
/* ---------- 1. Brand tokens (same values as the home page) ---------- */
:root {
  --amber: oklch(72% 0.14 68);
  --amber-light: oklch(92% 0.06 75);
  --terracotta: oklch(60% 0.13 42);
  --brown: oklch(32% 0.06 48);
  --brown-deep: oklch(22% 0.05 42);
  --cream: oklch(97% 0.015 75);
  --cream-warm: oklch(94% 0.025 70);
  --text-main: oklch(18% 0.04 48);
  --text-sub: oklch(42% 0.05 48);
  --text-light: oklch(60% 0.04 48);
  --line-warm: oklch(88% 0.03 65);
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-pill: 999px;
  --shadow-card: 0 2px 24px oklch(32% 0.06 48 / 0.10);
}

/* ---------- 2. Sitewide type: replaces Divi's Arial/Roboto defaults
   and the dead "Baloo" rule on .entry-title ---------- */
body,
body p, body li, body td, body th, body label, body input,
body select, body textarea, body button, body .button,
#main-content, #sidebar, #main-footer {
  font-family: var(--font-body);
}
body h1, body h2, body h3, body h4, body h5, body h6,
body .entry-title, body .product_title,
body h2.wp-block-heading, body h3.wp-block-heading, body h4.wp-block-heading {
  font-family: var(--font-display);
  letter-spacing: -0.01em;
  color: var(--brown-deep);
}

/* ---------- 3. Single product pages ---------- */
body.single-product,
body.single-product #page-container,
body.single-product #main-content { background: var(--cream); }
body.single-product #main-content .container:before { display: none; } /* sidebar divider */
body.single-product #sidebar { display: none; }                        /* "Lastest posts" widget */
body.single-product #left-area { width: 100%; padding-right: 0; float: none; }

.single-product .woocommerce-breadcrumb,
.single-product .woocommerce-breadcrumb a { color: var(--text-light); font-size: 13px; }

.single-product .product_title {
  font-size: clamp(30px, 3.2vw, 44px);
  font-weight: 700;
  line-height: 1.12;
  margin-bottom: 12px;
}
.single-product div.product p.price,
.single-product div.product span.price {
  color: var(--terracotta) !important;
  font-family: var(--font-body);
  font-size: 22px !important;
  font-weight: 700 !important;
}
.single-product div.product .price .amount,
.single-product div.product .woocommerce-variation-price .price { color: var(--terracotta) !important; }
.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-Tabs-panel,
.single-product .woocommerce-Tabs-panel p { color: var(--text-sub); font-size: 16px; line-height: 1.65; }

.single-product .variations th,
.single-product .variations td,
.single-product .variations label {
  text-align: left;
  color: var(--text-main);
  font-size: 14px;
  font-weight: 600;
  vertical-align: middle;
}
.single-product .variations select,
.single-product .quantity input.qty {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  color: var(--text-main) !important;
  background-color: #fff !important;
  border: 1.5px solid var(--line-warm) !important;
  border-radius: var(--radius-sm) !important;
  padding: 10px 14px !important;
  min-height: 44px;
}
.single-product .reset_variations { color: var(--terracotta); }

/* Buy Now / Add to cart — matches the home page "Get My Daily Wag" button */
.woocommerce .single_add_to_cart_button.button,
.woocommerce-page .single_add_to_cart_button.button,
body.single-product .single_add_to_cart_button {
  font-family: var(--font-body) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--brown-deep) !important;
  background: var(--amber) !important;
  border: 0 !important;
  border-radius: var(--radius-pill) !important;
  padding: 12px 30px !important;
  line-height: 1.4 !important;
  transition: background .15s ease;
}
.woocommerce .single_add_to_cart_button.button:hover,
body.single-product .single_add_to_cart_button:hover {
  background: var(--amber-light) !important;
  padding: 12px 30px !important;
}
.woocommerce .single_add_to_cart_button.button:after { display: none !important; } /* Divi arrow icon */

/* Product images */
.single-product .woocommerce-product-gallery__image img,
.single-product .flex-control-thumbs img { border-radius: var(--radius-md); }

/* Tabs (Description / Additional information) */
.single-product .woocommerce-tabs {
  background: #fff;
  border: 1px solid var(--line-warm);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
}
.single-product .woocommerce-tabs ul.tabs { background: var(--cream-warm) !important; border-radius: var(--radius-md) var(--radius-md) 0 0; }
.single-product .woocommerce-tabs ul.tabs li { background: transparent !important; border: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li a { color: var(--text-sub) !important; font-family: var(--font-body); font-weight: 600; }
.single-product .woocommerce-tabs ul.tabs li.active { background: #fff !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--brown-deep) !important; }
.single-product .woocommerce-tabs h2,
.single-product .related.products > h2 { font-family: var(--font-display); font-size: 28px; font-weight: 700; }

/* Related products */
.single-product .related.products .woocommerce-loop-product__title,
.single-product .related.products h2.woocommerce-loop-product__title {
  font-family: var(--font-body) !important; font-size: 16px !important; line-height: 1.35 !important;
  font-weight: 600 !important; letter-spacing: 0; color: var(--text-main) !important; padding-top: 12px !important;
}
.single-product .related.products .price,
.single-product .related.products .price .amount { color: var(--terracotta) !important; font-size: 15px !important; font-weight: 700 !important; }
.single-product .related.products img { border-radius: var(--radius-md); }

/* Any leftover Divi-blue links on product pages */
.single-product #main-content a:not(.button) { color: var(--terracotta); }

/* ---------- 4. Shop page (mt-shop plugin) — re-point its variables ---------- */
body.mt-shop {
  --font: var(--font-body);
  --ink: oklch(22% 0.05 42);      /* was #1b1b1b */
  --text: oklch(32% 0.06 48);     /* was #2a2a2a */
  --muted: oklch(42% 0.05 48);    /* was #545454 */
  --line: oklch(88% 0.03 65);
  --red: oklch(60% 0.13 42);      /* terracotta, was #c42117 */
  --red-dark: oklch(50% 0.12 42);
  --coral: oklch(60% 0.13 42);
  --orange: oklch(72% 0.14 68);
  --cream: oklch(97% 0.015 75);
  --cream-2: oklch(94% 0.025 70);
  --gold: oklch(72% 0.14 68);
  --sun: oklch(72% 0.14 68);
  --brown: oklch(22% 0.05 42);
  --brown-2: oklch(32% 0.06 48);
}
body.mt-shop h1, body.mt-shop h2, body.mt-shop h3, body.mt-shop h4 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.015em;
}

/* ---------- 5. Store header on product & category pages (matches /shop/) ---------- */
body.mtx-store .et-l--header,
body.mtx-store #main-header,
body.mtx-store #top-header { display: none !important; }
body.mtx-store #page-container { padding-top: 0 !important; margin-top: 0 !important; }

.mtx-announce {
  background: var(--brown-deep); color: #fff; text-align: center;
  font: 700 16px/1.4 var(--font-body); padding: 10px 14px;
}
.mtx-header {
  position: sticky; top: 0; z-index: 99990; background: #fff;
  border-bottom: 1px solid var(--line-warm); font-family: var(--font-body);
}
body.admin-bar .mtx-header { top: 32px; }
.mtx-header *, .mtx-header *::before, .mtx-header *::after { box-sizing: border-box; }
.mtx-bar {
  display: flex; align-items: center; gap: 24px;
  max-width: 1240px; margin: 0 auto; padding: 14px 24px;
}
.mtx-brand { display: flex; align-items: center; gap: 12px; text-decoration: none !important; flex-shrink: 0; }
.mtx-brand img { width: 56px; height: 56px; border-radius: 50%; display: block; }
.mtx-brand span { font: 800 24px/1.1 var(--font-body); color: var(--brown-deep); letter-spacing: -0.01em; }
.mtx-brand small { display: block; font: 700 15px/1.3 var(--font-body); color: var(--text-sub); margin-top: 2px; letter-spacing: 0; }
.mtx-search { flex: 1; max-width: 520px; margin: 0 0 0 auto; position: relative; }
.mtx-search input[type="search"] {
  width: 100%; margin: 0; padding: 13px 52px 13px 20px !important;
  border: 2px solid #8a8a8a !important; border-radius: 999px !important; background: #fff !important;
  font: 400 18px/1.3 var(--font-body) !important; color: var(--text-main) !important;
  -webkit-appearance: none; appearance: none; box-shadow: none;
}
.mtx-search input[type="search"]::placeholder { color: #6b6b6b; }
.mtx-search input[type="search"]:focus { outline: none; border-color: var(--brown-deep) !important; box-shadow: 0 0 0 3px oklch(32% 0.06 48 / 0.15); }
.mtx-search button {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  background: none !important; border: 0 !important; padding: 8px !important; margin: 0;
  color: var(--brown-deep); cursor: pointer; line-height: 0; border-radius: 50%;
}
.mtx-search button svg { width: 22px; height: 22px; }
.mtx-cart {
  position: relative; display: grid; place-items: center; padding: 10px; border-radius: 50%;
  color: var(--brown-deep) !important; text-decoration: none !important; flex-shrink: 0;
}
.mtx-cart:hover { background: var(--cream); }
.mtx-cart svg { width: 30px; height: 30px; }
.mtx-count {
  position: absolute; top: 2px; right: 0; min-width: 24px; height: 24px; padding: 0 6px;
  border-radius: 999px; background: var(--terracotta); color: #fff;
  font: 800 14px/24px var(--font-body); text-align: center;
}
.mtx-count[hidden] { display: none; }
.mtx-nav { border-top: 1px solid var(--line-warm); }
.mtx-nav ul {
  list-style: none !important; margin: 0 auto !important; padding: 0 24px !important; max-width: 1240px;
  display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none;
}
.mtx-nav ul::-webkit-scrollbar { display: none; }
.mtx-nav li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.mtx-nav li::before { display: none !important; }
.mtx-nav a {
  display: block; white-space: nowrap; padding: 14px; text-decoration: none !important;
  font: 700 17px/1.3 var(--font-body); color: var(--brown-deep) !important;
  border-bottom: 3px solid transparent;
}
.mtx-nav a:hover { border-bottom-color: var(--brown-deep); }
.mtx-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (max-width: 782px) { body.admin-bar .mtx-header { top: 46px; } }
@media (max-width: 760px) {
  .mtx-announce { font-size: 15px; }
  .mtx-bar { flex-wrap: wrap; gap: 10px; padding: 10px 16px; }
  .mtx-brand img { width: 46px; height: 46px; }
  .mtx-brand span { font-size: 21px; }
  .mtx-brand small { font-size: 14px; }
  .mtx-search { order: 3; flex-basis: 100%; max-width: none; margin: 0; }
  .mtx-cart { margin-left: auto; }
  .mtx-nav ul { padding: 0 12px !important; }
  .mtx-nav a { padding: 12px; }
}

/* Tagline wraps on phones so it never runs off-screen (product + shop headers). */
@media (max-width: 760px) {
  .mtx-brand, body.mt-shop .brand { flex: 1 1 0; min-width: 0; }
  .mtx-brand span, body.mt-shop .brand span { min-width: 0; }
  .mtx-brand small, body.mt-shop .brand small { white-space: normal; font-size: 13px; line-height: 1.3; }
}
