/* =====================================================================
   CraftLoom Botanical Luxury design system
   Source of truth: craftloom_brand_style_guide.md (saved in Novamira as
   the active design "craftloom-botanical-luxury").
   Loaded on every front-end page by novamira-sandbox/craftloom-design.php,
   after the theme, Elementor and PixelNest styles.
   Change a brand colour or font here and it updates everywhere.
   ===================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
	/* Core palette (style guide section 2) */
	--craft-forest:#2E4032;
	--craft-forest-dark:#1F2E23;
	--craft-terracotta:#C06C4E;
	--craft-terracotta-hover:#A85A3F;
	--craft-terracotta-soft:#F7EBE6;
	--craft-gold:#C8A165;
	--craft-gold-light:#E8CF9F;
	--craft-sage:#7E957D;
	--craft-sage-subtle:#EAF0E9;
	--craft-blush:#E8CEBD;
	--craft-parchment:#F7F3EC;
	--craft-linen:#FDFBF7;
	--craft-surface:#FFFFFF;
	--craft-border:rgba(46,64,50,.12);
	--craft-border-input:rgba(46,64,50,.28);
	--craft-border-strong:rgba(46,64,50,.3);

	/* Text (solid equivalents of the guide's forest opacities, AA on linen) */
	--craft-ink:#1F2E23;
	--craft-ink-2:#5C695D;
	--craft-ink-muted:#6B776C;
	--craft-link:#A85A3F;
	--craft-error:#9A3B2E;

	/* Semantic bindings (style guide 5.1) */
	--bg-page:var(--craft-linen);
	--bg-surface:var(--craft-surface);
	--bg-surface-alt:var(--craft-parchment);
	--bg-footer:var(--craft-forest-dark);
	--text-primary:var(--craft-forest-dark);
	--text-secondary:var(--craft-ink-2);
	--text-muted:var(--craft-ink-muted);
	--text-inverted:var(--craft-linen);
	--accent-cta:var(--craft-terracotta);
	--accent-cta-hover:var(--craft-terracotta-hover);
	--accent-luxury:var(--craft-gold);

	/* Type */
	--craft-font-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
	--craft-font-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
	--font-serif:var(--craft-font-serif);
	--font-sans:var(--craft-font-sans);

	/* Shape and depth */
	--craft-radius-card:16px;
	--craft-radius-input:10px;
	--craft-radius-pill:999px;
	--craft-shadow-paper:0 2px 10px rgba(31,46,35,.04),0 20px 35px -10px rgba(31,46,35,.08);
	--craft-shadow-luxe:0 10px 30px -5px rgba(28,37,31,.05),0 0 0 1px rgba(200,161,101,.18);
	--craft-shadow-luxe-hover:0 20px 40px -10px rgba(28,37,31,.12),0 0 0 1px rgba(200,161,101,.35);
	--craft-focus-ring:0 0 0 2px var(--craft-linen),0 0 0 4px var(--craft-gold);

	/* Astra theme palette mapped to the brand (inner pages, shop, cart) */
	--ast-global-color-0:#C06C4E;
	--ast-global-color-1:#A85A3F;
	--ast-global-color-2:#1F2E23;
	--ast-global-color-3:#5C695D;
	--ast-global-color-4:#F7F3EC;
	--ast-global-color-5:#FFFFFF;
	--ast-global-color-6:#E8CEBD;
	--ast-global-color-7:#2E4032;
	--ast-global-color-8:#1F2E23;

	/* WooCommerce blocks accent */
	--wp--preset--color--contrast:#1F2E23;
}

/* PixelNest components read these variables (header, footer, homepage, FAQ, help cards). */
html body.pixelnest-home,
html .pn-header,
html .pn-footer,
html .pn-faq-page,
html .pn-qh{
	--pn-bg:var(--craft-linen);
	--pn-ink:var(--craft-forest-dark);
	--pn-body:var(--craft-ink-2);
	--pn-muted:var(--craft-ink-muted);
	--pn-accent:var(--craft-terracotta);
	--pn-accent-hover:var(--craft-terracotta-hover);
	--pn-peach:var(--craft-terracotta-soft);
	--pn-cream:var(--craft-parchment);
	--pn-border:var(--craft-border);
	--pn-label:var(--craft-terracotta-hover);
	--pn-star:var(--craft-gold);
	--pn-divider:var(--craft-border);
	--pn-radius:16px;
}

/* ---------- 2. Base ---------- */
html body{
	background-color:var(--craft-linen);
	color:var(--craft-ink-2);
	font-family:var(--craft-font-sans);
	letter-spacing:.005em;
	-webkit-font-smoothing:antialiased;
}
html body.pixelnest-home{background-color:var(--craft-linen)}
html body #page,html body .site-content,html body .ast-separate-container{background-color:var(--craft-linen)}
html body .ast-separate-container .ast-article-single,
html body .ast-separate-container .ast-article-post{background-color:transparent}

html body :is(p,li,dd,dt,label,input,select,textarea,button,td,th,blockquote,figcaption){font-family:var(--craft-font-sans)}

/* Editorial headings (H1-H3, page titles). Small UI headings are switched back to sans below. */
html body :is(h1,h2,h3,h4),
html body .entry-title,
html body :is(h1,h2,h3,h4).elementor-heading-title{
	font-family:var(--craft-font-serif);
	font-weight:600;
	letter-spacing:-.015em;
	line-height:1.15;
	color:var(--craft-forest-dark);
}
html body :is(h1,h2,h3,h4) em,html body .elementor-heading-title em{font-style:italic;font-weight:500}

/* Small UI headings stay in Plus Jakarta Sans (serif is reserved for 18px+) */
html body .elementor-icon-box-title,
html body .e-n-accordion-item-title-text,
html body .pn-eyebrow .elementor-heading-title,
html body .pn-footer h3,
html body .pn-qh__eyebrow,
html body .wc-block-components-title,
html body .wc-block-components-checkout-step__title,
html body .woocommerce-MyAccount-navigation,
html body .widget-title{
	font-family:var(--craft-font-sans);
	letter-spacing:normal;
}

/* Uppercase labels and eyebrows */
html body .pn-eyebrow .elementor-heading-title,
html body .pn-qh__eyebrow{letter-spacing:.12em;color:var(--craft-terracotta-hover)}

/* Text links in running copy */
html body .entry-content a:not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.wc-block-components-button):not(.elementor-button),
html body .elementor-widget-text-editor a,
html body .pn-faq__text a,
html body .woocommerce-MyAccount-content a:not(.button){
	color:var(--craft-link);
	text-decoration:underline;
	text-decoration-color:rgba(168,90,63,.35);
	text-underline-offset:3px;
	transition:color .2s ease,text-decoration-color .2s ease;
}
html body .entry-content a:not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.wc-block-components-button):not(.elementor-button):hover,
html body .elementor-widget-text-editor a:hover,
html body .pn-faq__text a:hover,
html body .woocommerce-MyAccount-content a:not(.button):hover{color:var(--craft-forest-dark);text-decoration-color:var(--craft-gold)}

::selection{background:var(--craft-gold-light);color:var(--craft-forest-dark)}

/* Visible keyboard focus everywhere */
html body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
	outline:2px solid var(--craft-gold);
	outline-offset:2px;
}

/* ---------- 3. Header ---------- */
html .pn-header{
	background:rgba(253,251,247,.96);
	border-bottom:1px solid var(--craft-border);
	font-family:var(--craft-font-sans);
	-webkit-backdrop-filter:saturate(1.1) blur(6px);
	backdrop-filter:saturate(1.1) blur(6px);
}
html .pn-header .pn-nav > ul > li > a,
html .pn-header .pn-drop-toggle{color:var(--craft-forest);font-family:var(--craft-font-sans);font-weight:500;letter-spacing:.01em}
html .pn-header .pn-nav > ul > li > a.is-active,
html .pn-header .pn-drop-toggle.is-active{color:var(--craft-forest-dark);font-weight:700}
html .pn-header .pn-nav > ul > li > a::after,
html .pn-header .pn-drop-toggle::after{background:var(--craft-terracotta)}
html .pn-header .pn-iconbtn{color:var(--craft-forest)}
html .pn-header .pn-iconbtn:hover,html .pn-header .pn-iconbtn:focus{background:var(--craft-parchment);color:var(--craft-forest-dark)}
html .pn-header .pn-drop{background:var(--craft-surface);border-color:var(--craft-border);border-radius:14px;box-shadow:var(--craft-shadow-paper)}
html .pn-header .pn-search,
html .pn-header .pn-mobile-nav{background:var(--craft-linen);border-top-color:var(--craft-border)}
html .pn-header .pn-mobile-nav > ul > li > a,
html .pn-header .pn-m-toggle{color:var(--craft-forest);font-family:var(--craft-font-sans)}
html .pn-header .pn-cart-count{background:var(--craft-terracotta);font-family:var(--craft-font-sans)}
html .pn-header :focus-visible{outline-color:var(--craft-gold)}

