/* === NATIVA SHOP PAGES ===
   Brings the WooCommerce block cart, checkout and account pages onto the site's own type,
   colour and spacing. Scoped to those body classes so nothing else is touched. */

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account{
  --nv-ink:#2D1B0E;--nv-body:#5B4634;--nv-muted:#7A6553;--nv-cream:#FBF6EE;--nv-card:#FFFDFA;
  --nv-line:#EFE3D5;--nv-green:#6CB802;--nv-green-dk:#5CA002;--nv-sand:#F7DCC2;
  background:var(--nv-cream);
}

/* ---------- page banner ----------
   Solace paints a 430px black cover here. The rest of the site has no such banner, so it is
   reduced to a cream band with the title in the site's display face. */
body.woocommerce-cart .boxes-header .overlay,
body.woocommerce-checkout .boxes-header .overlay,
body.woocommerce-account .boxes-header .overlay{background:transparent!important;opacity:1!important}

body.woocommerce-cart .boxes-header .cover,
body.woocommerce-checkout .boxes-header .cover,
body.woocommerce-account .boxes-header .cover{
  min-height:0!important;height:auto!important;background:var(--nv-cream)!important;
  padding:56px 0 20px!important;display:block!important;
}
body.woocommerce-cart .boxes-header .text,
body.woocommerce-checkout .boxes-header .text,
body.woocommerce-account .boxes-header .text{text-align:center}

body.woocommerce-cart .boxes-header h1,
body.woocommerce-checkout .boxes-header h1,
body.woocommerce-account .boxes-header h1{
  font-family:'Fraunces',Georgia,serif!important;font-weight:700!important;
  font-size:44px!important;line-height:1.1!important;color:var(--nv-ink)!important;margin:0!important;
}
@media(max-width:1024px){body.woocommerce-cart .boxes-header h1,body.woocommerce-checkout .boxes-header h1,body.woocommerce-account .boxes-header h1{font-size:34px!important}
  body.woocommerce-cart .boxes-header .cover,body.woocommerce-checkout .boxes-header .cover,body.woocommerce-account .boxes-header .cover{padding:40px 0 14px!important}}
@media(max-width:767px){body.woocommerce-cart .boxes-header h1,body.woocommerce-checkout .boxes-header h1,body.woocommerce-account .boxes-header h1{font-size:28px!important}}

/* ---------- typography ---------- */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
body.woocommerce-account .woocommerce{
  font-family:'Montserrat',sans-serif!important;color:var(--nv-body)!important;
}
.wp-block-woocommerce-cart *:not(svg):not(path),
.wp-block-woocommerce-checkout *:not(svg):not(path){font-family:'Montserrat',sans-serif}

.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title,
.wc-block-components-order-summary__title,
.wp-block-woocommerce-cart-order-summary-heading-block{
  font-family:'Fraunces',Georgia,serif!important;font-weight:700!important;
  color:var(--nv-ink)!important;text-transform:none!important;letter-spacing:0!important;
}
.wc-block-components-checkout-step__title{font-size:22px!important}
.wc-block-cart__totals-title,
.wp-block-woocommerce-cart-order-summary-heading-block{font-size:20px!important}

.wc-block-components-product-name{
  font-family:'Fraunces',Georgia,serif!important;font-weight:700!important;
  font-size:17px!important;color:var(--nv-ink)!important;text-decoration:none!important;
}
.wc-block-components-product-metadata,
.wc-block-components-product-details{color:var(--nv-muted)!important;font-size:12px!important}

/* ---------- panels ---------- */
.wc-block-cart-items,
.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-order-summary{background:transparent}
.wc-block-cart-items__row,
.wc-block-components-totals-wrapper{border-color:var(--nv-line)!important}
body.woocommerce-checkout .wc-block-components-order-summary,
.wc-block-checkout__sidebar > .wc-block-components-sidebar{
  background:var(--nv-card);border:1px solid var(--nv-line);border-radius:16px;
}

/* ---------- totals ---------- */
.wc-block-components-totals-item__label{color:var(--nv-body)!important}
.wc-block-components-totals-item__value{color:var(--nv-ink)!important;font-weight:600!important}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-total-price-value{
  font-family:'Fraunces',Georgia,serif!important;font-weight:700!important;font-size:24px!important;color:var(--nv-ink)!important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-family:'Fraunces',Georgia,serif!important;font-weight:700!important;font-size:19px!important;color:var(--nv-ink)!important;
}

