/* Brand states apply equally to classic product forms and native WooCommerce blocks. */
body.fe-shop {
  --woocommerce:#a06a4a; --wc-primary:#1c1a16; --wc-primary-text:#fff;
  --wc-secondary:#ece6da; --wc-secondary-text:#1c1a16; --wc-highlight:#4f5a41;
  --wp-admin-theme-color:#a06a4a; --wp-admin-theme-color-darker-10:#88583d;
  --wp-admin-theme-color-darker-20:#734932;
  --wc-block-components-color-accent:#a06a4a;
  --wc-block-components-color-foreground:#1c1a16;
  --wc-block-components-color-background:#f4f1ec;
  --wc-block-components-color-error:#a5372f;
  --wp--preset--color--primary:#1c1a16;
  --wp--preset--color--contrast:#1c1a16;
  --wp--preset--color--accent:#a06a4a;
  padding-top:94px;
}
.shop-toolbar { background:#ece8df; border-bottom:1px solid #d7d1c6; }
.shop-toolbar>.shop-wrap { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:72px; }
.shop-toolbar nav { display:flex; align-items:center; gap:30px; }
.shop-toolbar nav>a { font:400 17px/1.4 Jost,sans-serif; padding:15px 0; }
.shop-toolbar nav>a[aria-current] { color:#88583d; text-decoration:underline; text-underline-offset:6px; }
.shop-toolbar .shop-cart-link {
  text-transform:none; letter-spacing:0; font-size:16px; background:transparent;
  min-height:var(--fe-button-compact-height); padding:0 var(--fe-button-compact-padding-inline);
  justify-content:center; border-radius:var(--fe-button-radius);
}
.shop-toolbar .shop-cart-link:hover { background:#e1d9ca; }
.shop-cart-count { font:500 14px/1 Jost,sans-serif; }

body.fe-shop .woocommerce :is(a.button,button.button,input.button),
body.fe-shop .woocommerce #respond input#submit,
body.fe-shop .shop-main :is(a.button,button.button,input.button),
body.fe-shop :is(.wc-block-components-button,.wp-element-button,.wp-block-button__link) {
  background:#1c1a16!important; color:#fff!important; border:1px solid #1c1a16!important;
  /* Woo blocks otherwise override the capsule or reduce its touch-target height. */
  box-shadow:none!important; border-radius:var(--fe-button-radius)!important;
  box-sizing:border-box; min-height:var(--fe-button-height)!important; height:auto;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:0 var(--fe-button-padding-inline); text-align:center; vertical-align:middle;
  font:500 14px/1.25 Jost,sans-serif; letter-spacing:.065em; text-transform:uppercase;
  text-decoration:none!important; transition:background-color .18s,border-color .18s;
}
body.fe-shop :is(.wc-block-components-button,.wp-element-button,.wp-block-button__link)::before,
body.fe-shop :is(.wc-block-components-button,.wp-element-button,.wp-block-button__link)::after {
  border-radius:inherit;
}
/* Center the line inside the touch target instead of leaving spare height below it. */
body.fe-shop .woocommerce ul.products li.product .button {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; max-width:100%; padding:10px 16px; line-height:1.25;
}
body.fe-shop .woocommerce :is(a.button,button.button).added::after { margin-left:0; }
body.fe-shop .woocommerce :is(a.button,button.button,input.button):is(:hover,:focus-visible),
body.fe-shop .woocommerce #respond input#submit:is(:hover,:focus-visible),
body.fe-shop .shop-main :is(a.button,button.button,input.button):is(:hover,:focus-visible),
body.fe-shop :is(.wc-block-components-button,.wp-element-button,.wp-block-button__link):is(:hover,:focus-visible) {
  background:#a06a4a!important; border-color:#a06a4a!important; color:#fff!important;
}
body.fe-shop .woocommerce :is(a.button,button.button,input.button):active,
body.fe-shop .shop-main :is(a.button,button.button,input.button):active,
body.fe-shop :is(.wc-block-components-button,.wp-element-button,.wp-block-button__link):active { background:#805238!important; border-color:#805238!important; }
body.fe-shop :is(.button,.wc-block-components-button,.wp-element-button,.wp-block-button__link):focus-visible { outline:2px solid #537d7b!important; outline-offset:4px; }
body.fe-shop .woocommerce :is(a.button,button.button,input.button):is(:disabled,.disabled,[aria-disabled=true]),
body.fe-shop .shop-main :is(a.button,button.button,input.button):is(:disabled,.disabled,[aria-disabled=true]),
body.fe-shop :is(.wc-block-components-button,.wp-element-button,.wp-block-button__link):is(:disabled,[aria-disabled=true]) {
  background:#e1dbd0!important; border-color:#d2cabc!important; color:#6b6358!important; opacity:1; cursor:not-allowed;
}
body.fe-shop .woocommerce button.button.loading { cursor:wait; background:#4f5a41!important; border-color:#4f5a41!important; color:white!important; }

/* Cart and checkout fill the existing shared content container, not the viewport.
   Document-only styles must never narrow this article or reflow its mobile table. */
body.fe-shop .shop-main>article.shop-commerce-page {
  width:100%; max-width:none; min-width:0; margin-inline:0; padding-bottom:60px;
}
body.fe-shop .shop-commerce-page>:is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) {
  width:100%; max-width:none; margin-inline:0;
}
.fe-shop :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) { font:400 17px/1.6 Jost,sans-serif; margin:0; color:#1c1a16; }
.fe-shop :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) h2 { font:500 21px/1.4 Jost,sans-serif; letter-spacing:0; margin:0 0 18px; }
.fe-shop .wc-block-components-title,.fe-shop .wc-block-components-product-name { font-family:Jost,sans-serif; }
.fe-shop .wc-block-components-product-name { font-size:17px; font-weight:500; text-decoration:none!important; }
body.fe-shop :is(.wc-block-cart,.wc-block-checkout) { font-size:17px; }
body.fe-shop :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-product-name { font-size:17px!important; line-height:1.45; }
body.fe-shop :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-product-metadata__description { display:none; }
body.fe-shop :is(.wc-block-cart,.wc-block-checkout) :is(.wc-block-components-product-price,.wc-block-components-formatted-money-amount,.wc-block-components-totals-item,.wc-block-components-quantity-selector__input) { font-size:16px; }
body.fe-shop :is(.wc-block-cart,.wc-block-checkout) :is(.wc-block-components-product-metadata,.wc-block-components-checkout-step__description,.wc-block-components-checkout-step__heading-content,.wc-block-components-checkout-order-summary__title-text,.wc-block-components-checkbox__label,.wc-block-components-checkout-terms) { font-size:15px; line-height:1.55; }
body.fe-shop .wc-block-cart .wc-block-cart-items th { font-size:14px; }
body.fe-shop .wc-block-cart .wc-block-cart-item__image { width:100px; }
body.fe-shop .wc-block-cart .wc-block-cart-item__image img { width:84px; }
body.fe-shop .wc-block-cart .wc-block-cart-item__quantity { padding-top:12px; }
body.fe-shop .wc-block-components-quantity-selector { min-height:40px; }
body.fe-shop :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-panel__button { font-size:16px; }
.fe-shop .wc-block-components-totals-wrapper { border-color:#d7d0c4; }
/* Keep the summary card, but remove the two rules around its toggle title. */
.fe-shop .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title { border-top:0; border-bottom:0; }
.fe-shop :is(.wc-block-cart__sidebar,.wc-block-checkout__sidebar) { padding:24px; border:1px solid #d7d0c4; border-radius:8px; background:linear-gradient(145deg,#faf8f2,#ece6da); align-self:start; }
.fe-shop .wc-block-components-sidebar-layout { align-items:start; }
.fe-shop .wc-block-components-form .wc-block-components-text-input input,
.fe-shop .wc-block-components-text-input input,
.fe-shop .wc-block-components-combobox .wc-block-components-combobox-control input,
.fe-shop .wc-block-components-textarea { border-color:#bcb2a3!important; border-radius:6px!important; background:#faf8f3!important; color:#1c1a16!important; font-family:Jost,sans-serif; }
.fe-shop :is(input,textarea,select) { accent-color:#a06a4a; }
.fe-shop .wc-block-components-radio-control__option-checked { background:#ede5d9; }
.fe-shop .wc-block-components-order-summary-item__image img,.fe-shop .wc-block-cart-item__image img { border-radius:5px; object-fit:contain; }
.fe-shop .wc-block-cart-items th { font-family:Jost,sans-serif; font-weight:500; }
.fe-shop .wc-block-components-quantity-selector { border-color:#bcb2a3; border-radius:6px; }
.fe-shop .wc-block-components-quantity-selector button { color:#1c1a16; background:transparent; }
.fe-shop .wc-block-components-quantity-selector button:hover { background:#e1d9ca; }
.fe-shop .wc-block-components-checkout-step__container { padding-bottom:22px; }
.fe-shop .wc-block-components-notice-banner { border-radius:6px; font:400 16px/1.5 Jost,sans-serif; }
.fe-shop .wc-block-components-totals-footer-item { font-size:20px; }
.fe-shop .wc-block-components-button__text { color:inherit; }
.shop-cart-feedback,
.fe-shop .woocommerce-message:has(.shop-added-confirmation) { position:fixed; inset:auto 24px 24px auto; z-index:95; box-sizing:border-box; width:340px; max-width:calc(100vw - 32px); margin:0; padding:14px 48px 8px 56px; color:#28261f; background:linear-gradient(120deg,#faf8f2f5,#eeeae0f5); border:1px solid #d3cabc; border-radius:10px; box-shadow:0 8px 32px #1c1a1626; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); font:400 16px/1.4 Jost,sans-serif; text-align:left; animation:shop-feedback-in .18s ease-out; }
.shop-cart-feedback[hidden] { display:none; }
.shop-cart-feedback p,.shop-added-confirmation { display:block; font:500 16px/1.4 Jost,sans-serif; letter-spacing:0; margin:0; }
.shop-feedback-icon { position:absolute; top:14px; left:14px; width:30px; height:30px; display:grid; place-items:center; color:#516b51; background:#e0e7da; border-radius:50%; }
.shop-cart-feedback .feedback-warning,.shop-cart-feedback[data-tone="warning"] .feedback-check { display:none; }
.shop-cart-feedback[data-tone="warning"] .feedback-warning { display:block; }
.shop-cart-feedback[data-tone="warning"] .shop-feedback-icon { color:#895b3f; background:#eee1d2; }
.fe-shop .shop-feedback-link { display:inline-flex; align-items:center; min-height:44px; color:#5b4635; font:400 15px/1.4 Jost,sans-serif; text-decoration:underline; text-underline-offset:4px; }
.fe-shop .shop-feedback-link:hover { color:#28261f; }
.shop-feedback-close { position:absolute; top:5px; right:4px; width:44px; height:44px; display:grid; place-items:center; padding:0; border:0; color:#595448; background:transparent; border-radius:50%; cursor:pointer; }
.shop-feedback-close:hover { background:#e1d9ca; }
.fe-shop .woocommerce-message:has(.shop-added-confirmation)::before { top:15px; left:20px; color:#516b51; }
@keyframes shop-feedback-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.woocommerce-variation-add-to-cart { flex-wrap:wrap; }
.woocommerce div.product form.cart a.added_to_cart { flex-basis:100%; font-size:16px; padding:0; text-underline-offset:4px; }
@media(max-width:800px) {
  body.fe-shop { padding-top:82px; }
  .shop-toolbar>.shop-wrap { min-height:64px; gap:10px; }
  .shop-toolbar nav { gap:18px; }
  .shop-toolbar nav>a { font-size:15px; }
  .shop-toolbar .shop-cart-link { min-width:var(--fe-button-compact-height); padding-inline:12px; }
  .fe-shop :is(.wc-block-cart__sidebar,.wc-block-checkout__sidebar) { padding:18px; width:100%; }
  body.fe-shop .shop-commerce-page .wc-block-components-sidebar-layout { flex-direction:column; gap:24px; }
  body.fe-shop .shop-commerce-page .wc-block-components-sidebar-layout>:is(.wc-block-components-main,.wc-block-components-sidebar) { width:100%; min-width:0; flex-basis:auto; margin-inline:0; }
  body.fe-shop .shop-commerce-page .wc-block-components-sidebar-layout>.wc-block-components-main { padding-inline:0; }
  .shop-cart-feedback,.fe-shop .woocommerce-message:has(.shop-added-confirmation) { right:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); }
}
@media(max-width:480px) {
  body.fe-shop .woocommerce ul.products li.product .button { padding:8px 10px; font-size:12px; line-height:1.25; letter-spacing:.02em; gap:6px; }
}
@media(prefers-reduced-motion:reduce) { .fe-shop :is(.button,.wc-block-components-button,.wp-element-button,.wp-block-button__link) { transition:none; } .shop-cart-feedback,.fe-shop .woocommerce-message:has(.shop-added-confirmation) { animation:none; } }
