/* MAE - resets, hover swap, WooCommerce overrides, responsive.
   Layout styles live inline in the templates, exactly as in the design. */
@charset "UTF-8";

body{
  margin:0;background:#FFFFFF;color:#3A3836;
  font-family:'Montserrat',Helvetica,Arial,sans-serif;font-weight:400;
  -webkit-font-smoothing:antialiased;text-wrap:pretty;
}
*,*::before,*::after{box-sizing:border-box}
img{display:block;max-width:100%;height:auto}
a{color:#3A3836;text-decoration:none;transition:color 240ms ease}
a:hover{color:#8A8078}
button,input{font-family:inherit}
h1,h2,h3{margin:0;font-weight:300}
p{margin:0}
::selection{background:#E7C2C2}

[data-swap]{position:relative}
[data-swap] img{transition:transform 900ms cubic-bezier(0.22,1,0.36,1)}
[data-swap]:hover img{transform:scale(1.015)}
[data-swap] [data-b]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 550ms cubic-bezier(0.22,1,0.36,1),transform 900ms cubic-bezier(0.22,1,0.36,1)}
[data-swap]:hover [data-b]{opacity:1}

/* Quick add: sizes over the photo. Never on touch, where hover is a lie. */
[data-mae-tilewrap]:hover [data-mae-add],
[data-mae-tilewrap]:focus-within [data-mae-add]{opacity:1;transform:none;pointer-events:auto}
[data-mae-add-size]:hover{background:#3A3836!important;color:#FFFFFF!important;border-color:#3A3836!important}
@media (hover:none){ [data-mae-add]{display:none!important} }

/* Back to top. Left corner — the right one belongs to the manager button. */
[data-mae-top]:hover{color:#3A3836;border-color:#3A3836}
@media (max-width:680px){ [data-mae-top]{left:14px;bottom:14px} }

/* Someone who asked their system for less movement gets none of this. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}
  [data-swap]:hover img{transform:none}
}
[data-quiet] a{transition:color 240ms ease}
[data-quiet] a:hover{color:#8A8078}

[data-mae-drawer][data-open="true"]{transform:translateX(0)!important}
[data-mae-scrim][data-open="true"]{opacity:1!important;pointer-events:auto!important}

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

/* Cart, checkout and account pages keep Woo markup - restyled here. */
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{
  border:0;border-top:1px solid #E8E8E8;background:none;padding:16px 0;font-size:12px;color:#4E4A46;list-style:none;
}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-error::before{display:none}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:#3A3836;color:#FFFFFF;border:0;border-radius:0;padding:16px 26px;
  font-size:11px;letter-spacing:0.2em;text-transform:uppercase;font-weight:600;box-shadow:none;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:#26241F;color:#FFFFFF;
}
.woocommerce table.shop_table{border:0;border-radius:0;border-collapse:collapse;font-size:13px;width:100%}
.woocommerce table.shop_table th{
  border:0;border-bottom:1px solid #3A3836;font-size:10px;font-weight:500;color:#8A8078;
  letter-spacing:0.16em;text-transform:uppercase;padding:0 16px 12px 0;text-align:left;
}
.woocommerce table.shop_table td{border:0;border-bottom:1px solid #E8E8E8;padding:20px 16px 20px 0}
.woocommerce-cart table.cart img{width:72px}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-billing-fields h3,.woocommerce-additional-fields h3{
  font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:600;color:#8A8078;margin:0 0 18px;
}
.woocommerce form .form-row{padding:0 0 18px;margin:0}
.woocommerce form .form-row label{font-size:10.5px;color:#8A8078;margin-bottom:6px;display:block}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{
  width:100%;border:0;border-bottom:1px solid #E8E8E8;border-radius:0;background:none;
  padding:9px 0;font-size:13px;color:#3A3836;height:auto;
}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{outline:none;border-bottom-color:#3A3836}
.woocommerce .quantity input.qty{
  width:56px;border:1px solid #E8E8E8;border-radius:0;padding:9px 4px;text-align:center;font-size:12px;background:none;
}
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-account .woocommerce{padding:22px 40px 0}
.woocommerce-page h1.entry-title,.woocommerce-page .page-title{
  font-size:clamp(26px,3vw,42px);font-weight:300;line-height:1.12;margin:0 0 24px;
}

@media (max-width:1100px){
  [data-g="4"]{grid-template-columns:repeat(3,1fr)!important}
  [data-g="foot"]{grid-template-columns:1fr 1fr!important}
  [data-filters="1"]{grid-template-columns:1fr!important;gap:18px!important}
}
@media (max-width:1000px){
  [data-pad="1"]{padding-left:22px!important;padding-right:22px!important}
  [data-ed="1"]{grid-template-columns:1fr!important}
  [data-ed="1"] > *{grid-column:1 / -1!important;grid-row:auto!important;margin-top:0!important}
  [data-mae-nav]{display:none!important}
  [data-mae-nav][data-open="true"]{
    display:flex!important;flex-direction:column;gap:16px;position:absolute;top:100%;left:0;right:0;
    background:#FFFFFF;border-bottom:1px solid #E8E8E8;padding:18px 22px 26px;font-size:14px;
  }
  [data-mae-burger]{display:block!important}
  /* Inside the burger there is nothing to hover, so the catalogue opens flat. */
  [data-mae-drop]{flex-direction:column;width:100%}
  [data-mae-caret]{display:none!important}
  [data-mae-drop-panel]{
    display:flex!important;position:static;margin:12px 0 0;padding:0 0 0 16px;
    border:0;border-left:1px solid #E8E8E8;min-width:0;gap:14px;
  }
  [data-mae-drop-panel]::before{display:none}
  [data-mae-drop-panel] a{font-size:14px}
  [data-mae-drop-rule]{display:none}
  [data-g="2"]{grid-template-columns:1fr!important;gap:26px!important}
  [data-sticky="1"]{position:static!important}
  [data-herotile="1"]{aspect-ratio:16/11!important}
}
@media (max-width:680px){
  [data-g="4"]{grid-template-columns:repeat(2,1fr)!important}
  [data-half="1"]{grid-template-columns:1fr 1fr!important}
  [data-g="foot"]{grid-template-columns:1fr!important}
}
/* ---------------------------------------------------------------------
   Catalogue drop-down. Opens on hover and on keyboard focus, so the menu
   is reachable without a mouse. The ::before strip bridges the gap between
   the word and the panel, otherwise the panel closes as the cursor travels.
   --------------------------------------------------------------------- */
[data-mae-drop-panel]{
  display:none;position:absolute;top:100%;left:-20px;margin-top:14px;z-index:70;
  flex-direction:column;gap:12px;min-width:184px;
  background:#FFFFFF;border:1px solid #E8E8E8;padding:18px 20px 19px;
}
[data-mae-drop-panel]::before{content:'';position:absolute;top:-15px;left:0;right:0;height:15px}
[data-mae-drop-panel] a{color:#6E6862;font-size:12.5px}
[data-mae-drop-panel] a:hover{color:#3A3836}
[data-mae-drop-rule]{display:block;height:1px;background:#E8E8E8;margin:2px 0}
[data-mae-drop]:hover [data-mae-drop-panel],
[data-mae-drop]:focus-within [data-mae-drop-panel]{display:flex}
[data-mae-drop]:hover [data-mae-caret]{color:#3A3836}

@media print{header,[data-mae-drawer],[data-mae-scrim]{display:none!important}}

/* ---------------------------------------------------------------------
   Set builder. The summary is a sticky column on desktop; on a phone it
   sits at the bottom of the screen, so the running total and the 7% stay
   in sight while you scroll through the styles.
   --------------------------------------------------------------------- */
[data-mae-pick]{cursor:default}
[data-mae-pick-btn]:hover{color:#000}
@media (max-width:1000px){
  [data-mae-builder]{grid-template-columns:1fr!important;gap:0!important}
  [data-mae-summary]{
    position:fixed!important;left:0;right:0;bottom:0;top:auto!important;z-index:70;
    background:#FFFFFF;border-top:1px solid #3A3836;padding:14px 22px 18px;
    max-height:52vh;overflow:auto;box-sizing:border-box;
  }
  [data-mae-summary] [data-mae-summary-list]{max-height:26vh;overflow:auto}
  [data-mae-builder] > div:first-child{padding-bottom:190px}
}
/* The sticky summary owns the bottom of the screen here. */
.page-template-page-set-builder [data-mae-float]{display:none!important}

/* ---------------------------------------------------------------------
   Blocks cart & checkout, dressed as MAE: hairlines, no radius,
   no shadows, underlined inputs, one dark button.
   --------------------------------------------------------------------- */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart{
  font-family:'Montserrat',Helvetica,Arial,sans-serif;color:#3A3836;
  max-width:1180px;margin:0 auto;padding:0 40px 90px;
}
.wc-block-components-form .wc-block-components-text-input input[type=text],
.wc-block-components-form .wc-block-components-text-input input[type=email],
.wc-block-components-form .wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input.components-form-token-field__input,
.wc-block-components-form .wc-block-components-textarea,
.wc-block-components-combobox .components-combobox-control__suggestions-container input,
.wc-block-components-select .wc-blocks-components-select__select{
  border:0!important;border-bottom:1px solid #E8E8E8!important;border-radius:0!important;
  background:none!important;box-shadow:none!important;
  font-size:13px!important;color:#3A3836!important;font-family:inherit!important;
}
/* Woo floats the label inside the field - keep its room, only trim the sides. */
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=tel]{
  padding-left:0!important;padding-right:0!important;
}
.wc-block-components-text-input label{left:0!important}
.wc-block-components-select .wc-blocks-components-select__container{border:0;border-bottom:1px solid #E8E8E8}
.wc-block-components-address-form__address_1 label,
.wc-block-components-text-input.is-active label{color:#8A8078!important}
.wc-block-components-text-input input:focus,
.wc-block-components-select .wc-blocks-components-select__select:focus{
  outline:none!important;border-bottom-color:#3A3836!important;box-shadow:none!important;
}
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-checkbox__label{
  font-size:11px!important;color:#8A8078!important;letter-spacing:0.02em;
}
.wc-block-components-title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title,
.wc-block-components-checkout-step__title{
  font-family:inherit!important;font-size:11px!important;font-weight:600!important;
  letter-spacing:0.16em!important;text-transform:uppercase!important;color:#8A8078!important;
}
.wc-block-components-checkout-step{border:0;padding-top:26px;margin-top:26px;border-top:1px solid #E8E8E8}
.wc-block-components-checkout-step:first-child{border-top:0;margin-top:0}
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-components-button:not(.is-link){
  background:#3A3836!important;color:#FFFFFF!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;padding:17px 26px!important;font-size:11px!important;font-weight:600!important;
  letter-spacing:0.2em!important;text-transform:uppercase!important;font-family:inherit!important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button:not(.is-link):hover{background:#26241F!important}
.wc-block-components-button.is-link{color:#8A8078!important;text-decoration:none;border-bottom:1px solid #D0CBC8}
.wc-block-components-order-summary-item__image img{border-radius:0}
.wc-block-components-totals-item{font-size:13px}
.wc-block-components-totals-footer-item{border-top:1px solid #E8E8E8;padding-top:12px;font-weight:600}
.wc-block-components-panel,
.wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout-order-summary-block{
  border-radius:0!important;box-shadow:none!important;
}
.wc-block-components-notice-banner{
  border:0!important;border-top:1px solid #E8E8E8!important;border-radius:0!important;
  background:none!important;font-size:12px;color:#4E4A46;padding:14px 0!important;
}
.wc-block-components-notice-banner>svg{display:none}
.wc-block-checkout__sidebar .wc-block-components-sidebar{background:none!important;border:0!important}

@media (max-width:1000px){
  .wp-block-woocommerce-checkout,.wp-block-woocommerce-cart{padding-left:22px;padding-right:22px}
}

/* Contacts: icons live in the header on desktop, inside the burger on mobile. */
[data-mae-contacts] a:hover{color:#3A3836}
@media (max-width:1000px){
  [data-mae-contacts]{display:none!important}
  [data-mae-nav][data-open="true"] [data-mae-menu-contacts]{display:flex!important}
}
[data-mae-float] a:hover{background:#3A3836;color:#FFFFFF;border-color:#3A3836}
@media (max-width:680px){
  [data-mae-float]{right:14px;bottom:14px}
}

/* WooCommerce notices, restated as quiet hairline rows. */
.mae-notices .woocommerce-message,
.mae-notices .woocommerce-info,
.mae-notices .woocommerce-error{
  border:0!important;border-top:1px solid #3A3836!important;border-radius:0!important;background:none!important;
  padding:14px 0!important;margin:0 0 4px!important;font-size:13px;color:#3A3836;list-style:none;display:flex;
  align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
}
.mae-notices .woocommerce-error{border-top-color:#B4544F!important;color:#B4544F}
.mae-notices .woocommerce-message::before,
.mae-notices .woocommerce-info::before,
.mae-notices .woocommerce-error::before{display:none!important}
.mae-notices .button{
  background:none!important;color:#3A3836!important;border:0!important;border-bottom:1px solid #3A3836!important;
  padding:0 0 3px!important;font-size:11px!important;letter-spacing:0.16em!important;text-transform:uppercase!important;
}
.mae-notices ul{margin:0;padding:0}

.single_add_to_cart_button:hover{background:#26241F!important}
.mae-buy-now:hover{background:#3A3836;color:#FFFFFF}

/* ---------------------------------------------------------------------
   Mobile: the same layout, just breathing less. Tighter rhythm, one
   column, full-width actions, and a header that never wraps.
   --------------------------------------------------------------------- */
@media (max-width:1000px){
  /* Header: logo | burger | cart — everything else moves into the menu. */
  header[data-pad]{gap:14px!important;padding:14px 22px 12px!important}
  header[data-pad] > div:last-child{gap:12px!important;flex-wrap:nowrap!important}
  header[data-pad] img{height:24px!important}

  /* The benefit bar was wrapping onto three lines. */
  [data-mae-bar]{gap:14px!important;padding:8px 16px!important;font-size:9px!important;letter-spacing:0.12em!important}

  /* Editorial spacing was authored for a wide screen. */
  main [style*="padding:150px 0 0"]{padding-top:64px!important}
  main section[style*="padding:150px 0 0"]{padding-top:64px!important}
  [data-ed="1"]{row-gap:26px}
  footer[data-pad]{margin-top:56px!important;padding:30px 22px 22px!important}

  /* Long editorial paragraphs read better a touch smaller. */
  main p{font-size:13px!important;line-height:1.7!important}
  main h1{font-size:clamp(24px,7vw,34px)!important;line-height:1.16!important}
  main h2{font-size:clamp(20px,6vw,28px)!important;line-height:1.18!important}
}

@media (max-width:680px){
  header[data-pad]{padding:12px 16px 10px!important}
  [data-pad="1"]{padding-left:16px!important;padding-right:16px!important}
  [data-mae-bar]{gap:10px!important;font-size:8.5px!important;letter-spacing:0.1em!important}

  /* Catalogue: two up, with the quick sizes still tappable. */
  [data-mae-quick] a{min-width:32px!important;padding:7px 6px!important}

  /* Buying actions go full width — thumb-sized. */
  .single_add_to_cart_button{width:100%!important;min-width:0!important;padding:16px!important}
  .mae-buy-now{width:100%!important;padding:15px!important}
  form.cart [data-mae-group]{max-width:none!important}

  /* Product gallery: one per row instead of a cramped 2x2. */
  [data-half="1"]{grid-template-columns:1fr!important;gap:8px!important}
}

/* How to order — numbered, quiet, no boxes. */
.mae-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;border-top:1px solid #3A3836;padding-top:20px}
.mae-steps > div{font-size:13px;line-height:1.7;color:#4E4A46}
.mae-steps b{display:block;font-size:10px;letter-spacing:0.2em;color:#B4AEA8;font-weight:500;margin-bottom:8px}
@media (max-width:900px){ .mae-steps{grid-template-columns:1fr 1fr;gap:20px} }
@media (max-width:560px){ .mae-steps{grid-template-columns:1fr;gap:16px} }
