/* kd-store.css — the store's presentation layer (Aug 12).
 * One warm editorial voice across: the single-product gallery, the cart and checkout BLOCKS
 * (wc-block-components-*), My Account, and the /store/ archive. Palette mirrors kd-site:
 * cream #faf7f3 · ink #13181d · sub #5f5b54 · clay #8f4d3f · sand #d8a066 · line #e6ded7.
 * Senior-friendly floors: 16px inputs, 44px targets. */

/* ══ 1. The single-product page ═══════════════════════════════════════════ */
.single-product div.product { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 44px; align-items: start; }
@media (max-width: 880px) { .single-product div.product { grid-template-columns: 1fr; gap: 26px; } }

/* the gallery: a framed stage, not a naked stack */
.single-product div.product .woocommerce-product-gallery { margin: 0; }
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper { border-radius: 16px; }
.woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
  border: 1px solid #e6ded7; border-radius: 16px; overflow: hidden; background: #fff;
  box-shadow: 0 2px 6px rgba(19,24,29,.05), 0 22px 48px -26px rgba(143,77,63,.35); }
.woocommerce-product-gallery .woocommerce-product-gallery__image a { display: block; }
.woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width: 100%; height: auto; display: block; }
/* thumbnails: a tidy shelf of previews */
.woocommerce-product-gallery .flex-control-thumbs { display: flex !important; gap: 10px;
  margin: 14px 0 0; padding: 0; list-style: none; flex-wrap: wrap; }
.woocommerce-product-gallery .flex-control-thumbs li { width: calc(20% - 8px); margin: 0; }
.woocommerce-product-gallery .flex-control-thumbs img { border: 2px solid #e6ded7;
  border-radius: 10px; opacity: .65; transition: opacity .15s ease, border-color .15s ease;
  cursor: pointer; display: block; width: 100%; }
.woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  opacity: 1; border-color: #8f4d3f; }
.woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  background: #fff; border-radius: 50%; box-shadow: 0 2px 8px rgba(19,24,29,.18); }

