/*
Theme Name:     Ellijay Trading
Theme URI:      n/a
Template:       kadence
Author:         Matt Badgley
Author URI:     n/a
Description:    Ellijay Trading Company Website
Version:        1.0
License:        GNU General Public License v3.0 (or later)
License URI:    https://www.gnu.org/licenses/gpl-3.0.html
*/
/* ===== Ellijay Outline System ===== */
:root{
  --et-bg: #ebe4db;
  --et-text: #302312;
  --et-accent: #3d421f;
  --et-clay: #80502c;
  --et-muted: #9f8d79;
  --et-sand: #c8bbab;

  --et-border: 2px;
  --et-radius: 12px;
}

/* Base */
body { background: var(--et-bg); color: var(--et-text); }
a { color: var(--et-accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { text-decoration: underline; }

/* Focus visibility (keyboard users) */
:focus-visible{
  outline: 2px solid var(--et-accent);
  outline-offset: 3px;
}

/* Buttons (works with Kadence + Woo) */
.et-btn,
.wp-block-kadence-advancedbtn .kt-button,
.woocommerce button.button,
.woocommerce a.button{
  border: var(--et-border) solid var(--et-text);
  border-radius: var(--et-radius);
  background: transparent;
  color: var(--et-text);
  box-shadow: none;
  transition: transform .08s ease, background-color .12s ease, border-color .12s ease;
}

/* Primary button variant */
.et-btn--primary,
.wp-block-kadence-advancedbtn .kt-button.et-primary,
.woocommerce button.button.alt,
.woocommerce a.button.alt{
  background: var(--et-accent);
  border-color: var(--et-accent);
  color: var(--et-bg);
}

/* Accent outline variant */
.et-btn--accent,
.wp-block-kadence-advancedbtn .kt-button.et-accent{
  border-color: var(--et-accent);
  color: var(--et-accent);
  background: transparent;
}

.et-btn:hover,
.wp-block-kadence-advancedbtn .kt-button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover{
  transform: translateY(-1px);
  background-color: rgba(48,35,18,.06);
}

.wp-block-kadence-advancedbtn .kt-button.et-primary:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover{
  background-color: #344018; /* slightly deeper green */
}

/* Cards */
.et-card{
  border: var(--et-border) solid var(--et-text);
  border-radius: var(--et-radius);
  background: transparent;
  padding: 24px;
}
.et-card--clickable:hover{
  border-color: var(--et-accent);
  background-color: rgba(61,66,31,.05);
  transform: translateY(-1px);
}

/* Tags / Badges */
.et-tag{
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border: var(--et-border) solid var(--et-text);
  border-radius: 999px;
  font-size: 13px;
  line-height: 1.2;
  gap: 6px;
}
.et-tag--accent{ border-color: var(--et-accent); color: var(--et-accent); }
.et-tag--clay{ border-color: var(--et-clay); color: var(--et-clay); }

/* Forms (Kadence Forms + Woo) */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
input[type="password"], textarea, select,
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select{
  border: var(--et-border) solid var(--et-text);
  border-radius: var(--et-radius);
  background: transparent;
  color: var(--et-text);
  box-shadow: none;
}
input::placeholder, textarea::placeholder{ color: var(--et-muted); }
input:focus, textarea:focus, select:focus{
  border-color: var(--et-accent);
  outline: none;
}

/* Dividers */
.et-divider{ border-top: 1px solid var(--et-sand); opacity: .9; }


/* clay button */
.wp-block-kadence-advancedbtn .kt-button.et-clay{
  border-color: var(--et-clay);
  color: var(--et-clay);
  background: transparent;
}
.wp-block-kadence-advancedbtn .kt-button.et-clay:hover{
  background-color: rgba(128,80,44,.06);
}

/* =========================================================
   Ellijay Trading — Woo Product Tiles (2px Outline Cards)
   Applies to: Shop, Category, Tag, Search results, related
   ========================================================= */

/* Tile container */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  border: var(--et-border) solid var(--et-text);
  border-radius: var(--et-radius);
  background: transparent;
  padding: 18px;
  box-shadow: none;
  transition: transform .08s ease, background-color .12s ease, border-color .12s ease;
}

/* Hover/focus on tile */
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.woocommerce ul.products li.product:focus-within,
.woocommerce-page ul.products li.product:focus-within{
  border-color: var(--et-accent);
  background-color: rgba(61,66,31,.05);
  transform: translateY(-1px);
}

/* Ensure the whole tile feels tidy */
.woocommerce ul.products li.product a{
  text-decoration: none;
}

/* Product image rounding (and keep it from touching border) */
.woocommerce ul.products li.product a img{
  border-radius: calc(var(--et-radius) - 4px);
  margin: 0 0 14px 0;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  color: var(--et-text);
  font-size: 18px;
  line-height: 1.25;
  margin: 0 0 8px 0;
}

/* Price */
.woocommerce ul.products li.product .price{
  color: var(--et-text);
  margin: 10px 0 12px 0;
  font-weight: 600;
}
.woocommerce ul.products li.product .price del{
  opacity: .65;
}

/* Rating (subtle, keep it calm) */
.woocommerce ul.products li.product .star-rating{
  margin: 8px 0 6px 0;
  color: var(--et-accent);
}

/* Sale badge: outlined + clay accent */
.woocommerce span.onsale{
  background: transparent;
  color: var(--et-clay);
  border: var(--et-border) solid var(--et-clay);
  border-radius: 999px;
  padding: 6px 10px;
  min-height: auto;
  line-height: 1;
  font-weight: 700;
  top: 12px;
  left: 12px;
}

/* Add to cart buttons inside tiles (outline by default) */
.woocommerce ul.products li.product .button{
  border: var(--et-border) solid var(--et-text) !important;
  border-radius: var(--et-radius) !important;
  background: transparent !important;
  color: var(--et-text) !important;
  box-shadow: none !important;
  padding: 10px 14px !important;
  transition: transform .08s ease, background-color .12s ease, border-color .12s ease;
}

/* Hover for tile buttons */
.woocommerce ul.products li.product .button:hover{
  background-color: rgba(48,35,18,.06) !important;
  transform: translateY(-1px);
}

/* If Woo marks some buttons as "alt" in loops, make them primary */
.woocommerce ul.products li.product .button.alt{
  background: var(--et-accent) !important;
  border-color: var(--et-accent) !important;
  color: var(--et-bg) !important;
}
.woocommerce ul.products li.product .button.alt:hover{
  background-color: #344018 !important;
}

/* Make "View cart" / "Added" states not look weird */
.woocommerce ul.products li.product .added_to_cart{
  margin-left: 10px;
  color: var(--et-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Tighten spacing for common Woo structures */
.woocommerce ul.products{
  margin-top: 0;
}
.woocommerce ul.products li.product .woocommerce-product-details__short-description{
  color: var(--et-muted);
}

/* Related products also inherit */
.woocommerce .related ul.products li.product{
  border: var(--et-border) solid var(--et-text);
}

/* Optional: keep equal-height feel if titles vary */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height: 2.6em; /* ~2 lines */
}

/* =========================================================
   Ellijay Trading — Fluent Forms Pro (SAFE: grid + spacing)
   Standard Forms + Containers + Grid
   ========================================================= */

/* 1) Preserve Fluent Forms layout spacing (grid/containers) */
.fluentform .ff-el-group,
.fluentform .ff-el-input--content,
.fluentform .ff-el-input--label,
.fluentform .ff-el-form-check,
.fluentform .ff-el-form-check-inline {
  /* Do NOT reset margins here */
}

/* Add consistent field spacing WITHOUT nuking grid */
.fluentform .ff-el-group{
  margin-bottom: 16px;
}
.fluentform .ff-el-group:last-child{
  margin-bottom: 0;
}

/* Container blocks (Fluent Forms "Container" fields) */
.fluentform .ff-t-container{
  margin-bottom: 16px;
}
.fluentform .ff-t-container:last-child{
  margin-bottom: 0;
}

/* Grid columns / gutters (Fluent grid classes vary by version; cover common ones) */
.fluentform .ff-t-container .ff-t-column,
.fluentform .ff-t-container .ff-t-cell,
.fluentform .ff-el-group.ff-el-column {
  padding-left: 10px;
  padding-right: 10px;
}

/* Ensure rows don't collapse gutters */
.fluentform .ff-t-container .ff-t-row,
.fluentform .ff-el-group.ff-el-row {
  margin-left: -10px;
  margin-right: -10px;
}

/* 2) Labels + help text */
.fluentform .ff-el-input--label label,
.fluentform .ff-el-input--label{
  color: var(--et-text);
  font-weight: 600;
}

.fluentform .ff-el-help-message,
.fluentform .ff-el-input--help,
.fluentform .ff-description{
  color: var(--et-muted);
}

/* 3) Text inputs / textarea / select — outlined 2px */
.fluentform .ff-el-form-control:not([type="checkbox"]):not([type="radio"]),
.fluentform textarea.ff-el-form-control,
.fluentform select.ff-el-form-control{
  border: var(--et-border) solid var(--et-text) !important;
  border-radius: var(--et-radius) !important;
  background: transparent !important;
  color: var(--et-text) !important;
  box-shadow: none !important;
  min-height: 44px;
  padding: 10px 12px !important;
  transition: transform .08s ease, background-color .12s ease, border-color .12s ease;
}

.fluentform textarea.ff-el-form-control{
  min-height: 140px;
  resize: vertical;
}

.fluentform .ff-el-form-control::placeholder{
  color: var(--et-muted) !important;
  opacity: 1;
}

/* Focus */
.fluentform .ff-el-form-control:focus,
.fluentform textarea.ff-el-form-control:focus,
.fluentform select.ff-el-form-control:focus{
  border-color: var(--et-accent) !important;
  background-color: rgba(61,66,31,.04) !important;
  outline: none !important;
}

/* IMPORTANT: do NOT force appearance:none globally (it breaks check/radio in some themes) */
/* (Intentionally omitted) */

/* 4) Checkboxes & radios — visible + on-brand */
.fluentform input[type="checkbox"],
.fluentform input[type="radio"]{
  appearance: auto !important;           /* ensures they render */
  -webkit-appearance: auto !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 10px 0 0 !important;
  accent-color: var(--et-accent);        /* modern browsers */
  vertical-align: middle;
}

/* Align checkbox/radio rows nicely */
.fluentform .ff-el-form-check,
.fluentform .ff-el-form-check-inline{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}
.fluentform .ff-el-form-check:last-child,
.fluentform .ff-el-form-check-inline:last-child{
  margin-bottom: 0;
}
.fluentform .ff-el-form-check-label{
  color: var(--et-text);
  line-height: 1.35;
}

/* 5) Buttons */
.fluentform .ff-btn,
.fluentform button.ff-btn,
.fluentform input[type="submit"].ff-btn{
  border: var(--et-border) solid var(--et-text) !important;
  border-radius: var(--et-radius) !important;
  background: transparent !important;
  color: var(--et-text) !important;
  box-shadow: none !important;
  padding: 12px 18px !important;
  min-height: 44px;
  font-weight: 700;
  transition: transform .08s ease, background-color .12s ease, border-color .12s ease;
}

/* Primary submit button = green */
.fluentform .ff-btn.ff-btn-submit{
  background: var(--et-accent) !important;
  border-color: var(--et-accent) !important;
  color: var(--et-bg) !important;
}
.fluentform .ff-btn.ff-btn-submit:hover{
  background-color: #344018 !important;
  transform: translateY(-1px);
}

/* Hover for non-primary buttons */
.fluentform .ff-btn:not(.ff-btn-submit):hover{
  background-color: rgba(48,35,18,.06) !important;
  transform: translateY(-1px);
}

/* 6) Errors + success */
.fluentform .ff-el-is-error .ff-el-form-control:not([type="checkbox"]):not([type="radio"]),
.fluentform .ff-el-is-error textarea.ff-el-form-control,
.fluentform .ff-el-is-error select.ff-el-form-control{
  border-color: var(--et-clay) !important;
  background-color: rgba(128,80,44,.04) !important;
}

.fluentform .ff-el-error,
.fluentform .error,
.fluentform .ff-message-error{
  color: var(--et-clay) !important;
  font-weight: 600;
}

.fluentform .ff-message-success{
  border: var(--et-border) solid var(--et-accent) !important;
  border-radius: var(--et-radius);
  background: rgba(61,66,31,.05) !important;
  color: var(--et-text) !important;
  padding: 14px 16px !important;
}

/* =========================================================
   Ellijay Trading — Kadence Blog Post Carousel (2px Outline)
   Targets Kadence Post/Content Carousels + common wrappers
   ========================================================= */

/* --- 1) Card styling for each post item --- */
.wp-block-kadence-posts .kt-post-grid-item,
.wp-block-kadence-posts .kt-blocks-post-grid-item,
.kadence-post-carousel-wrap .kt-post-grid-item,
.kadence-post-carousel-wrap .kt-blocks-post-grid-item,
.kt-post-carousel .kt-post-grid-item,
.kt-post-carousel .kt-blocks-post-grid-item{
  border: var(--et-border) solid var(--et-text);
  border-radius: var(--et-radius);
  background: transparent;
  padding: 18px;
  box-shadow: none;
  transition: transform .08s ease, background-color .12s ease, border-color .12s ease;
}

/* Hover/focus (when card contains links/buttons) */
.wp-block-kadence-posts .kt-post-grid-item:hover,
.wp-block-kadence-posts .kt-blocks-post-grid-item:hover,
.kadence-post-carousel-wrap .kt-post-grid-item:hover,
.kadence-post-carousel-wrap .kt-blocks-post-grid-item:hover,
.kt-post-carousel .kt-post-grid-item:hover,
.kt-post-carousel .kt-blocks-post-grid-item:hover,
.wp-block-kadence-posts .kt-post-grid-item:focus-within,
.wp-block-kadence-posts .kt-blocks-post-grid-item:focus-within{
  border-color: var(--et-accent);
  background-color: rgba(61,66,31,.05);
  transform: translateY(-1px);
}

/* --- 2) Featured image rounding + spacing --- */
.wp-block-kadence-posts .kt-blocks-post-grid-item .kt-blocks-post-grid-image img,
.wp-block-kadence-posts .kt-post-grid-item .kt-blocks-post-grid-image img,
.kadence-post-carousel-wrap .kt-blocks-post-grid-image img{
  border-radius: calc(var(--et-radius) - 4px);
}

/* Give the image breathing room if Kadence doesn't */
.wp-block-kadence-posts .kt-blocks-post-grid-image,
.wp-block-kadence-posts .kt-blocks-post-grid-item .kt-blocks-post-grid-image{
  margin-bottom: 14px;
}

/* --- 3) Title / excerpt / meta --- */
.wp-block-kadence-posts .kt-blocks-post-grid-title a,
.wp-block-kadence-posts .kt-post-grid-title a{
  color: var(--et-text);
  text-decoration: none;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.wp-block-kadence-posts .kt-blocks-post-grid-title a:hover,
.wp-block-kadence-posts .kt-post-grid-title a:hover{
  text-decoration: underline;
  text-decoration-color: var(--et-accent);
}

.wp-block-kadence-posts .kt-blocks-post-grid-excerpt,
.wp-block-kadence-posts .kt-post-grid-excerpt{
  color: var(--et-muted);
  margin-top: 8px;
}

/* Meta (date / author / categories) */
.wp-block-kadence-posts .kt-blocks-post-grid-meta,
.wp-block-kadence-posts .kt-post-grid-meta,
.wp-block-kadence-posts .kt-blocks-post-grid-item .kt-blocks-post-grid-meta{
  color: var(--et-muted);
  font-size: 13px;
}

/* --- 4) “Read More” link/button styling (if enabled) --- */
.wp-block-kadence-posts .kt-blocks-post-grid-readmore a,
.wp-block-kadence-posts .kt-post-grid-readmore a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;

  border: var(--et-border) solid var(--et-text);
  border-radius: var(--et-radius);
  padding: 10px 14px;

  color: var(--et-text);
  background: transparent;
  text-decoration: none;
  transition: transform .08s ease, background-color .12s ease, border-color .12s ease;
}

.wp-block-kadence-posts .kt-blocks-post-grid-readmore a:hover,
.wp-block-kadence-posts .kt-post-grid-readmore a:hover{
  background-color: rgba(48,35,18,.06);
  transform: translateY(-1px);
}

/* --- 5) Carousel arrows (slick/swiper style variants) --- */
/* Common Kadence arrow buttons */
.kadence-post-carousel-wrap .slick-arrow,
.wp-block-kadence-posts .slick-arrow,
.kadence-post-carousel-wrap .kb-carousel-prev,
.kadence-post-carousel-wrap .kb-carousel-next,
.wp-block-kadence-posts .kb-carousel-prev,
.wp-block-kadence-posts .kb-carousel-next{
  border: var(--et-border) solid var(--et-text) !important;
  border-radius: 999px !important;
  background: var(--et-bg) !important;
  color: var(--et-text) !important;
  box-shadow: none !important;
  width: 44px !important;
  height: 44px !important;
  transition: transform .08s ease, background-color .12s ease, border-color .12s ease;
}

.kadence-post-carousel-wrap .slick-arrow:hover,
.wp-block-kadence-posts .slick-arrow:hover,
.kadence-post-carousel-wrap .kb-carousel-prev:hover,
.kadence-post-carousel-wrap .kb-carousel-next:hover{
  border-color: var(--et-accent) !important;
  background-color: rgba(61,66,31,.06) !important;
  transform: translateY(-1px);
}

/* --- 6) Carousel dots (if enabled) --- */
.kadence-post-carousel-wrap .slick-dots li button:before,
.wp-block-kadence-posts .slick-dots li button:before{
  color: var(--et-text);
  opacity: .35;
}

.kadence-post-carousel-wrap .slick-dots li.slick-active button:before,
.wp-block-kadence-posts .slick-dots li.slick-active button:before{
  color: var(--et-accent);
  opacity: .9;
}

/* --- 7) Optional: equalize title height to reduce “jagged” rows --- */
.wp-block-kadence-posts .kt-blocks-post-grid-title{
  min-height: 2.6em; /* ~2 lines */
}

/* --- 8) Optional: tighten spacing inside the card (Kadence sometimes adds extra) --- */
.wp-block-kadence-posts .kt-blocks-post-grid-item > *:first-child{
  margin-top: 0;
}
.wp-block-kadence-posts .kt-blocks-post-grid-item > *:last-child{
  margin-bottom: 0;
}

/* =========================================================
   Ellijay Trading — Kadence Post Grid / Post Loop
   Wrapper example:
   .wp-block-kadence-postgrid.kt-post-loop181_140cbb-a3 ... et-card
   ========================================================= */

/* 1) Don't let et-card styling on the WRAPPER look like a big box */
.wp-block-kadence-postgrid.et-card{
  padding: 0;                /* wrapper should not be a card */
  border: 0;                 /* wrapper should not be a card */
  background: transparent;
}

/* 2) Tile styling — apply the 2px outline card to EACH post item */
.wp-block-kadence-postgrid .kt-post-grid-item,
.wp-block-kadence-postgrid .kt-blocks-post-grid-item{
  border: var(--et-border) solid var(--et-text);
  border-radius: var(--et-radius);
  background: transparent;
  padding: 18px;
  box-shadow: none;
  transition: transform .08s ease, background-color .12s ease, border-color .12s ease;
}

/* 3) Hover/focus states */
.wp-block-kadence-postgrid .kt-post-grid-item:hover,
.wp-block-kadence-postgrid .kt-blocks-post-grid-item:hover,
.wp-block-kadence-postgrid .kt-post-grid-item:focus-within,
.wp-block-kadence-postgrid .kt-blocks-post-grid-item:focus-within{
  border-color: var(--et-accent);
  background-color: rgba(61,66,31,.05);
  transform: translateY(-1px);
}

/* 4) Featured image — rounded + breathing room */
.wp-block-kadence-postgrid .kt-blocks-post-grid-image{
  margin-bottom: 14px;
}

.wp-block-kadence-postgrid .kt-blocks-post-grid-image img{
  border-radius: calc(var(--et-radius) - 4px);
}

/* 5) Titles, excerpts, meta */
.wp-block-kadence-postgrid .kt-blocks-post-grid-title a,
.wp-block-kadence-postgrid .kt-post-grid-title a{
  color: var(--et-text);
  text-decoration: none;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.wp-block-kadence-postgrid .kt-blocks-post-grid-title a:hover,
.wp-block-kadence-postgrid .kt-post-grid-title a:hover{
  text-decoration: underline;
  text-decoration-color: var(--et-accent);
}

.wp-block-kadence-postgrid .kt-blocks-post-grid-excerpt,
.wp-block-kadence-postgrid .kt-post-grid-excerpt{
  color: var(--et-muted);
  margin-top: 8px;
}

/* Meta line (date/author/categories) */
.wp-block-kadence-postgrid .kt-blocks-post-grid-meta,
.wp-block-kadence-postgrid .kt-post-grid-meta{
  color: var(--et-muted);
  font-size: 13px;
}

/* 6) "Read More" link/button (if enabled) */
.wp-block-kadence-postgrid .kt-blocks-post-grid-readmore a,
.wp-block-kadence-postgrid .kt-post-grid-readmore a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;

  border: var(--et-border) solid var(--et-text);
  border-radius: var(--et-radius);
  padding: 10px 14px;

  color: var(--et-text);
  background: transparent;
  text-decoration: none;
  transition: transform .08s ease, background-color .12s ease, border-color .12s ease;
}

.wp-block-kadence-postgrid .kt-blocks-post-grid-readmore a:hover,
.wp-block-kadence-postgrid .kt-post-grid-readmore a:hover{
  background-color: rgba(48,35,18,.06);
  transform: translateY(-1px);
}

/* 7) Keep tile spacing consistent (Kadence grid gap can vary by theme) */
.wp-block-kadence-postgrid .kt-post-grid-items,
.wp-block-kadence-postgrid .kt-blocks-post-grid-items{
  gap: 24px; /* tweak: 16 / 24 / 32 */
}

/* 8) Optional: reduce jagged heights by normalizing title area */
.wp-block-kadence-postgrid .kt-blocks-post-grid-title,
.wp-block-kadence-postgrid .kt-post-grid-title{
  min-height: 2.6em; /* ~2 lines */
}

/* 9) Optional: remove extra top/bottom margins Kadence sometimes injects inside items */
.wp-block-kadence-postgrid .kt-post-grid-item > *:first-child,
.wp-block-kadence-postgrid .kt-blocks-post-grid-item > *:first-child{
  margin-top: 0;
}
.wp-block-kadence-postgrid .kt-post-grid-item > *:last-child,
.wp-block-kadence-postgrid .kt-blocks-post-grid-item > *:last-child{
  margin-bottom: 0;
}

/* =========================================================
   ET — Kadence Post Grid Featured Image "Recessed Glass"
   Requires block class: et-blog-grid
   Works for IMG or background-image thumbnails
   ========================================================= */

/* 0) If et-card was added to the post grid wrapper, don't style wrapper as a card */
.et-blog-grid.et-card{
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* 1) Featured image wrappers inside Kadence post items */
.et-blog-grid .kt-post-grid-item figure,
.et-blog-grid .kt-post-grid-item .kb-post-image,
.et-blog-grid .kt-post-grid-item .kt-post-image,
.et-blog-grid .kt-post-grid-item .kt-blocks-post-grid-image,
.et-blog-grid .kt-post-grid-item .kt-post-thumbnail,
.et-blog-grid .kt-blocks-post-grid-item figure,
.et-blog-grid .kt-blocks-post-grid-item .kb-post-image,
.et-blog-grid .kt-blocks-post-grid-item .kt-post-image,
.et-blog-grid .kt-blocks-post-grid-item .kt-blocks-post-grid-image,
.et-blog-grid .kt-blocks-post-grid-item .kt-post-thumbnail{
  position: relative;
  border-radius: calc(var(--et-radius) - 2px) !important;
  overflow: hidden;
}

/* 2) If the featured image is rendered as an image element */
.et-blog-grid .kt-post-grid-item img,
.et-blog-grid .kt-blocks-post-grid-item img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: calc(var(--et-radius) - 2px) !important;
  filter: saturate(.95) contrast(.98);
}

/* 3) If the thumbnail is a background-image element, round it too */
.et-blog-grid .kt-post-grid-item [style*="background-image"],
.et-blog-grid .kt-blocks-post-grid-item [style*="background-image"]{
  border-radius: calc(var(--et-radius) - 2px) !important;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

/* 4) Glass reflection layer */
.et-blog-grid .kt-post-grid-item figure::before,
.et-blog-grid .kt-post-grid-item .kb-post-image::before,
.et-blog-grid .kt-post-grid-item .kt-post-image::before,
.et-blog-grid .kt-post-grid-item .kt-blocks-post-grid-image::before,
.et-blog-grid .kt-post-grid-item .kt-post-thumbnail::before,
.et-blog-grid .kt-blocks-post-grid-item figure::before,
.et-blog-grid .kt-blocks-post-grid-item .kb-post-image::before,
.et-blog-grid .kt-blocks-post-grid-item .kt-post-image::before,
.et-blog-grid .kt-blocks-post-grid-item .kt-blocks-post-grid-image::before,
.et-blog-grid .kt-blocks-post-grid-item .kt-post-thumbnail::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:calc(var(--et-radius) - 2px);
  background:linear-gradient(135deg,rgba(255,255,255,.20) 0%,rgba(255,255,255,.08) 35%,rgba(255,255,255,0) 55%);
  opacity:.55;
  z-index:2;
}

/* 5) Recessed depth layer */
.et-blog-grid .kt-post-grid-item figure::after,
.et-blog-grid .kt-post-grid-item .kb-post-image::after,
.et-blog-grid .kt-post-grid-item .kt-post-image::after,
.et-blog-grid .kt-post-grid-item .kt-blocks-post-grid-image::after,
.et-blog-grid .kt-post-grid-item .kt-post-thumbnail::after,
.et-blog-grid .kt-blocks-post-grid-item figure::after,
.et-blog-grid .kt-blocks-post-grid-item .kb-post-image::after,
.et-blog-grid .kt-blocks-post-grid-item .kt-post-image::after,
.et-blog-grid .kt-blocks-post-grid-item .kt-blocks-post-grid-image::after,
.et-blog-grid .kt-blocks-post-grid-item .kt-post-thumbnail::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:calc(var(--et-radius) - 2px);
  box-shadow:inset 0 0 0 1px rgba(48,35,18,.18), inset 0 10px 18px rgba(0,0,0,.18), inset 0 -8px 14px rgba(255,255,255,.12);
  z-index:3;
}

