/* ============================================================
   KELKOOKS SITE-WIDE POLISH
   Broma-style hero photos, typography, spacing, animations

   PASTE LOCATION:
   WP Admin → Appearance → Customize → Additional CSS
   (OR your theme's Custom CSS panel)
   ============================================================ */

/* --- Typography reset for recipe posts --- */
.single-post .entry-content,
.single .entry-content {
  font-family: 'Outfit', -apple-system, sans-serif;
  font-size: 1.08rem;
  line-height: 1.75;
  color: #2a2a2a;
  max-width: 760px;
  margin: 0 auto;
}

.single-post .entry-content p,
.single .entry-content p {
  margin-bottom: 1.4em;
}

/* --- Post title: Broma-level drama --- */
.single-post .entry-title,
.single .entry-title,
.single-post h1.post-title,
.single h1.post-title {
  font-family: 'ABeeZee', 'Playfair Display', Georgia, serif !important;
  font-size: clamp(2.2rem, 5vw, 3.4rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  color: #0f0f0f !important;
  text-align: center !important;
  max-width: 820px;
  margin: 24px auto 20px !important;
  padding: 0 20px;
}

/* --- Featured image: hero treatment --- */
.single-post .wp-post-image,
.single .wp-post-image,
.single-post .post-thumbnail img,
.single .post-thumbnail img {
  width: 100% !important;
  max-width: 1100px !important;
  height: auto !important;
  max-height: 680px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  margin: 0 auto 40px !important;
  display: block !important;
  box-shadow: 0 10px 40px -10px rgba(0,0,0,0.15);
}

/* --- H2/H3 in body copy --- */
.single-post .entry-content h2,
.single .entry-content h2 {
  font-family: 'ABeeZee', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: #0f0f0f;
  margin: 2.2em 0 0.7em;
  letter-spacing: -0.01em;
  line-height: 1.2;
  position: relative;
  padding-left: 20px;
}

.single-post .entry-content h2::before,
.single .entry-content h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12%;
  bottom: 12%;
  width: 4px;
  background: #c18c5d;
  border-radius: 2px;
}

.single-post .entry-content h3,
.single .entry-content h3 {
  font-family: 'ABeeZee', Georgia, serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 1.6em 0 0.5em;
}

/* --- Lists in body copy --- */
.single-post .entry-content ul,
.single .entry-content ul,
.single-post .entry-content ol,
.single .entry-content ol {
  padding-left: 1.3em;
  margin-bottom: 1.4em;
}

.single-post .entry-content li,
.single .entry-content li {
  margin-bottom: 0.6em;
  line-height: 1.7;
}

.single-post .entry-content ul li::marker,
.single .entry-content ul li::marker {
  color: #c18c5d;
}

/* --- Intro paragraph special treatment --- */
.single-post .entry-content .kk-intro,
.single .entry-content .kk-intro {
  font-size: 1.18rem;
  line-height: 1.7;
  color: #2a2a2a;
  font-weight: 400;
  max-width: 680px;
  margin: 0 auto 40px;
  text-align: left;
}

.single-post .entry-content .kk-intro strong,
.single .entry-content .kk-intro strong {
  font-family: 'ABeeZee', Georgia, serif;
  font-weight: 700;
  color: #0f0f0f;
}

/* --- Links in body --- */
.single-post .entry-content a,
.single .entry-content a {
  color: #c18c5d;
  text-decoration: none;
  border-bottom: 2px solid rgba(193,140,93,0.3);
  transition: border-color 0.2s ease, color 0.2s ease;
}

.single-post .entry-content a:hover,
.single .entry-content a:hover {
  color: #0f0f0f;
  border-bottom-color: #0f0f0f;
}

/* --- Final CTA block --- */
.kk-final-cta {
  font-family: 'ABeeZee', Georgia, serif;
  font-size: 1.12rem;
  line-height: 1.6;
  color: #1a1a1a;
  background: #f7f3ea;
  border-radius: 16px;
  padding: 32px 28px;
  margin: 48px auto;
  max-width: 640px;
  text-align: center;
}

/* --- Fade-in animations on scroll --- */
@keyframes kkFadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.single-post .entry-content > *,
.single .entry-content > *,
.wprm-recipe-container {
  animation: kkFadeUp 0.7s ease both;
  animation-timeline: view();
  animation-range: entry 0% cover 30%;
}

