/*
 * NDC Creations theme: the homepage's look across the WordPress pages (shop, categories, products, basket, checkout,
 * blog). Part of the "NDC Creations" child theme of Kraftiart; loads on every page after Kraftiart's styles.
 *
 * Brand: wine #74332F headings, coral #B44A45 accents, #7C3834 text, rose #D59789 buttons with #5E2420 text,
 * peach pills #FAE0D8, page #FEF8F4, cream #FEF2EC, blush borders #E0B2A2, taupe #8C5F55.
 * Fonts: Playfair Display (headings), Public Sans (text), Outfit (labels and buttons).
 *
 * Never styles the customise box (#ndc-live-engraver-root) or the main product photos.
 */

:root {
  --ndct-wine: #74332F;
  --ndct-coral: #B44A45;
  --ndct-text: #7C3834;
  --ndct-rose: #D59789;
  --ndct-rose-ink: #5E2420;
  --ndct-peach: #FAE0D8;
  --ndct-peach-ink: #8C2D2A;
  --ndct-page: #FEF8F4;
  --ndct-cream: #FEF2EC;
  --ndct-blush: #E0B2A2;
  --ndct-soft: #FEE6DC;
  --ndct-taupe: #8C5F55;
  --ndct-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --ndct-sans: 'Public Sans', 'Helvetica Neue', Arial, sans-serif;
  --ndct-label: 'Outfit', 'Public Sans', Arial, sans-serif;
  --ndct-shadow: 0 18px 40px -24px rgba(94, 36, 32, .45);
}

/* ---------- Kraftiart's own header and footer: hidden (kept in the page for its scripts) ---------- */
.header-top, #masthead, #colophon, .site-footer.footer-style-1 { display: none !important; }