/* 6) Hover: reduce reflection slightly */
.et-blog-grid .kt-post-grid-item:hover figure::before,
.et-blog-grid .kt-post-grid-item:hover .kb-post-image::before,
.et-blog-grid .kt-post-grid-item:hover .kt-post-image::before,
.et-blog-grid .kt-post-grid-item:hover .kt-blocks-post-grid-image::before,
.et-blog-grid .kt-post-grid-item:hover .kt-post-thumbnail::before,
.et-blog-grid .kt-blocks-post-grid-item:hover figure::before,
.et-blog-grid .kt-blocks-post-grid-item:hover .kb-post-image::before,
.et-blog-grid .kt-blocks-post-grid-item:hover .kt-post-image::before,
.et-blog-grid .kt-blocks-post-grid-item:hover .kt-blocks-post-grid-image::before,
.et-blog-grid .kt-blocks-post-grid-item:hover .kt-post-thumbnail::before{
  opacity: .35;
}

.single-post .post-thumbnail,
.single-post .wp-block-post-featured-image,
.single-post .entry-content .wp-block-post-featured-image,
.single-post .kadence-featured-image,
.single-post .featured-image{
  position:relative;
  border-radius:var(--et-radius);
  overflow:hidden;
  margin-bottom:18px;
}

.single-post .post-thumbnail img,
.single-post .wp-block-post-featured-image img,
.single-post .kadence-featured-image img,
.single-post .featured-image img{
  display:block;
  width:100%;
  height:auto;
  border-radius:var(--et-radius);
  filter:saturate(.95) contrast(.98);
}