/* Wordmark (header and footer): Cormorant Garamond, forest C + terracotta L as in the monogram */
html .pn-logo{font-family:var(--craft-font-serif)}
html .pn-logo .pn-logo__word{font-family:var(--craft-font-serif);font-size:30px;font-weight:600;letter-spacing:-.01em;color:var(--craft-forest)}
html .pn-logo .pn-logo__word span{color:var(--craft-terracotta);font-weight:600}
html .pn-logo a:hover .pn-logo__word span,html .pn-logo a:focus-visible .pn-logo__word span{color:var(--craft-terracotta-hover)}
@media (max-width:767px){html .pn-header .pn-logo .pn-logo__word{font-size:25px}}

/* ---------- 4. Buttons ---------- */
/* Primary: terracotta pill */
html body .pn-btn,
html body.pixelnest-home .pn-btn,
html body .pn-header .pn-btn,
html body .pn-cform .pn-cform__btn,
html body .elementor-widget-button:not(.pn-textlink) .elementor-button,
html body .woocommerce a.button,
html body .woocommerce button.button,
html body .woocommerce input.button,
html body .woocommerce #respond input#submit,
html body .woocommerce a.button.alt,
html body .woocommerce button.button.alt,
html body .woocommerce-page a.button,
html body .woocommerce-page button.button,
html body .wc-block-components-button:not(.is-link),
html body .wp-block-button__link,
html body .wp-element-button,
html body .ast-button,
html body button.single_add_to_cart_button{
	background-color:var(--craft-terracotta);
	color:#fff;
	border:0;
	border-radius:var(--craft-radius-pill);
	font-family:var(--craft-font-sans);
	font-weight:600;
	letter-spacing:.01em;
	text-decoration:none;
	box-shadow:0 1px 2px rgba(31,46,35,.08);
	transition:background-color .2s ease,box-shadow .25s ease,transform .2s ease;
}
html body .pn-btn:hover,
html body.pixelnest-home .pn-btn:hover,
html body .pn-header .pn-btn:hover,
html body .pn-cform .pn-cform__btn:hover,
html body .elementor-widget-button:not(.pn-textlink) .elementor-button:hover,
html body .woocommerce a.button:hover,
html body .woocommerce button.button:hover,
html body .woocommerce input.button:hover,
html body .woocommerce #respond input#submit:hover,
html body .woocommerce a.button.alt:hover,
html body .woocommerce button.button.alt:hover,
html body .woocommerce-page a.button:hover,
html body .woocommerce-page button.button:hover,
html body .wc-block-components-button:not(.is-link):hover,
html body .wp-block-button__link:hover,
html body .wp-element-button:hover,
html body .ast-button:hover,
html body button.single_add_to_cart_button:hover{
	background-color:var(--craft-terracotta-hover);
	color:#fff;
	box-shadow:0 10px 22px -10px rgba(168,90,63,.55);
}
html body .pn-btn:focus-visible,
html body .pn-cform .pn-cform__btn:focus-visible,
html body .elementor-button:focus-visible,
html body .woocommerce .button:focus-visible,
html body .wc-block-components-button:focus-visible,
html body .wp-block-button__link:focus-visible,
html body .wp-element-button:focus-visible{outline:none;box-shadow:var(--craft-focus-ring)}
html body .pn-btn:active,
html body .elementor-button:active,
html body .woocommerce .button:active,
html body .wc-block-components-button:active{transform:translateY(1px)}
html body .woocommerce .button:disabled,
html body .woocommerce .button.disabled,
html body .wc-block-components-button:disabled{background-color:var(--craft-blush);color:var(--craft-forest);opacity:1}

/* Secondary: forest outline */
html body .craft-btn-secondary,
html body .woocommerce a.button.wc-forward:not(.checkout),
html body .woocommerce-MyAccount-content .woocommerce-Button--previous,
html body .wc-block-components-button.is-secondary{
	background:transparent;
	color:var(--craft-forest);
	border:1px solid var(--craft-border-strong);
	box-shadow:none;
}
html body .craft-btn-secondary:hover,
html body .woocommerce a.button.wc-forward:not(.checkout):hover,
html body .wc-block-components-button.is-secondary:hover{background:var(--craft-parchment);border-color:var(--craft-gold);color:var(--craft-forest-dark);box-shadow:none}

/* Round icon buttons (homepage add to cart) */
html body.pixelnest-home .pn-addcart{border-radius:var(--craft-radius-pill);width:38px;height:38px;background:var(--craft-terracotta)}
html body.pixelnest-home .pn-addcart:hover{background:var(--craft-terracotta-hover)}
html body.pixelnest-home .pn-addcart.added{background:var(--craft-forest)}
html body.pixelnest-home .pn-addcart:focus-visible{outline:none;box-shadow:var(--craft-focus-ring)}

/* Text links styled as buttons ("View all products") */
html body.pixelnest-home .elementor-element.pn-textlink .elementor-button{color:var(--craft-link);font-family:var(--craft-font-sans);box-shadow:none}
html body.pixelnest-home .elementor-element.pn-textlink .elementor-button:hover{color:var(--craft-forest-dark);background:none;box-shadow:none}

/* ---------- 5. Cards ---------- */
html body.pixelnest-home .pn-card,
html body ul.products li.product,
html body .wc-block-product-template > li,
html body .wc-block-grid__product{
	background:var(--craft-surface);
	border:1px solid var(--craft-border);
	border-radius:var(--craft-radius-card);
	box-shadow:var(--craft-shadow-paper);
	overflow:hidden;
	transition:box-shadow .3s ease,transform .3s ease;
}
html body.pixelnest-home .pn-card:hover,
html body ul.products li.product:hover,
html body .wc-block-product-template > li:hover{box-shadow:var(--craft-shadow-luxe-hover);transform:translateY(-3px)}
html body.pixelnest-home .pn-card__media{background:var(--craft-parchment)}
html body.pixelnest-home .pn-card__body{padding:18px 18px 18px}
html body.pixelnest-home .pn-card__title{font-family:var(--craft-font-serif);font-size:21px;font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--craft-forest-dark)}
html body.pixelnest-home .pn-card__title a:hover{color:var(--craft-terracotta-hover)}
html body.pixelnest-home .pn-card__desc{font-size:13.5px;color:var(--craft-ink-2)}

/* Help cards, FAQ accordions and reviews share the paper surface */
html .pn-qh .pn-qh__card{background:var(--craft-surface);border-color:var(--craft-border);box-shadow:var(--craft-shadow-paper)}
html body .pn-faq__list .e-n-accordion-item{background:var(--craft-surface);border:1px solid var(--craft-border);border-radius:14px;box-shadow:0 2px 10px rgba(31,46,35,.03)}
html body .pn-faq__list .e-n-accordion-item[open]{border-color:rgba(200,161,101,.45);box-shadow:var(--craft-shadow-paper)}
html body .pn-faq__list .e-n-accordion-item-title-text{font-family:var(--craft-font-sans);font-weight:600;color:var(--craft-forest-dark)}
html body .pn-faq__list .e-n-accordion-item[open] .e-n-accordion-item-title-text,
html body .pn-faq__list .e-n-accordion-item-title:hover .e-n-accordion-item-title-text{color:var(--craft-terracotta-hover)}
html body .pn-faq__list .e-n-accordion-item-title-icon{background:var(--craft-terracotta-soft)}
html body .pn-faq__list .e-n-accordion-item-title-icon svg{fill:var(--craft-terracotta-hover)}
html body.pixelnest-home .elementor-element.pn-review{background:var(--craft-surface);border:1px solid var(--craft-border);border-radius:var(--craft-radius-card);box-shadow:var(--craft-shadow-paper)}