/* ---------- Brand basics on every WordPress page ---------- */
body { background: var(--ndct-page) !important; color: var(--ndct-text); font-family: var(--ndct-sans); }
body h1, body h2, body h3, body h4 { font-family: var(--ndct-serif); color: var(--ndct-wine); }
::selection { background: var(--ndct-blush); color: #fff; }

/* Shared pieces, reset against Kraftiart's general styles. */
.ndct, .ndct * { box-sizing: border-box; }
.ndct a { text-decoration: none; }
.ndct ul { list-style: none; margin: 0; padding: 0; }
.ndct p { margin: 0; }
.ndct button { font: inherit; }
.ndct-i { width: 1.15em; height: 1.15em; flex: none; display: inline-block; vertical-align: -.2em; }

.ndct-btn, .ndct a.ndct-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  padding: .85em 1.4em; border-radius: 14px; border: 0;
  background: var(--ndct-rose); color: var(--ndct-rose-ink);
  font-family: var(--ndct-label); font-weight: 700; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase;
  line-height: 1.1; cursor: pointer; transition: background .2s, color .2s; white-space: nowrap;
}
.ndct a.ndct-btn, a.ndct-btn { color: var(--ndct-rose-ink) !important; text-decoration: none !important; }
.ndct-btn:hover, .ndct a.ndct-btn:hover, a.ndct-btn:hover { background: var(--ndct-coral); color: #fff !important; }
.ndct-btn--small, .ndct a.ndct-btn--small { padding: .7em 1.05em; font-size: .7rem; border-radius: 12px; }
.ndct-btn .ndct-i { width: 1.2em; height: 1.2em; }

.ndct-pill { display: inline-block; padding: .3em .85em; border-radius: 999px; background: var(--ndct-peach); color: var(--ndct-peach-ink);
  font-family: var(--ndct-label); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ndct-eyebrow, .ndct p.ndct-eyebrow { font-family: var(--ndct-label); font-size: .72rem !important; line-height: 1.4 !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ndct-coral); margin: 0 0 .5rem; }
.ndct-link { display: inline-flex; align-items: center; gap: .4em; color: var(--ndct-wine) !important; font-weight: 700; font-family: var(--ndct-label); font-size: .82rem; letter-spacing: .04em; }
.ndct-link:hover { color: var(--ndct-coral) !important; }

/* The Christmas date line */
.ndct-xmas { display: inline-flex; align-items: center; gap: .5em; margin: 0; color: var(--ndct-wine); font-size: .88rem; }
.ndct-xmas .ndct-i { color: #E89487; }
.ndct-xmas strong { color: var(--ndct-wine); }
.ndct .ndct-xmas--center, .ndct-xmas--center { display: flex; justify-content: center; margin-top: 1rem; }
.ndct-xmas--block { display: flex; padding: .9rem 1.1rem; border-radius: 14px; background: var(--ndct-cream); border: 1px solid var(--ndct-blush); }

/* ---------- Top bar ---------- */
.ndct-topbar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem 1.5rem;
  padding: .6rem max(16px, env(safe-area-inset-right, 0px)) .6rem max(16px, env(safe-area-inset-left, 0px));
  background: linear-gradient(90deg, #E0B2A2 0%, #E89487 50%, #E0B2A2 100%);
  border-bottom: 1px solid var(--ndct-blush);
  color: #fff; font-family: var(--ndct-sans); font-size: .75rem; font-weight: 500; letter-spacing: .02em; text-align: center;
}
.ndct-topbar__lead { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.ndct-topbar__dot { opacity: .8; }
.ndct-topbar .ndct-topbar__pill { display: inline-flex; padding: .3rem .9rem; border-radius: 999px; background: rgba(140, 95, 85, .85); border: 1px solid rgba(255, 255, 255, .25); color: #fff; font-weight: 600; transition: background .2s; }
.ndct-topbar .ndct-topbar__pill:hover { background: var(--ndct-wine); color: #fff; }

/* ---------- Header ---------- */
.ndct-header { position: sticky; top: 0; z-index: 999; width: 100%; background: rgba(254, 242, 236, .96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--ndct-blush); font-family: var(--ndct-sans); }
.admin-bar .ndct-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ndct-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .ndct-header { top: 0; } }
.ndct-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: 1280px; margin: 0 auto; padding: .75rem max(16px, env(safe-area-inset-right, 0px)) .75rem max(16px, env(safe-area-inset-left, 0px)); }
.ndct-logo { display: flex; align-items: center; flex: none; }
.ndct-logo img { height: 48px; width: auto; max-width: none; display: block; transition: transform .3s; }
.ndct-logo:hover img { transform: scale(1.02); }

.ndct-nav { display: none; align-items: center; gap: 1.25rem; font-size: .875rem; white-space: nowrap; }
.ndct-nav .ndct-nav__link { display: inline-flex; align-items: center; gap: .25rem; padding: .5rem 0; color: var(--ndct-text); font-weight: 500; transition: color .2s; border-bottom: 2px solid transparent; }
.ndct-nav .ndct-nav__link:hover { color: var(--ndct-wine); }
.ndct-nav .ndct-nav__link.is-current { color: var(--ndct-wine); font-weight: 700; letter-spacing: .02em; border-bottom-color: var(--ndct-wine); padding-bottom: .25rem; }
.ndct-nav .ndct-nav__link.is-xmas { color: var(--ndct-wine); font-weight: 600; }
.ndct-nav .ndct-nav__link.is-xmas .ndct-i { color: #E89487; width: 1rem; height: 1rem; }
.ndct-nav .ndct-nav__link .ndct-i { width: 1rem; height: 1rem; color: var(--ndct-taupe); transition: transform .2s; }
.ndct-dd { position: relative; padding: .5rem 0; }
.ndct-dd:hover .ndct-nav__link, .ndct-dd:focus-within .ndct-nav__link { color: var(--ndct-wine); }
.ndct-dd:hover .ndct-nav__link .ndct-i, .ndct-dd:focus-within .ndct-nav__link .ndct-i { transform: rotate(180deg); }
.ndct-dd__panel { position: absolute; left: 0; top: 100%; z-index: 50; width: 14rem; padding-top: .25rem; visibility: hidden; opacity: 0; transition: opacity .2s, visibility .2s; }
.ndct-dd:hover .ndct-dd__panel, .ndct-dd:focus-within .ndct-dd__panel { visibility: visible; opacity: 1; }
.ndct-dd__card { background: var(--ndct-cream); border: 1px solid var(--ndct-blush); border-radius: 18px; box-shadow: 0 20px 40px -18px rgba(94, 36, 32, .35); padding: .5rem 0; overflow: hidden; }
.ndct-dd__card a { display: block; padding: .5rem 1rem; color: var(--ndct-text); font-size: .75rem; font-weight: 600; white-space: normal; transition: background .2s, color .2s; }
.ndct-dd__card a:hover { background: var(--ndct-soft); color: var(--ndct-wine); }
.ndct-dd__panel--wide { width: 30rem; }
.ndct-dd__panel--wide .ndct-dd__card { padding: 1rem; }
.ndct-dd__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.ndct-dd__cols a { padding: .4rem .75rem; border-radius: 10px; }
.ndct-dd__card a.ndct-dd__head { margin-bottom: .25rem; padding: 0 .75rem .5rem; border-bottom: 1px solid var(--ndct-blush); border-radius: 0; font-family: var(--ndct-serif); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ndct-wine); }
.ndct-dd__card a.ndct-dd__head:hover { background: none; color: var(--ndct-coral); }
.ndct-dd__foot { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--ndct-blush); }
.ndct-dd__card .ndct-dd__foot a { padding: .25rem .5rem; border-radius: 8px; }
.ndct-dd__card .ndct-dd__foot a.ndct-dd__all { display: inline-flex; align-items: center; gap: .3rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ndct-wine); }
.ndct-dd__all .ndct-i { width: 14px; height: 14px; }

.ndct-actions { display: flex; align-items: center; gap: .6rem; flex: none; }
.ndct-header .ndct-icon { position: relative; display: inline-flex; align-items: center; justify-content: center; padding: .35rem; border: 0; background: none; color: var(--ndct-taupe); cursor: pointer; border-radius: 10px; transition: color .2s; }
.ndct-header .ndct-icon:hover { color: var(--ndct-wine); }
.ndct-header .ndct-icon .ndct-i { width: 24px; height: 24px; }
.ndct-header .ndct-menu-toggle { border: 1px solid var(--ndct-blush); padding: .45rem; color: var(--ndct-text); border-radius: 12px; }
.ndct-bag__count { position: absolute; top: -2px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--ndct-wine); color: #fff; font-family: var(--ndct-label); font-size: .65rem; font-weight: 700; line-height: 18px; text-align: center; }
.ndct-bag__count[hidden] { display: none; }

.ndct-search { display: flex; align-items: center; gap: .35rem; margin: 0; padding: .5rem .9rem; background: var(--ndct-soft); border: 1px solid var(--ndct-blush); border-radius: 999px; color: var(--ndct-taupe); }
.ndct-search:focus-within { border-color: var(--ndct-taupe); }
.ndct-search .ndct-i { width: 18px; height: 18px; }
.ndct-header .ndct-search input[type=search] { width: 12rem; min-width: 0; margin: 0; padding: 0 .25rem; height: auto; border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--ndct-text); font-family: var(--ndct-sans); font-size: .78rem; outline: none; }
.ndct-header .ndct-search input::placeholder { color: var(--ndct-taupe); opacity: 1; }
.ndct-search-panel { padding: .75rem max(16px, env(safe-area-inset-right, 0px)) .75rem max(16px, env(safe-area-inset-left, 0px)); border-top: 1px solid var(--ndct-blush); background: var(--ndct-cream); }
.ndct-search-panel .ndct-search { max-width: 36rem; margin: 0 auto; }
.ndct-search-panel .ndct-search input[type=search] { width: 100%; font-size: .9rem; }
.ndct-search-panel[hidden], .ndct-mobile-nav[hidden] { display: none !important; }

