/* One reading scale across English, French and Italian. */
body.fulmina-readable,
body.bwfan-manage-profile-page-body {
 --fulmina-ink:#211b12;
 --fulmina-body-size:18px;
 --theme-text-color:#211b12;
 --theme-link-initial-color:#211b12;
 --theme-link-hover-color:#211b12;
 --theme-font-size:18px;
 --theme-line-height:1.7;
 --fs-ink:#211b12; --fs-muted:#211b12;
 --fc-ink:#211b12; --fc-muted:#211b12;
 --fg-ink:#211b12; --fg-muted:#211b12;
 color:#211b12;
 font-family:Montserrat,Arial,sans-serif;
 font-size:18px;
 line-height:1.7;
}

/* Explicit rules also replace Elementor's per-page body overrides. Headings
   and decorative hero text keep their own hierarchy and contrast. */
body.fulmina-readable #main :is(.entry-content,.elementor-widget-text-editor,.elementor-widget-text-editor .elementor-widget-container,.woocommerce-product-details__short-description,.woocommerce-Tabs-panel,.entry-excerpt),
body.bwfan-manage-profile-page-body .bwfan-manage-profile-wrapper {
 font-family:Montserrat,Arial,sans-serif !important;
 font-size:18px !important;
 line-height:1.7 !important;
 color:#211b12 !important;
}
body.fulmina-readable #main :is(.entry-content,.ct-container,.ct-container-full) :is(p,li,dt,dd,td,th,blockquote,label,legend,.description,.wc-block-components-product-name,.wc-block-components-totals-item,.wc-block-components-radio-control__label),
body.bwfan-manage-profile-page-body :is(p,label,input) {
 font-family:Montserrat,Arial,sans-serif !important;
 font-size:18px !important;
 line-height:1.7 !important;
 color:#211b12 !important;
}
body.fulmina-readable #main :is(p,li,td,dd,label,blockquote) :is(span,strong,em,b,i,a):not(.star-rating):not([class*="icon"]),
body.fulmina-readable #main .elementor-widget-text-editor :is(span,strong,em) {
 font-size:inherit !important;
 line-height:inherit !important;
 color:inherit !important;
}
body.fulmina-readable #main :is(.entry-content,.ct-container,.ct-container-full) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
 font-family:Montserrat,Arial,sans-serif !important;
 font-size:18px !important;
 color:#211b12 !important;
}
body.fulmina-readable #main :is(input,textarea)::placeholder { color:#211b12; opacity:1; }
body.fulmina-readable #main :is(p,li,td,dd) a:not(.button):not(.elementor-button):not(.wc-block-components-button) {
 text-underline-offset:4px;
}
body.fulmina-readable #main :is(.entry-content,.ct-container,.ct-container-full) :is(button,.button,.elementor-button,.wp-element-button) {
 font-family:Montserrat,Arial,sans-serif !important;
 font-size:16px !important;
 line-height:1.5 !important;
}