@supports not (animation-timeline: view()) {
  .single-post .entry-content > *,
  .single .entry-content > *,
  .wprm-recipe-container {
    animation: kkFadeUp 0.6s ease both;
  }
}

/* --- Mobile refinements --- */
@media (max-width: 720px) {
  .single-post .entry-title,
  .single .entry-title {
    font-size: 1.9rem !important;
    padding: 0 16px;
  }
  .single-post .wp-post-image,
  .single .wp-post-image,
  .single-post .post-thumbnail img,
  .single .post-thumbnail img {
    border-radius: 0 !important;
    margin-bottom: 28px !important;
  }
  .single-post .entry-content,
  .single .entry-content {
    padding: 0 20px;
    font-size: 1.02rem;
  }
  .kk-final-cta {
    margin: 36px 0;
    padding: 26px 22px;
    border-radius: 0;
  }
}

/* --- Category / Archive / Home: masonry feel --- */
.archive .post,
.home .post,
.blog .post {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border-radius: 12px;
  overflow: hidden;
}

.archive .post:hover,
.home .post:hover,
.blog .post:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px -12px rgba(0,0,0,0.18);
}

.archive .post img,
.home .post img,
.blog .post img {
  transition: transform 0.6s cubic-bezier(0.2,0.8,0.2,1);
}

.archive .post:hover img,
.home .post:hover img,
.blog .post:hover img {
  transform: scale(1.04);
}