.ndct-mobile-nav { display: grid; gap: .1rem; padding: .75rem max(24px, env(safe-area-inset-right, 0px)) 1rem max(24px, env(safe-area-inset-left, 0px)); border-top: 1px solid var(--ndct-blush); background: var(--ndct-cream); font-size: .9rem; }
.ndct-mobile-nav a { padding: .45rem 0; color: var(--ndct-text); font-weight: 500; }
.ndct-mobile-nav a.is-strong { color: var(--ndct-wine); font-weight: 700; }

.ndct-md, .ndct-lg, .ndct-xl, .ndct-xxl, .ndct-sm { display: none !important; }
@media (min-width: 640px) {
  .ndct-sm { display: inline-flex !important; }
  .ndct-logo img { height: 56px; }
  .ndct-actions { gap: .85rem; }
}
@media (min-width: 768px) { .ndct-md { display: inline !important; } }
@media (min-width: 1024px) {
  .ndct-lg { display: inline !important; }
  .ndct-nav { display: flex; }
  .ndct-header .ndct-menu-toggle, .ndct-mobile-nav { display: none !important; }
  .ndct-header__inner { padding-left: 40px; padding-right: 40px; }
}
@media (min-width: 1280px) {
  .ndct-xl { display: inline-flex !important; }
  .ndct-nav { gap: 1.5rem; }
  .ndct-header .ndct-search-toggle, .ndct-search-panel { display: none !important; }
}
@media (min-width: 1440px) { .ndct-xxl { display: inline-flex !important; } }

/* ---------- Footer ---------- */
.ndct-footer { background: var(--ndct-cream); color: var(--ndct-text); border-top: 1px solid var(--ndct-blush); font-family: var(--ndct-sans); }
.ndct-footer__inner { max-width: 1280px; margin: 0 auto; padding: 4rem max(24px, env(safe-area-inset-right, 0px)) 3rem max(24px, env(safe-area-inset-left, 0px)); }
.ndct-footer__grid { display: grid; grid-template-columns: 1fr; gap: 3rem; margin-bottom: 3rem; }
@media (min-width: 768px) { .ndct-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .ndct-footer__grid { grid-template-columns: repeat(4, 1fr); } .ndct-footer__inner { padding-left: 48px; padding-right: 48px; } }
.ndct-footer__logo img { height: 56px; width: auto; max-width: none; display: block; }
.ndct-footer__about p { margin-top: 1rem; font-size: .875rem; line-height: 1.65; }
.ndct-footer p.ndct-footer__phone { font-size: .75rem; font-weight: 700; }
.ndct-footer__phone a, .ndct-footer a { color: inherit; }
.ndct-footer__phone a { color: var(--ndct-wine); }
.ndct-footer__phone a:hover { text-decoration: underline; }
.ndct-footer .ndct-footer__h { margin: 0 0 1rem; font-family: var(--ndct-serif); font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ndct-wine); }
.ndct-footer ul { display: grid; gap: .65rem; font-size: .875rem; }
.ndct-footer ul a { color: var(--ndct-text); transition: color .2s; }
.ndct-footer ul a:hover { color: var(--ndct-wine); }
.ndct-footer__legal { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding: 1.25rem 0; border-top: 1px solid var(--ndct-blush); font-size: .78rem; }
.ndct-footer__legal a { color: var(--ndct-taupe); }
.ndct-footer__legal a:hover { color: var(--ndct-wine); }
.ndct-footer__bottom { display: flex; flex-direction: column; align-items: center; gap: 1rem; padding-top: 1.25rem; border-top: 1px solid var(--ndct-blush); font-size: .75rem; color: var(--ndct-taupe); text-align: center; }
.ndct-footer__bottom .ndct-footer__sign { color: var(--ndct-wine); font-weight: 600; }
@media (min-width: 640px) { .ndct-footer__bottom { flex-direction: row; justify-content: space-between; text-align: left; } }