.single-post .post-thumbnail::before,
.single-post .wp-block-post-featured-image::before,
.single-post .kadence-featured-image::before,
.single-post .featured-image::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:var(--et-radius);
  background:linear-gradient(135deg,rgba(255,255,255,.20) 0%,rgba(255,255,255,.08) 35%,rgba(255,255,255,0) 55%);
  opacity:.55;
  z-index:2;
}

.single-post .post-thumbnail::after,
.single-post .wp-block-post-featured-image::after,
.single-post .kadence-featured-image::after,
.single-post .featured-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:var(--et-radius);
  box-shadow:inset 0 0 0 1px rgba(48,35,18,.18), inset 0 10px 18px rgba(0,0,0,.18), inset 0 -8px 14px rgba(255,255,255,.12);
  z-index:3;
}

.single-post .post-thumbnail:hover::before,
.single-post .wp-block-post-featured-image:hover::before,
.single-post .kadence-featured-image:hover::before,
.single-post .featured-image:hover::before{
  opacity:.35;
}

.single-post .entry-content-wrap,
.single-post .content-area .site-main,
.single-post .site-main .entry-content{
  box-shadow:none !important;
}

.single-post article.post,
.single-post .entry,
.single-post .post{
  background:var(--et-bg);
}

.single-post .entry-content{
  border:var(--et-border) solid var(--et-text);
  border-radius:var(--et-radius);
  background:rgba(255,255,255,.25);
  padding:28px 26px;
  line-height:1.7;
  font-size:18px;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.single-post .entry-content p{ margin:0 0 1.05em 0; }

.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4{
  margin-top:1.3em;
  margin-bottom:.55em;
}

.single-post .entry-content hr{
  border:0;
  border-top:1px solid var(--et-sand);
  margin:1.6em 0;
}

.single-post .entry-content blockquote{
  margin:1.4em 0;
  padding:14px 16px;
  border-left:var(--et-border) solid var(--et-accent);
  background:rgba(61,66,31,.05);
  border-radius:10px;
}

.single-post .entry-content img,
.single-post .entry-content figure,
.single-post .entry-content iframe,
.single-post .entry-content video{
  max-width:100%;
}

.single-post .entry-content img{
  border-radius:calc(var(--et-radius) - 2px);
}

@media (max-width:780px){
  .single-post .post-thumbnail::before,
  .single-post .wp-block-post-featured-image::before,
  .single-post .kadence-featured-image::before,
  .single-post .featured-image::before{ opacity:.42; }

  .single-post .post-thumbnail::after,
  .single-post .wp-block-post-featured-image::after,
  .single-post .kadence-featured-image::after,
  .single-post .featured-image::after{
    box-shadow:inset 0 0 0 1px rgba(48,35,18,.16), inset 0 8px 14px rgba(0,0,0,.16), inset 0 -6px 10px rgba(255,255,255,.10);
  }

  .single-post .entry-content{
    padding:20px 16px;
    font-size:17px;
    line-height:1.68;
  }

  .single-post .entry-content h2{
    font-size:24px;
    line-height:1.25;
    margin-top:1.2em;
  }

  .single-post .entry-content h3{
    font-size:20px;
    line-height:1.28;
  }

  .single-post .entry-content blockquote{ padding:12px 14px; }
	
  .single-post .post-thumbnail img,
  .single-post .wp-block-post-featured-image img{
    max-height: 360px;
    object-fit: cover;
	border-radius: 0;
  }
}

@media (max-width:420px){
  .single-post .entry-content{
    padding:18px 14px;
    font-size:16.5px;
  }
}

.single-post .wp-caption-text,
.single-post figcaption{
  color: var(--et-muted);
  font-size: 14px;
  margin-top: 8px;
}

/* Archive and Category Page styles */

.et-archive-grid .et-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin:0;
  padding:0;
}