/* the summary column: price, promise, one big door */
.single-product div.product .summary .product_title { font-family: Lora, Georgia, serif;
  font-size: clamp(28px, 3.4vw, 38px); line-height: 1.12; letter-spacing: -.01em; color: #13181d; }
.single-product div.product .summary .price,
.single-product .price.wp-block-woocommerce-product-price { font-family: Lora, Georgia, serif;
  font-size: 30px; color: #8f4d3f; margin: 10px 0 4px; }
.single-product div.product .summary .woocommerce-product-details__short-description
  { color: #5f5b54; font-size: 16.5px; line-height: 1.6; }
.single-product div.product .summary form.cart,
.single-product .wp-block-woocommerce-add-to-cart-form form.cart { margin: 22px 0 10px; display: flex;
  gap: 12px; flex-wrap: wrap; align-items: center; }
.single-product div.product .summary .single_add_to_cart_button,
.single-product .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button {
  background: #8f4d3f; color: #fff; border: 0; border-radius: 999px; padding: 17px 34px;
  font-size: 16.5px; font-weight: 700; cursor: pointer; min-height: 52px;
  box-shadow: 0 8px 22px -8px rgba(143,77,63,.55);
  transition: transform .15s ease, box-shadow .15s ease; }
.single-product div.product .summary .single_add_to_cart_button:hover,
.single-product .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button:hover {
  transform: translateY(-2px); box-shadow: 0 12px 26px -8px rgba(143,77,63,.6); }
.single-product div.product .summary .quantity .qty,
.single-product .wp-block-woocommerce-add-to-cart-form .quantity .qty { min-height: 52px; width: 84px;
  border: 2px solid #e6ded7; border-radius: 12px; font-size: 17px; text-align: center; }
.single-product .product_meta { border-top: 1px solid #e6ded7; padding-top: 14px;
  color: #948b81; font-size: 13px; }

/* ══ 2. The cart block: warm, obvious, unhurried ══════════════════════════ */
.wp-block-woocommerce-cart { max-width: 1080px; margin-inline: auto; }
.wc-block-cart { gap: 30px; }
.wc-block-cart .wc-block-cart-items { background: #fff; border: 1px solid #e6ded7;
  border-radius: 16px; padding: 8px 22px;
  box-shadow: 0 1px 3px rgba(19,24,29,.04), 0 14px 34px -24px rgba(19,24,29,.25); }
.wc-block-cart-items__header span { font-size: 12px; letter-spacing: .08em;
  text-transform: uppercase; color: #948b81; font-weight: 700; }
.wc-block-cart-item__image img { border-radius: 12px; border: 1px solid #e6ded7; }
.wc-block-components-product-name { font-family: Lora, Georgia, serif; font-weight: 700;
  font-size: 17px; color: #13181d !important; text-decoration: none; }
.wc-block-cart-item__prices, .wc-block-cart-item__total .wc-block-components-product-price
  { color: #8f4d3f; font-weight: 700; }
.wc-block-components-quantity-selector { border: 2px solid #e6ded7; border-radius: 10px; }
.wc-block-components-quantity-selector input,
.wc-block-components-quantity-selector button { min-height: 44px; min-width: 40px; font-size: 16px; }
.wc-block-cart-item__remove-link { color: #948b81; font-size: 13px; }
.wc-block-cart-item__remove-link:hover { color: #a83e34; }

/* the totals card */
.wc-block-cart__sidebar .wc-block-components-sidebar,
.wc-block-cart__sidebar { }
.wc-block-cart .wc-block-components-sidebar .wc-block-components-panel,
.wc-block-cart .wc-block-components-totals-wrapper,
.wc-block-cart .wc-block-components-totals-item { font-size: 15.5px; }
.wc-block-cart__sidebar .wc-block-components-sidebar > * ,
.is-large.wc-block-cart .wc-block-cart__totals-title { }
.is-large.wc-block-cart .wc-block-cart__sidebar { background: linear-gradient(150deg,#faf7f3,#f6ead9);
  border: 1px solid #e2c9a8; border-radius: 16px; padding: 10px 18px 18px;
  box-shadow: 0 2px 6px rgba(19,24,29,.05), 0 18px 40px -26px rgba(143,77,63,.4); }
.wc-block-cart__totals-title { font-family: Lora, Georgia, serif !important;
  font-size: 19px !important; text-transform: none !important; letter-spacing: 0 !important;
  color: #13181d !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label
  { font-family: Lora, Georgia, serif; font-size: 22px; color: #13181d; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  background: #8f4d3f !important; color: #fff !important; border: 0 !important;
  border-radius: 999px !important; font-size: 17px !important; font-weight: 700 !important;
  min-height: 54px !important; box-shadow: 0 8px 22px -8px rgba(143,77,63,.55);
  transition: transform .15s ease; }
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover
  { transform: translateY(-2px); }

/* empty cart: an invitation, not a shrug */
.wp-block-woocommerce-empty-cart-block h2 { font-family: Lora, Georgia, serif;
  color: #13181d; font-size: 30px; }
.wp-block-woocommerce-empty-cart-block .wp-block-button__link { background: #8f4d3f;
  border-radius: 999px; padding: 15px 30px; font-weight: 700; }

/* ══ 3. The checkout block: calm fields, one door ═════════════════════════ */
.wp-block-woocommerce-checkout { max-width: 1080px; margin-inline: auto; }
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-form .wc-block-components-text-input textarea,
.wc-block-components-country-input select,
.wc-block-components-state-input select { min-height: 50px; font-size: 16px;
  border: 2px solid #e6ded7; border-radius: 12px; }
.wc-block-components-text-input input:focus, .wc-block-components-form select:focus
  { border-color: #d8a066; box-shadow: 0 0 0 3px rgba(216,160,102,.25); }
.wc-block-components-checkout-step__title { font-family: Lora, Georgia, serif;
  font-size: 19px; color: #13181d; }
.wc-block-components-checkout-step__description { color: #5f5b54; font-size: 14px; }
.wc-block-checkout__sidebar .wc-block-components-panel { font-size: 15px; }
.wc-block-checkout__sidebar { background: linear-gradient(150deg,#faf7f3,#f6ead9);
  border: 1px solid #e2c9a8; border-radius: 16px; padding: 8px 16px 14px; }
.wc-block-components-order-summary-item__image img { border-radius: 10px;
  border: 1px solid #e6ded7; }
.wc-block-components-order-summary-item__description { font-size: 14px; }

/* ══ 4. The /store/ archive: cards worth browsing ═════════════════════════ */
.woocommerce ul.products { display: grid; gap: 26px;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.woocommerce ul.products li.product { background: #fff; border: 1px solid #e6ded7;
  border-radius: 16px; overflow: hidden; text-align: left; padding: 0 0 16px;
  transition: transform .18s cubic-bezier(.22,1,.36,1), box-shadow .18s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-4px);
  box-shadow: 0 12px 28px -10px rgba(19,24,29,.18); }
.woocommerce ul.products li.product img { width: 100%; aspect-ratio: 1; object-fit: cover;
  margin: 0 0 12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: Lora, Georgia, serif; font-size: 17px; line-height: 1.3; color: #13181d;
  padding: 0 16px; }
.woocommerce ul.products li.product .price { color: #8f4d3f; font-weight: 700;
  font-size: 16px; padding: 4px 16px 0; }
.woocommerce ul.products li.product .button { margin: 10px 16px 0; background: #8f4d3f;
  color: #fff; border-radius: 999px; padding: 11px 20px; font-weight: 700; }

/* ══ 5. The kd trust line (rendered by kd-store-funnel under cart/checkout) ═ */
.kd-trust { display: flex; gap: 10px; align-items: center; justify-content: center;
  margin: 18px auto 6px; max-width: 1080px; color: #5f5b54; font-size: 14.5px; flex-wrap: wrap; }
.kd-trust b { color: #13181d; }
.kd-trust .kd-lock { width: 15px; height: 15px; flex: none; }

@media (prefers-reduced-motion: reduce) {
  .kd-store-css-any, .single-product .single_add_to_cart_button,
  .woocommerce ul.products li.product, .wc-block-cart__submit-button { transition: none !important; }
}

/* cart cross-sells: same voice as the store cards */
.wc-block-grid__product .wc-block-grid__product-title { font-size: 15px; font-family: Lora, Georgia, serif; }
.wc-block-grid__product .wc-block-grid__product-price { font-size: 14px; color: #8f4d3f; font-weight: 700; }
.wc-block-grid__product { font-size: 14px; }

li.wc-block-grid__product, li.wc-block-grid__product p, li.wc-block-grid__product span, li.wc-block-grid__product div { font-size: 14px !important; }
.wc-block-grid__product .wc-block-grid__product-title { font-size: 15px; }