/* ---------- Page title band (Kraftiart's, restyled) ---------- */
.page-header.inner-header-opacity { background: linear-gradient(180deg, #FEE6DC 0%, #F7E9E5 45%, #FEF2EC 100%) !important; border-bottom: 1px solid var(--ndct-blush); padding: 2.5rem 0 2rem !important; }
.page-header.inner-header-opacity::before, .page-header.inner-header-opacity::after { display: none !important; }
.page-header .kraftiart-page-title h1.title, .page-header .kraftiart-page-title h1.title span { font-family: var(--ndct-serif) !important; color: var(--ndct-wine) !important; font-weight: 600; font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1.15; text-transform: none; letter-spacing: 0; }
.page-header .page-breadcrumb, .page-header #crumbs, .page-header #crumbs a, .page-header #crumbs span { color: var(--ndct-taupe) !important; font-family: var(--ndct-label); font-size: .8rem; }
.page-header #crumbs svg { fill: var(--ndct-taupe); stroke: var(--ndct-taupe); }

/* ---------- Shop and category pages ---------- */
.ndct-shop-intro { display: grid; gap: .9rem; margin: 0 0 1.5rem; padding: 1.1rem 1.25rem; border-radius: 18px; background: var(--ndct-cream); border: 1px solid var(--ndct-blush); }
.ndct-shop-intro__text, .ndct-shop-intro__text p { margin: 0; font-size: .95rem; line-height: 1.6; color: var(--ndct-text); }
.ndct-shop-intro__text strong { color: var(--ndct-wine); }
.ndct-chips { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.ndct-chips--center { justify-content: center; }
.ndct-chips__label { font-family: var(--ndct-label); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ndct-taupe); margin-right: .25rem; }
.ndct a.ndct-chip, a.ndct-chip { display: inline-flex; align-items: center; padding: .45rem .95rem; border-radius: 999px; border: 1px solid var(--ndct-blush); background: #fff; color: var(--ndct-text); font-family: var(--ndct-label); font-size: .8rem; font-weight: 600; transition: background .2s, color .2s, border-color .2s; }
a.ndct-chip:hover { background: var(--ndct-soft); color: var(--ndct-wine); border-color: var(--ndct-taupe); }
a.ndct-chip.is-current { background: var(--ndct-wine); border-color: var(--ndct-wine); color: #fff; }

/* Sorting row */
.product-top-sorting { font-family: var(--ndct-sans); color: var(--ndct-text); }
.product-top-sorting .woocommerce-result-count { color: var(--ndct-taupe); font-size: .85rem; }
.product-top-sorting select { -webkit-appearance: none; appearance: none; height: auto !important; line-height: 1.3; padding: .55rem 2.2rem .55rem .9rem !important; border: 1px solid var(--ndct-blush) !important; border-radius: 12px !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2374332F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .7rem center / 14px !important; color: var(--ndct-text) !important; font-family: var(--ndct-sans); font-size: .85rem; cursor: pointer; }
.product-top-sorting select:focus-visible { outline: 2px solid var(--ndct-rose); outline-offset: 2px; }
.product-top-sorting .product-sort-view a.active svg, .product-top-sorting .product-sort-view a:hover svg { fill: var(--ndct-wine); }
/* The view icons become a "4 per row" dropdown (assets/ndc-theme.js); below 1200px Kraftiart sets the row size itself. */
.product-sort-view.is-enhanced a.view { display: none !important; }
.product-top-sorting select.ndct-view-select { min-width: 8.5rem; }
@media (max-width: 1199px) { .product-sort-view.is-enhanced { display: none !important; } }

/* Filters on the left */
.shop-sidebar .widget-area, .shop-sidebar #secondary { font-family: var(--ndct-sans); }
.shop-sidebar .widget { margin-bottom: 1.25rem; padding: 1.1rem 1.1rem 1rem; border-radius: 18px; background: var(--ndct-cream); border: 1px solid var(--ndct-blush); }
.shop-sidebar .widget h2, .shop-sidebar .widget h3, .shop-sidebar .wp-block-heading { font-family: var(--ndct-serif) !important; color: var(--ndct-wine) !important; font-size: 1.05rem !important; font-weight: 600; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 .75rem !important; }
.shop-sidebar .widget a, .shop-sidebar .wc-block-product-categories-list-item a { color: var(--ndct-text) !important; font-size: .88rem; }
.shop-sidebar .widget a:hover { color: var(--ndct-wine) !important; }
.shop-sidebar .wc-block-product-categories-list-item__name { text-transform: capitalize; }
.shop-sidebar .wc-block-product-categories-list-item:has(> a[href$="/product-category/all-products/"]) { display: none; }
.shop-sidebar .wc-block-product-categories-list-item-count { color: var(--ndct-taupe); font-size: .75rem; }
.shop-sidebar .wc-block-components-price-slider__range-input-progress, .shop-sidebar .wc-block-price-filter__range-input-progress { --range-color: var(--ndct-wine); }

/* Product cards */
.products.grid-view .grid-item .product-content-wrap { border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid rgba(224, 178, 162, .55); transition: box-shadow .25s, transform .25s; height: 100%; display: flex; flex-direction: column; }
.products.grid-view .grid-item .product-content-wrap:hover { box-shadow: var(--ndct-shadow); transform: translateY(-2px); }
.products .grid-item .thumbnail-wrap { background: var(--ndct-soft); }
.products .grid-item .thumbnail-wrap img { width: 100%; height: auto; aspect-ratio: 870 / 1131; object-fit: contain; }
.products .grid-item .content-wrap { padding: .9rem 1rem 1.1rem !important; text-align: left !important; display: flex; flex-direction: column; gap: .3rem; flex: 1; }
.products .grid-item .woocommerce-loop-product__title { font-family: var(--ndct-serif) !important; color: var(--ndct-wine) !important; font-size: 1rem !important; font-weight: 600 !important; line-height: 1.3 !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; -webkit-line-clamp: unset !important; display: block !important; height: auto !important; max-height: none !important; margin: 0 !important; text-transform: none !important; }
.products.grid-view .grid-item .list-description { display: none !important; }
.products .grid-item .content-wrap, .products .grid-item .content-wrap > * { text-align: left !important; }
.products .grid-item .content-wrap .price { display: block; margin: .2rem 0 0 !important; }
.products .grid-item .price, .products .grid-item .price .amount { color: var(--ndct-wine) !important; font-family: var(--ndct-sans) !important; font-weight: 700 !important; font-size: 1rem !important; }
.products .grid-item .price del, .products .grid-item .price del .amount { color: var(--ndct-taupe) !important; font-weight: 400 !important; opacity: .75; }
.ndct-card-note { margin: 0 !important; font-family: var(--ndct-label); font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ndct-coral); }
a.ndct-card-cta { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: .4em; padding: .6rem 1rem; border-radius: 12px; background: var(--ndct-rose); color: var(--ndct-rose-ink) !important; font-family: var(--ndct-label); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: background .2s, color .2s; }
.products .grid-item .content-wrap > a.ndct-card-cta { margin-top: .55rem; }
a.ndct-card-cta:hover { background: var(--ndct-coral); color: #fff !important; }
a.ndct-card-cta .ndct-i { width: 1.1em; height: 1.1em; }
.products .product-button-wrap .cart-wrap, .products .product-button-wrap .compare, .products .compare.btn-hv, .products a.compare { display: none !important; }
.products .product-button-wrap .button, .products .product-button-wrap .btn-hv a { background: var(--ndct-cream) !important; color: var(--ndct-wine) !important; border: 1px solid var(--ndct-blush) !important; }
.products .product-button-wrap .button:hover, .products .product-button-wrap .btn-hv a:hover { background: var(--ndct-wine) !important; color: #fff !important; }
.products .outofstock .thumbnail-wrap::after { content: 'Currently unavailable'; position: absolute; left: .75rem; top: .75rem; padding: .3em .8em; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--ndct-taupe); font-family: var(--ndct-label); font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.products .grid-item .thumbnail-wrap { position: relative; }

/* Pagination */
.woocommerce-pagination .page-numbers li .page-numbers, .ndct-pages .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 .75rem; border-radius: 12px !important; border: 1px solid var(--ndct-blush) !important; background: #fff !important; color: var(--ndct-text) !important; font-family: var(--ndct-label); font-weight: 600; }
.woocommerce-pagination .page-numbers li .page-numbers.current, .ndct-pages .page-numbers.current { background: var(--ndct-wine) !important; border-color: var(--ndct-wine) !important; color: #fff !important; }
.woocommerce-pagination .page-numbers li a.page-numbers:hover, .ndct-pages a.page-numbers:hover { background: var(--ndct-soft) !important; color: var(--ndct-wine) !important; }

/* ---------- Product page additions (outside the customise box) ---------- */
.summary .ndct-price-note, .summary .ndct-assure { width: 100%; flex: 0 0 100%; max-width: 100%; }
.ndct-price-note { display: grid; gap: .35rem; margin: .25rem 0 1.1rem; }
.ndct-price-note p { display: inline-flex; align-items: center; gap: .5em; font-size: .9rem; color: var(--ndct-text); }
.ndct-price-note .ndct-i { color: var(--ndct-coral); }
.ndct-assure { display: grid; gap: .6rem; margin: 1.25rem 0 0 !important; padding: 1rem 1.1rem !important; border-radius: 16px; background: var(--ndct-cream); border: 1px solid var(--ndct-blush); }
.ndct-assure li { display: flex; align-items: flex-start; gap: .65rem; font-size: .88rem; line-height: 1.5; color: var(--ndct-text); margin: 0; }
.ndct-assure li::before { display: none !important; }
.ndct-assure .ndct-i { color: var(--ndct-coral); margin-top: .1em; }
.ndct-assure a { color: var(--ndct-wine) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- Basket and checkout ---------- */
.woocommerce-cart .wp-block-woocommerce-cart, .woocommerce-checkout .wp-block-woocommerce-checkout { font-family: var(--ndct-sans); color: var(--ndct-text); }
.wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name { font-family: var(--ndct-serif); color: var(--ndct-wine) !important; font-weight: 600; font-size: 1.05rem; text-decoration: none; }
.wp-block-woocommerce-cart .wc-block-cart-items__header, .wp-block-woocommerce-cart .wc-block-cart__totals-title { font-family: var(--ndct-label) !important; color: var(--ndct-taupe) !important; letter-spacing: .12em; }
.wp-block-woocommerce-cart .wc-block-components-sidebar, .wp-block-woocommerce-checkout .wc-block-components-sidebar { border-radius: 18px; }
.wp-block-woocommerce-cart .wc-block-components-totals-item__label, .wp-block-woocommerce-checkout .wc-block-components-totals-item__label { color: var(--ndct-text); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--ndct-wine) !important; font-family: var(--ndct-serif); font-weight: 600; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .wp-block-woocommerce-cart .wc-block-components-button:not(.is-link), .wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link) {
  background: var(--ndct-rose) !important; color: var(--ndct-rose-ink) !important; border: 0 !important; border-radius: 14px !important;
  font-family: var(--ndct-label) !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; transition: background .2s, color .2s;
}
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover, .wp-block-woocommerce-cart .wc-block-components-button:not(.is-link):hover, .wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link):hover { background: var(--ndct-coral) !important; color: #fff !important; }
.wp-block-woocommerce-checkout .wc-block-components-title, .wp-block-woocommerce-checkout .wc-block-components-checkout-step__title { font-family: var(--ndct-serif) !important; color: var(--ndct-wine) !important; }
.wp-block-woocommerce-checkout .wc-block-components-text-input input, .wp-block-woocommerce-checkout .wc-blocks-components-select select, .wp-block-woocommerce-checkout .wc-block-components-textarea { border-color: var(--ndct-blush) !important; border-radius: 12px !important; }
.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus, .wp-block-woocommerce-checkout .wc-block-components-textarea:focus { border-color: var(--ndct-wine) !important; box-shadow: 0 0 0 1px var(--ndct-wine) !important; }

.ndct-reassure { display: grid; gap: .9rem; margin: 1.5rem auto; padding: 1.25rem 1.35rem; border-radius: 18px; background: var(--ndct-cream); border: 1px solid var(--ndct-blush); font-family: var(--ndct-sans); max-width: 1200px; }
.ndct-reassure--checkout { margin-top: 0; }
.ndct-reassure ul { display: grid; gap: .6rem; }
@media (min-width: 900px) { .ndct-reassure ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 2rem; } }
.ndct-reassure li { display: flex; align-items: flex-start; gap: .6rem; font-size: .88rem; line-height: 1.5; color: var(--ndct-text); margin: 0; }
.ndct-reassure .ndct-i { color: var(--ndct-coral); margin-top: .1em; }
.ndct-reassure a { color: var(--ndct-wine) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.ndct-freebar { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .45rem .6rem; color: var(--ndct-wine); font-weight: 600; font-size: .92rem; }
.ndct-freebar[hidden] { display: none; }
.ndct-freebar .ndct-i { color: var(--ndct-coral); }
.ndct-freebar__track { grid-column: 1 / -1; height: 8px; border-radius: 999px; background: #fff; border: 1px solid var(--ndct-blush); overflow: hidden; }
.ndct-freebar__fill { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #E89487, var(--ndct-coral)); border-radius: inherit; transition: width .4s ease; }
.ndct-freebar.is-met .ndct-freebar__fill { background: var(--ndct-wine); }

/* ---------- Blog: single posts ---------- */
.single-post #post_sidebar { display: none !important; }
.single-post #post_content { flex: 0 0 100% !important; max-width: 760px !important; width: 100% !important; margin: 0 auto !important; float: none !important; }
.single-post .tt-post-meta-wrap, .single-post .tt-post-meta-wrap a { font-family: var(--ndct-label); font-size: .78rem; color: var(--ndct-taupe) !important; letter-spacing: .04em; }
.single-post .tt-post-meta-wrap .tt-post-category a { color: var(--ndct-peach-ink) !important; background: var(--ndct-peach); padding: .3em .85em; border-radius: 999px; text-transform: uppercase; font-weight: 700; letter-spacing: .1em; font-size: .68rem; }
.single-post .tt-post-thumbnail img { border-radius: 22px; width: 100%; height: auto; }
.single-post .tt-post-content { font-family: var(--ndct-sans); color: var(--ndct-text); font-size: 1.07rem; line-height: 1.8; }
.single-post .tt-post-content > p { margin: 0 0 1.25rem; }
.single-post .tt-post-content h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); line-height: 1.2; margin: .5rem 0 1rem; }
.single-post .tt-post-content h2 { font-size: clamp(1.35rem, 3vw, 1.75rem); line-height: 1.3; margin: 2.25rem 0 .75rem; }
.single-post .tt-post-content h3 { font-size: 1.2rem; margin: 1.75rem 0 .5rem; }
.single-post .tt-post-content h1 strong, .single-post .tt-post-content h2 strong { font-weight: inherit; }
.single-post .tt-post-content > p:first-of-type em, .single-post .tt-post-content em { color: var(--ndct-coral); }
.single-post .tt-post-content a:not(.ndct-btn):not(.ndct-link):not(.ndct-chip) { color: var(--ndct-wine); text-decoration: underline; text-underline-offset: 3px; }
.single-post .tt-post-content blockquote { margin: 2rem 0; padding: 1.25rem 1.5rem; border-left: 3px solid var(--ndct-rose); background: var(--ndct-cream); border-radius: 0 16px 16px 0; font-family: var(--ndct-serif); font-style: italic; color: var(--ndct-wine); font-size: 1.15rem; }
.single-post .tt-post-content img { border-radius: 16px; }
.ndct-post-meta { display: flex; align-items: center; gap: .45rem; margin: 0 0 1rem !important; font-family: var(--ndct-label); font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ndct-taupe); }

.ndct-post-end { display: grid; gap: 2rem; margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--ndct-blush); line-height: 1.6; }
.ndct-post-end h2 { margin: 0 0 1rem !important; font-size: 1.5rem !important; }
.ndct-shop-post__grid, .ndct-related__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); gap: 1rem; }
.ndct-related__grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.ndct-about { padding: 1.4rem 1.5rem; border-radius: 20px; background: linear-gradient(135deg, #FEE6DC 0%, #F7E9E5 50%, #FDF6F3 100%); border: 1px solid var(--ndct-blush); display: grid; gap: .6rem; }
.ndct-about p { font-size: .98rem; line-height: 1.65; color: var(--ndct-text); }
.ndct-about .ndct-eyebrow { margin: 0; }

/* ---------- Post layouts (inc/blog.php: Story, Journal, Gift guide) ---------- */
.single-post .tt-post-content .ndct-standfirst { font-family: var(--ndct-serif); font-size: clamp(1.2rem, 2.6vw, 1.45rem); line-height: 1.5; color: var(--ndct-wine); margin: 0 0 1.75rem; }
.single-post .tt-post-content .ndct-standfirst strong { font-weight: 600; }

/* Story: one calm column, a framed photo and a large first letter */
.ndct-layout-story #post_content { max-width: 700px !important; }
.single-post .tt-post-meta-wrap, .single-post .tt-post-thumbnail, .single-post .tt-post-details { float: none !important; clear: both; }
.ndct-layout-story .tt-post-thumbnail { max-width: 520px; margin: .5rem auto 2rem !important; }
.ndct-layout-story .tt-post-thumbnail img { box-shadow: 0 30px 60px -30px rgba(94, 36, 32, .45); }
.ndct-story .ndct-lead::first-letter { float: left; font-family: var(--ndct-serif); font-size: 3.6em; line-height: .85; padding: .08em .12em 0 0; color: var(--ndct-wine); }
.ndct-story > p:not(.ndct-lead):not(.ndct-standfirst) + p { text-indent: 0; }

/* Journal: contents list beside the text on wide screens, numbered chapters */
.ndct-layout-journal #post_content { max-width: 1120px !important; }
.ndct-layout-journal .tt-post-meta-wrap, .ndct-layout-journal .tt-post-thumbnail { max-width: 720px; margin-left: auto !important; margin-right: auto !important; }
.ndct-layout-journal .tt-post-thumbnail img { width: auto; max-width: 100%; max-height: 640px; }
.ndct-layout-journal .site.overflow-hidden { overflow: visible !important; overflow-x: clip !important; } /* Kraftiart's overflow:hidden stops the contents list following the page */
.ndct-journal { display: grid; gap: 2rem; }
.ndct-journal__body { min-width: 0; counter-reset: ndct-chapter; }
.ndct-journal__body h2::before { counter-increment: ndct-chapter; content: counter(ndct-chapter, decimal-leading-zero); display: block; margin-bottom: .2rem; font-family: var(--ndct-label); font-size: .72rem; font-weight: 700; letter-spacing: .2em; color: var(--ndct-coral); }
.ndct-toc { padding: 1.1rem 1.25rem; border-radius: 18px; background: var(--ndct-cream); border: 1px solid var(--ndct-blush); font-family: var(--ndct-sans); line-height: 1.4; }
.ndct-toc__label { margin: 0 0 .6rem !important; font-family: var(--ndct-label); font-size: .7rem !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ndct-taupe); }
.ndct-toc ol { margin: 0 !important; padding: 0 !important; list-style: none; counter-reset: ndct-toc; display: grid; gap: .1rem; }
.ndct-toc li { margin: 0 !important; counter-increment: ndct-toc; }
.ndct-toc li::before { display: none !important; }
.single-post .ndct-toc a { display: flex; gap: .6rem; padding: .35rem .5rem; border-radius: 10px; font-size: .86rem; color: var(--ndct-text) !important; text-decoration: none !important; transition: background .2s, color .2s; }
.ndct-toc a::before { content: counter(ndct-toc, decimal-leading-zero); flex: none; font-family: var(--ndct-label); font-size: .7rem; font-weight: 700; color: var(--ndct-coral); padding-top: .15rem; }
.single-post .ndct-toc a:hover, .single-post .ndct-toc a.is-current { background: var(--ndct-soft); color: var(--ndct-wine) !important; }
.single-post .ndct-toc a.is-current { font-weight: 600; }
.ndct-journal__body h2 { scroll-margin-top: 110px; }
@media (min-width: 1024px) {
  .ndct-journal { grid-template-columns: 240px minmax(0, 720px); gap: 3rem; justify-content: center; align-items: start; }
  .ndct-toc { position: sticky; top: 110px; max-height: calc(100vh - 140px); overflow: auto; }
  .ndct-layout-journal .ndct-post-end { max-width: 720px; margin-left: auto; margin-right: auto; }
  .ndct-layout-journal .tt-post-meta-wrap, .ndct-layout-journal .tt-post-thumbnail { margin-right: calc((100% - 1008px) / 2) !important; }
}

/* Gift guide: products first, then numbered ideas */
.ndct-layout-guide #post_content { max-width: 960px !important; }
.ndct-layout-guide .tt-post-meta-wrap, .ndct-layout-guide .tt-post-thumbnail, .ndct-guide > :not(.ndct-shop-post), .ndct-layout-guide .ndct-post-end > :not(.ndct-related) { max-width: 760px; margin-left: auto !important; margin-right: auto !important; }
.ndct-layout-guide .tt-post-thumbnail img { width: auto; max-width: 100%; max-height: 560px; }
.ndct-guide { counter-reset: ndct-idea; }
.ndct-guide h2 { display: flex; align-items: baseline; gap: .75rem; }
.ndct-guide h2::before { counter-increment: ndct-idea; content: counter(ndct-idea); flex: none; display: inline-grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--ndct-peach); color: var(--ndct-peach-ink); font-family: var(--ndct-serif); font-size: 1.05rem; font-weight: 700; }
.ndct-guide h2.ndct-shop-post__title { display: block; }
.ndct-guide h2.ndct-shop-post__title::before { content: none; }
.ndct-shop-post--top { margin: 1.5rem 0 2.5rem; padding: 1.4rem; border-radius: 22px; background: var(--ndct-cream); border: 1px solid var(--ndct-blush); }
.ndct-shop-post--top .ndct-shop-post__title { margin: 0 0 1rem !important; font-size: 1.3rem !important; }
.ndct-shop-post--top .ndct-shop-post__grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr)); }