.et-archive-grid article.et-archive-card{
  border:var(--et-border,2px) solid var(--et-text,#302312);
  border-radius:var(--et-radius,12px);
  padding:18px;
  background:transparent;
  box-shadow:none;
  transition:transform .08s ease, background-color .12s ease, border-color .12s ease;
}

.et-archive-grid article.et-archive-card:hover,
.et-archive-grid article.et-archive-card:focus-within{
  border-color:var(--et-accent,#3d421f);
  background-color:rgba(61,66,31,.05);
  transform:translateY(-1px);
}

.et-archive-grid .et-archive-thumb{
  position:relative;
  overflow:hidden;
  border-radius:calc(var(--et-radius,12px) - 2px);
  margin:0 0 14px 0;
}

.et-archive-grid .et-archive-thumb img{
  display:block;
  width:100%;
  height:auto;
  border-radius:calc(var(--et-radius,12px) - 2px);
  filter:saturate(.95) contrast(.98);
}

.et-archive-grid .et-archive-thumb::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:calc(var(--et-radius,12px) - 2px);
  background:linear-gradient(135deg,rgba(255,255,255,.20) 0%,rgba(255,255,255,.08) 35%,rgba(255,255,255,0) 55%);
  opacity:.55;
  z-index:2;
}

.et-archive-grid .et-archive-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:calc(var(--et-radius,12px) - 2px);
  box-shadow:inset 0 0 0 1px rgba(48,35,18,.18), inset 0 10px 18px rgba(0,0,0,.18), inset 0 -8px 14px rgba(255,255,255,.12);
  z-index:3;
}