/* ---------- 6. Prices, badges, stars ---------- */
html body .price,
html body .pn-card__price,
html body .woocommerce-Price-amount,
html body .wc-block-components-product-price,
html body .wc-block-grid__product-price{font-family:var(--craft-font-serif);font-weight:600;color:var(--craft-forest-dark);letter-spacing:0}
html body .pn-card__price{font-size:21px}
html body ul.products li.product .price{font-size:21px}
html body .price del,html body .pn-card__price del{color:var(--craft-ink-muted);font-weight:500;opacity:1}
html body .price ins,html body .pn-card__price ins{color:var(--craft-terracotta-hover);text-decoration:none}
/* Discount badge (guide 4.3: soft terracotta). Text uses the deeper terracotta for AA contrast. */
html body .woocommerce span.onsale,
html body .wc-block-components-product-sale-badge,
html body .craft-badge-discount{
	min-height:0;min-width:0;line-height:1;padding:7px 12px;
	background:var(--craft-terracotta-soft);color:var(--craft-terracotta-hover);
	border:1px solid rgba(192,108,78,.25);border-radius:var(--craft-radius-pill);
	font-family:var(--craft-font-sans);font-size:12px;font-weight:700;letter-spacing:.04em;
}
html body .craft-badge-bestseller{display:inline-block;padding:6px 12px;background:var(--craft-forest);color:var(--craft-linen);border:1px solid rgba(200,161,101,.4);border-radius:var(--craft-radius-pill);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
html body .craft-badge-kids{display:inline-block;padding:6px 12px;background:var(--craft-sage-subtle);color:var(--craft-forest);border:1px solid rgba(126,149,125,.3);border-radius:var(--craft-radius-pill);font-size:12px;font-weight:600}
html body .star-rating span::before,
html body .star-rating::before{color:var(--craft-gold)}
html body .elementor-star-rating i::before,html body .pn-stars .elementor-star-rating{color:var(--craft-gold)}

/* Category filter pills (shop sidebar widgets, product categories) */
html body .craft-pill,
html body .woocommerce .product-categories li a,
html body .wc-block-product-categories-list-item a{display:inline-block;padding:7px 14px;border:1px solid rgba(46,64,50,.15);border-radius:var(--craft-radius-pill);background:var(--craft-surface);color:var(--craft-forest);text-decoration:none;font-size:13.5px;font-weight:500;transition:background-color .2s ease,color .2s ease}
html body .craft-pill.is-active,
html body .woocommerce .product-categories li.current-cat > a,
html body .craft-pill:hover,
html body .woocommerce .product-categories li a:hover{background:var(--craft-forest);color:var(--craft-linen);border-color:var(--craft-forest)}

/* ---------- 7. Forms ---------- */
html body input[type=text],html body input[type=email],html body input[type=tel],html body input[type=password],
html body input[type=search],html body input[type=number],html body input[type=url],html body select,html body textarea,
html body .wc-block-components-text-input input,
html body .wc-block-components-combobox .components-combobox-control__input,
html body .wc-blocks-components-select .wc-blocks-components-select__select{
	background-color:var(--craft-surface);
	border:1px solid var(--craft-border-input);
	border-radius:var(--craft-radius-input);
	color:var(--craft-forest-dark);
	font-family:var(--craft-font-sans);
	box-shadow:none;
}
html body input:focus,html body select:focus,html body textarea:focus,
html body .wc-block-components-text-input input:focus{
	outline:none;
	border-color:var(--craft-terracotta);
	box-shadow:0 0 0 3px rgba(200,161,101,.35);
}
html body ::placeholder{color:var(--craft-ink-muted);opacity:1}
html body label{color:var(--craft-forest-dark)}
html body .pn-news__form input[type=email]{border-radius:var(--craft-radius-pill);padding:0 20px;border-color:var(--craft-border-input)}
html body .pn-news__form .pn-btn{border-radius:var(--craft-radius-pill)}
html body .pn-cform select,html body .pn-cform input,html body .pn-cform textarea{border-radius:var(--craft-radius-input)}

/* Notices */
html body .woocommerce-message,html body .woocommerce-info,html body .wc-block-components-notice-banner.is-info,html body .wc-block-components-notice-banner.is-success{
	background:var(--craft-sage-subtle);color:var(--craft-forest);border:1px solid rgba(126,149,125,.35);border-left:4px solid var(--craft-sage);border-radius:12px}
html body .woocommerce-message::before,html body .woocommerce-info::before{color:var(--craft-forest)}
html body .woocommerce-error,html body .wc-block-components-notice-banner.is-error{
	background:var(--craft-terracotta-soft);color:var(--craft-error);border:1px solid rgba(192,108,78,.3);border-left:4px solid var(--craft-terracotta);border-radius:12px}

/* ---------- 8. Homepage sections (editorial serif sizes) ---------- */
html body.pixelnest-home .pn-hero__title .elementor-heading-title{font-size:60px;font-weight:600;line-height:1.04;letter-spacing:-.02em}
html body.pixelnest-home .pn-h2 .elementor-heading-title{font-size:42px;font-weight:600;line-height:1.1;letter-spacing:-.015em}
html body.pixelnest-home .pn-promo__title .elementor-heading-title{font-size:44px;font-weight:600;line-height:1.1}
html body.pixelnest-home .pn-news__title .elementor-heading-title{font-size:38px;font-weight:600;line-height:1.1}
html body.pixelnest-home .elementor-element.pn-hero__lead,
html body.pixelnest-home .elementor-element.pn-promo__text,
html body.pixelnest-home .elementor-element.pn-news__text,
html body.pixelnest-home .elementor-element.pn-sub{color:var(--craft-ink-2)}
html body.pixelnest-home .pn-perks .elementor-icon-list-text{color:var(--craft-forest)}
html body.pixelnest-home .pn-perks .elementor-icon-list-icon{color:var(--craft-terracotta)}
html body.pixelnest-home .pn-cat .elementor-icon-box-title{font-family:var(--craft-font-sans);font-weight:600;color:var(--craft-forest-dark)}
html body.pixelnest-home .pn-cat:hover .elementor-icon-box-title,
html body.pixelnest-home .pn-cat:hover .elementor-icon-box-title a{color:var(--craft-terracotta-hover)}
html body.pixelnest-home .pn-cat:hover .elementor-icon{box-shadow:0 0 0 1px rgba(200,161,101,.45),0 10px 20px -12px rgba(31,46,35,.35)}
html body.pixelnest-home .pn-benefit .elementor-icon-box-title{font-family:var(--craft-font-serif);font-size:22px;font-weight:600;letter-spacing:-.01em}
html body.pixelnest-home .pn-benefit .elementor-icon-box-description{color:var(--craft-ink-2)}
html body.pixelnest-home .pn-news__fine{color:var(--craft-ink-muted)}
html body.pixelnest-home .pn-news__msg.is-ok{color:var(--craft-forest)}
html body.pixelnest-home .pn-news__msg.is-err{color:var(--craft-error)}

/* Gold hairline under section titles (editorial divider) */
html body.pixelnest-home .pn-h2:not(.pn-noline) .elementor-heading-title::after{content:"";display:block;width:44px;height:1px;margin:14px auto 0;background:var(--craft-gold)}
html body.pixelnest-home .pn-head-left .pn-h2 .elementor-heading-title::after,
html body.pixelnest-home .pn-h2.pn-left .elementor-heading-title::after{margin-left:0}

/* Quick Help and FAQ page titles */
html .pn-qh h2.pn-qh__title{font-family:var(--craft-font-serif);font-weight:600;letter-spacing:-.02em}
html .pn-qh h2.pn-qh__title span{color:var(--craft-terracotta);font-style:italic;font-weight:500}
html .pn-qh h3.pn-qh__card-title,html .pn-qh h3.pn-qh__banner-title{font-family:var(--craft-font-serif);font-weight:600;letter-spacing:-.01em}
html .pn-qh .pn-qh__banner{background:var(--craft-parchment);border:1px solid rgba(200,161,101,.3)}
html .pn-qh a.pn-qh__go{background:var(--craft-terracotta)}
html .pn-qh a.pn-qh__go:hover{background:var(--craft-terracotta-hover)}
html .pn-faq-page{--pn-label:var(--craft-terracotta-hover)}
html .pn-faq-page .pn-h2 .elementor-heading-title{font-family:var(--craft-font-serif);font-size:44px;font-weight:600}

/* ---------- 9. Inner pages (legal pages, About, Contact, blog) ---------- */
html body .entry-content :is(h1){font-size:46px;margin-bottom:.4em}
html body .entry-content :is(h2){font-size:32px;margin-top:1.4em;margin-bottom:.5em}
html body .entry-content :is(h3){font-size:24px}
html body .entry-content :is(p,li){color:var(--craft-ink-2);line-height:1.7}
html body .entry-content strong{color:var(--craft-forest-dark)}
html body .entry-content hr,html body hr.wp-block-separator{border:0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,161,101,.6),transparent)}
html body .entry-content blockquote{border-left:2px solid var(--craft-gold);background:var(--craft-parchment);border-radius:0 12px 12px 0;padding:18px 22px;font-family:var(--craft-font-serif);font-size:22px;font-style:italic;color:var(--craft-forest)}

