/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.2.0
 Text Domain:  woodmart
*/

/* ==========================================================================
   POOKYE DESIGN SYSTEM — 2026-10-19
   Palette sampled from the Pookye logo:
     #E00B5C  primary crimson   (dominant brand colour)
     #600030  deep maroon       (anchor / dark bands)
     #F01860  bright            (hover / highlights)
     #F090C0  tint              (soft accents)
     #1A0510  ink               (near-black maroon)
   Type: Inter (body) + Sora (headings) · Container 1222px
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@600;700;800&display=swap');

:root {
  --pk-primary: #E00B5C;
  --pk-deep: #600030;
  --pk-bright: #F01860;
  --pk-tint: #F090C0;
  --pk-ink: #1A0510;
  --pk-title: #242424;
  --pk-text: #777777;
  --pk-line: #ece7ea;
  --pk-light: #faf6f8;
  --pk-radius: 12px;

  /* WoodMart's own variables, forced */
  --wd-primary-color: #E00B5C !important;
  --wd-text-font: 'Inter', Arial, sans-serif !important;
  --wd-title-font: 'Sora', 'Inter', sans-serif !important;
  --wd-alternative-font: 'Inter', Arial, sans-serif !important;
  --wd-container-w: 1222px !important;
}
html, :root { --wd-primary-color: #E00B5C !important; }

/* ---------- typography ---------- */
html body, body, p, li, span, div, td, input, textarea, select, button, .entry-content {
  font-family: 'Inter', Arial, Helvetica, sans-serif;
}
html body { font-size: 15px; color: var(--pk-text); line-height: 1.65; }
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
.elementor-heading-title, .wd-entities-title, .entry-title,
.woocommerce-loop-product__title {
  font-family: 'Sora', 'Inter', sans-serif !important;
  color: var(--pk-title);
  font-weight: 700;
  letter-spacing: -.01em;
}
a { color: var(--pk-title); }
a:hover { color: var(--pk-primary); }

/* ---------- width ---------- */
.container, .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1222px !important; }

/* ---------- header ---------- */
header.elementor-location-header, .elementor-284 {
  background: #ffffff !important;
  border-bottom: 1px solid #f1ece f;
  box-shadow: 0 1px 18px rgba(26,5,16,.06) !important;
}
.elementor-284 .pk-header-logo img { max-height: 56px; width: auto; }
.elementor-284 .elementor-search-form__input {
  height: 44px !important; border-radius: 35px !important;
  border: 1.5px solid #efe6ea !important; background: #fff !important;
  padding-left: 20px !important; font-size: 14px !important;
}
.elementor-284 .elementor-search-form__input:focus { border-color: var(--pk-primary) !important; }
.elementor-284 .elementor-search-form__submit,
.elementor-284 .elementor-search-form button {
  border-radius: 35px !important; background: var(--pk-primary) !important; color: #fff !important;
}
.elementor-284 .elementor-button {
  background: var(--pk-primary) !important; border-radius: 9px !important;
  padding: 11px 22px !important; font-weight: 600 !important; font-size: 14px !important; color: #fff !important;
}
.elementor-284 .elementor-button:hover { background: var(--pk-deep) !important; }
.elementor-284 .elementor-nav-menu > li > a {
  font-family: 'Inter', sans-serif !important; font-weight: 600 !important; font-size: 13.5px !important;
  text-transform: uppercase !important; letter-spacing: .05em !important; color: var(--pk-title) !important;
  padding: 9px 16px !important; transition: color .18s;
}
.elementor-284 .elementor-nav-menu > li > a:hover,
.elementor-284 .elementor-nav-menu > li.current-menu-item > a,
.elementor-284 .elementor-nav-menu > li.current-menu-ancestor > a { color: var(--pk-primary) !important; }