/* Redesigned shop, category and guide: body copy is 18 px, down from 20 px. */
body.fulmina-readable #main :is(#post-622,#post-784,.fc-hero,.fc-collections) :is(p,li,blockquote,.fc-description) {
 font-size:18px !important;
 line-height:1.7 !important;
 color:#211b12 !important;
}
body.fulmina-readable #main :is(#post-622,#post-784,.ct-container) :is(.fs-text-link,.fc-text-link,.fg-text-link,.fs-categories a,.fc-collections a,.fg-contents a,.fg-stage-shortcuts a,.fg-back-top,.fc-breadcrumb,.woocommerce-result-count,.product_meta) {
 color:#211b12 !important;
 font-size:16px !important;
 line-height:1.6 !important;
}
body.fulmina-readable #main :is(#post-622,#post-784,.ct-container) :is(.fs-eyebrow,.fc-eyebrow,.fg-eyebrow) {
 font-size:16px !important;
 line-height:1.6 !important;
 color:#211b12 !important;
 letter-spacing:.5px;
 text-transform:none;
 font-weight:600;
}
body.fulmina-readable #main :is(#post-622,#post-784,.ct-container) :is(.fs-count,.fg-section-number,.fg-contents a > span,.fg-stage-shortcuts a > span,.onsale,.out-of-stock-badge) {
 font-size:16px !important;
 line-height:1.5 !important;
 color:#211b12 !important;
 opacity:1;
}
body.fulmina-readable #main :is(.fulmina-shop,.fulmina-guide,.fc-hero) :is(h1,h2,h3,h4,h1 span) { color:#211b12 !important; }
body.fulmina-readable #main li.product :is(.woocommerce-loop-product__title,.woocommerce-loop-product__title a,.price,.price span),
body.fulmina-readable #main .summary > .price {
 font-size:18px !important;
 line-height:1.5 !important;
 color:#211b12 !important;
 letter-spacing:0;
}
body.fulmina-readable #main :is(.fg-product summary h3,.fg-product summary h4) {
 font-size:18px !important;
 line-height:1.6 !important;
 font-weight:600;
}
body.fulmina-readable #main :is(.fs-text-link,.fc-text-link,.fg-text-link,.fg-back-top) { text-decoration:underline; text-underline-offset:4px; }
body.fulmina-readable #main :is(.ct-woo-card-actions .button,.fs-show-more,.fs-categories a,.fc-collections a,.fg-expand,.fg-button,.fg-contents a) { min-height:46px; font-weight:600; white-space:normal; }
body.fulmina-readable #main :is(.ct-woo-card-actions .button,.fs-show-more,.fg-expand) { padding:11px 12px; }
body.fulmina-readable #main :is(.fs-show-more,.fg-expand,.fg-button,.ct-woo-card-actions .button) { color:#211b12 !important; }
body.fulmina-readable #main .star-rating { color:#211b12 !important; line-height:1 !important; }
body.fulmina-readable #main :is(.onsale,.out-of-stock-badge) { padding:6px 10px; }
body.fulmina-readable #main :is(a,button,summary,input,select):focus-visible { outline:3px solid #211b12; outline-offset:4px; }

/* Keep the existing responsive layouts and comfortable controls. */
body.fulmina-readable #post-622 .fulmina-shop .fs-catalogue { grid-template-columns:240px minmax(0,1fr); gap:36px; }
body.fulmina-readable #post-622 .fulmina-shop .fs-section-heading { flex-wrap:wrap; row-gap:12px; }
body.fulmina-readable #post-622 .fulmina-shop .fs-section-heading > div { min-width:0; }
body.fulmina-readable #post-622 .fulmina-shop .fs-search input[type=search] { height:50px; }
body.fulmina-readable #main #post-622 .fs-search button { width:50px; height:50px; min-width:50px; color:#fffefa !important; background:#211b12; }
body.fulmina-readable #post-622 .fulmina-shop .fs-search-panel { padding:28px; }
body.fulmina-readable #main .woocommerce-ordering { width:320px; max-width:100%; }
body.fulmina-readable #main .woocommerce-ordering select { min-height:50px; }
body.fulmina-readable #main :is(.woocommerce-pagination,.ct-pagination) :is(a.page-numbers,span.page-numbers) { min-width:46px; min-height:46px; }
body.fulmina-readable #post-784 .fg-layout { grid-template-columns:260px minmax(0,1fr); gap:48px; }
body.fulmina-readable #post-784 .fg-copy p { max-width:70ch; }
body.fulmina-readable #post-784 .fg-contents a { gap:12px; }
body.fulmina-readable #post-784 .fg-contents a > span { flex-basis:26px; }
body.fulmina-readable #post-784 .fg-section-number { flex-basis:40px; height:40px; }
body.fulmina-readable #post-784 .fg-stage-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
body.fulmina-readable #post-784 .fg-stage-shortcuts a { flex-direction:row; gap:12px; min-height:50px; padding:10px; font-weight:600; }
body.fulmina-readable #post-784 .fg-stage-header h3 { font-size:24px !important; }
body.fulmina-readable #post-784 .fg-plus::before,body.fulmina-readable #post-784 .fg-plus::after { height:2px; }