/* ---------- 10. WooCommerce: shop, product, account ---------- */
html body ul.products li.product .woocommerce-loop-product__title,
html body .wc-block-components-product-name,
html body .wc-block-product-template .wp-block-post-title,
html body .wc-block-product-template .wp-block-post-title a{font-family:var(--craft-font-serif);font-size:21px;font-weight:600;line-height:1.2;color:var(--craft-forest-dark);text-decoration:none}
html body ul.products li.product .astra-shop-summary-wrap{padding:16px 18px 20px}
html body ul.products li.product img,
html body ul.products li.product .astra-shop-thumbnail-wrap img,
html body .wc-block-product-template img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;background:var(--craft-parchment)}
html body ul.products li.product .ast-woo-product-category,
html body ul.products li.product .ast-woo-shop-product-description{color:var(--craft-ink-muted);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
html body ul.products li.product .ast-woo-shop-product-description{letter-spacing:normal;text-transform:none;font-size:13.5px;color:var(--craft-ink-2)}
html body .woocommerce .woocommerce-result-count,html body .woocommerce .woocommerce-ordering select{color:var(--craft-ink-2);font-size:14px}
html body .woocommerce .woocommerce-ordering select{border-radius:var(--craft-radius-pill);padding:8px 36px 8px 16px}
html body .woocommerce-products-header__title,html body .woocommerce .page-title{font-family:var(--craft-font-serif);font-weight:600;font-size:46px;color:var(--craft-forest-dark)}
html body .woocommerce nav.woocommerce-pagination ul li a,html body .woocommerce nav.woocommerce-pagination ul li span{border-radius:var(--craft-radius-pill);color:var(--craft-forest)}
html body .woocommerce nav.woocommerce-pagination ul li span.current{background:var(--craft-forest);color:var(--craft-linen)}

/* Single product */
html body.single-product div.product .product_title{font-family:var(--craft-font-serif);font-size:44px;font-weight:600;line-height:1.08;color:var(--craft-forest-dark)}
html body.single-product div.product p.price,html body.single-product div.product span.price{font-size:30px;color:var(--craft-forest-dark)}
html body.single-product div.product .woocommerce-product-details__short-description{color:var(--craft-ink-2);font-size:16px;line-height:1.7}
html body.single-product div.product .woocommerce-product-gallery{background:var(--craft-parchment);border-radius:var(--craft-radius-card);overflow:hidden;border:1px solid var(--craft-border)}
html body.single-product div.product .woocommerce-product-gallery img{border-radius:var(--craft-radius-card)}
html body.single-product div.product .flex-control-thumbs img{border-radius:10px;border:1px solid var(--craft-border);opacity:.75}
html body.single-product div.product .flex-control-thumbs img.flex-active,html body.single-product div.product .flex-control-thumbs img:hover{opacity:1;border-color:var(--craft-gold)}
html body.single-product div.product form.cart .quantity .qty{border-radius:var(--craft-radius-pill);height:46px}
html body.single-product div.product button.single_add_to_cart_button{padding:14px 34px;font-size:15px}
html body.single-product div.product .product_meta{color:var(--craft-ink-muted);font-size:13.5px;border-top:1px solid var(--craft-border);padding-top:14px}
html body.single-product div.product .product_meta a{color:var(--craft-link)}
html body .woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border-color:var(--craft-border);border-radius:var(--craft-radius-pill) var(--craft-radius-pill) 0 0}
html body .woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--craft-surface)}
html body .woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--craft-forest);font-family:var(--craft-font-sans);font-weight:600}
html body .woocommerce div.product .woocommerce-tabs .panel{background:var(--craft-surface);border:1px solid var(--craft-border);border-radius:0 var(--craft-radius-card) var(--craft-radius-card) var(--craft-radius-card);padding:28px}
html body .related.products > h2,html body .upsells.products > h2{font-family:var(--craft-font-serif);font-size:34px}

/* Cart and checkout (WooCommerce blocks) */
html body .wp-block-woocommerce-cart,html body .wp-block-woocommerce-checkout{color:var(--craft-ink-2)}
html body .wc-block-cart .wc-block-cart__totals-title,
html body .wc-block-components-checkout-step__title,
html body .wc-block-components-title.wc-block-components-title{font-family:var(--craft-font-serif);font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--craft-forest-dark);text-transform:none}
html body .wc-block-components-sidebar .wc-block-components-panel,
html body .wc-block-components-sidebar-layout .wc-block-components-sidebar > *{border-color:var(--craft-border)}
html body .wp-block-woocommerce-cart-totals-block,
html body .wp-block-woocommerce-checkout-totals-block{background:var(--craft-surface);border:1px solid var(--craft-border);border-radius:var(--craft-radius-card);box-shadow:var(--craft-shadow-paper);padding:22px}
html body .wc-block-cart-items{border-color:var(--craft-border)}
html body .wc-block-cart-items th{color:var(--craft-ink-muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
html body .wc-block-components-totals-item__label{color:var(--craft-ink-2)}
html body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
html body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-family:var(--craft-font-serif);font-size:24px;font-weight:600;color:var(--craft-forest-dark)}
html body .wc-block-cart__submit-button,html body .wc-block-components-checkout-place-order-button{min-height:52px;font-size:16px}
html body .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{border-radius:6px;border-color:var(--craft-border-input)}
html body .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--craft-forest);border-color:var(--craft-forest)}
html body .wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:var(--craft-linen)}
html body .wc-block-components-radio-control__input:checked{border-color:var(--craft-terracotta)}
html body .wc-block-components-radio-control__input:checked::before{background:var(--craft-terracotta)}
html body .wc-block-components-text-input label,html body .wc-block-components-combobox label{color:var(--craft-ink-muted)}
html body .wc-block-components-text-input input{border-radius:var(--craft-radius-input)}
html body .wc-block-components-quantity-selector{border-radius:var(--craft-radius-pill);border-color:var(--craft-border-input)}
html body .wc-block-components-quantity-selector::after{border-radius:var(--craft-radius-pill);border-color:var(--craft-border-input)}
html body .wc-block-components-product-metadata{color:var(--craft-ink-muted)}
html body .wc-block-cart__empty-cart__title{font-family:var(--craft-font-serif);color:var(--craft-forest-dark)}

/* My account */
html body .woocommerce-MyAccount-navigation ul{margin:0;padding:10px;list-style:none;background:var(--craft-surface);border:1px solid var(--craft-border);border-radius:var(--craft-radius-card);box-shadow:var(--craft-shadow-paper)}
html body .woocommerce-MyAccount-navigation ul li{border:0;margin:0}
html body .woocommerce-MyAccount-navigation ul li a{display:block;padding:11px 14px;border-radius:10px;color:var(--craft-forest);font-weight:500;text-decoration:none}
html body .woocommerce-MyAccount-navigation ul li a:hover{background:var(--craft-parchment);color:var(--craft-forest-dark)}
html body .woocommerce-MyAccount-navigation ul li.is-active a{background:var(--craft-forest);color:var(--craft-linen)}
html body .woocommerce-account .woocommerce-MyAccount-content table.shop_table,
html body .woocommerce table.shop_table{border:1px solid var(--craft-border);border-radius:var(--craft-radius-card);overflow:hidden;background:var(--craft-surface);border-collapse:separate}
html body .woocommerce table.shop_table th{background:var(--craft-parchment);color:var(--craft-forest-dark);font-weight:600}
html body .woocommerce table.shop_table td,html body .woocommerce table.shop_table th{border-color:var(--craft-border)}
html body .woocommerce form.login,html body .woocommerce form.register,html body .woocommerce form.checkout_coupon,html body .woocommerce form.lost_reset_password{background:var(--craft-surface);border:1px solid var(--craft-border);border-radius:var(--craft-radius-card);box-shadow:var(--craft-shadow-paper);padding:28px}
html body .woocommerce-account h2{font-size:30px}

/* ---------- 11. Footer: dark forest ---------- */
html body .pn-footer{
	--pn-ink:var(--craft-linen);
	--pn-body:rgba(253,251,247,.78);
	--pn-muted:rgba(253,251,247,.68);
	--pn-divider:rgba(200,161,101,.3);
	background:var(--craft-forest-dark);
	color:rgba(253,251,247,.78);
	border-top:1px solid rgba(200,161,101,.3);
	font-family:var(--craft-font-sans);
}
html body .pn-footer .pn-footer__brand p{color:rgba(253,251,247,.78)}
html body .pn-footer h3{font-family:var(--craft-font-sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--craft-gold-light)}
html body .pn-footer .pn-footer__col a{color:rgba(253,251,247,.82);text-decoration:none;transition:color .2s ease}
html body .pn-footer .pn-footer__col a:hover,html body .pn-footer .pn-footer__col a:focus-visible{color:var(--craft-gold-light)}
html body .pn-footer .pn-footer__col .pn-nolink{color:rgba(253,251,247,.55)}
html body .pn-footer .pn-social a,html body .pn-footer .pn-social__icon{color:var(--craft-linen);border:1px solid rgba(200,161,101,.35)}
html body .pn-footer .pn-social a:hover,html body .pn-footer .pn-social a:focus-visible{background:rgba(200,161,101,.16);color:var(--craft-gold-light);border-color:var(--craft-gold)}
html body .pn-footer .pn-footer__bar{color:rgba(253,251,247,.68)}
html body .pn-footer .pn-footer__bar::before{border-top-color:rgba(200,161,101,.3)}
html body .pn-footer .pn-logo .pn-logo__word{color:var(--craft-linen)}
html body .pn-footer .pn-logo .pn-logo__word span{color:var(--craft-gold-light)}
html body .pn-footer .pn-logo a:hover .pn-logo__word span{color:var(--craft-gold)}
html body .pn-footer .pn-logo .pn-logo__mark{border-radius:50%;background:var(--craft-parchment);padding:3px;box-shadow:0 0 0 1px rgba(200,161,101,.45)}
html body .pn-footer :focus-visible{outline-color:var(--craft-gold-light)}
html body.pixelnest-home .pn-footer{background:var(--craft-forest-dark)}

/* Toast after add to cart */
html body .pn-toast{background:var(--craft-forest-dark);color:var(--craft-linen);border:1px solid rgba(200,161,101,.35);border-radius:12px}
html body .pn-toast a{color:var(--craft-gold-light)}