/* Product card inside a post: [ndc_product id="123"] */
.ndct-product { display: grid; gap: 0; border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid rgba(224, 178, 162, .7); font-family: var(--ndct-sans); line-height: 1.4; }
.ndct-product--inline { grid-template-columns: 140px 1fr; margin: 1.75rem 0; max-width: 520px; }
@media (max-width: 480px) { .ndct-product--inline { grid-template-columns: 110px 1fr; } }
.ndct-product__media { display: block; background: var(--ndct-soft); }
.ndct-product__media img { width: 100%; height: 100%; aspect-ratio: 870 / 1131; object-fit: contain; display: block; border-radius: 0 !important; }
.ndct-product__body { display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; padding: .9rem 1rem 1rem; }
.ndct-product a.ndct-product__name { font-family: var(--ndct-serif); color: var(--ndct-wine) !important; font-weight: 600; font-size: 1rem; text-decoration: none !important; }
.ndct-product__price, .ndct-product__price .amount { color: var(--ndct-wine); font-weight: 700; font-size: .95rem; }
.ndct-product__note { font-family: var(--ndct-label); font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ndct-coral); }
.ndct-product .ndct-btn { margin-top: auto; text-decoration: none !important; }
.ndct-product--inline .ndct-btn { margin-top: .4rem; }