.et-archive-grid .et-archive-title{
  margin:0 0 8px 0;
}

.et-archive-grid .et-archive-title a{
  color:var(--et-text,#302312);
  text-decoration:none;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

.et-archive-grid .et-archive-title a:hover{
  text-decoration:underline;
  text-decoration-color:var(--et-accent,#3d421f);
}

.et-archive-grid .et-archive-meta{
  color:var(--et-muted,#9f8d79);
  font-size:13px;
}

.et-archive-grid .et-archive-excerpt{
  color:var(--et-muted,#9f8d79);
  margin-top:10px;
}

.et-archive-grid .et-archive-actions{
  margin-top:12px;
}

.et-archive-grid .et-archive-readmore{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:var(--et-border,2px) solid var(--et-text,#302312);
  border-radius:var(--et-radius,12px);
  padding:10px 14px;
  color:var(--et-text,#302312);
  background:transparent;
  text-decoration:none;
  transition:transform .08s ease, background-color .12s ease, border-color .12s ease;
}

.et-archive-grid .et-archive-readmore:hover{
  background-color:rgba(48,35,18,.06);
  transform:translateY(-1px);
}

@media (max-width:1024px){
  .et-archive-grid .et-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:780px){
  .et-archive-grid .et-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .et-archive-grid .et-archive-thumb::before{
    opacity:.42;
  }
  .et-archive-grid .et-archive-thumb::after{
    box-shadow:inset 0 0 0 1px rgba(48,35,18,.16), inset 0 8px 14px rgba(0,0,0,.16), inset 0 -6px 10px rgba(255,255,255,.10);
  }
}

/* ROUND 2 - Fix Checkout page */

/* Woo Blocks Checkout: align line item prices with totals */
.wc-block-checkout__order-summary
.wp-block-woocommerce-checkout-order-summary-cart-items-block
.wc-block-components-order-summary-item__total-price{
  margin-left:auto;
  text-align:right;
  padding-right:0;
  justify-content:flex-end;
}

/* Checkout summary: ensure all values align to the same right edge */
.wc-block-checkout__order-summary
.wc-block-components-order-summary-item__total-price,
.wc-block-checkout__order-summary
.wc-block-components-totals-item__value{
  min-width:6ch;
  text-align:right;
}

/* Defensive alignment: always push price to the far edge */
.wc-block-checkout__order-summary
.wc-block-components-order-summary-item__total-price{
  margin-inline-start:auto;
}

/* FIX THE STRIPE BOX */

.wc-block-checkout .wc-block-components-payment-methods__content{
  border:var(--et-border,2px) solid var(--et-text,#302312);
  border-radius:var(--et-radius,12px);
  background:rgba(255,255,255,.22);
  box-shadow:none;
  padding:16px;
}

.wc-block-checkout .wc-stripe-elements-field,
.wc-block-checkout .wc-stripe-elements-field .StripeElement,
.wc-block-checkout .wc-stripe-elements-field .stripe-card-element,
.wc-block-checkout .wc-stripe-elements-field .StripeElement--empty{
  border:var(--et-border,2px) solid var(--et-text,#302312);
  border-radius:var(--et-radius,12px);
  background:rgba(255,255,255,.28);
  padding:12px 12px;
  box-shadow:none;
}

.wc-block-checkout .wc-stripe-elements-field .StripeElement--focus{
  outline:none;
  border-color:var(--et-accent,#3d421f);
  box-shadow:0 0 0 3px rgba(61,66,31,.18);
}

.wc-block-checkout .wc-stripe-elements-field .StripeElement{
  border:0;
  background:transparent;
  padding:0;
}

.wc-block-checkout .wc-block-components-payment-method-label,
.wc-block-checkout .wc-block-components-radio-control__label{
  color:var(--et-text,#302312);
  font-weight:600;
}

.wc-block-checkout .wc-block-components-payment-methods__content p,
.wc-block-checkout .wc-block-components-payment-methods__content .wc-block-components-notice-banner,
.wc-block-checkout .wc-block-components-payment-methods__content .wc-block-components-validation-error{
  color:var(--et-muted,#9f8d79);
}