/* ---------- 12. Responsive ---------- */
@media (max-width:1024px){
	html body.pixelnest-home .pn-hero__title .elementor-heading-title{font-size:50px}
	html body.pixelnest-home .pn-h2 .elementor-heading-title{font-size:36px}
	html body.pixelnest-home .pn-promo__title .elementor-heading-title{font-size:38px}
	html .pn-faq-page .pn-h2 .elementor-heading-title{font-size:38px}
	html body .entry-content :is(h1),html body .woocommerce-products-header__title,html body .woocommerce .page-title{font-size:40px}
	html body.single-product div.product .product_title{font-size:38px}
}
@media (max-width:767px){
	html body.pixelnest-home .pn-hero__title .elementor-heading-title{font-size:40px;line-height:1.06}
	html body.pixelnest-home .pn-h2 .elementor-heading-title{font-size:31px}
	html body.pixelnest-home .pn-promo__title .elementor-heading-title{font-size:32px}
	html body.pixelnest-home .pn-news__title .elementor-heading-title{font-size:30px}
	html body.pixelnest-home .pn-benefit .elementor-icon-box-title{font-size:20px}
	html .pn-faq-page .pn-h2 .elementor-heading-title{font-size:32px}
	html body .entry-content :is(h1),html body .woocommerce-products-header__title,html body .woocommerce .page-title{font-size:34px}
	html body .entry-content :is(h2){font-size:26px}
	html body.single-product div.product .product_title{font-size:32px}
	html body.pixelnest-home .pn-card__title,html body ul.products li.product .woocommerce-loop-product__title{font-size:19px}
	html body a.button,html body button.button,html body .wc-block-components-button:not(.is-link){min-height:44px}
}

/* ---------- 13. Motion ---------- */
@media (prefers-reduced-motion:reduce){
	html body *,html body *::before,html body *::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}

/* ---------- 14. Specificity fixes over homepage.css ---------- */
html body.pixelnest-home .pn-news__form input[type=email]{height:50px;border-radius:var(--craft-radius-pill);padding:0 22px;border:1px solid var(--craft-border-input);background:var(--craft-surface)}
html body.pixelnest-home .pn-news__form input[type=email]:focus{border-color:var(--craft-terracotta);box-shadow:0 0 0 3px rgba(200,161,101,.35)}
html body.pixelnest-home .pn-news__form .pn-btn{height:50px;padding:0 32px}
html body :is(.pixelnest-home,.pn-faq-page) .pn-faq__list .e-n-accordion-item{border-radius:14px;border-color:var(--craft-border);box-shadow:0 2px 10px rgba(31,46,35,.03)}
html body :is(.pixelnest-home,.pn-faq-page) .pn-faq__list .e-n-accordion-item[open]{border-color:rgba(200,161,101,.5);box-shadow:var(--craft-shadow-paper)}
html body :is(.pixelnest-home,.pn-faq-page) .pn-faq__list .e-n-accordion-item-title-text{font-family:var(--craft-font-sans);font-weight:600}
html body.pixelnest-home .pn-footer h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--craft-gold-light)}
@media (max-width:767px){html body.pixelnest-home .pn-news__form input[type=email],html body.pixelnest-home .pn-news__form .pn-btn{height:48px}}

/* Shop grid: Astra puts the woocommerce class on <body>, so target the list directly. */
html body ul.products li.product{padding:0;overflow:hidden}
html body ul.products li.product .astra-shop-thumbnail-wrap{display:block;margin:0;background:var(--craft-parchment)}
html body ul.products li.product .astra-shop-summary-wrap{display:block;padding:16px 18px 20px}
html body ul.products li.product .woocommerce-loop-product__title{margin-bottom:6px}
html body ul.products li.product .price{display:block;margin-bottom:14px}
html body ul.products li.product .ast-woo-product-category{margin-bottom:4px}
html body ul.products li.product a.button,
html body ul.products li.product a.added_to_cart{display:inline-flex;align-items:center;justify-content:center;margin-top:0}
html body ul.products li.product a.added_to_cart{margin-left:10px;background:transparent;color:var(--craft-link);text-decoration:underline;box-shadow:none;padding:0}
html body ul.products li.product span.onsale{top:12px;left:12px;right:auto}