/* Engraving ideas: [ndc_wording]...[/ndc_wording] */
.ndct-wording { margin: 1.75rem 0; padding: 1.1rem 1.2rem; border-radius: 18px; background: var(--ndct-cream); border: 1px dashed var(--ndct-blush); }
.ndct-wording__label { font-family: var(--ndct-label); font-size: .7rem !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ndct-taupe); margin: 0 0 .7rem !important; }
.ndct-wording ul { display: flex; flex-wrap: wrap; gap: .5rem; }
.ndct-wording li { margin: 0 !important; }
.ndct-wording li::before { display: none !important; }
.ndct-wording__pill { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .9rem; border-radius: 999px; border: 1px solid transparent; background: var(--ndct-peach); color: var(--ndct-peach-ink); font-family: var(--ndct-serif) !important; font-style: italic; font-size: .98rem; line-height: 1.3; cursor: pointer; text-align: left; transition: background .2s, border-color .2s; }
.ndct-wording__pill:hover { border-color: var(--ndct-coral); background: #fff; }
.ndct-wording__pill .ndct-i { width: 15px; height: 15px; opacity: .7; }
.ndct-wording__pill.is-copied { background: var(--ndct-wine); color: #fff; }
.ndct-wording__pill.is-copied::after { content: 'Copied'; font-family: var(--ndct-label); font-style: normal; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ndct-wording__pill.is-copied .ndct-i { display: none; }

/* ---------- Blog page (template "NDC Blog") ---------- */
.page-template-template-blog .page-header { display: none !important; }
.ndct-blog { max-width: 1232px; margin: 0 auto !important; width: 100%; padding: 2.5rem max(16px, env(safe-area-inset-right, 0px)) 4rem max(16px, env(safe-area-inset-left, 0px)); font-family: var(--ndct-sans); color: var(--ndct-text); }
.ndct-blog__head { text-align: center; max-width: 760px; margin: 0 auto 2.5rem; }
.ndct-blog__head h1 { font-size: clamp(2.2rem, 5vw, 3.2rem); line-height: 1.1; margin: 0 0 .75rem; text-wrap: balance; }
.ndct-blog__intro { font-size: 1.05rem; line-height: 1.7; margin-bottom: 1.25rem; }
.ndct-blog__intro p { margin: 0 0 .75rem; }
.ndct-blog__head .ndct-chips { margin-top: 1.25rem; }
.ndct-blog__empty { text-align: center; margin: 2rem 0; font-size: 1.05rem; }

.ndct-feature { display: grid; grid-template-columns: 1fr; gap: 0; margin-bottom: 3rem; border-radius: 26px; overflow: hidden; background: #fff; border: 1px solid rgba(224, 178, 162, .7); box-shadow: var(--ndct-shadow); }
@media (min-width: 900px) { .ndct-feature { grid-template-columns: 6fr 5fr; } }
.ndct-feature__media { display: block; background: var(--ndct-soft); min-height: 260px; }
.ndct-feature__media img { width: 100%; height: 100%; max-height: 560px; object-fit: cover; display: block; }
.ndct-feature__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: .9rem; padding: 2rem 1.75rem 2.25rem; }
@media (min-width: 900px) { .ndct-feature__body { padding: 3rem 3rem; } }
.ndct-feature h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.2; text-wrap: balance; }
.ndct-feature h2 a { color: var(--ndct-wine); }
.ndct-feature h2 a:hover { color: var(--ndct-coral); }
.ndct-feature__lead { font-family: var(--ndct-serif); font-style: italic; color: var(--ndct-coral); font-size: 1.1rem; line-height: 1.6; margin: 0; }

.ndct-post-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 2.5rem; }
@media (min-width: 640px) { .ndct-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .ndct-post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ndct-post-card { display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid rgba(224, 178, 162, .7); transition: box-shadow .25s, transform .25s; min-width: 0; }
.ndct-post-card:hover { box-shadow: var(--ndct-shadow); transform: translateY(-2px); }
.ndct-post-card__media { display: block; aspect-ratio: 4 / 3; background: var(--ndct-soft); overflow: hidden; }
.ndct-post-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0 !important; transition: transform .5s; }
.ndct-post-card:hover .ndct-post-card__media img { transform: scale(1.03); }
.ndct-post-card__blank { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--ndct-blush); }
.ndct-post-card__blank .ndct-i { width: 48px; height: 48px; }
.ndct-post-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; padding: 1.1rem 1.25rem 1.3rem; flex: 1; }
.ndct-post-card .ndct-post-card__title { margin: 0 !important; font-size: 1.2rem !important; line-height: 1.3; text-wrap: balance; }
.ndct-post-card__title a { color: var(--ndct-wine) !important; text-decoration: none !important; }
.ndct-post-card__title a:hover { color: var(--ndct-coral) !important; }
.ndct-post-card__summary { margin: 0 !important; font-size: .92rem !important; line-height: 1.6 !important; color: var(--ndct-text); }
.ndct-post-card__meta { margin-top: auto !important; display: inline-flex; align-items: center; gap: .4rem; font-family: var(--ndct-label); font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ndct-taupe); }