/* The same menu presentation on every page; its original 14 px size is retained. */
body.fulmina-readable :is(#header,#offcanvas) {
 --theme-text-color:#211b12;
 --theme-link-initial-color:#211b12;
 --theme-link-hover-color:#211b12;
 --theme-link-active-color:#211b12;
 --theme-icon-color:#211b12;
 --theme-icon-hover-color:#211b12;
}
body.fulmina-readable #header [data-row="middle"] { background:#fff; }
body.fulmina-readable :is(#header,#offcanvas) .ct-menu-link {
 font-family:Montserrat,Arial,sans-serif !important;
 font-size:14px !important;
 font-weight:700 !important;
 line-height:1.5 !important;
 color:#211b12 !important;
}
body.fulmina-readable #header .site-title a {
 font-family:Montserrat,Arial,sans-serif !important;
 font-size:25px !important;
 font-weight:700 !important;
 line-height:1.3 !important;
 color:#211b12 !important;
}
body.fulmina-readable :is(#header,#offcanvas) :is(.current-menu-item,.current-menu-ancestor) > .ct-menu-link,
body.fulmina-readable :is(#header,#offcanvas) .ct-menu-link:hover {
 text-decoration:underline;
 text-decoration-color:#b58a13;
 text-decoration-thickness:2px;
 text-underline-offset:6px;
}
body.fulmina-readable #header :is(.ct-cart-total,.ct-cart-item .ct-amount,.ct-label) {
 font-family:Montserrat,Arial,sans-serif !important;
 font-size:14px !important;
 line-height:1.5 !important;
 color:#211b12 !important;
}
body.fulmina-readable #offcanvas .ct-panel-inner { color:#211b12; background:#fff; }

/* The existing yellow footer, now with identical typography on every template. */
body.fulmina-readable #footer.fulmina-footer { --fd-ink:#211b12; --fd-muted:#211b12; --fd-accent:#211b12; font-family:Montserrat,Arial,sans-serif; }
body.fulmina-readable #footer.fulmina-footer :is(.widget-title,.widget-menu a,.fulmina-footer-brand p,.fulmina-footer-button,.ct-footer-copyright,.ct-footer-copyright p) {
 font-family:Montserrat,Arial,sans-serif !important;
 font-size:16px !important;
 line-height:1.7 !important;
 color:#211b12;
 letter-spacing:0;
}
body.fulmina-readable #footer.fulmina-footer .widget-title { font-weight:600; text-transform:none; margin-bottom:12px; }
body.fulmina-readable #footer.fulmina-footer .widget-menu a { min-height:44px; padding-block:8px; }
body.fulmina-readable #footer.fulmina-footer .fulmina-footer-wordmark { font-family:Montserrat,Arial,sans-serif; color:#211b12; }
body.fulmina-readable #footer.fulmina-footer .fulmina-footer-button:hover { color:#f8d552; background:#211b12; }
body.fulmina-readable #footer.fulmina-footer :is(.widget-menu,.fulmina-footer-brand p) a { color:#211b12; }