/* --- Buttons, global (KelKooks black pill) --- */
.wp-block-button__link,
.wp-element-button {
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 0.82rem !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.kk-jump-btn .wp-block-button__link {
  background: #0f0f0f !important;
  color: #fff !important;
}

.kk-jump-btn .wp-block-button__link:hover {
  background: #c18c5d !important;
}

/* --- Smooth scroll everywhere --- */
html { scroll-behavior: smooth; }

/* --- Subtle body bg for warmth --- */
body.single-post,
body.single {
  background: #fdfcf8;
}

/* === PRODUCT PAGE FONT FIX === */
@import url('https://fonts.googleapis.com/css2?family=ABeeZee:ital@0;1&family=Outfit:wght@300;400;500;600;700;800&display=swap');

.woocommerce .product_title,
.single-product .product_title,
.woocommerce div.product .product_title,
body.single-product h1.product_title {
  font-family: 'ABeeZee', sans-serif !important;
  font-weight: 800 !important;
}

.woocommerce,
.woocommerce div.product,
.woocommerce .summary,
.woocommerce .summary p,
.woocommerce-product-details__short-description,
.woocommerce .price,
.woocommerce-Price-amount,
.woocommerce .button,
.woocommerce .single_add_to_cart_button,
.woocommerce .woocommerce-tabs,
.woocommerce #reviews,
.woocommerce .comment-form-comment textarea,
.woocommerce .comment-form label {
  font-family: 'Outfit', sans-serif !important;
}

/* === KELKOOKS PRODUCT PAGE MODERN REDESIGN === */
:root { --kk-brand: #7a1321; --kk-brand-dark: #5c0e18; --kk-brand-soft: #fdf2f3; --kk-cream: #FFF9F5; --kk-ink: #2a1a10; --kk-muted: #6b5a52; --kk-border: #EAE0D4; }
body.single-product .woocommerce-breadcrumb { font-family: 'Outfit', sans-serif !important; font-size: 13px !important; color: var(--kk-muted) !important; letter-spacing: 0.3px !important; margin-bottom: 32px !important; }
body.single-product h1.product_title { font-family: 'ABeeZee', sans-serif !important; font-weight: 800 !important; font-size: 44px !important; line-height: 1.1 !important; color: var(--kk-ink) !important; margin-bottom: 20px !important; text-align: left !important; }
body.single-product .summary hr, body.single-product .summary .pink, body.single-product .summary .green, body.single-product .summary .wc-block-components-product-price__variant { display: none !important; }
body.single-product p.price, body.single-product span.price { font-family: 'Outfit', sans-serif !important; font-weight: 700 !important; font-size: 28px !important; color: var(--kk-brand) !important; margin: 8px 0 24px !important; }
body.single-product .woocommerce-product-details__short-description, body.single-product .summary > p { font-family: 'Outfit', sans-serif !important; font-size: 16px !important; line-height: 1.6 !important; color: var(--kk-ink) !important; margin-bottom: 28px !important; }
body.single-product .star-rating span::before { color: var(--kk-brand) !important; }
body.single-product .woocommerce-review-link { color: var(--kk-muted) !important; font-family: 'Outfit', sans-serif !important; }
body.single-product .quantity input.qty { width: 60px !important; height: 54px !important; border: 2px solid var(--kk-border) !important; border-radius: 999px !important; background: var(--kk-cream) !important; font-family: 'Outfit', sans-serif !important; font-weight: 600 !important; font-size: 16px !important; color: var(--kk-ink) !important; text-align: center !important; padding: 0 !important; transition: all .2s !important; }
body.single-product .quantity input.qty:focus { border-color: var(--kk-brand) !important; outline: none !important; }
body.single-product .single_add_to_cart_button { background: #fff !important; color: var(--kk-brand) !important; border: 2px solid var(--kk-brand) !important; border-radius: 999px !important; font-family: 'ABeeZee', sans-serif !important; font-weight: 800 !important; font-size: 15px !important; letter-spacing: 0.5px !important; text-transform: none !important; padding: 14px 32px !important; height: 54px !important; min-width: 180px !important; box-shadow: 0 2px 6px rgba(40,20,10,0.08) !important; transition: all .2s !important; margin-left: 12px !important; }
body.single-product .single_add_to_cart_button:hover { background: var(--kk-brand) !important; color: #fff !important; transform: translateY(-1px) !important; box-shadow: 0 6px 16px rgba(122,19,33,0.25) !important; }
body.single-product .kk-buy-now-btn { display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; width: 100% !important; background: var(--kk-brand) !important; color: #fff !important; text-decoration: none !important; border-radius: 999px !important; font-family: 'ABeeZee', sans-serif !important; font-weight: 800 !important; font-size: 17px !important; letter-spacing: 0.5px !important; padding: 18px 32px !important; margin: 20px 0 12px !important; box-shadow: 0 6px 18px rgba(122,19,33,0.30), 0 2px 4px rgba(40,20,10,0.10) !important; transition: all .2s ease !important; text-align: center !important; }
body.single-product .kk-buy-now-btn:hover { background: var(--kk-brand-dark) !important; transform: translateY(-2px) !important; box-shadow: 0 10px 24px rgba(122,19,33,0.38), 0 3px 6px rgba(40,20,10,0.12) !important; color: #fff !important; }
body.single-product .kk-buy-price { background: rgba(255,255,255,0.18) !important; padding: 3px 12px !important; border-radius: 999px !important; font-size: 15px !important; margin-left: 4px !important; }

body.single-product form.cart { display: flex !important; flex-direction: column !important; gap: 14px !important; margin-bottom: 28px !important; }
body.single-product .product_meta { border-top: 1px solid var(--kk-border) !important; padding-top: 18px !important; margin-top: 8px !important; font-family: 'Outfit', sans-serif !important; font-size: 14px !important; color: var(--kk-muted) !important; }
body.single-product .product_meta .posted_in a { display: inline-block !important; background: var(--kk-brand-soft) !important; color: var(--kk-brand) !important; padding: 4px 14px !important; border-radius: 999px !important; font-weight: 600 !important; text-decoration: none !important; margin-left: 6px !important; transition: all .2s !important; }
body.single-product .product_meta .posted_in a:hover { background: var(--kk-brand) !important; color: #fff !important; }
body.single-product .woocommerce-product-gallery__image, body.single-product .woocommerce-product-gallery__image img, body.single-product .wp-post-image { border-radius: 24px !important; overflow: hidden !important; box-shadow: 0 8px 24px rgba(40,20,10,0.08) !important; }
body.single-product .woocommerce-tabs { margin-top: 48px !important; }
body.single-product .woocommerce-tabs ul.tabs { border: none !important; padding: 0 !important; display: flex !important; gap: 10px !important; margin-bottom: 24px !important; }
body.single-product .woocommerce-tabs ul.tabs::before, body.single-product .woocommerce-tabs ul.tabs::after { display: none !important; }
body.single-product .woocommerce-tabs ul.tabs li { background: #fff !important; border: 1.5px solid var(--kk-border) !important; border-radius: 999px !important; padding: 0 !important; margin: 0 !important; transition: all .2s !important; }
body.single-product .woocommerce-tabs ul.tabs li a { font-family: 'Outfit', sans-serif !important; font-weight: 600 !important; font-size: 14px !important; padding: 10px 22px !important; color: var(--kk-ink) !important; display: block !important; }
body.single-product .woocommerce-tabs ul.tabs li.active { background: var(--kk-brand) !important; border-color: var(--kk-brand) !important; }
body.single-product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
body.single-product .woocommerce-tabs ul.tabs li::before, body.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.single-product .woocommerce-Tabs-panel { background: #fff !important; border: 1px solid var(--kk-border) !important; border-radius: 20px !important; padding: 32px !important; margin-top: 8px !important; box-shadow: 0 2px 8px rgba(40,20,10,0.05) !important; }
body.single-product #reviews .commentlist li { background: var(--kk-cream) !important; border: none !important; border-radius: 16px !important; padding: 20px !important; margin-bottom: 16px !important; }
body.single-product #reviews .commentlist li img.avatar { border-radius: 50% !important; border: 3px solid #fff !important; box-shadow: 0 2px 8px rgba(40,20,10,0.10) !important; padding: 0 !important;  }
body.single-product #respond input, body.single-product #respond textarea { border: 1.5px solid var(--kk-border) !important; border-radius: 14px !important; padding: 12px 16px !important; font-family: 'Outfit', sans-serif !important; font-size: 15px !important; }
body.single-product #respond textarea { border-radius: 18px !important; }
body.single-product #respond .submit { background: var(--kk-brand) !important; color: #fff !important; border: none !important; border-radius: 999px !important; padding: 14px 32px !important; font-family: 'ABeeZee', sans-serif !important; font-weight: 800 !important; letter-spacing: 0.5px !important; cursor: pointer !important; box-shadow: 0 4px 12px rgba(122,19,33,0.25) !important; transition: all .2s !important; }
body.single-product #respond .submit:hover { background: var(--kk-brand-dark) !important; transform: translateY(-1px) !important; }
@media (max-width: 768px) { body.single-product h1.product_title { font-size: 32px !important; } body.single-product .kk-buy-now-btn { font-size: 15px !important; padding: 16px 24px !important; } }

/* === KELKOOKS PRODUCT PAGE POLISH PASS 2 === */

/* Image fills the full box - no empty space below */
body.single-product .woocommerce-product-gallery { line-height: 0 !important; }
body.single-product .woocommerce-product-gallery__wrapper { display: block !important; line-height: 0 !important; }
body.single-product .woocommerce-product-gallery__image { line-height: 0 !important; display: block !important; }
body.single-product .woocommerce-product-gallery__image a { display: block !important; line-height: 0 !important; }
body.single-product .woocommerce-product-gallery__image img,
body.single-product .wp-post-image { display: block !important; width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important; }

/* Express checkout buttons: each its own thin rounded pill with spacing */

/* WooPay button thinner */

/* Description heading: match brand font, remove side bar */
body.single-product #tab-description h2,
body.single-product .woocommerce-Tabs-panel--description h2,
body.single-product #tab-reviews h2,
body.single-product #reviews h2,
body.single-product .woocommerce-Reviews-title {
  font-family: 'ABeeZee', sans-serif !important;
  font-weight: 800 !important;
  font-size: 26px !important;
  color: var(--kk-ink) !important;
  border: none !important;
  border-left: none !important;
  padding-left: 0 !important;
  margin: 0 0 18px !important;
  text-align: left !important;
  background: none !important;
  letter-spacing: -0.3px !important;
}
/* Remove any ::before accent bars */
body.single-product #tab-description h2::before,
body.single-product .woocommerce-Tabs-panel--description h2::before,
body.single-product #tab-reviews h2::before,
body.single-product #reviews h2::before,
body.single-product .woocommerce-Reviews-title::before {
  display: none !important;
  content: none !important;
  width: 0 !important;
  border: none !important;
}
/* Description body text */
body.single-product #tab-description,
body.single-product #tab-description p,
body.single-product .woocommerce-Tabs-panel--description,
body.single-product .woocommerce-Tabs-panel--description p {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: var(--kk-ink) !important;
}

/* === MODERNIZE REVIEWS TAB === */
body.single-product #reviews,
body.single-product #tab-reviews {
  font-family: 'Outfit', sans-serif !important;
}

/* Review list container */
body.single-product .woocommerce-Reviews-title,
body.single-product #comments > h2 {
  font-family: 'ABeeZee', sans-serif !important;
  font-weight: 800 !important;
  font-size: 26px !important;
  margin-bottom: 24px !important;
}

/* Individual review card */
body.single-product .commentlist,
body.single-product ol.commentlist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
}
body.single-product .commentlist li.comment,
body.single-product ol.commentlist li {
  background: var(--kk-cream) !important;
  border: 1px solid var(--kk-border) !important;
  border-radius: 20px !important;
  padding: 24px 28px !important;
  margin-bottom: 16px !important;
  position: relative !important;
  box-shadow: 0 2px 8px rgba(40,20,10,0.04) !important;
  list-style: none !important;
}
body.single-product .commentlist li.comment::before,
body.single-product .commentlist li.comment::after,
body.single-product ol.commentlist li::before,
body.single-product ol.commentlist li::after {
  display: none !important;
  content: none !important;
}

/* Review inner structure */
body.single-product .comment_container {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
  
  border: none !important;
  padding: 0 !important;
}
body.single-product .comment_container img.avatar {
  border-radius: 50% !important;
  width: 56px !important;
  height: 56px !important;
  border: 3px solid #fff !important;
  box-shadow: 0 4px 12px rgba(40,20,10,0.12) !important;
  padding: 0 !important;
  
  flex-shrink: 0 !important;
}
body.single-product .comment-text {
  flex: 1 !important;
  
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.single-product .comment-text .meta {
  margin-bottom: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  color: var(--kk-muted) !important;
}
body.single-product .comment-text .meta strong {
  color: var(--kk-ink) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}
body.single-product .comment-text .meta time {
  color: var(--kk-muted) !important;
  font-size: 13px !important;
}
body.single-product .comment-text .star-rating {
  margin-bottom: 8px !important;
}
body.single-product .comment-text .description,
body.single-product .comment-text p {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--kk-ink) !important;
  margin: 0 !important;
}
body.single-product .comment-text .verified {
  display: inline-block !important;
  background: var(--kk-brand-soft) !important;
  color: var(--kk-brand) !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-left: 6px !important;
}

/* Review form modern */
body.single-product #review_form_wrapper {
  background: #fff !important;
  border: 1px solid var(--kk-border) !important;
  border-radius: 20px !important;
  padding: 28px !important;
  box-shadow: 0 2px 8px rgba(40,20,10,0.04) !important;
}
body.single-product #reply-title,
body.single-product #review_form h3 {
  font-family: 'ABeeZee', sans-serif !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  color: var(--kk-ink) !important;
}
body.single-product .comment-form-rating label,
body.single-product .comment-form-comment label,
body.single-product .comment-form-author label,
body.single-product .comment-form-email label {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--kk-ink) !important;
  margin-bottom: 6px !important;
  display: block !important;
}
body.single-product p.stars a {
  color: var(--kk-brand) !important;
}
body.single-product #review_form input[type="text"],
body.single-product #review_form input[type="email"],
body.single-product #review_form textarea {
  width: 100% !important;
  border: 1.5px solid var(--kk-border) !important;
  border-radius: 14px !important;
  padding: 12px 16px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  transition: border-color .15s !important;
  background: #fff !important;
}
body.single-product #review_form input:focus,
body.single-product #review_form textarea:focus {
  outline: none !important;
  border-color: var(--kk-brand) !important;
}
body.single-product #review_form textarea { border-radius: 18px !important; min-height: 140px !important; }

body.single-product #review_form input[type="submit"],
body.single-product #review_form .submit,
body.single-product .form-submit input[type="submit"] {
  background: var(--kk-brand) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 36px !important;
  font-family: 'ABeeZee', sans-serif !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(122,19,33,0.25) !important;
  transition: all .2s !important;
  text-transform: none !important;
}
body.single-product #review_form input[type="submit"]:hover {
  background: var(--kk-brand-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(122,19,33,0.32) !important;
}

/* Cookie consent bar / notices */
body.single-product .woocommerce-notices-wrapper .woocommerce-message,
body.single-product .woocommerce-notices-wrapper .woocommerce-info {
  border-radius: 16px !important;
  border: none !important;
  background: var(--kk-brand-soft) !important;
  color: var(--kk-ink) !important;
  padding: 14px 20px !important;
  font-family: 'Outfit', sans-serif !important;
}

/* Stripe Element wrapper: full pill rounding on outer ends; flat middle is preserved since the seam sits at center of a long element */

/* Inner iframe: clip to outer pill */

/* WooPay button pill */

/* Target ALL StripeElement instances on single-product pages, not just inside wcpay-express-checkout-wrapper */

/* Wrap WITH clip-path to force the rounded corners on all browsers */

/* WooPay button - ensure pill (already works but reinforce) */

/* Anywhere in summary that has iframe (catch dynamically injected Stripe elements) */

/* Just round the iframe itself - let Stripe render inside normally */



/* === KELKOOKS CART + CHECKOUT MODERN REDESIGN === */

/* Shared scope */
body.woocommerce-cart, body.woocommerce-checkout {
  background: var(--kk-cream, #FFF9F5) !important;
}
body.woocommerce-cart *, body.woocommerce-checkout * {
  font-family: 'Outfit', sans-serif;
}

/* Page title */
body.woocommerce-cart h1.entry-title,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-checkout .page-title {
  font-family: 'ABeeZee', sans-serif !important;
  font-weight: 800 !important;
  font-size: 40px !important;
  color: var(--kk-ink, #2a1a10) !important;
  margin-bottom: 24px !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
body.woocommerce-cart .entry-title::after,
body.woocommerce-checkout .entry-title::after {
  display: none !important;
}

/* Remove default blue line under Checkout heading */
body.woocommerce-checkout hr,
body.woocommerce-cart hr {
  display: none !important;
}

/* Inner section headings */
body.woocommerce-cart h2,
body.woocommerce-checkout h2,
body.woocommerce-cart h3,
body.woocommerce-checkout h3 {
  font-family: 'ABeeZee', sans-serif !important;
  font-weight: 800 !important;
  color: var(--kk-ink, #2a1a10) !important;
  letter-spacing: -0.3px !important;
}

/* ============ CART PAGE ============ */

/* Cart form: make it a card */
body.woocommerce-cart .woocommerce-cart-form {
  background: #fff !important;
  border: 1px solid var(--kk-border, #EAE0D4) !important;
  border-radius: 24px !important;
  padding: 24px !important;
  margin-bottom: 28px !important;
  box-shadow: 0 2px 10px rgba(40,20,10,0.05) !important;
}

/* Kill the default WC cart table borders */
body.woocommerce-cart .shop_table,
body.woocommerce-cart .shop_table.cart {
  border: none !important;
  margin: 0 !important;
}
body.woocommerce-cart .shop_table th,
body.woocommerce-cart .shop_table td {
  border: none !important;
  padding: 18px 12px !important;
  background: transparent !important;
  font-family: 'Outfit', sans-serif !important;
}
body.woocommerce-cart .shop_table thead {
  border-bottom: 1px solid var(--kk-border, #EAE0D4) !important;
}
body.woocommerce-cart .shop_table thead th {
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: var(--kk-muted, #6b5a52) !important;
}
body.woocommerce-cart .cart_item + .cart_item td {
  border-top: 1px solid var(--kk-border, #EAE0D4) !important;
}

/* Product link */
body.woocommerce-cart .product-name a {
  color: var(--kk-ink, #2a1a10) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  text-decoration: none !important;
}
body.woocommerce-cart .product-name a:hover { color: var(--kk-brand, #7a1321) !important; }

/* Price */
body.woocommerce-cart .shop_table .product-price,
body.woocommerce-cart .shop_table .product-subtotal {
  color: var(--kk-ink, #2a1a10) !important;
  font-weight: 600 !important;
}

/* Remove × button */
body.woocommerce-cart .product-remove a.remove {
  color: var(--kk-muted, #6b5a52) !important;
  background: var(--kk-cream, #FFF9F5) !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 999px !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .2s !important;
}
body.woocommerce-cart .product-remove a.remove:hover {
  background: var(--kk-brand, #7a1321) !important;
  color: #fff !important;
}

/* Quantity input */
body.woocommerce-cart .quantity input.qty {
  width: 64px !important;
  height: 44px !important;
  border: 2px solid var(--kk-border, #EAE0D4) !important;
  border-radius: 999px !important;
  background: var(--kk-cream, #FFF9F5) !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-align: center !important;
  padding: 0 !important;
}
body.woocommerce-cart .quantity input.qty:focus { border-color: var(--kk-brand, #7a1321) !important; outline: none !important; }

/* Coupon section */
body.woocommerce-cart .coupon {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
}
body.woocommerce-cart .coupon input[type="text"] {
  flex: 1 !important;
  height: 44px !important;
  border: 2px solid var(--kk-border, #EAE0D4) !important;
  border-radius: 999px !important;
  padding: 0 20px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  background: var(--kk-cream, #FFF9F5) !important;
}
body.woocommerce-cart .coupon input[type="text"]:focus { border-color: var(--kk-brand, #7a1321) !important; outline: none !important; }

/* All cart buttons */
body.woocommerce-cart button.button,
body.woocommerce-cart .button,
body.woocommerce-cart a.button {
  background: #fff !important;
  color: var(--kk-brand, #7a1321) !important;
  border: 2px solid var(--kk-brand, #7a1321) !important;
  border-radius: 999px !important;
  font-family: 'ABeeZee', sans-serif !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  padding: 0 24px !important;
  height: 44px !important;
  cursor: pointer !important;
  transition: all .2s !important;
  box-shadow: 0 2px 6px rgba(40,20,10,0.06) !important;
}
body.woocommerce-cart button.button:hover,
body.woocommerce-cart .button:hover {
  background: var(--kk-brand, #7a1321) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* Cart totals card */
body.woocommerce-cart .cart_totals {
  background: #fff !important;
  border: 1px solid var(--kk-border, #EAE0D4) !important;
  border-radius: 24px !important;
  padding: 28px !important;
  box-shadow: 0 4px 16px rgba(40,20,10,0.06) !important;
}
body.woocommerce-cart .cart_totals h2 {
  font-family: 'ABeeZee', sans-serif !important;
  font-weight: 800 !important;
  font-size: 24px !important;
  margin: 0 0 16px !important;
  color: var(--kk-ink, #2a1a10) !important;
}
body.woocommerce-cart .cart_totals table.shop_table_responsive {
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
}
body.woocommerce-cart .cart_totals table.shop_table_responsive th,
body.woocommerce-cart .cart_totals table.shop_table_responsive td {
  border: none !important;
  padding: 12px 0 !important;
  background: transparent !important;
  font-size: 15px !important;
}
body.woocommerce-cart .cart_totals tr + tr th,
body.woocommerce-cart .cart_totals tr + tr td {
  border-top: 1px solid var(--kk-border, #EAE0D4) !important;
}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--kk-brand, #7a1321) !important;
}

/* Proceed to checkout button - PRIMARY */
body.woocommerce-cart .wc-proceed-to-checkout {
  padding-top: 20px !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--kk-brand, #7a1321) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'ABeeZee', sans-serif !important;
  font-weight: 800 !important;
  font-size: 17px !important;
  letter-spacing: 0.5px !important;
  padding: 18px 32px !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  box-shadow: 0 6px 18px rgba(122,19,33,0.30) !important;
  transition: all .2s !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--kk-brand-dark, #5c0e18) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(122,19,33,0.38) !important;
}

/* Remove colored price bar */
body.woocommerce-cart .summary hr,
body.woocommerce-cart .pink,
body.woocommerce-cart .green { display: none !important; }

/* ============ CHECKOUT PAGE ============ */

/* Coupon notice */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-info {
  background: var(--kk-cream, #FFF9F5) !important;
  border: 1px solid var(--kk-border, #EAE0D4) !important;
  border-left: 4px solid var(--kk-brand, #7a1321) !important;
  border-radius: 16px !important;
  padding: 14px 20px !important;
  font-family: 'Outfit', sans-serif !important;
  color: var(--kk-ink, #2a1a10) !important;
}
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-form-coupon-toggle::before { display: none !important; }
body.woocommerce-checkout .showcoupon { color: var(--kk-brand, #7a1321) !important; font-weight: 600 !important; text-decoration: underline !important; }

/* Form section cards */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
  background: #fff !important;
  border: 1px solid var(--kk-border, #EAE0D4) !important;
  border-radius: 20px !important;
  padding: 28px !important;
  margin-bottom: 20px !important;
  box-shadow: 0 2px 8px rgba(40,20,10,0.04) !important;
}
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout h3#order_review_heading {
  font-family: 'ABeeZee', sans-serif !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  margin: 0 0 18px !important;
  color: var(--kk-ink, #2a1a10) !important;
}

/* Form labels */
body.woocommerce-checkout .form-row label {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--kk-ink, #2a1a10) !important;
  margin-bottom: 6px !important;
  display: block !important;
}
body.woocommerce-checkout .form-row label .required,
body.woocommerce-checkout .form-row label abbr {
  color: var(--kk-brand, #7a1321) !important;
  text-decoration: none !important;
  margin-left: 2px !important;
}
body.woocommerce-checkout .form-row .optional {
  color: var(--kk-muted, #6b5a52) !important;
  font-weight: 400 !important;
}

/* Form inputs */
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .select2-selection,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  width: 100% !important;
  height: 48px !important;
  border: 1.5px solid var(--kk-border, #EAE0D4) !important;
  border-radius: 14px !important;
  padding: 0 16px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  color: var(--kk-ink, #2a1a10) !important;
  background: #fff !important;
  transition: border-color .15s !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .form-row textarea {
  height: auto !important;
  min-height: 110px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  resize: vertical !important;
}
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
  outline: none !important;
  border-color: var(--kk-brand, #7a1321) !important;
  box-shadow: 0 0 0 3px rgba(122,19,33,0.08) !important;
}
/* Select2 dropdown */
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 48px !important;
  padding-left: 16px !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 48px !important;
  right: 16px !important;
}

/* Order review box */
body.woocommerce-checkout #order_review {
  background: #fff !important;
  border: 1px solid var(--kk-border, #EAE0D4) !important;
  border-radius: 20px !important;
  padding: 28px !important;
  box-shadow: 0 4px 16px rgba(40,20,10,0.06) !important;
}
body.woocommerce-checkout #order_review_heading {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
}
body.woocommerce-checkout #order_review table.shop_table {
  border: none !important;
  margin: 0 !important;
  background: transparent !important;
}
body.woocommerce-checkout #order_review .shop_table th,
body.woocommerce-checkout #order_review .shop_table td {
  border: none !important;
  border-bottom: 1px solid var(--kk-border, #EAE0D4) !important;
  background: transparent !important;
  padding: 14px 6px !important;
}
body.woocommerce-checkout #order_review .order-total th,
body.woocommerce-checkout #order_review .order-total td {
  border-bottom: none !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--kk-brand, #7a1321) !important;
  padding-top: 18px !important;
}

/* Payment methods section */
body.woocommerce-checkout .wc_payment_methods {
  border: none !important;
  padding: 0 !important;
  margin: 14px 0 20px !important;
}
body.woocommerce-checkout .wc_payment_method {
  background: var(--kk-cream, #FFF9F5) !important;
  border: 1.5px solid var(--kk-border, #EAE0D4) !important;
  border-radius: 16px !important;
  padding: 14px 18px !important;
  margin-bottom: 10px !important;
  list-style: none !important;
}
body.woocommerce-checkout .wc_payment_method.payment_method_selected,
body.woocommerce-checkout .wc_payment_method:has(input:checked) {
  background: #fff !important;
  border-color: var(--kk-brand, #7a1321) !important;
  box-shadow: 0 4px 12px rgba(122,19,33,0.10) !important;
}
body.woocommerce-checkout .wc_payment_method label {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  color: var(--kk-ink, #2a1a10) !important;
  cursor: pointer !important;
}
body.woocommerce-checkout .payment_box {
  background: transparent !important;
  border: none !important;
  padding: 14px 0 0 !important;
  margin-top: 10px !important;
  border-top: 1px solid var(--kk-border, #EAE0D4) !important;
}
body.woocommerce-checkout .payment_box::before { display: none !important; }

/* Place order button */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order {
  background: var(--kk-brand, #7a1321) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'ABeeZee', sans-serif !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  letter-spacing: 0.5px !important;
  padding: 20px 32px !important;
  width: 100% !important;
  height: auto !important;
  cursor: pointer !important;
  box-shadow: 0 6px 18px rgba(122,19,33,0.30) !important;
  transition: all .2s !important;
  text-transform: none !important;
  margin-top: 14px !important;
}
body.woocommerce-checkout #place_order:hover {
  background: var(--kk-brand-dark, #5c0e18) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(122,19,33,0.38) !important;
}

/* Terms checkbox */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin-top: 14px !important;
  padding: 14px 0 !important;
}
body.woocommerce-checkout input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--kk-brand, #7a1321) !important;
  margin-right: 8px !important;
}

/* WooPay button on checkout - keep but make less dominant */
body.woocommerce-checkout .woopay-express-button,
body.woocommerce-checkout a.woopay-express-button {
  border-radius: 999px !important;
  height: 48px !important;
  box-shadow: 0 2px 6px rgba(40,20,10,0.10) !important;
}

/* "OR" divider cleanup */
body.woocommerce-checkout .wc-block-components-order-meta,
body.woocommerce-checkout .wcpay-checkout-or-divider {
  color: var(--kk-muted, #6b5a52) !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 20px 0 !important;
}

/* Mobile tweaks */
@media (max-width: 768px) {
  body.woocommerce-cart h1.entry-title,
  body.woocommerce-checkout h1.entry-title { font-size: 30px !important; }
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart_totals,
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout #order_review { padding: 18px !important; }
}