.ndct-pages { display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; }

/* Sign-up band */
.ndct-signup { display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: center; margin: 0 0 2.5rem; padding: 2rem 1.5rem; border-radius: 26px; background: linear-gradient(160deg, #FEF2EC 0%, #FAE0D8 55%, #EFC3B5 100%); border: 1px solid #fff; font-family: var(--ndct-sans); }
@media (min-width: 900px) { .ndct-signup { grid-template-columns: 1fr 1fr; padding: 2.5rem 3rem; gap: 2.5rem; } }
.ndct-post-end .ndct-signup { margin-bottom: 0; }
.ndct-signup h2 { margin: 0 0 .6rem !important; font-size: clamp(1.4rem, 3vw, 1.9rem) !important; line-height: 1.2; text-wrap: balance; }
.ndct-signup__copy p:not(.ndct-eyebrow) { font-size: .95rem; line-height: 1.6; color: var(--ndct-text); margin: 0; }
.ndct-signup__form { display: grid; grid-template-columns: 1fr; gap: .6rem; }
@media (min-width: 560px) { .ndct-signup__form { grid-template-columns: 1fr 1fr; } .ndct-signup__form .ndct-btn, .ndct-signup__consent, .ndct-signup__msg { grid-column: 1 / -1; } }
.ndct-signup__form input[type=text], .ndct-signup__form input[type=email] { width: 100%; margin: 0; padding: .8rem 1rem; height: auto; border-radius: 14px; border: 1px solid var(--ndct-blush) !important; background: #fff !important; color: var(--ndct-text); font-family: var(--ndct-sans); font-size: .95rem; }
.ndct-signup__form input:focus { outline: 2px solid var(--ndct-wine); outline-offset: 1px; }
.ndct-signup__consent { display: flex; align-items: flex-start; gap: .5rem; font-size: .8rem; line-height: 1.45; color: var(--ndct-text); }
.ndct-signup__consent input { margin-top: .2em; accent-color: var(--ndct-wine); }
.ndct-signup__msg { min-height: 1.2em; font-size: .85rem; font-weight: 600; color: var(--ndct-wine); }
.ndct-signup__form.is-done input, .ndct-signup__form.is-done label, .ndct-signup__form.is-done button { display: none; }

/* Blog lists that Kraftiart draws itself (category pages): brand fonts */
.ndct-blog-page .tt-post-wrapper .entry-title a, .ndct-blog-page .tt-post-wrapper h2 a { font-family: var(--ndct-serif); color: var(--ndct-wine) !important; }
.ndct-blog-page .tt-post-wrapper { font-family: var(--ndct-sans); color: var(--ndct-text); }

.screen-reader-text:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  .ndct *, .products .grid-item .product-content-wrap { transition: none !important; }
}

/* Kraftiart floats the post's text column; keep our blocks below it rather than behind it. */
.ndct-wording, .ndct-post-meta { clear: both; display: flow-root; }
.ndct-post-end { clear: both; }
.ndct-product--inline { clear: both; }