/* ---------- 15. Long-form legal pages (Privacy, Refund, Terms) ---------- */
html body .craft-longform{background:var(--craft-linen)}
html body .craft-longform :is(p,li){max-width:74ch;color:var(--craft-ink-2);line-height:1.75}
html body .craft-longform :is(h1,h2,h3){max-width:40ch;text-wrap:balance}
html body .craft-longform h1{font-size:46px;margin-bottom:6px}
html body .craft-longform h2{font-size:30px;margin:2em 0 .55em}
html body .craft-longform h3{font-size:23px;margin:1.6em 0 .5em}
html body .craft-longform h1 + p strong,html body .craft-longform > .elementor-widget-container > p:first-child strong{color:var(--craft-ink-muted);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
html body .craft-longform a{color:var(--craft-link);text-decoration:underline;text-underline-offset:3px}
html body .craft-longform a:hover{color:var(--craft-forest-dark)}
@media (max-width:767px){
	html body .craft-longform h1{font-size:34px}
	html body .craft-longform h2{font-size:25px}
	html body .craft-longform h3{font-size:20px}
}

/* Product description tab: keep a comfortable measure */
html body .woocommerce-Tabs-panel :is(p,li){max-width:74ch}

/* Eyebrow/kicker headings (Elementor heading widget set to <p> or <span>) stay sans. */
html body :is(p,span,div).elementor-heading-title{font-family:var(--craft-font-sans);letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:700;color:var(--craft-terracotta-hover)}
html body .pn-page-title :is(p,span,div).elementor-heading-title{letter-spacing:normal;text-transform:none}

/* ---------- 16. WooCommerce page spacing and account nav (beats Astra) ---------- */
html body:is(.woocommerce-account,.woocommerce-cart,.woocommerce-checkout,.post-type-archive-product,.tax-product_cat,.single-product) .ast-container{padding-top:44px;padding-bottom:72px}

html body.woocommerce-account .woocommerce-MyAccount-navigation.woocommerce-MyAccount-navigation ul li a{
	display:block;padding:11px 14px;border-radius:10px;
	background:transparent;color:var(--craft-forest);font-weight:500;text-decoration:none;
}
html body.woocommerce-account .woocommerce-MyAccount-navigation.woocommerce-MyAccount-navigation ul li a:hover{background:var(--craft-parchment);color:var(--craft-forest-dark)}
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover{background:var(--craft-forest);color:var(--craft-linen)}
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before{color:var(--craft-linen)}
html body.woocommerce-account .woocommerce-MyAccount-content{color:var(--craft-ink-2)}
html body.woocommerce-account .woocommerce-MyAccount-content strong{color:var(--craft-forest-dark)}

/* ---------- 17. Cart & checkout block alignment and button contrast ---------- */
/* Woo pulls these blocks into the page gutter; keep them inside it. */
html body .entry-content[data-ast-blocks-layout] > .wp-block-woocommerce-cart.wp-block-woocommerce-cart,
html body .entry-content[data-ast-blocks-layout] > .wp-block-woocommerce-checkout.wp-block-woocommerce-checkout,
html body .entry-content > .wp-block-woocommerce-cart.wp-block-woocommerce-cart,
html body .entry-content > .wp-block-woocommerce-checkout.wp-block-woocommerce-checkout,
html body .wp-block-woocommerce-cart.wp-block-woocommerce-cart,
html body .wp-block-woocommerce-checkout.wp-block-woocommerce-checkout{margin-left:auto;margin-right:auto;max-width:1200px;width:100%}

/* Button label colour: Woo colours the inner span, so set both. */
html body .wc-block-components-button.wc-block-components-button:not(.is-link),
html body .wc-block-components-button.wc-block-components-button:not(.is-link) .wc-block-components-button__text,
html body .wc-block-cart__submit-button.wc-block-cart__submit-button,
html body .wc-block-components-checkout-place-order-button.wc-block-components-checkout-place-order-button{
	color:#fff;
	background-color:var(--craft-terracotta);
	border-radius:var(--craft-radius-pill);
	font-family:var(--craft-font-sans);
	font-weight:600;
}
html body .wc-block-components-button.wc-block-components-button:not(.is-link):hover,
html body .wc-block-cart__submit-button.wc-block-cart__submit-button:hover,
html body .wc-block-components-checkout-place-order-button.wc-block-components-checkout-place-order-button:hover{background-color:var(--craft-terracotta-hover);color:#fff}
html body .wc-block-components-button.is-link{color:var(--craft-link);background:none}

/* Cart line items */
html body .wc-block-cart-items__row .wc-block-components-product-name{font-family:var(--craft-font-serif);font-size:20px;font-weight:600;color:var(--craft-forest-dark);text-decoration:none}
html body .wc-block-cart-item__image img{border-radius:10px;border:1px solid var(--craft-border);background:var(--craft-parchment)}
html body .wc-block-cart-item__remove-link{color:var(--craft-ink-muted)}
html body .wc-block-cart-item__remove-link:hover{color:var(--craft-error)}
html body .wc-block-cart__sidebar .wc-block-components-sidebar{background:transparent}

/* ---------- 18. Elementor heading fonts (beats home.css font-family:inherit) ---------- */
html body .elementor .elementor-heading-title.elementor-heading-title:is(h1,h2,h3,h4){
	font-family:var(--craft-font-serif);
	font-weight:600;
	letter-spacing:-.015em;
	color:var(--craft-forest-dark);
}
html body .elementor .elementor-heading-title.elementor-heading-title:is(p,span,div){
	font-family:var(--craft-font-sans);
}
html body .elementor .pn-eyebrow .elementor-heading-title.elementor-heading-title{
	font-family:var(--craft-font-sans);
	color:var(--craft-terracotta-hover);
	letter-spacing:.12em;
}
/* Card and product titles stay serif, above home.css */
html body.pixelnest-home .pn-card .pn-card__title.pn-card__title{font-family:var(--craft-font-serif);font-weight:600;letter-spacing:-.01em}
html body.pixelnest-home .pn-card .pn-card__price{font-family:var(--craft-font-serif);font-size:21px;font-weight:600;color:var(--craft-forest-dark)}
html body.pixelnest-home .pn-card .pn-card__price del{font-size:15px}
@media (max-width:767px){html body.pixelnest-home .pn-card .pn-card__price{font-size:19px}}

/* ---------- 19. Blog posts: same editorial layout as the legal pages ---------- */
/* Applies to every single post (body.craft-post-page), so new articles need no setup. */
html body.craft-post-page{background:var(--craft-linen)}
html body.craft-post-page .ast-container{padding-top:0;padding-bottom:0}

/* Post title + meta, matching the legal-page h1 treatment */
html body.craft-post-page .ast-single-post-order .entry-title,
html body.craft-post-page .entry-header .entry-title{
	font-family:var(--craft-font-serif);
	font-size:46px;
	font-weight:600;
	line-height:1.12;
	letter-spacing:-.015em;
	color:var(--craft-forest-dark);
	max-width:none;
	text-wrap:balance;
	margin-bottom:10px;
}
html body.craft-post-page .entry-meta,
html body.craft-post-page .entry-meta *{
	font-family:var(--craft-font-sans);
	font-size:13px;
	font-weight:600;
	letter-spacing:.06em;
	text-transform:uppercase;
	color:var(--craft-ink-muted);
}
html body.craft-post-page .entry-meta a:hover{color:var(--craft-link)}

/* Reading column: same 74ch measure and rhythm as .craft-longform */
html body.craft-post-page .entry-content :is(p,li){max-width:74ch;color:var(--craft-ink-2);line-height:1.75}
html body.craft-post-page .entry-content :is(h2,h3,h4){max-width:40ch;text-wrap:balance;color:var(--craft-forest-dark)}
html body.craft-post-page .entry-content h2{font-size:32px;margin:2em 0 .55em}
html body.craft-post-page .entry-content h3{font-size:25px;margin:1.7em 0 .5em}
html body.craft-post-page .entry-content h4{font-size:20px;margin:1.5em 0 .45em}
html body.craft-post-page .entry-content img{border-radius:var(--craft-radius-card);border:1px solid var(--craft-border)}
html body.craft-post-page .entry-content figcaption{font-size:13px;color:var(--craft-ink-muted);margin-top:8px}
html body.craft-post-page .entry-content blockquote{max-width:70ch}
html body.craft-post-page .entry-content table{max-width:100%}

/* Elementor-built posts: same measure inside the builder's widgets */
html body.craft-post-page .elementor-widget-text-editor :is(p,li){max-width:74ch}
html body.craft-post-page .elementor-widget-heading .elementor-heading-title{max-width:40ch;text-wrap:balance}
html body.craft-post-page .elementor-widget-image img{border-radius:var(--craft-radius-card);border:1px solid var(--craft-border)}

/* Post lists (blog archive) keep the card language */
html body.blog .ast-article-post,
html body.archive .ast-article-post{background:var(--craft-surface);border:1px solid var(--craft-border);border-radius:var(--craft-radius-card);box-shadow:var(--craft-shadow-paper);overflow:hidden}
html body:is(.blog,.archive) .ast-article-post .entry-title a{font-family:var(--craft-font-serif);color:var(--craft-forest-dark)}
html body:is(.blog,.archive) .ast-article-post .entry-title a:hover{color:var(--craft-terracotta-hover)}

@media (max-width:1024px){
	html body.craft-post-page .entry-header .entry-title{font-size:40px}
	html body.craft-post-page .entry-content h2{font-size:28px}
}
@media (max-width:767px){
	html body.craft-post-page .entry-header .entry-title{font-size:32px}
	html body.craft-post-page .entry-content h2{font-size:25px}
	html body.craft-post-page .entry-content h3{font-size:21px}
	html body.craft-post-page .entry-content h4{font-size:18px}
}

/* Post title block sits in the same column as the body copy (matches the legal pages). */
html body.craft-post-page .entry-header,
html body.craft-post-page .ast-single-post-order > .entry-header{
	box-sizing:border-box;
	max-width:1248px;
	margin-inline:auto;
	padding:72px 24px 0;
}
html body.craft-post-page .craft-post{padding-top:8px}
@media (max-width:1024px){html body.craft-post-page .entry-header{padding:60px 20px 0}}
@media (max-width:767px){html body.craft-post-page .entry-header{padding:44px 16px 0}}

/* Tall portrait images in posts stay reasonable without cropping. */
html body.craft-post-page .entry-content img,
html body.craft-post-page .elementor-widget-image img{max-height:70vh;width:auto;max-width:100%;object-fit:contain}
html body.craft-post-page .elementor-widget-image{text-align:left}

/* Tables inside posts follow the brand, whatever the pasted markup says. */
html body.craft-post-page .entry-content table{
	width:100%;border-collapse:separate;border-spacing:0;
	border:1px solid var(--craft-border);border-radius:var(--craft-radius-card);overflow:hidden;
	background:var(--craft-surface);font-family:var(--craft-font-sans);font-size:15px;
	box-shadow:var(--craft-shadow-paper);margin:1.8em 0;
}
html body.craft-post-page .entry-content table :is(th,td){border:0;border-bottom:1px solid var(--craft-border);padding:13px 16px;vertical-align:top;max-width:none}
html body.craft-post-page .entry-content table thead th{
	background:var(--craft-forest);color:var(--craft-linen);
	font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;border-bottom:0;
}
html body.craft-post-page .entry-content table tbody tr:nth-child(even) td{background:var(--craft-parchment)}
html body.craft-post-page .entry-content table tbody tr:last-child td{border-bottom:0}
html body.craft-post-page .entry-content table td{color:var(--craft-ink-2)}
html body.craft-post-page .entry-content table td strong,
html body.craft-post-page .entry-content table td:first-child{color:var(--craft-forest-dark);font-weight:600}
/* Tables scroll instead of breaking the layout on small screens. */
html body.craft-post-page .entry-content :is(.worksheet-comparison,.activity-table-wrapper,.weekly-activity-wrapper,.worksheet-moments-wrapper){overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:767px){
	html body.craft-post-page .entry-content table{font-size:14px}
	html body.craft-post-page .entry-content table :is(th,td){padding:10px 12px}
}
/* Post headings: identical scale and rhythm to the legal pages (.craft-longform) */
html body.craft-post-page .entry-content :is(h1,h2,h3){font-family:var(--craft-font-serif);font-weight:600;color:var(--craft-forest-dark);letter-spacing:-.015em;max-width:40ch;text-wrap:balance}
html body.craft-post-page .entry-content h2{font-size:30px;margin:2em 0 .55em}
html body.craft-post-page .entry-content h3{font-size:23px;margin:1.6em 0 .5em}
html body.craft-post-page .entry-content h4{font-family:var(--craft-font-serif);font-weight:600;color:var(--craft-forest-dark);font-size:19px;margin:1.5em 0 .45em}
html body.craft-post-page .entry-content a:not(.button):not(.wp-element-button):not(.elementor-button){color:var(--craft-link);text-decoration:underline;text-underline-offset:3px}
html body.craft-post-page .entry-content a:not(.button):not(.wp-element-button):not(.elementor-button):hover{color:var(--craft-forest-dark)}
@media (max-width:767px){
	html body.craft-post-page .entry-content h2{font-size:25px}
	html body.craft-post-page .entry-content h3{font-size:20px}
	html body.craft-post-page .entry-content h4{font-size:17px}
}

/* ---------- 20. In-post FAQ accordion: same look as the homepage and FAQ page ---------- */
html body.craft-post-page .entry-content .craft-faq{display:flex;flex-direction:column;gap:12px;max-width:74ch;margin:1.4em 0 2.2em}
html body.craft-post-page .entry-content .craft-faq__item{margin:0;background:#fff;border:1px solid var(--craft-border);border-radius:8px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
html body.craft-post-page .entry-content .craft-faq__item[open]{box-shadow:0 12px 26px -20px rgba(31,46,35,.22)}
html body.craft-post-page .entry-content .craft-faq__q{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:18px 22px;cursor:pointer;list-style:none;font-family:var(--craft-font-sans);font-size:16px;font-weight:700;line-height:1.4;letter-spacing:0;color:var(--craft-forest-dark);transition:color .2s ease}
html body.craft-post-page .entry-content .craft-faq__q::-webkit-details-marker{display:none}
html body.craft-post-page .entry-content .craft-faq__q::marker{content:''}
html body.craft-post-page .entry-content .craft-faq__q:hover,html body.craft-post-page .entry-content .craft-faq__item[open] .craft-faq__q{color:var(--craft-terracotta)}
html body.craft-post-page .entry-content .craft-faq__q::after{content:'';flex:none;width:28px;height:28px;border-radius:50%;background:var(--craft-terracotta-soft) url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%20fill%3D%22%2523C06C4E%22%3E%3Cpath%20d%3D%22M416%20208H272V64c0-17.67-14.33-32-32-32h-32c-17.67%200-32%2014.33-32%2032v144H32c-17.67%200-32%2014.33-32%2032v32c0%2017.67%2014.33%2032%2032%2032h144v144c0%2017.67%2014.33%2032%2032%2032h32c17.67%200%2032-14.33%2032-32V304h144c17.67%200%2032-14.33%2032-32v-32c0-17.67-14.33-32-32-32z%22%2F%3E%3C%2Fsvg%3E") center / 12px 12px no-repeat}
html body.craft-post-page .entry-content .craft-faq__item[open] .craft-faq__q::after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%20fill%3D%22%2523C06C4E%22%3E%3Cpath%20d%3D%22M416%20208H32c-17.67%200-32%2014.33-32%2032v32c0%2017.67%2014.33%2032%2032%2032h384c17.67%200%2032-14.33%2032-32v-32c0-17.67-14.33-32-32-32z%22%2F%3E%3C%2Fsvg%3E")}
html body.craft-post-page .entry-content .craft-faq__q:focus-visible{outline:2px solid var(--craft-terracotta);outline-offset:-2px}
html body.craft-post-page .entry-content .craft-faq__a{padding:0 22px 20px}
html body.craft-post-page .entry-content .craft-faq__a p{margin:0;max-width:none;font-size:15px;line-height:1.7;color:var(--craft-ink-2)}
html body.craft-post-page .entry-content .craft-faq__a a{color:var(--craft-terracotta);text-decoration:underline;text-underline-offset:3px}
@media (max-width:767px){
	html body.craft-post-page .entry-content .craft-faq__q{padding:16px 18px;font-size:15px}
	html body.craft-post-page .entry-content .craft-faq__a{padding:0 18px 18px}
}

/* ---------- 21. Blog post column: title, text, tables, images and FAQ share one centred 1000px column ---------- */
html body.craft-post-page .entry-header{max-width:1048px}
html body.craft-post-page .entry-header .entry-title{font-size:44px}
html body.craft-post-page .entry-content :is(p,li){max-width:none;font-size:17px;line-height:1.8}
/* Every section heading is an H3, bold serif */
html body.craft-post-page .craft-post .elementor-widget-heading .elementor-heading-title.elementor-heading-title:is(h2,h3){font-family:var(--craft-font-serif);font-size:30px;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:var(--craft-forest-dark);max-width:none;margin:0;text-wrap:balance}
html body.craft-post-page .craft-post .craft-post__h{margin:34px 0 12px}
html body.craft-post-page .craft-post :is(.craft-post__text,.craft-post__table){margin:0 0 22px}
html body.craft-post-page .craft-post .craft-post__text p{margin:0 0 1em}
html body.craft-post-page .craft-post .craft-post__text :is(p,ul,ol):last-child{margin-bottom:0}
html body.craft-post-page .craft-post .craft-post__text ul{margin:0 0 1em;padding-left:1.3em;list-style:disc}
html body.craft-post-page .craft-post .craft-post__text li{margin:0 0 .6em;padding-left:.2em}
html body.craft-post-page .craft-post .craft-post__text li::marker{color:var(--craft-terracotta)}
html body.craft-post-page .craft-post .craft-post__text strong{color:var(--craft-forest-dark);font-weight:700}
html body.craft-post-page .craft-post .craft-post__img{margin:14px 0 36px;text-align:center}
html body.craft-post-page .craft-post .craft-post__img img{border-radius:16px;box-shadow:0 24px 48px -32px rgba(31,46,35,.35)}
html body.craft-post-page .craft-post .craft-post__table table{width:100%;margin:0}
html body.craft-post-page .craft-post .craft-post__table td:first-child{font-weight:600;color:var(--craft-forest-dark)}
/* FAQ: Elementor Accordion styled like the homepage and FAQ page */
html body.craft-post-page .craft-faq-list{margin:4px 0 22px}
html body.craft-post-page .craft-faq-list .e-n-accordion{display:flex;flex-direction:column;gap:12px}
html body.craft-post-page .craft-faq-list .e-n-accordion-item{margin:0;background:#fff;border:1px solid var(--craft-border);border-radius:8px;overflow:hidden;transition:box-shadow .2s ease}
html body.craft-post-page .craft-faq-list .e-n-accordion-item[open]{box-shadow:0 12px 26px -20px rgba(31,46,35,.22)}
html body.craft-post-page .craft-faq-list .e-n-accordion-item-title{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:18px 22px;border:0;background:transparent;cursor:pointer;list-style:none}
html body.craft-post-page .craft-faq-list .e-n-accordion-item-title::-webkit-details-marker{display:none}
html body.craft-post-page .craft-faq-list .e-n-accordion-item-title-header{flex:1 1 auto;display:flex;justify-content:flex-start;text-align:left;order:1}
html body.craft-post-page .craft-faq-list .e-n-accordion-item-title-text.e-n-accordion-item-title-text{margin:0;max-width:none;font-family:var(--craft-font-sans);font-size:16px;font-weight:700;line-height:1.4;letter-spacing:0;color:var(--craft-forest-dark);transition:color .2s ease}
html body.craft-post-page .craft-faq-list .e-n-accordion-item-title:hover .e-n-accordion-item-title-text,html body.craft-post-page .craft-faq-list .e-n-accordion-item[open] .e-n-accordion-item-title-text{color:var(--craft-terracotta)}
html body.craft-post-page .craft-faq-list .e-n-accordion-item-title-icon{order:2;flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--craft-terracotta-soft)}
html body.craft-post-page .craft-faq-list .e-n-accordion-item-title-icon svg{width:12px;height:12px;fill:var(--craft-terracotta)}
html body.craft-post-page .craft-faq-list .e-n-accordion-item-title-icon i{font-size:12px;color:var(--craft-terracotta)}
html body.craft-post-page .craft-faq-list .e-n-accordion-item > .e-con{border:0;background:transparent}
html body.craft-post-page .craft-faq-list .craft-faq__text p{margin:0;font-size:15px;line-height:1.7;color:var(--craft-ink-2)}
@media (max-width:1024px){
	html body.craft-post-page .craft-post .elementor-widget-heading .elementor-heading-title.elementor-heading-title:is(h2,h3){font-size:27px}
}
@media (max-width:767px){
	html body.craft-post-page .entry-content :is(p,li){font-size:16px}
	html body.craft-post-page .craft-post .elementor-widget-heading .elementor-heading-title.elementor-heading-title:is(h2,h3){font-size:24px}
	html body.craft-post-page .craft-post .craft-post__h{margin:28px 0 10px}
	html body.craft-post-page .craft-post .craft-post__table{overflow-x:auto;-webkit-overflow-scrolling:touch}
	html body.craft-post-page .craft-post .craft-post__table table{min-width:600px}
	html body.craft-post-page .craft-faq-list .e-n-accordion-item-title{padding:16px 18px}
	html body.craft-post-page .craft-faq-list .e-n-accordion-item-title-text.e-n-accordion-item-title-text{font-size:15px}
}
html body.craft-post-page .craft-post .craft-post__img img.attachment-large,html body.craft-post-page .craft-post .craft-post__img img{max-height:none;height:auto;object-fit:fill}
@media (max-width:1024px){html body.craft-post-page .entry-header .entry-title{font-size:38px}}
@media (max-width:767px){html body.craft-post-page .entry-header .entry-title{font-size:30px;line-height:1.18}html body.craft-post-page .entry-header{padding:40px 0 0}}

/* ---------- 22. Every blog post follows this layout automatically, however it is built ---------- */
/* Elementor posts, block-editor posts and classic posts all get the same centred 1000px column. */
html body.craft-post-page :is(.entry-header,.entry-content,.comments-area,.post-navigation){box-sizing:border-box;max-width:1048px;margin-inline:auto;padding-inline:24px}
html body.craft-post-page .entry-content > .elementor > .e-con.e-parent{--padding-left:0px;--padding-right:0px;--content-width:100%;--gap:0px;--row-gap:0px;--column-gap:0px;width:100%;max-width:100%}

/* Headings: every one a bold serif H3 */
html body.craft-post-page .entry-content :is(h2,h3){font-family:var(--craft-font-serif);font-size:30px;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:var(--craft-forest-dark);max-width:none;text-wrap:balance}
html body.craft-post-page .entry-content .elementor-widget-heading .elementor-heading-title.elementor-heading-title:is(h2,h3){font-family:var(--craft-font-serif);font-size:30px;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:var(--craft-forest-dark);max-width:none;margin:0;text-wrap:balance}
html body.craft-post-page .entry-content > :is(h2,h3){margin:34px 0 12px}
html body.craft-post-page .entry-content > p{margin:0 0 1em}

/* Elementor spacing, the same whether or not a widget has a CSS class */
html body.craft-post-page .entry-content > .elementor > .e-con.e-parent > .e-con-inner > .elementor-widget-heading,html body.craft-post-page .entry-content > .elementor > .e-con.e-parent > .elementor-widget-heading{margin:34px 0 12px}
html body.craft-post-page .entry-content > .elementor > .e-con.e-parent > .e-con-inner > .elementor-widget-heading:first-child,html body.craft-post-page .entry-content > .elementor > .e-con.e-parent > .elementor-widget-heading:first-child{margin-top:0}
html body.craft-post-page .entry-content > .elementor > .e-con.e-parent > .e-con-inner > .elementor-widget-text-editor,html body.craft-post-page .entry-content > .elementor > .e-con.e-parent > .elementor-widget-text-editor{margin:0 0 22px}
html body.craft-post-page .entry-content > .elementor > .e-con.e-parent > .e-con-inner > .elementor-widget-image,html body.craft-post-page .entry-content > .elementor > .e-con.e-parent > .elementor-widget-image{margin:14px 0 36px;text-align:center}
html body.craft-post-page .entry-content > .elementor > .e-con.e-parent > .e-con-inner > .elementor-widget-n-accordion,html body.craft-post-page .entry-content > .elementor > .e-con.e-parent > .elementor-widget-n-accordion{margin:4px 0 22px}
html body.craft-post-page .entry-content .elementor-widget-text-editor p{margin:0 0 1em}
html body.craft-post-page .entry-content .elementor-widget-text-editor :is(p,ul,ol,table):last-child{margin-bottom:0}

/* Lists */
html body.craft-post-page .entry-content :is(ul,ol):is(:not([class]),.wp-block-list){margin:0 0 1em;padding-left:1.3em}
html body.craft-post-page .entry-content ul:is(:not([class]),.wp-block-list){list-style:disc}
html body.craft-post-page .entry-content :is(ul,ol):is(:not([class]),.wp-block-list) > li{margin:0 0 .6em;padding-left:.2em}
html body.craft-post-page .entry-content :is(ul,ol):is(:not([class]),.wp-block-list) > li::marker{color:var(--craft-terracotta)}
html body.craft-post-page .entry-content strong{color:var(--craft-forest-dark);font-weight:700}

/* Images: centred, true proportions, rounded */
html body.craft-post-page .entry-content img{max-height:none;height:auto;object-fit:fill}
html body.craft-post-page .entry-content p > img:only-child{display:block;margin-inline:auto}
html body.craft-post-page .entry-content figure.wp-block-image{margin:14px 0 36px;text-align:center}
html body.craft-post-page .entry-content :is(.wp-block-image,.elementor-widget-image) img,html body.craft-post-page .entry-content p > img:only-child{border-radius:16px;box-shadow:0 24px 48px -32px rgba(31,46,35,.35)}

/* Tables: full column width */
html body.craft-post-page .entry-content table{width:100%;margin-inline:0}
html body.craft-post-page .entry-content table td:first-child{font-weight:600;color:var(--craft-forest-dark)}
html body.craft-post-page .entry-content figure.wp-block-table{margin:0 0 22px}

/* FAQ, Elementor Accordion widget */
html body.craft-post-page .entry-content .e-n-accordion{display:flex;flex-direction:column;gap:12px}
html body.craft-post-page .entry-content .e-n-accordion-item{margin:0;background:#fff;border:1px solid var(--craft-border);border-radius:8px;overflow:hidden;transition:box-shadow .2s ease}
html body.craft-post-page .entry-content .e-n-accordion-item[open]{box-shadow:0 12px 26px -20px rgba(31,46,35,.22)}
html body.craft-post-page .entry-content .e-n-accordion-item-title{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:18px 22px;border:0;background:transparent;cursor:pointer;list-style:none}
html body.craft-post-page .entry-content .e-n-accordion-item-title::-webkit-details-marker{display:none}
html body.craft-post-page .entry-content .e-n-accordion-item-title-header{flex:1 1 auto;display:flex;justify-content:flex-start;text-align:left;order:1}
html body.craft-post-page .entry-content .e-n-accordion-item-title-text.e-n-accordion-item-title-text{margin:0;max-width:none;font-family:var(--craft-font-sans);font-size:16px;font-weight:700;line-height:1.4;letter-spacing:0;color:var(--craft-forest-dark);transition:color .2s ease}
html body.craft-post-page .entry-content .e-n-accordion-item-title:hover .e-n-accordion-item-title-text,html body.craft-post-page .entry-content .e-n-accordion-item[open] .e-n-accordion-item-title-text{color:var(--craft-terracotta)}
html body.craft-post-page .entry-content .e-n-accordion-item-title-icon{order:2;flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--craft-terracotta-soft)}
html body.craft-post-page .entry-content .e-n-accordion-item-title-icon svg{width:12px;height:12px;fill:var(--craft-terracotta)}
html body.craft-post-page .entry-content .e-n-accordion-item-title-icon i{font-size:12px;color:var(--craft-terracotta)}
html body.craft-post-page .entry-content .e-n-accordion-item > .e-con{--padding-top:0px;--padding-right:22px;--padding-bottom:20px;--padding-left:22px;border:0;background:transparent}
html body.craft-post-page .entry-content .e-n-accordion-item > .e-con :is(p,li){margin:0;font-size:15px;line-height:1.7;color:var(--craft-ink-2)}

/* FAQ, block editor Details block (and any plain details element) */
html body.craft-post-page .entry-content details:not(.e-n-accordion-item){margin:0 0 12px;background:#fff;border:1px solid var(--craft-border);border-radius:8px;overflow:hidden}
html body.craft-post-page .entry-content details:not(.e-n-accordion-item)[open]{box-shadow:0 12px 26px -20px rgba(31,46,35,.22)}
html body.craft-post-page .entry-content details:not(.e-n-accordion-item) > summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;cursor:pointer;list-style:none;font-family:var(--craft-font-sans);font-size:16px;font-weight:700;line-height:1.4;color:var(--craft-forest-dark)}
html body.craft-post-page .entry-content details:not(.e-n-accordion-item) > summary::-webkit-details-marker{display:none}
html body.craft-post-page .entry-content details:not(.e-n-accordion-item) > summary::after{content:'+';flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--craft-terracotta-soft);color:var(--craft-terracotta);font-weight:700}
html body.craft-post-page .entry-content details:not(.e-n-accordion-item)[open] > summary{color:var(--craft-terracotta)}
html body.craft-post-page .entry-content details:not(.e-n-accordion-item)[open] > summary::after{content:'\2212'}
html body.craft-post-page .entry-content details:not(.e-n-accordion-item) > :not(summary){margin:0;padding:0 22px 20px;font-size:15px;line-height:1.7;color:var(--craft-ink-2)}

@media (max-width:1024px){
	html body.craft-post-page .entry-content :is(h2,h3),html body.craft-post-page .entry-content .elementor-widget-heading .elementor-heading-title.elementor-heading-title:is(h2,h3){font-size:27px}
}
@media (max-width:767px){
	html body.craft-post-page :is(.entry-header,.entry-content,.comments-area,.post-navigation){padding-inline:0}
	html body.craft-post-page .entry-content :is(h2,h3),html body.craft-post-page .entry-content .elementor-widget-heading .elementor-heading-title.elementor-heading-title:is(h2,h3){font-size:24px}
	html body.craft-post-page .entry-content > .elementor > .e-con.e-parent > .e-con-inner > .elementor-widget-heading,html body.craft-post-page .entry-content > .elementor > .e-con.e-parent > .elementor-widget-heading,html body.craft-post-page .entry-content > :is(h2,h3){margin:28px 0 10px}
	html body.craft-post-page .entry-content :is(.elementor-widget-text-editor:has(table),.wp-block-table){overflow-x:auto;-webkit-overflow-scrolling:touch}
	html body.craft-post-page .entry-content table{min-width:600px}
	html body.craft-post-page .entry-content :is(.e-n-accordion-item-title,details > summary){padding:16px 18px}
	html body.craft-post-page .entry-content .e-n-accordion-item-title-text.e-n-accordion-item-title-text,html body.craft-post-page .entry-content details > summary{font-size:15px}
}
html body.craft-post-page .entry-content figure.wp-block-table{box-shadow:none;background:none;border:0;padding:0}

/* ---------- 23. In-post table of contents ---------- */
html body.craft-post-page .entry-content .craft-toc{background:var(--craft-parchment);border:1px solid var(--craft-border);border-radius:12px;padding:22px 26px;margin:4px 0 0}
html body.craft-post-page .entry-content .craft-toc .craft-toc__title{margin:0 0 12px;font-family:var(--craft-font-sans);font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--craft-terracotta-hover)}
html body.craft-post-page .entry-content .craft-toc .craft-toc__list{margin:0;padding-left:1.4em;columns:2;column-gap:44px}
html body.craft-post-page .entry-content .craft-toc .craft-toc__list li{margin:0 0 8px;break-inside:avoid;font-size:15px;line-height:1.5;color:var(--craft-ink-2)}
html body.craft-post-page .entry-content .craft-toc .craft-toc__list li::marker{color:var(--craft-terracotta);font-weight:600}
html body.craft-post-page .craft-toc a:not(#_){color:var(--craft-forest-dark);text-decoration:none}
html body.craft-post-page .craft-toc a:not(#_):hover{color:var(--craft-terracotta);text-decoration:underline;text-underline-offset:3px}
html body.craft-post-page .entry-content .elementor-widget-heading[id]{scroll-margin-top:110px}
@media (prefers-reduced-motion:no-preference){html:has(body.craft-post-page){scroll-behavior:smooth}}
@media (max-width:767px){html body.craft-post-page .entry-content .craft-toc{padding:18px}html body.craft-post-page .entry-content .craft-toc .craft-toc__list{columns:1}}