@media(max-width:1100px) {
 body.fulmina-readable #post-622 .fulmina-shop .fs-product-grid ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.fulmina-readable #post-622 .fulmina-shop .fs-catalogue { grid-template-columns:220px minmax(0,1fr); gap:28px; }
 body.fulmina-readable #post-784 .fg-layout { grid-template-columns:1fr; gap:30px; }
 body.fulmina-readable #post-784 .fg-sidebar { position:static; }
 body.fulmina-readable #post-784 .fg-contents ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 body.fulmina-readable #post-784 .fg-contents a { border:1px solid #d6ccb2; height:100%; }
 body.fulmina-readable #post-784 .fg-back-top { display:none; }
}
@media(max-width:900px) {
 body.fulmina-readable #post-622 .fulmina-shop .fs-hero,body.fulmina-readable #main .fc-hero,body.fulmina-readable #post-784 .fg-hero { grid-template-columns:1fr; gap:28px; }
 body.fulmina-readable #post-622 .fulmina-shop .fs-catalogue { display:block; }
 body.fulmina-readable #post-622 .fulmina-shop .fs-categories { position:static; margin-bottom:30px; }
 body.fulmina-readable #post-622 .fulmina-shop .fs-categories ul { display:flex; flex-wrap:wrap; gap:8px; overflow:visible; padding:4px 0; }
 body.fulmina-readable #post-622 .fulmina-shop .fs-categories li { flex:0 1 auto; max-width:100%; }
 body.fulmina-readable #post-622 .fulmina-shop .fs-categories a { border:1px solid #d6ccb2; white-space:normal; }
 body.fulmina-readable #main .fc-collections ul { flex-wrap:wrap; overflow:visible; }
 body.fulmina-readable #main .fc-collections li { flex:0 1 auto; max-width:100%; }
 body.fulmina-readable #main .fc-collections a { white-space:normal; }
 body.fulmina-readable #main > .ct-container ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 body.fulmina-readable #post-784 .fg-contents ol { grid-template-columns:1fr; }
 body.fulmina-readable #post-784 .fg-section-header { gap:12px; }
 body.fulmina-readable #post-784 .fg-section-number { flex-basis:38px; height:38px; }
 body.fulmina-readable #post-784 .fg-product summary { gap:12px; }
 body.fulmina-readable #post-784 .fg-overview,body.fulmina-readable #post-622 .fulmina-shop .fs-search-panel { padding:22px; }
 body.fulmina-readable #footer.fulmina-footer > [data-row="middle"] > .ct-container { column-gap:18px; }
}
@media(max-width:540px) {
 body.fulmina-readable #post-622 .fulmina-shop .fs-product-grid ul.products,body.fulmina-readable #main > .ct-container ul.products { grid-template-columns:minmax(0,1fr); gap:20px; }
 body.fulmina-readable #main ul.products li.product { padding:14px; }
 body.fulmina-readable #main ul.products :is(.onsale,.out-of-stock-badge) { top:20px; left:20px; }
}
@media print { body.fulmina-readable #post-784 .fg-layout { display:block; } }

/* Preserve the original mobile menu size and make its close button visible. */
body.fulmina-readable #offcanvas .ct-menu-link { font-size:20px !important; line-height:1.65 !important; min-height:44px; }
body.fulmina-readable #offcanvas .ct-toggle-close { min-width:44px; min-height:44px; color:#211b12; }
body.fulmina-readable #offcanvas .ct-toggle-close .ct-icon { fill:#211b12 !important; }

/* Floating checkout captions need their own scale so labels and values never overlap. */
body.fulmina-readable #main .wp-block-woocommerce-checkout .wc-block-components-text-input label {
 font-size:16px !important; line-height:1.4 !important; color:#211b12 !important; opacity:1;
}
body.fulmina-readable #main .wp-block-woocommerce-checkout .wc-block-components-text-input.is-active label {
 font-size:14px !important; line-height:1.2 !important; top:7px; transform:none;
}
body.fulmina-readable #main .wp-block-woocommerce-checkout .wc-block-components-text-input input { min-height:64px; }
body.fulmina-readable #main .wp-block-woocommerce-checkout .wc-block-components-text-input.is-active input { padding-top:26px; padding-bottom:8px; }
body.fulmina-readable #main .wp-block-woocommerce-checkout .wc-blocks-components-select__label,
body.fulmina-readable #main .wp-block-woocommerce-checkout .wc-block-components-combobox .components-base-control__label {
 font-size:14px !important; line-height:1.2 !important; color:#211b12 !important; opacity:1; top:7px;
}
body.fulmina-readable #main .wp-block-woocommerce-checkout .wc-blocks-components-select__select { min-height:64px; padding-top:26px; padding-bottom:8px; }

/* Keep WooCommerce's dynamically inserted View cart action in the shop palette. */
body.fulmina-readable #main :is(#post-622,.ct-container,.ct-container-full) .ct-woo-card-actions .button {
 font-size:16px !important;
 line-height:1.5 !important;
}
body.fulmina-readable #main :is(#post-622,.ct-container,.ct-container-full) .ct-woo-card-actions a.added_to_cart {
 display:flex;
 align-items:center;
 justify-content:center;
 flex:1 0 100%;
 box-sizing:border-box;
 width:100%;
 max-width:100%;
 min-height:46px;
 padding:11px 14px;
 margin:8px 0 0;
 border:1px solid #d1b64b;
 border-radius:5px;
 background:#f8d552 !important;
 color:#211b12 !important;
 font-family:Montserrat,Arial,sans-serif;
 font-size:16px !important;
 font-weight:600;
 line-height:1.5 !important;
 letter-spacing:0;
 text-align:center;
 text-transform:none;
 text-decoration:none;
 white-space:normal;
 box-shadow:none;
 opacity:1;
 transform:none;
 transition:background-color .18s ease,border-color .18s ease;
}
body.fulmina-readable #main :is(#post-622,.ct-container,.ct-container-full) .ct-woo-card-actions a.added_to_cart:hover {
 background:#f3c83f !important;
 border-color:#b58a13;
 color:#211b12 !important;
 text-decoration:none;
}
body.fulmina-readable #main :is(#post-622,.ct-container,.ct-container-full) .ct-woo-card-actions a.added_to_cart:focus-visible {
 outline:3px solid #211b12;
 outline-offset:3px;
}
@media(prefers-reduced-motion:reduce) {
 body.fulmina-readable #main .ct-woo-card-actions a.added_to_cart { transition:none; }
}