/* ---------- buttons ---------- */
.wp-block-woocommerce-cart .wc-block-components-button:not(.is-link),
.wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background:var(--nv-green)!important;border-color:var(--nv-green)!important;color:#fff!important;
  border-radius:999px!important;font-family:'Montserrat',sans-serif!important;font-weight:600!important;
  letter-spacing:.02em!important;min-height:52px!important;text-transform:none!important;
  transition:background-color .18s,border-color .18s;
}
.wp-block-woocommerce-cart .wc-block-components-button:not(.is-link):hover,
.wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{
  background:var(--nv-green-dk)!important;border-color:var(--nv-green-dk)!important;
}
.wc-block-components-button:focus-visible{outline:2px solid var(--nv-ink)!important;outline-offset:2px!important}

/* text links and the coupon toggle stay brand brown, not the theme's blue */
.wp-block-woocommerce-cart a:not(.wc-block-components-button),
.wp-block-woocommerce-checkout a:not(.wc-block-components-button),
.wc-block-components-panel__button,
.wc-block-components-button.is-link{color:#6E3F1B!important}
.wc-block-cart-item__remove-link{color:var(--nv-muted)!important}
.wc-block-cart-item__remove-link:hover{color:#8A3B2A!important}

/* ---------- quantity stepper ---------- */
.wc-block-components-quantity-selector{border-radius:999px!important;border-color:var(--nv-ink)!important}
.wc-block-components-quantity-selector__button{color:var(--nv-ink)!important}
.wc-block-components-quantity-selector__input{color:var(--nv-ink)!important;font-weight:600!important}

/* ---------- form fields ---------- */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select__container,
.wc-blocks-components-select__container{
  border-radius:10px!important;border-color:#DCC9B2!important;background:var(--nv-card)!important;
  font-family:'Montserrat',sans-serif!important;color:var(--nv-ink)!important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus{box-shadow:0 0 0 1px var(--nv-ink)!important;border-color:var(--nv-ink)!important}
.wc-block-components-text-input label,
.wc-block-components-select label{color:var(--nv-muted)!important}

/* ---------- product thumbnails ---------- */
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img{
  border-radius:10px;background:var(--nv-card);border:1px solid var(--nv-line);
  object-fit:contain;padding:4px;
}
.wc-block-components-order-summary-item__quantity{
  background:var(--nv-ink)!important;border-color:var(--nv-ink)!important;color:var(--nv-cream)!important;
}

/* ---------- shipping / radio options ---------- */
.wc-block-components-radio-control__option{border-color:var(--nv-line)!important}
.wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control__option--checked-option-highlighted{border-color:var(--nv-ink)!important}
.wc-block-components-radio-control__input:checked{background:var(--nv-green)!important;border-color:var(--nv-green)!important}
.wc-block-components-checkbox__input:checked{background:var(--nv-green)!important;border-color:var(--nv-green)!important}

/* ---------- order summary ----------
   Woo gives the summary `padding: 0 16px`, so with a border drawn round it the last line of a long
   flavour list sits right on the bottom edge. Pad it on all four sides instead. */
/* Not scoped to .wc-block-checkout__sidebar: below 768px the summary moves into a collapsible
   panel outside that wrapper, and the padding has to follow it. */
body.woocommerce-checkout .wc-block-components-order-summary{
  padding:16px!important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item:last-child{padding-bottom:0!important}

/* The item row is a flex row whose description column defaults to min-width:auto, so it refuses to
   shrink below its longest word and can push the price past the card's edge. Let the description
   shrink and keep the price on one line as a fixed column. */
.wc-block-components-order-summary-item{min-width:0!important;box-sizing:border-box!important}
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__details{min-width:0!important;overflow-wrap:anywhere}
.wc-block-components-order-summary-item__total-price{
  flex:0 0 auto!important;white-space:nowrap!important;padding-left:10px!important;
}
.wc-block-components-order-summary,
.wc-block-components-order-summary__content{overflow:hidden!important}

/* ---------- notices ----------
   Two systems are in play: the block banners on cart/checkout, and the classic
   .woocommerce-info / .woocommerce-message notices the account pages still use. The classic ones
   ship as solid blue and green rectangles, so both are restyled to the same brand card. */
.wc-block-components-notice-banner,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message{
  background:var(--nv-card)!important;
  color:var(--nv-body)!important;
  border:1px solid var(--nv-line)!important;
  border-left:3px solid var(--nv-sand)!important;
  border-radius:12px!important;
  font-family:'Montserrat',sans-serif!important;
  font-size:14px!important;
  line-height:1.6!important;
  padding:16px 20px!important;
  display:flex!important;align-items:center!important;gap:14px!important;flex-wrap:wrap!important;
}
body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-info::before{display:none!important}

.wc-block-components-notice-banner.is-success,
body.woocommerce-account .woocommerce-message{border-left-color:var(--nv-green)!important}
.wc-block-components-notice-banner.is-error,
body.woocommerce-account .woocommerce-error{border-left-color:#C0392B!important}
.wc-block-components-notice-banner > svg{background-color:var(--nv-ink)!important;fill:var(--nv-cream)!important}

/* ---------- classic WooCommerce buttons ----------
   The account screens use .button / .woocommerce-Button, which arrive as square grey boxes. */
body.woocommerce-account .woocommerce .button,
body.woocommerce-account .woocommerce-Button,
body.woocommerce-account .woocommerce button[type="submit"],
body.woocommerce-account .woocommerce input[type="submit"],
.woocommerce-info .button, .woocommerce-message .button,
.wc-block-components-notice-banner .button.wc-forward{
  background:var(--nv-green)!important;
  border:1px solid var(--nv-green)!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:13px 26px!important;
  font-family:'Montserrat',sans-serif!important;
  font-weight:600!important;font-size:13px!important;
  text-transform:none!important;text-decoration:none!important;
  line-height:1.3!important;min-height:44px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  margin-left:auto!important;
  transition:background-color .18s,border-color .18s;
}
body.woocommerce-account .woocommerce .button:hover,
body.woocommerce-account .woocommerce-Button:hover,
body.woocommerce-account .woocommerce button[type="submit"]:hover,
body.woocommerce-account .woocommerce input[type="submit"]:hover,
.woocommerce-info .button:hover, .woocommerce-message .button:hover,
.wc-block-components-notice-banner .button.wc-forward:hover{
  background:var(--nv-green-dk)!important;border-color:var(--nv-green-dk)!important;color:#fff!important;
}

/* ---------- account layout ---------- */
body.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
body.woocommerce-account .woocommerce-MyAccount-navigation a{
  color:#6E3F1B!important;text-decoration:none;font-family:'Montserrat',sans-serif;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--nv-ink)!important;font-weight:600}
body.woocommerce-account fieldset{border:1px solid var(--nv-line);border-radius:12px;padding:18px 20px}
body.woocommerce-account legend{color:var(--nv-ink);font-weight:600;padding:0 8px}
body.woocommerce-account .woocommerce input[type="text"],
body.woocommerce-account .woocommerce input[type="email"],
body.woocommerce-account .woocommerce input[type="password"],
body.woocommerce-account .woocommerce input[type="tel"],
body.woocommerce-account .woocommerce select,
body.woocommerce-account .woocommerce textarea{
  border-radius:10px!important;border:1px solid #DCC9B2!important;background:var(--nv-card)!important;
  font-family:'Montserrat',sans-serif!important;color:var(--nv-ink)!important;
}

/* The admin bar sits inside <body> and carries its own search field and submit button, so any
   rule matched on the body class alone lands on it too - that is what turned the admin bar's
   search into a cream field and a green pill for logged-in users. Belt and braces: keep this
   stylesheet out of the admin bar entirely. */
#wpadminbar input,
#wpadminbar button,
#wpadminbar select,
#wpadminbar textarea{
  border-radius:0!important;
  padding:0!important;
  min-height:0!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:normal!important;
  text-transform:none!important;
  display:inline-block!important;
  width:auto!important;
  margin:0!important;
  box-shadow:none!important;
}
#wpadminbar #adminbarsearch .adminbar-input{
  background:rgba(255,255,255,.2)!important;border:0!important;color:#f0f0f1!important;
  height:24px!important;padding:0 4px!important;line-height:24px!important;
}
#wpadminbar #adminbarsearch .adminbar-button{
  background:none!important;border:0!important;color:transparent!important;
  position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;
}

/* cos gol */
.nv-empty-cart-text{font-family:'Montserrat',sans-serif;font-size:15px;color:#5B4634;margin:0 0 22px}
.nv-empty-cart-btn .wp-block-button__link{display:inline-block;background:#6CB802;color:#fff;border:0;border-radius:999px;padding:15px 30px;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .18s}
.nv-empty-cart-btn .wp-block-button__link:hover{background:#5CA002;color:#fff}