/* ---------- footer ---------- */
footer.elementor-location-footer, .elementor-286 {
  background: var(--pk-ink) !important;
  color: #b9a3ad !important;
  margin-top: 80px !important;
  border-top: 3px solid var(--pk-primary);
  padding-top: 26px !important;
}
.elementor-286 .elementor-heading-title {
  color: #ffffff !important; font-size: 13px !important;
  text-transform: uppercase !important; letter-spacing: .09em !important; margin-bottom: 16px !important;
}
.elementor-286 p, .elementor-286 li, .elementor-286 .elementor-icon-list-text,
.elementor-286 .elementor-widget-text-editor, .elementor-286 .elementor-widget-container {
  color: #a8909a !important; font-size: 14px !important;
}
.elementor-286 a { color: #a8909a !important; transition: color .18s; }
.elementor-286 a:hover { color: var(--pk-primary) !important; }
.elementor-286 .elementor-icon-list-icon i, .elementor-286 .elementor-icon-list-icon svg { color: var(--pk-primary) !important; }
.elementor-286 .elementor-icon-list-item:hover .elementor-icon-list-text { color: #fff !important; }

/* ---------- buttons ---------- */
.elementor-button, .single_add_to_cart_button, .checkout-button { border-radius: 9px !important; font-weight: 600 !important; }
.single_add_to_cart_button, .checkout-button, .elementor-button-link.elementor-button {
  background-color: var(--pk-primary) !important; color: #fff !important;
}
.single_add_to_cart_button:hover, .checkout-button:hover { background-color: var(--pk-deep) !important; }

/* ---------- product cards ---------- */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .wd-entities-title {
  font-family: 'Sora', sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
  line-height: 1.35 !important; text-align: center !important; color: var(--pk-title) !important; margin: 10px 0 6px !important;
}
.woocommerce .price, .product .price, .wd-product .price, .price ins,
.woocommerce-Price-amount, .woocommerce ul.products li.product .price {
  color: var(--pk-primary) !important; font-weight: 700 !important; font-size: 15px !important;
  text-decoration: none !important;
}
.woocommerce ul.products li.product .price { text-align: center !important; display: block !important; }
.woocommerce ul.products li.product .price del, .price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount {
  color: #b3a4ab !important; font-weight: 400 !important; font-size: 13px !important;
}
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .add_to_cart_button {
  background: var(--pk-primary) !important; color: #fff !important; border-radius: 9px !important;
  font-weight: 600 !important; font-size: 13px !important; border: 0 !important;
}
.woocommerce ul.products li.product .button:hover { background: var(--pk-deep) !important; color: #fff !important; }
.woocommerce ul.products li.product .product-image-link img,
.woocommerce ul.products li.product img { border-radius: var(--pk-radius) !important; }
.woocommerce ul.products li.product { transition: transform .2s ease, box-shadow .2s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-3px); }
.woocommerce span.onsale { background: var(--pk-primary) !important; border-radius: 6px !important; font-weight: 700 !important; }
.star-rating span:before, .woocommerce .star-rating span:before { color: var(--pk-primary) !important; }

/* ---------- category tiles ---------- */
.wd-product-cats .wd-entities-title, .wd-product-cats h3 { color: var(--pk-title) !important; font-weight: 600 !important; }
.wd-product-cats .count, .wd-product-cats mark { color: var(--pk-primary) !important; background: none !important; font-weight: 600 !important; }
.wd-product-cats .category-image img { border-radius: var(--pk-radius) !important; }

/* ---------- homepage components ---------- */
.pk-hero-logo img { max-height: 96px; width: auto; margin: 0 auto 22px; display: block; }
.pk-hero-title { color: #fff !important; font-size: 44px !important; line-height: 1.12 !important; }
.pk-hero-sub { color: #e8cfda !important; font-size: 17px !important; max-width: 640px; margin: 0 auto 28px; }
.pk-hero-chips { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 34px; }
.pk-hero-chips span {
  border: 1px solid rgba(255,255,255,.22); border-radius: 999px; padding: 7px 16px;
  font-size: 12.5px; color: #f3dbe5; letter-spacing: .03em; font-weight: 500;
}
.pk-section-title { text-align: left !important; }
.pk-section-title span { color: var(--pk-primary); }
.pk-band-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pk-band-head h2 { margin: 0 !important; }
.pk-band-head a { font-size: 13px; font-weight: 600; color: var(--pk-primary) !important; text-transform: uppercase; letter-spacing: .05em; }
.pk-step { text-align: center; padding: 10px; }
.pk-step .num {
  width: 52px; height: 52px; line-height: 52px; border-radius: 50%;
  background: var(--pk-primary); color: #fff; font-weight: 700; margin: 0 auto 14px;
  font-family: 'Sora', sans-serif; font-size: 19px;
  box-shadow: 0 8px 20px rgba(224,11,92,.28);
}
.pk-step h4 { margin: 0 0 6px; font-size: 17px; }
.pk-trust { text-align: center; padding: 6px 4px; }
.pk-trust .ico {
  width: 44px; height: 44px; border-radius: 12px; margin: 0 auto 12px; line-height: 44px;
  background: rgba(224,11,92,.10); color: var(--pk-primary); font-weight: 800; font-size: 18px;
  font-family: 'Sora', sans-serif;
}
.pk-trust h4 { margin: 0 0 5px; font-size: 16px; }

/* ---------- visually hidden (SEO H1) ---------- */
.pk-sr-only, .pk-sr-only * {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important;
}

/* ---------- original safety rules ---------- */
.whb-top-bar .wd-header-text { display: none !important; }
.wd-header-my-account .wd-dropdown-register { display: none !important; }

/* ---------- hide WoodMart's page-title bar where Elementor supplies a heading ----------
   Ids: 39 home · 41 about · 43 delivery · 45 terms · 47 privacy · 49 contact · 51 blog */
body.home .page-title,
body.page-id-41 .page-title, body.page-id-43 .page-title, body.page-id-45 .page-title,
body.page-id-47 .page-title, body.page-id-49 .page-title, body.page-id-51 .page-title {
  display: none !important;
}

/* accessibility contrast cleanup, 2026-10-19 */
html body { color: #555555; }
.elementor-286 p, .elementor-286 li, .elementor-286 .elementor-icon-list-text,
.elementor-286 .elementor-widget-text-editor, .elementor-286 .elementor-widget-container { color: #c8b8c0 !important; }
.elementor-284 .elementor-nav-menu > li > a,
.elementor-284 .elementor-button,
.elementor-286 a { min-height: 44px; display: inline-flex; align-items: center; }

/* phase2 a11y target cleanup, 2026-10-19 */
.elementor-286 p, .elementor-286 li, .elementor-286 .elementor-icon-list-text, .elementor-286 .elementor-widget-text-editor, .elementor-286 .elementor-widget-container { color:#f0e7eb !important; }
.elementor-284 .elementor-nav-menu > li > a, .elementor-284 .elementor-button, .elementor-284 .elementor-menu-cart__toggle_button, .elementor-286 a, .woocommerce a.button, .woocommerce .add_to_cart_button, .woocommerce .single_add_to_cart_button { min-height:44px; min-width:44px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .wd-entities-title { color:#222222 !important; }
.woocommerce ul.products li.product .price { color:#E00B5C !important; }

/* utility link spacing, 2026-10-19 */
.pk-utility-links { display:flex !important; gap:24px !important; align-items:center !important; white-space:nowrap !important; }
.pk-utility-links a { display:inline-block !important; margin:0 !important; }
@media (max-width:767px) { .pk-utility-links { gap:14px !important; white-space:normal !important; flex-wrap:wrap !important; } }

/* homepage reference banner, 2026-10-21 */
.pk-home-banner { max-width:1222px; margin:0 auto !important; min-height:430px; border-radius:22px; overflow:hidden; background:linear-gradient(120deg,#fff7fa 0%,#fbe6ef 52%,#f5c3d7 100%) !important; box-shadow:0 18px 40px rgba(96,0,48,.12); }
.pk-home-banner > .elementor-container { min-height:430px; }
.pk-home-banner .elementor-heading-title { color:#600030 !important; font-size:42px !important; line-height:1.08 !important; }
.pk-banner-copy { color:#600030; font-size:17px; line-height:1.55; max-width:500px; }
.pk-home-banner .category-grid-item img { border-radius:10px !important; }
.pk-home-intro { max-width:1222px; margin:0 auto !important; }
.pk-intro-title { font-size:58px !important; line-height:1.02 !important; max-width:560px; }
.pk-eyebrow { color:#E00B5C !important; font-size:12px; font-weight:700; letter-spacing:.12em; }
@media (max-width:767px) { .pk-home-banner { margin:0 15px !important; min-height:0; } .pk-home-banner > .elementor-container { min-height:0; } .pk-home-banner .elementor-heading-title { font-size:32px !important; } .pk-intro-title { font-size:38px !important; } }

/* header logo containment fix, 2026-10-21 */
.pk-brand-lockup { display:flex !important; align-items:center !important; gap:10px !important; text-decoration:none !important; color:#600030 !important; white-space:nowrap !important; }
.pk-brand-lockup img { width:48px !important; height:48px !important; max-width:48px !important; max-height:48px !important; object-fit:contain !important; }
.pk-brand-lockup strong { font-family:'Sora',sans-serif; font-size:18px; color:#600030; }
.elementor-284 .elementor-search-form__input { height:48px !important; }
.elementor-284 .elementor-button { border-radius:9px !important; }
.elementor-284 .elementor-menu-cart__toggle_button { width:48px !important; height:48px !important; min-width:48px !important; padding:0 !important; border-radius:50% !important; background:#E00B5C !important; color:#fff !important; display:flex !important; align-items:center !important; justify-content:center !important; }
@media (max-width:767px) { .pk-brand-lockup strong { display:none !important; } .pk-brand-lockup img { width:42px !important; height:42px !important; max-width:42px !important; max-height:42px !important; } }

/* responsive screenshot layout, 2026-10-24 */
.pk-mobile-header { display:none !important; }
.pk-desktop-header { display:flex !important; }
.pk-mobile-brand { display:inline-flex !important; align-items:center; gap:5px; text-decoration:none !important; color:#600030 !important; white-space:nowrap; }
.pk-mobile-brand img { width:42px !important; height:42px !important; max-width:42px !important; max-height:42px !important; object-fit:contain !important; }
.pk-mobile-brand strong { font-family:'Sora',sans-serif; font-size:14px; }
.pk-mobile-menu-toggle { width:42px; height:42px; border:1px solid #e8dfe4; background:#fff; color:#600030; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.pk-mobile-menu-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
@media (max-width:767px) { .pk-desktop-header { display:none !important; } .pk-mobile-header { display:flex !important; } .pk-mobile-header .elementor-container { width:100%; } .pk-mobile-header .elementor-column { width:auto !important; } .pk-mobile-header .elementor-column:nth-child(2) { flex:1; } .pk-mobile-header .elementor-search-form__input { height:44px !important; } .pk-mobile-brand strong { display:none; } }

/* stable SVG header controls, 2026-10-24 */
.pk-head-request { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:7px; min-height:44px; padding:0 16px; border:1px solid #E00B5C; border-radius:9px; color:#E00B5C !important; font-size:13px; font-weight:600; text-decoration:none !important; white-space:nowrap; }
.pk-head-request svg { width:16px !important; height:16px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important; }
.pk-head-icon { position:relative; display:inline-flex !important; align-items:center !important; justify-content:center !important; width:48px !important; height:48px !important; min-width:48px !important; border-radius:50% !important; text-decoration:none !important; background:#E00B5C !important; color:#fff !important; }
.pk-head-icon svg { width:22px !important; height:22px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important; }
.pk-cart-count { position:absolute; right:-2px; top:-3px; min-width:17px; height:17px; border-radius:50%; background:#600030; color:#fff; font-size:10px; line-height:17px; text-align:center; font-weight:700; }
@media (max-width:767px) { .pk-head-request { min-width:42px; width:42px; padding:0 !important; font-size:0; } .pk-head-request svg { width:19px !important; height:19px !important; } .pk-head-icon { width:42px !important; height:42px !important; min-width:42px !important; } }

/* desktop spacing and mobile bottom bar, 2026-10-24 */
@media (min-width:768px) { .pk-desktop-header .elementor-nav-menu { display:flex !important; flex-wrap:nowrap !important; white-space:nowrap !important; justify-content:center !important; } .pk-desktop-header .elementor-nav-menu > li { flex:0 0 auto !important; } .pk-desktop-header .elementor-nav-menu > li > a { padding-left:11px !important; padding-right:11px !important; font-size:13px !important; } .pk-desktop-header .elementor-container { max-width:1222px !important; } }
.pk-mobile-bottom { display:none; }
@media (max-width:767px) { body { padding-bottom:64px; } .pk-mobile-bottom { position:fixed; z-index:99999; left:0; right:0; bottom:0; height:62px; display:flex !important; align-items:center; justify-content:space-around; background:#fff; border-top:1px solid #eadfe5; box-shadow:0 -5px 18px rgba(96,0,48,.10); } .pk-mobile-bottom a { min-width:60px; min-height:48px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:#6b5b64 !important; font-size:11px; text-decoration:none !important; } .pk-mobile-bottom a:first-child { color:#E00B5C !important; font-weight:700; } .pk-mobile-bottom svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; } }

/* exact screenshot geometry, desktop 1440 / mobile 317, 2026-10-25 */
@media (min-width:1200px) {
.elementor-284 .elementor-section > .elementor-container { max-width:1222px !important; margin:0 auto !important; }
.elementor-284 .elementor-nav-menu { justify-content:center !important; gap:4px !important; }
.elementor-284 .elementor-nav-menu > li > a { font-size:15px !important; padding:12px 16px !important; text-transform:none !important; }
.elementor-284 .pk-brand-lockup img { width:230px !important; height:62px !important; max-width:230px !important; max-height:62px !important; object-fit:contain !important; }
.elementor-284 .pk-brand-lockup strong { display:none !important; }
.elementor-284 .elementor-search-form__input { height:50px !important; font-size:16px !important; }
.elementor-284 .pk-head-request { height:46px !important; padding:0 22px !important; background:#fff !important; }
.elementor-284 .pk-head-icon { width:48px !important; height:48px !important; }
.pk-reference-banner { max-width:1192px !important; margin:16px auto 0 !important; border-radius:22px !important; }
.pk-home-intro { max-width:1192px !important; display:flex !important; align-items:flex-start !important; }
.pk-home-intro .elementor-column:first-child { padding-top:20px !important; }
.pk-intro-title { font-size:58px !important; max-width:600px !important; }
}
@media (max-width:767px) {
body { padding-bottom:62px !important; }
.elementor-284 .pk-mobile-header { min-height:52px !important; }
.elementor-284 .pk-mobile-header .elementor-container { min-height:52px !important; padding:0 14px !important; }
.elementor-284 .pk-mobile-header .pk-mobile-brand img { width:132px !important; height:42px !important; max-width:132px !important; max-height:42px !important; object-fit:contain !important; }
.elementor-284 .pk-mobile-header .pk-mobile-menu-toggle { width:34px !important; height:34px !important; }
.elementor-284 .pk-mobile-header .pk-head-icon { width:34px !important; height:34px !important; min-width:34px !important; }
.elementor-284 .pk-mobile-header .elementor-search-form__input { height:44px !important; font-size:13px !important; }
.pk-reference-banner { width:calc(100% - 28px) !important; margin:8px 14px 0 !important; border-radius:12px !important; }
.pk-reference-banner img { width:100% !important; height:auto !important; display:block !important; }
.pk-home-intro { padding:0 25px !important; display:block !important; }
.pk-home-intro .elementor-column { width:100% !important; }
.pk-home-intro .elementor-column:first-child { padding-top:10px !important; }
.pk-intro-title { font-size:30px !important; line-height:1.02 !important; max-width:280px !important; }
.pk-home-intro .category-grid-item { width:50% !important; margin-bottom:8px !important; }
.pk-mobile-bottom { height:48px !important; }
.pk-mobile-bottom a { min-height:44px !important; font-size:10px !important; }
.pk-mobile-bottom svg { width:18px !important; height:18px !important; }
}
