:root{
  --fn-bg:#1c1815;
  --fn-panel:#241f1a;
  --fn-ink:#f3ecdf;
  --fn-dim:#b8ac97;
  --fn-gold:#c99a3e;
  --fn-brick:#ad5238;
  --fn-sage:#7c8265;
  --fn-line:rgba(243,236,223,.14);
}

.fn-store,
body.faronueve-woocommerce{
  background:var(--fn-bg);
  color:var(--fn-ink);
  font-family:'Archivo',sans-serif;
}

.fn-store *,
body.faronueve-woocommerce *{box-sizing:border-box;}

.fn-store a,
body.faronueve-woocommerce a{text-decoration:none;}

.fn-store h1,.fn-store h2,.fn-store h3,
body.faronueve-woocommerce h1,
body.faronueve-woocommerce h2,
body.faronueve-woocommerce h3{
  font-family:'Fraunces',serif;
  font-weight:500;
  line-height:1.08;
}

/* Páginas de categorías */
.fn-store{min-height:100vh;margin:0;}
.fn-store__hero{
  position:relative;overflow:hidden;min-height:420px;display:flex;align-items:flex-end;
  border-bottom:1px solid var(--fn-line);
  background:
    linear-gradient(90deg,rgba(28,24,21,.98) 0%,rgba(28,24,21,.89) 48%,rgba(28,24,21,.36) 100%),
    var(--fn-hero-image, linear-gradient(135deg,var(--fn-panel),var(--fn-bg)));
  background-size:cover;background-position:center;
}
.fn-store__hero-inner,.fn-store__catalog{
  width:min(1280px,100%);margin:0 auto;padding-left:clamp(20px,5vw,64px);padding-right:clamp(20px,5vw,64px);
}
.fn-store__hero-inner{padding-top:90px;padding-bottom:72px;}
.fn-store__copy{max-width:650px;}
.fn-store__eyebrow{display:block;color:var(--fn-dim);font-size:13px;letter-spacing:.02em;margin-bottom:14px;}
.fn-store h1{color:var(--fn-ink);font-size:clamp(40px,5vw,68px);margin:0;max-width:12ch;}
.fn-store__copy p{color:var(--fn-dim);font-size:17px;line-height:1.7;max-width:48ch;margin:24px 0 0;}
.fn-store__catalog{padding-top:72px;padding-bottom:100px;}
.fn-store__heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:42px;padding-bottom:26px;border-bottom:1px solid var(--fn-line);}
.fn-store__heading h2{margin:0;font-size:clamp(30px,4vw,46px);color:var(--fn-ink);}
.fn-store__heading p{margin:0;color:var(--fn-dim);max-width:470px;font-size:15px;line-height:1.65;}

/* Intro común */
.fn-page-intro{
  max-width:1280px;
  margin:0 auto 36px;
  padding:48px clamp(20px,5vw,64px) 0;
}
.fn-page-intro span{
  display:block;color:var(--fn-gold);font-size:13px;margin-bottom:10px;
}
.fn-page-intro h1{
  margin:0;color:var(--fn-ink);font-size:clamp(34px,4vw,54px);max-width:15ch;
}
.fn-page-intro p{color:var(--fn-dim);margin:14px 0 0;}

/* Banner cupón */
.fn-coupon-banner{
  max-width:1280px;
  margin:24px auto 34px;
  padding:20px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:linear-gradient(135deg,rgba(201,154,62,.16),rgba(173,82,56,.12));
  border:1px solid rgba(201,154,62,.34);
  border-radius:3px;
  color:var(--fn-ink);
}
.fn-coupon-banner strong{
  display:block;font-family:'Fraunces',serif;font-size:24px;font-weight:500;margin:2px 0 4px;
}
.fn-coupon-banner p{margin:0;color:var(--fn-dim);font-size:14px;}
.fn-coupon-kicker{color:var(--fn-gold);font-size:12px;letter-spacing:.04em;text-transform:uppercase;}
.fn-copy-coupon{
  flex:0 0 auto;
  border:0;border-radius:2px;
  background:var(--fn-gold);color:#1c1815;
  padding:12px 18px;font-family:'Archivo',sans-serif;font-weight:600;cursor:pointer;
}

/* Grid productos */
.fn-store .woocommerce ul.products{
  display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0 !important;padding:0 !important;
}
.fn-store .woocommerce ul.products::before,.fn-store .woocommerce ul.products::after{display:none !important;}
.fn-store .woocommerce ul.products li.product{
  width:auto !important;float:none !important;margin:0 !important;padding:0 0 22px !important;
  background:var(--fn-panel);border:1px solid var(--fn-line);border-radius:2px;overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.fn-store .woocommerce ul.products li.product:hover{transform:translateY(-4px);border-color:rgba(201,154,62,.38);box-shadow:0 22px 42px -24px rgba(0,0,0,.75);}
.fn-store .woocommerce ul.products li.product a img{
  width:100%;aspect-ratio:1/1;object-fit:contain;margin:0 0 20px !important;padding:18px;background:#171411;
}
.fn-store .woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:var(--fn-ink);font-family:'Fraunces',serif;font-size:21px !important;line-height:1.2;padding:0 20px !important;margin:0 0 10px !important;
}
.fn-store .woocommerce ul.products li.product .price{display:block;padding:0 20px;margin:0 0 16px !important;color:var(--fn-gold) !important;font-size:17px !important;font-weight:600;}
.fn-store .woocommerce ul.products li.product .button,
.fn-store .woocommerce ul.products li.product .added_to_cart{
  margin:0 20px !important;padding:12px 17px !important;min-height:42px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:2px !important;background:var(--fn-gold) !important;color:#1c1815 !important;font-family:'Archivo',sans-serif;
  font-size:13px !important;font-weight:600 !important;border:none !important;
}
.fn-store .woocommerce span.onsale,
body.faronueve-woocommerce .woocommerce span.onsale{
  min-height:auto !important;min-width:auto !important;border-radius:100px !important;padding:6px 10px !important;
  background:var(--fn-brick) !important;color:var(--fn-ink) !important;font-size:11px !important;font-weight:600 !important;
}

/* Producto individual */
body.faronueve-woocommerce.single-product .site-main,
body.faronueve-woocommerce.single-product main{
  max-width:1280px;
  margin:0 auto;
  padding:0 clamp(20px,5vw,64px) 90px;
}
body.faronueve-woocommerce div.product{
  color:var(--fn-ink);
}
body.faronueve-woocommerce div.product div.images img{
  background:#171411;
  border:1px solid var(--fn-line);
  border-radius:2px;
  padding:18px;
}
body.faronueve-woocommerce div.product .summary{
  background:var(--fn-panel);
  border:1px solid var(--fn-line);
  border-radius:2px;
  padding:clamp(24px,4vw,44px);
}
body.faronueve-woocommerce div.product .product_title{
  font-size:clamp(32px,4vw,48px);
  color:var(--fn-ink);
}
body.faronueve-woocommerce div.product p.price,
body.faronueve-woocommerce div.product span.price{
  color:var(--fn-gold) !important;
  font-size:24px !important;
}
body.faronueve-woocommerce .woocommerce-product-details__short-description{
  color:var(--fn-dim);
  line-height:1.7;
}
body.faronueve-woocommerce div.product form.cart .button,
body.faronueve-woocommerce .single_add_to_cart_button{
  background:var(--fn-gold) !important;color:#1c1815 !important;border-radius:2px !important;
  padding:14px 24px !important;font-weight:600 !important;
}
body.faronueve-woocommerce div.product form.cart input.qty{
  background:#171411;color:var(--fn-ink);border:1px solid var(--fn-line);min-height:46px;
}
body.faronueve-woocommerce div.product .product_meta{
  color:var(--fn-dim);border-top:1px solid var(--fn-line);padding-top:18px;
}
body.faronueve-woocommerce div.product .product_meta a{color:var(--fn-gold);}
body.faronueve-woocommerce div.product .product_meta .fn-product-meta-category{color:var(--fn-gold);}
body.faronueve-woocommerce .woocommerce-tabs ul.tabs{
  border-bottom:1px solid var(--fn-line) !important;
}
body.faronueve-woocommerce .woocommerce-tabs ul.tabs li{
  background:var(--fn-panel) !important;border-color:var(--fn-line) !important;
}
body.faronueve-woocommerce .woocommerce-tabs ul.tabs li a{color:var(--fn-dim) !important;}
body.faronueve-woocommerce .woocommerce-tabs ul.tabs li.active a{color:var(--fn-gold) !important;}
body.faronueve-woocommerce .woocommerce-Tabs-panel{color:var(--fn-dim);}

/* Carrito */
body.faronueve-woocommerce.woocommerce-cart .woocommerce,
body.faronueve-woocommerce.woocommerce-checkout .woocommerce{
  max-width:1280px;
  margin:0 auto;
  padding:0 clamp(20px,5vw,64px) 90px;
}
body.faronueve-woocommerce table.shop_table{
  border:1px solid var(--fn-line) !important;
  background:var(--fn-panel);
  color:var(--fn-ink);
  border-radius:2px !important;
}
body.faronueve-woocommerce table.shop_table th{
  color:var(--fn-gold);
  border-color:var(--fn-line) !important;
}
body.faronueve-woocommerce table.shop_table td{
  border-color:var(--fn-line) !important;
  color:var(--fn-dim);
}
body.faronueve-woocommerce table.shop_table a{color:var(--fn-ink);}
body.faronueve-woocommerce .cart_totals h2,
body.faronueve-woocommerce .woocommerce-checkout h3{color:var(--fn-ink);}
body.faronueve-woocommerce .wc-proceed-to-checkout a.checkout-button,
body.faronueve-woocommerce #place_order,
body.faronueve-woocommerce button.button,
body.faronueve-woocommerce input.button{
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
  border-radius:2px !important;
  font-weight:600 !important;
}

/* Campos checkout */
body.faronueve-woocommerce input.input-text,
body.faronueve-woocommerce textarea,
body.faronueve-woocommerce select,
body.faronueve-woocommerce .select2-container--default .select2-selection--single{
  background:#171411 !important;
  color:var(--fn-ink) !important;
  border:1px solid var(--fn-line) !important;
  border-radius:2px !important;
  min-height:46px;
}
body.faronueve-woocommerce textarea{padding:12px;}
body.faronueve-woocommerce label{color:var(--fn-dim);}
body.faronueve-woocommerce .woocommerce-checkout-review-order{
  background:var(--fn-panel);border:1px solid var(--fn-line);padding:20px;
}
body.faronueve-woocommerce #payment{
  background:#171411 !important;color:var(--fn-ink) !important;
}
body.faronueve-woocommerce #payment div.payment_box{
  background:var(--fn-panel) !important;color:var(--fn-dim) !important;
}
body.faronueve-woocommerce .woocommerce-info,
body.faronueve-woocommerce .woocommerce-message,
body.faronueve-woocommerce .woocommerce-error{
  background:var(--fn-panel);color:var(--fn-ink);border-top-color:var(--fn-gold);
}
body.faronueve-woocommerce .woocommerce-info a,
body.faronueve-woocommerce .woocommerce-message a{color:var(--fn-gold);}

/* Acentos */
.fn-store--gold .fn-store__eyebrow{color:var(--fn-gold);}
.fn-store--brick .fn-store__eyebrow{color:var(--fn-brick);}
.fn-store--sage .fn-store__eyebrow{color:var(--fn-sage);}
.fn-store--brick .woocommerce ul.products li.product .price{color:#cf765c !important;}
.fn-store--sage .woocommerce ul.products li.product .price{color:#a9ae8b !important;}

@media(max-width:1024px){
  .fn-store .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
  .fn-store__hero{min-height:360px;}
  .fn-store__hero-inner{padding-top:70px;padding-bottom:55px;}
  .fn-store__heading{align-items:flex-start;flex-direction:column;gap:14px;}
  .fn-store .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .fn-coupon-banner{align-items:flex-start;flex-direction:column;}
}
@media(max-width:480px){
  .fn-store .woocommerce ul.products{grid-template-columns:1fr;}
}


/* ===== Header y footer Faro Nueve en tienda ===== */
body.faronueve-woocommerce #masthead,
body.faronueve-woocommerce .site-header:not(.fn-site-header),
body.faronueve-woocommerce #colophon,
body.faronueve-woocommerce .site-footer:not(.fn-site-footer),
body.page-id-aromas #masthead,
body.page-id-regaleria #masthead,
body.page-id-deco #masthead{
  display:none !important;
}

.fn-site-header{
  position:sticky;
  top:0;
  z-index:9999;
  background:rgba(28,24,21,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--fn-line);
  font-family:'Archivo',sans-serif;
}

.fn-site-navrow{
  max-width:1280px;
  margin:0 auto;
  padding:18px clamp(20px,5vw,64px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.fn-site-logo{
  display:flex;
  align-items:center;
  color:var(--fn-ink);
  text-decoration:none;
}

.fn-site-logo-img{
  height:68px;
  width:auto;
  max-width:210px;
  object-fit:contain;
}

.fn-site-logo-text{
  font-family:'Fraunces',serif;
  font-size:28px;
  font-weight:500;
  letter-spacing:.01em;
  color:var(--fn-ink);
}

.fn-site-links{
  display:flex;
  align-items:center;
  gap:36px;
  font-size:14.5px;
}

.fn-site-links a{
  color:var(--fn-dim);
  text-decoration:none;
  transition:color .2s ease;
}

.fn-site-links a:hover{color:var(--fn-ink);}

.fn-site-icons{
  display:flex;
  align-items:center;
  gap:12px;
}

.fn-nav-icon{
  position:relative;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--fn-dim);
  border-radius:50%;
  text-decoration:none;
  transition:color .2s ease,background .2s ease;
}

.fn-nav-icon:hover{
  color:var(--fn-gold);
  background:rgba(201,154,62,.08);
}

.fn-nav-icon svg{width:21px;height:21px;display:block;}

.fn-account-link{
  width:auto;
  padding:0 12px;
  gap:7px;
  border:1px solid rgba(201,154,62,.22);
  border-radius:999px;
  white-space:nowrap;
  font-size:13px;
}

.fn-account-link svg{width:20px;height:20px;}
.fn-account-link.fn-account-icon-only{
  width:38px;
  padding:0;
  border:0;
  border-radius:50%;
}
.fn-account-admin-icon{cursor:default;}
.fn-account-admin-icon:hover{color:var(--fn-dim);background:transparent;}

.fn-account-menu{position:relative;display:flex;align-items:center;}
.fn-account-trigger{
  border:0;
  background:transparent;
  cursor:pointer;
  font:inherit;
}
.fn-site-header .fn-account-trigger,
.fn-site-header .fn-account-link,
.fn-site-header .fn-account-admin-icon{
  color:var(--fn-dim)!important;
  opacity:1!important;
  visibility:visible!important;
}
.fn-site-header .fn-account-trigger svg,
.fn-site-header .fn-account-link svg,
.fn-site-header .fn-account-admin-icon svg{
  display:block!important;
  width:21px!important;
  height:21px!important;
  fill:none!important;
  stroke:currentColor!important;
  opacity:1!important;
  visibility:visible!important;
}
.fn-site-header .fn-account-trigger svg *,
.fn-site-header .fn-account-link svg *,
.fn-site-header .fn-account-admin-icon svg *{
  fill:none!important;
  stroke:currentColor!important;
  opacity:1!important;
  visibility:visible!important;
}
.fn-site-header .fn-account-trigger:hover,
.fn-site-header .fn-account-link:hover{
  color:var(--fn-gold)!important;
}
.fn-site-header .fn-account-trigger,
.fn-site-header .fn-account-trigger:hover,
.fn-site-header .fn-account-trigger:focus,
.fn-site-header .fn-account-trigger:active,
.fn-site-header .fn-account-link,
.fn-site-header .fn-account-link:hover,
.fn-site-header .fn-account-link:focus,
.fn-site-header .fn-account-link:active{
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
}
.fn-account-dropdown{
  position:absolute;
  top:calc(100% + 7px);
  right:-12px;
  z-index:10020;
  min-width:145px;
  padding:7px;
  border:1px solid rgba(201,154,62,.28);
  border-radius:9px;
  background:#f8f4ec;
  box-shadow:0 18px 40px rgba(0,0,0,.28);
  opacity:0;
  visibility:hidden;
  transform:translateY(-5px);
  transition:.18s ease;
}
.fn-account-menu:hover .fn-account-dropdown,
.fn-account-menu:focus-within .fn-account-dropdown{
  opacity:1;
  visibility:visible;
  transform:none;
}
.fn-account-dropdown button{
  display:block;
  width:100%;
  padding:9px 10px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:#211c18;
  font:500 12px/1.25 'Archivo',sans-serif;
  text-align:left;
  cursor:pointer;
}
.fn-account-dropdown button:hover{background:rgba(201,154,62,.16);color:#8c6522;}

.fn-account-overlay[hidden],
.fn-account-modal[hidden]{display:none!important;}
.fn-account-overlay{
  position:fixed;
  inset:0;
  z-index:10050;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:92px 18px 28px;
  overflow-y:auto;
  background:rgba(16,13,11,.66);
  backdrop-filter:blur(5px);
}
body.fn-account-modal-open{overflow:hidden;}
.fn-account-modal{
  position:relative;
  width:min(430px,100%);
  padding:27px 29px 29px;
  border:1px solid rgba(201,154,62,.35);
  border-radius:15px;
  background:#f8f4ec;
  color:#211c18;
  box-shadow:0 28px 80px rgba(0,0,0,.48);
}
.fn-account-modal h2{
  margin:0 36px 24px 0;
  color:#211c18;
  font-family:'Fraunces',serif;
  font-size:29px;
  font-weight:500;
}
.fn-account-close{
  position:absolute;
  top:15px;
  right:17px;
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#655b50;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.fn-account-close:hover{background:rgba(28,24,21,.08);color:#211c18;}
.fn-customer-modal-form label{
  display:block;
  margin:0 0 15px;
  color:#3d352e;
  font-size:12px;
  font-weight:500;
}
.fn-customer-modal-form input{
  display:block;
  width:100%;
  height:44px;
  margin-top:7px;
  padding:0 12px;
  border:1px solid rgba(33,28,24,.22);
  border-radius:6px;
  outline:0;
  background:#fff;
  color:#211c18;
  font-family:'Archivo',sans-serif;
}
.fn-customer-modal-form input:focus{
  border-color:var(--fn-gold);
  box-shadow:0 0 0 3px rgba(201,154,62,.12);
}
.fn-password-field{position:relative;display:block;}
.fn-password-field input{padding-right:42px;}
.fn-password-field button{
  position:absolute;
  right:0;
  bottom:0;
  width:42px;
  height:44px;
  border:0;
  background:transparent;
  color:#8d7d69;
  cursor:pointer;
}
.fn-modal-name-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fn-modal-submit{
  width:100%;
  min-height:45px;
  margin:2px 0 12px;
  border:0;
  border-radius:999px;
  background:var(--fn-gold);
  color:#1c1815;
  font:700 13px/1 'Archivo',sans-serif;
  cursor:pointer;
}
.fn-modal-submit:hover{background:#ddb35c;}
.fn-modal-lost{
  display:block;
  margin:0 0 20px;
  color:#8c6522!important;
  font-size:12px;
  text-align:center;
}
.fn-modal-switch{
  margin:6px 0 0;
  padding-top:15px;
  border-top:1px solid rgba(33,28,24,.12);
  color:#6f6459;
  font-size:11px;
  text-align:center;
}
.fn-modal-switch button{
  padding:0;
  border:0;
  background:transparent;
  color:#8c6522;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}

.fn-cart-badge{
  position:absolute;
  top:1px;
  right:0;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--fn-gold);
  color:var(--fn-bg);
  font-size:10px;
  font-weight:600;
  line-height:1;
}

.fn-site-footer{
  background:var(--fn-bg);
  border-top:1px solid var(--fn-line);
  padding:clamp(48px,6vw,64px) 0 26px;
  color:var(--fn-ink);
  font-family:'Archivo',sans-serif;
}

.fn-site-footer-wrap{
  max-width:1280px;
  margin:0 auto;
  padding:0 clamp(20px,5vw,64px);
}

.fn-footer-top{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:40px;
  padding-bottom:34px;
  border-bottom:1px solid var(--fn-line);
}

.fn-footer-brand{margin-bottom:14px;}
.fn-footer-logo p{
  color:var(--fn-dim);
  font-size:14px;
  max-width:34ch;
  margin:0;
}

.fn-footer-col h4{
  margin:0 0 14px;
  color:var(--fn-gold);
  font-family:'Archivo',sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.fn-footer-col ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.fn-footer-col a{
  color:var(--fn-dim);
  font-size:14.5px;
  text-decoration:none;
}

.fn-footer-col a:hover{color:var(--fn-ink);}

.fn-footer-products details{margin:0;}
.fn-footer-products summary{
  width:max-content;
  display:flex;
  align-items:center;
  gap:7px;
  list-style:none;
  cursor:pointer;
  color:var(--fn-dim);
}
.fn-footer-products summary::-webkit-details-marker{display:none;}
.fn-footer-products summary span{font-size:13px;transition:transform .2s ease;color:var(--fn-gold);}
.fn-footer-products details[open] summary span{transform:rotate(180deg);}
.fn-footer-col .fn-footer-submenu{
  margin:9px 0 2px 12px;
  padding-left:12px;
  gap:7px;
  border-left:1px solid rgba(201,154,62,.3);
}
.fn-footer-col .fn-footer-submenu a{font-size:13px;color:var(--fn-dim);}
.fn-footer-col .fn-footer-submenu a:hover{color:var(--fn-gold);}

.fn-social-title{margin-top:22px !important;}

.fn-footer-col ul.fn-footer-inline{
  flex-direction:row;
  flex-wrap:wrap;
  gap:16px;
}

.fn-footer-col ul.fn-footer-actions{gap:11px;align-items:center;}
.fn-footer-icon{
  width:44px;
  height:44px;
  border:1px solid rgba(201,154,62,.34);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--fn-gold)!important;
  background:rgba(201,154,62,.055);
  box-shadow:0 5px 16px rgba(0,0,0,.14);
  transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}
.fn-footer-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.fn-footer-icon:hover{transform:translateY(-2px);border-color:currentColor;background:rgba(255,255,255,.07);}
.fn-footer-gmail:hover{color:#ea4335!important;}
.fn-footer-whatsapp:hover{color:#25d366!important;}
.fn-footer-instagram:hover{color:#e35a9b!important;}
.fn-footer-tiktok:hover{color:#69c9d0!important;}
.fn-footer-facebook:hover{color:#4f8df7!important;}
.fn-footer-youtube:hover{color:#ff3b30!important;}
.fn-footer-facebook svg path{fill:currentColor;stroke:none;}
.fn-footer-instagram .fn-social-dot{fill:currentColor;stroke:none;}
.fn-footer-youtube .fn-youtube-triangle{fill:currentColor;stroke:none;}

.fn-footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding-top:22px;
  color:var(--fn-dim);
  font-size:13px;
}

@media(max-width:860px){
  .fn-site-links{display:none;}
  .fn-site-navrow{padding-top:14px;padding-bottom:14px;}
  .fn-site-logo-img{height:56px;}
  .fn-footer-top{grid-template-columns:1fr;gap:28px;}
}

@media(max-width:1100px){
  .fn-account-link{width:38px;padding:0;border-color:transparent;border-radius:50%;}
  .fn-account-link span{display:none;}
}

@media(max-width:520px){
  .fn-account-overlay{padding:72px 12px 18px;}
  .fn-account-modal{padding:24px 19px 25px;}
  .fn-modal-name-row{grid-template-columns:1fr;gap:0;}
}

/* ===== Mi cuenta de clientes ===== */
body.woocommerce-account{
  background:
    radial-gradient(circle at 12% 8%,rgba(201,154,62,.09),transparent 30%),
    var(--fn-bg);
  color:var(--fn-ink);
}

body.woocommerce-account #content,
body.woocommerce-account .site-content,
body.woocommerce-account #primary,
body.woocommerce-account .content-area,
body.woocommerce-account .site-main{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

body.woocommerce-account .site-main>.woocommerce,
body.woocommerce-account #primary>.woocommerce,
body.woocommerce-account article>.entry-content>.woocommerce{
  width:min(1180px,100%);
  margin:0 auto;
  padding:64px clamp(20px,5vw,64px) 100px;
}

body.woocommerce-account .entry-header,
body.woocommerce-account .entry-title{display:none;}

.fn-account-intro{
  grid-column:1/-1;
  margin:0 0 38px;
  padding:0 0 27px;
  border-bottom:1px solid var(--fn-line);
}

.fn-account-intro span{
  display:block;
  margin-bottom:10px;
  color:var(--fn-gold);
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.fn-account-intro h1{
  margin:0;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:clamp(38px,5vw,60px);
  font-weight:500;
}

.fn-account-intro p{
  max-width:650px;
  margin:15px 0 0;
  color:var(--fn-dim);
  font-size:15px;
  line-height:1.65;
}

body.woocommerce-account #customer_login{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}

body.woocommerce-account #customer_login:before,
body.woocommerce-account #customer_login:after{display:none;}

body.woocommerce-account #customer_login .u-column1,
body.woocommerce-account #customer_login .u-column2{
  float:none;
  width:auto;
  padding:30px;
  border:1px solid var(--fn-line);
  border-radius:16px;
  background:rgba(36,31,26,.88);
  box-shadow:0 24px 58px -38px rgba(0,0,0,.9);
}

body.woocommerce-account #customer_login h2,
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3{
  margin:0 0 22px;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-weight:500;
}

body.woocommerce-account #customer_login h2{font-size:30px;}

body.woocommerce-account form.login,
body.woocommerce-account form.register,
body.woocommerce-account form.edit-account,
body.woocommerce-account form.woocommerce-EditAccountForm{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}

body.woocommerce-account form .form-row{
  float:none;
  width:100%;
  margin:0 0 18px;
  padding:0;
}

body.woocommerce-account form label{
  margin:0 0 7px;
  color:#e7dece;
  font-size:13px;
}

body.woocommerce-account form input.input-text,
body.woocommerce-account form input[type=email],
body.woocommerce-account form input[type=password],
body.woocommerce-account form input[type=text],
body.woocommerce-account form select,
body.woocommerce-account form textarea{
  width:100%;
  min-height:48px;
  padding:10px 13px;
  border:1px solid rgba(243,236,223,.18);
  border-radius:9px;
  outline:0;
  background:#171411;
  color:var(--fn-ink);
  box-shadow:none;
}

body.woocommerce-account form input:focus,
body.woocommerce-account form select:focus,
body.woocommerce-account form textarea:focus{
  border-color:var(--fn-gold);
  box-shadow:0 0 0 3px rgba(201,154,62,.09);
}

body.woocommerce-account .show-password-input{color:var(--fn-gold);}

body.woocommerce-account button.button,
body.woocommerce-account a.button,
body.woocommerce-account input.button{
  min-height:45px;
  padding:11px 22px;
  border:0;
  border-radius:999px;
  background:var(--fn-gold);
  color:#1c1815;
  font-weight:700;
  box-shadow:none;
}

body.woocommerce-account button.button:hover,
body.woocommerce-account a.button:hover,
body.woocommerce-account input.button:hover{
  background:#ddb35c;
  color:#17130f;
}

body.woocommerce-account .woocommerce-LostPassword a,
body.woocommerce-account .woocommerce-privacy-policy-text a,
body.woocommerce-account .woocommerce-MyAccount-content a{
  color:var(--fn-gold);
}

body.woocommerce-account .woocommerce-privacy-policy-text,
body.woocommerce-account .woocommerce-form-register p,
body.woocommerce-account .woocommerce-form-login p{
  color:var(--fn-dim);
  line-height:1.6;
}

body.woocommerce-account .woocommerce-form-login__rememberme{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 12px 12px 0;
}

body.woocommerce-account .woocommerce{
  color:var(--fn-dim);
}

body.woocommerce-account .woocommerce-MyAccount-navigation{
  float:left;
  width:27%;
  padding:18px;
  border:1px solid var(--fn-line);
  border-radius:14px;
  background:rgba(36,31,26,.88);
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul{
  margin:0;
  padding:0;
  list-style:none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li+li{
  border-top:1px solid var(--fn-line);
}

body.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:block;
  padding:14px 13px;
  border-radius:8px;
  color:var(--fn-dim);
  font-size:14px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  background:rgba(201,154,62,.11);
  color:var(--fn-gold);
}

body.woocommerce-account .woocommerce-MyAccount-content{
  float:right;
  width:69%;
  min-height:360px;
  padding:30px;
  border:1px solid var(--fn-line);
  border-radius:14px;
  background:rgba(36,31,26,.72);
  color:var(--fn-dim);
  line-height:1.65;
}

body.woocommerce-account table.shop_table{
  border-color:var(--fn-line);
  background:#211c18;
  color:var(--fn-ink);
}

body.woocommerce-account table.shop_table th,
body.woocommerce-account table.shop_table td{
  border-color:var(--fn-line);
  color:inherit;
}

body.woocommerce-account .woocommerce-Address{
  padding:22px;
  border:1px solid var(--fn-line);
  border-radius:12px;
  background:#211c18;
}

body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error{
  border-top-color:var(--fn-gold);
  border-radius:10px;
  background:#2a241f;
  color:var(--fn-ink);
}

body.woocommerce-account .woocommerce-password-strength{
  margin-top:7px;
  border-radius:7px;
}

@media(max-width:760px){
  body.woocommerce-account .site-main>.woocommerce,
  body.woocommerce-account #primary>.woocommerce,
  body.woocommerce-account article>.entry-content>.woocommerce{
    padding-top:42px;
    padding-bottom:72px;
  }
  body.woocommerce-account #customer_login{grid-template-columns:1fr;}
  body.woocommerce-account #customer_login .u-column1,
  body.woocommerce-account #customer_login .u-column2{padding:23px 20px;}
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content{
    float:none;
    width:100%;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation{margin-bottom:22px;}
  body.woocommerce-account .woocommerce-MyAccount-content{padding:23px 20px;}
}


/* ===== V4: ocultar completamente header/menu/footer nativos de Astra/WooCommerce =====
   Solo en las páginas de tienda controladas por Faro Nueve. */
body.faronueve-woocommerce #masthead,
body.faronueve-woocommerce header#masthead,
body.faronueve-woocommerce .site-header:not(.fn-site-header),
body.faronueve-woocommerce .ast-primary-header-bar,
body.faronueve-woocommerce .ast-below-header-wrap,
body.faronueve-woocommerce .ast-above-header-wrap,
body.faronueve-woocommerce .main-header-bar-wrap,
body.faronueve-woocommerce .main-header-menu,
body.faronueve-woocommerce #ast-desktop-header,
body.faronueve-woocommerce #ast-mobile-header,
body.faronueve-woocommerce .woocommerce-breadcrumb,
body.faronueve-woocommerce #colophon,
body.faronueve-woocommerce footer#colophon,
body.faronueve-woocommerce .site-footer:not(.fn-site-footer),
body.faronueve-woocommerce .ast-footer-overlay,
body.faronueve-woocommerce .site-primary-footer-wrap,
body.faronueve-woocommerce .site-below-footer-wrap,
body.faronueve-woocommerce .ast-small-footer,
body.faronueve-woocommerce .ast-footer-copyright,
body.faronueve-woocommerce .ast-footer-html-1,
body.faronueve-woocommerce .ast-footer-html-2{
  display:none !important;
}

/* Las páginas creadas con shortcode no siempre reciben la clase WooCommerce. */
body:has(.fn-store) #masthead,
body:has(.fn-store) header#masthead,
body:has(.fn-store) .site-header:not(.fn-site-header),
body:has(.fn-store) .ast-primary-header-bar,
body:has(.fn-store) .ast-below-header-wrap,
body:has(.fn-store) .ast-above-header-wrap,
body:has(.fn-store) .main-header-bar-wrap,
body:has(.fn-store) #ast-desktop-header,
body:has(.fn-store) #ast-mobile-header,
body:has(.fn-store) #colophon,
body:has(.fn-store) footer#colophon,
body:has(.fn-store) .site-footer:not(.fn-site-footer),
body:has(.fn-store) .site-primary-footer-wrap,
body:has(.fn-store) .site-below-footer-wrap,
body:has(.fn-store) .ast-footer-copyright{
  display:none !important;
}

/* Evita espacios que Astra puede dejar al ocultar sus barras. */
body.faronueve-woocommerce .site-content,
body:has(.fn-store) .site-content{
  margin-top:0 !important;
  padding-top:0 !important;
}


/* ===== V5: páginas Aromas / Regalería / Deco sin título nativo y sin fondo blanco ===== */

/* Quitar el título de página que agrega Astra/WordPress (ej: "Aromas" arriba del diseño). */
body:has(.fn-store) .entry-header,
body:has(.fn-store) header.entry-header,
body:has(.fn-store) .entry-title,
body:has(.fn-store) .page-title,
body:has(.fn-store) .ast-archive-description,
body:has(.fn-store) .ast-page-builder-template .entry-header{
  display:none !important;
}

/* Fondo oscuro continuo en toda la página, incluyendo los márgenes del tema. */
body:has(.fn-store),
body:has(.fn-store) #page,
body:has(.fn-store) .site,
body:has(.fn-store) .site-content,
body:has(.fn-store) .ast-container,
body:has(.fn-store) .content-area,
body:has(.fn-store) .site-main,
body:has(.fn-store) article,
body:has(.fn-store) .entry-content,
body:has(.fn-store) .ast-article-single{
  background:var(--fn-bg) !important;
}

/* Hacer que la zona de la tienda ocupe todo el ancho disponible sin caja blanca de Astra. */
body:has(.fn-store) .site-content > .ast-container,
body:has(.fn-store) .ast-container{
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

body:has(.fn-store) .content-area,
body:has(.fn-store) .site-main,
body:has(.fn-store) article,
body:has(.fn-store) .entry-content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* Evitar separaciones blancas arriba y abajo del contenido. */
body:has(.fn-store) .site-content{
  padding:0 !important;
  margin:0 !important;
}

body:has(.fn-store) .fn-store{
  width:100%;
  max-width:none;
  margin:0;
}

/* Compatibilidad extra si Astra aplica fondos a contenedores internos. */
body:has(.fn-store) .ast-separate-container,
body:has(.fn-store).ast-separate-container .ast-article-single,
body:has(.fn-store).ast-separate-container .ast-article-post{
  background:var(--fn-bg) !important;
  padding:0 !important;
  margin:0 !important;
}


/* ===== V7: página principal Productos + menú desplegable ===== */
.fn-menu-products{
  position:relative;
  display:flex;
  align-items:center;
}

.fn-menu-products details{position:relative;}

.fn-products-link{
  display:flex;
  align-items:center;
  gap:6px;
  list-style:none;
  cursor:pointer;
}

.fn-products-link::-webkit-details-marker{display:none;}

.fn-products-link span{
  font-size:13px;
  transform:translateY(-1px);
  color:var(--fn-gold);
  transition:transform .18s ease;
}

.fn-menu-products details[open] .fn-products-link span{transform:translateY(-1px) rotate(180deg);}

.fn-products-dropdown{
  position:absolute;
  top:calc(100% + 14px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  min-width:190px;
  padding:9px;
  background:rgba(28,24,21,.98);
  border:1px solid var(--fn-line);
  box-shadow:0 18px 38px -18px rgba(0,0,0,.75);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.fn-menu-products details[open] .fn-products-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

.fn-products-dropdown a{
  display:block;
  padding:10px 12px;
  color:var(--fn-dim);
  white-space:nowrap;
}

.fn-products-dropdown a:hover{
  background:rgba(201,154,62,.08);
  color:var(--fn-gold);
}

.fn-products-page{
  min-height:100vh;
  background:var(--fn-bg);
  color:var(--fn-ink);
  font-family:'Archivo',sans-serif;
}

.fn-products-hero{
  border-bottom:1px solid var(--fn-line);
  background:
    radial-gradient(circle at 75% 20%,rgba(201,154,62,.10),transparent 32%),
    var(--fn-bg);
}

.fn-products-hero-inner{
  max-width:1280px;
  margin:0 auto;
  padding:clamp(70px,9vw,120px) clamp(20px,5vw,64px) clamp(58px,7vw,90px);
}

.fn-products-eyebrow{
  display:block;
  color:var(--fn-gold);
  font-size:13px;
  margin-bottom:12px;
}

.fn-products-hero h1{
  margin:0;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:clamp(44px,6vw,72px);
  font-weight:500;
}

.fn-products-hero p{
  margin:18px 0 0;
  color:var(--fn-dim);
  font-size:17px;
}

.fn-products-grid-wrap{
  max-width:1280px;
  margin:0 auto;
  padding:clamp(54px,7vw,90px) clamp(20px,5vw,64px) clamp(80px,9vw,120px);
}

.fn-products-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

.fn-products-card{
  position:relative;
  min-height:480px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  border:1px solid var(--fn-line);
  border-radius:2px;
  background:
    linear-gradient(135deg,rgba(36,31,26,.9),rgba(23,20,17,.96)),
    var(--fn-cat-image, none);
  background-size:cover;
  background-position:center;
  isolation:isolate;
  transition:transform .28s ease,border-color .28s ease;
}

.fn-products-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--fn-cat-image, none);
  background-size:cover;
  background-position:center;
  z-index:-2;
  transition:transform .55s ease;
}

.fn-products-card-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(20,16,13,.96) 0%,rgba(20,16,13,.58) 45%,rgba(20,16,13,.12) 100%);
  z-index:-1;
}

.fn-products-card:hover{
  transform:translateY(-5px);
  border-color:rgba(201,154,62,.38);
}

.fn-products-card:hover::before{
  transform:scale(1.04);
}

.fn-products-card-content{
  padding:30px;
}

.fn-products-card-content > span{
  display:inline-block;
  margin-bottom:12px;
  font-size:12px;
  color:var(--fn-gold);
  border:1px solid rgba(201,154,62,.45);
  border-radius:100px;
  padding:5px 10px;
}

.fn-products-card--brick .fn-products-card-content > span{
  color:var(--fn-brick);
  border-color:rgba(173,82,56,.52);
}

.fn-products-card--sage .fn-products-card-content > span{
  color:var(--fn-sage);
  border-color:rgba(124,130,101,.52);
}

.fn-products-card h2{
  margin:0 0 10px;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:clamp(30px,3vw,42px);
  font-weight:500;
}

.fn-products-card p{
  color:var(--fn-dim);
  line-height:1.65;
  margin:0 0 16px;
}

.fn-products-card small{
  display:block;
  color:var(--fn-dim);
  margin-bottom:18px;
}

.fn-products-card strong{
  color:var(--fn-gold);
  font-size:14px;
  font-weight:600;
}

body:has(.fn-products-page) .entry-header,
body:has(.fn-products-page) .entry-title,
body:has(.fn-products-page) .page-title,
body:has(.fn-products-page) #masthead,
body:has(.fn-products-page) .site-header:not(.fn-site-header),
body:has(.fn-products-page) #colophon,
body:has(.fn-products-page) .site-footer:not(.fn-site-footer){
  display:none !important;
}

body:has(.fn-products-page),
body:has(.fn-products-page) #page,
body:has(.fn-products-page) .site,
body:has(.fn-products-page) .site-content,
body:has(.fn-products-page) .ast-container,
body:has(.fn-products-page) .content-area,
body:has(.fn-products-page) .site-main,
body:has(.fn-products-page) article,
body:has(.fn-products-page) .entry-content{
  background:var(--fn-bg) !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

@media(max-width:860px){
  .fn-products-grid{grid-template-columns:1fr;}
  .fn-products-card{min-height:360px;}
}


/* ===== V8: tienda completa en /productos/ ===== */
.fn-shop-page{
  background:var(--fn-bg);
  color:var(--fn-ink);
}

.fn-shop-heading{
  max-width:1440px;
  margin:0 auto;
  padding:60px 42px 28px;
}

.fn-shop-heading h1{
  margin:0;
  font-family:'Fraunces',serif;
  font-size:clamp(42px,5vw,64px);
  font-weight:500;
  color:var(--fn-ink);
}

.fn-shop-heading p{
  margin:12px 0 0;
  color:var(--fn-dim);
  white-space:nowrap;
}

.fn-store__category-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 30px;
}
.fn-store__category-strip a{
  min-height:40px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--fn-line);
  background:#241f1a;
  color:var(--fn-ink);
  font-family:'Archivo',sans-serif;
  font-size:13px;
  transition:.2s ease;
}
.fn-store__category-strip a:hover,
.fn-store__category-strip a.is-active{border-color:var(--fn-gold);color:var(--fn-gold);}

.fn-shop-category-strip{
  max-width:1440px;
  margin:0 auto;
  padding:0 42px 28px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.fn-shop-category-strip a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 20px;
  border:1px solid var(--fn-line);
  color:var(--fn-ink);
  text-decoration:none;
  background:#241f1a;
  transition:.2s ease;
}

.fn-shop-category-strip a:hover,
.fn-shop-category-strip a.is-active{
  border-color:var(--fn-gold);
  color:var(--fn-gold);
}

.fn-shop-shell{
  max-width:1440px;
  margin:0 auto;
  padding:0 42px 90px;
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  gap:42px;
}

.fn-shop-sidebar{
  min-width:0;
}

.fn-shop-search label,
.fn-filter-block h3{
  display:block;
  margin:0 0 12px;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:500;
}

.fn-search-row{
  display:flex;
}

.fn-search-row input,
.fn-price-fields input,
.fn-order-form select{
  width:100%;
  min-height:44px;
  border:1px solid var(--fn-line);
  background:#211c18;
  color:var(--fn-ink);
  padding:0 12px;
  outline:none;
}

.fn-search-row input:focus,
.fn-price-fields input:focus,
.fn-order-form select:focus{
  border-color:var(--fn-gold);
}

.fn-search-row button,
.fn-price-form button{
  min-height:44px;
  border:1px solid var(--fn-gold);
  background:var(--fn-gold);
  color:#1c1815;
  padding:0 14px;
  cursor:pointer;
  font-weight:700;
}

.fn-filter-block{
  border-top:1px solid var(--fn-line);
  margin-top:28px;
  padding-top:24px;
}

.fn-filter-cats{
  max-height:430px;
  overflow:auto;
  padding-right:6px;
}

.fn-filter-cats a{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:8px 0;
  color:var(--fn-dim);
  text-decoration:none;
  border-bottom:1px solid rgba(243,236,223,.055);
}

.fn-filter-cats a:hover,
.fn-filter-cats a.is-active{
  color:var(--fn-gold);
}

.fn-store__catalog-grid{
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  gap:42px;
  align-items:start;
}
.fn-store__category-panel{margin-top:0;min-width:0;}
.fn-category-all,
.fn-category-tree a{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:7px 9px;
  color:var(--fn-dim);
  font-family:'Archivo',sans-serif;
  font-size:13px;
  border-bottom:1px solid rgba(243,236,223,.055);
}
.fn-category-all:hover,
.fn-category-all.is-active,
.fn-category-tree a:hover,
.fn-category-tree a.is-active{color:var(--fn-gold);background:rgba(201,154,62,.055);}
.fn-category-tree{max-height:560px;overflow:auto;padding-right:5px;}
.fn-filter-cats>.fn-category-tree{max-height:none;overflow:visible;padding-right:0;}
.fn-category-tree-all>.fn-category-section>summary>a{font-family:'Fraunces',serif;font-size:16px;color:var(--fn-gold);}
.fn-category-group{margin:0;}
.fn-category-group summary{
  display:flex;
  align-items:center;
  gap:5px;
  list-style:none;
  cursor:pointer;
  border-bottom:1px solid rgba(243,236,223,.055);
}
.fn-category-group summary::-webkit-details-marker{display:none;}
.fn-category-group summary>a{flex:1;border:0;font-weight:500;color:var(--fn-ink);}
.fn-category-group summary>span{padding:9px;color:var(--fn-gold);font-size:12px;transition:transform .18s ease;}
.fn-category-group[open]>summary>span{transform:rotate(180deg);}
.fn-category-children{margin-left:10px;padding-left:10px;border-left:1px solid rgba(201,154,62,.25);}
.fn-category-children .fn-category-children{margin-left:7px;padding-left:8px;}
.fn-category-leaf.is-active{font-weight:600;}

.fn-filter-cats small{
  opacity:.75;
}

.fn-price-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:8px;
}

.fn-price-form button{
  width:100%;
}

.fn-tag-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.fn-tag-cloud a{
  border:1px solid var(--fn-line);
  padding:6px 9px;
  color:var(--fn-dim);
  text-decoration:none;
  font-size:12px;
}

.fn-tag-cloud a:hover,
.fn-tag-cloud a.is-active{
  color:var(--fn-gold);
  border-color:var(--fn-gold);
}

.fn-shop-toolbar{
  min-height:54px;
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--fn-line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

.fn-shop-result-count{
  color:var(--fn-dim);
}

.fn-order-form select{
  min-width:220px;
}

.fn-shop-main ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:28px 20px !important;
  margin:0 !important;
}

.fn-shop-main ul.products::before,
.fn-shop-main ul.products::after{
  display:none !important;
}

.fn-shop-main ul.products li.product{
  width:auto !important;
  margin:0 !important;
  float:none !important;
  padding:0 0 20px !important;
  border:1px solid var(--fn-line);
  background:#241f1a;
  overflow:hidden;
}

.fn-shop-main ul.products li.product a img{
  width:100% !important;
  aspect-ratio:1/1;
  object-fit:contain;
  margin:0 !important;
  padding:14px;
  background:#f3ecdf;
}

.fn-shop-main ul.products li.product .woocommerce-loop-product__title{
  color:var(--fn-ink) !important;
  font-family:'Fraunces',serif;
  font-size:20px !important;
  font-weight:500 !important;
  padding:18px 18px 6px !important;
  margin:0 !important;
}

.fn-shop-main ul.products li.product .price{
  display:block;
  color:var(--fn-gold) !important;
  padding:0 18px 12px;
  font-weight:700;
}

.fn-shop-main ul.products li.product .button{
  margin:0 18px !important;
  display:inline-flex !important;
  align-items:center;
  min-height:42px;
  padding:0 15px !important;
  border:1px solid var(--fn-gold) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--fn-gold) !important;
  text-transform:none !important;
}

.fn-shop-main ul.products li.product .button:hover{
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
}

.fn-shop-pagination{
  margin-top:42px;
}

.fn-shop-pagination ul.page-numbers{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0;
  margin:0;
  list-style:none;
  border:0 !important;
}

.fn-shop-pagination a,
.fn-shop-pagination span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  border:1px solid var(--fn-line) !important;
  color:var(--fn-ink);
  background:#241f1a;
  text-decoration:none;
}

.fn-shop-pagination .current,
.fn-shop-pagination a:hover{
  border-color:var(--fn-gold) !important;
  color:var(--fn-gold);
}

.fn-no-products{
  border:1px solid var(--fn-line);
  padding:44px;
  text-align:center;
  background:#241f1a;
}

.fn-no-products h2{
  font-family:'Fraunces',serif;
  color:var(--fn-ink);
}

.fn-no-products p{
  color:var(--fn-dim);
}

.fn-no-products a{
  color:var(--fn-gold);
}

@media(max-width:1050px){
  .fn-shop-shell{
    grid-template-columns:230px minmax(0,1fr);
    gap:26px;
  }
  .fn-shop-main ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}



@media(max-width:760px){
  .fn-shop-heading p{white-space:normal;}
  .fn-store__catalog-grid{grid-template-columns:1fr;gap:30px;}
  .fn-category-tree{max-height:430px;}
  .fn-shop-heading,
  .fn-shop-category-strip,
  .fn-shop-shell{
    padding-left:18px;
    padding-right:18px;
  }
  .fn-shop-shell{
    grid-template-columns:1fr;
  }
  .fn-shop-sidebar{
    order:2;
  }
  .fn-shop-main{
    order:1;
  }
  .fn-shop-main ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  .fn-shop-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .fn-order-form,
  .fn-order-form select{
    width:100%;
  }
}

@media(max-width:480px){
  .fn-shop-main ul.products{
    grid-template-columns:1fr !important;
  }
}


/* ===== V9: corrección definitiva de /productos/ ===== */

/* Fondo Faro Nueve en TODA la página Productos, sin sectores blancos de Astra. */
body.faronueve-woocommerce.page .site,
body.faronueve-woocommerce.page #page,
body.faronueve-woocommerce.page .site-content,
body.faronueve-woocommerce.page .ast-container,
body.faronueve-woocommerce.page .content-area,
body.faronueve-woocommerce.page .site-main,
body.faronueve-woocommerce.page article,
body.faronueve-woocommerce.page .entry-content,
body.faronueve-woocommerce.page .ast-article-single,
body.faronueve-woocommerce.page .ast-separate-container,
body.faronueve-woocommerce.page .ast-separate-container .ast-article-single{
  background:var(--fn-bg) !important;
}

/* Quitar título azul "Productos" y encabezado nativo de Astra. */
body.faronueve-woocommerce.page .entry-header,
body.faronueve-woocommerce.page header.entry-header,
body.faronueve-woocommerce.page .entry-title,
body.faronueve-woocommerce.page .page-title,
body.faronueve-woocommerce.page .ast-archive-description{
  display:none !important;
}

/* Quitar completamente header/menu y footer nativos de Astra. */
body.faronueve-woocommerce #masthead,
body.faronueve-woocommerce header#masthead,
body.faronueve-woocommerce .site-header:not(.fn-site-header),
body.faronueve-woocommerce .ast-primary-header-bar,
body.faronueve-woocommerce .ast-above-header-wrap,
body.faronueve-woocommerce .ast-below-header-wrap,
body.faronueve-woocommerce .main-header-bar-wrap,
body.faronueve-woocommerce #ast-desktop-header,
body.faronueve-woocommerce #ast-mobile-header,
body.faronueve-woocommerce #colophon,
body.faronueve-woocommerce footer#colophon,
body.faronueve-woocommerce .site-footer:not(.fn-site-footer),
body.faronueve-woocommerce .site-primary-footer-wrap,
body.faronueve-woocommerce .site-below-footer-wrap,
body.faronueve-woocommerce .ast-footer-overlay,
body.faronueve-woocommerce .ast-small-footer,
body.faronueve-woocommerce .ast-footer-copyright{
  display:none !important;
}

/* El contenido ocupa todo el ancho como Aromas / Regalería / Deco. */
body.faronueve-woocommerce.page .site-content > .ast-container,
body.faronueve-woocommerce.page .ast-container,
body.faronueve-woocommerce.page .content-area,
body.faronueve-woocommerce.page .site-main,
body.faronueve-woocommerce.page article,
body.faronueve-woocommerce.page .entry-content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* La tienda completa mantiene el mismo panel oscuro visual de las otras categorías. */
.fn-shop-page{
  width:100%;
  min-height:100vh;
  background:var(--fn-bg) !important;
}

.fn-shop-heading,
.fn-shop-category-strip,
.fn-shop-shell{
  max-width:1280px;
}

/* Evita el hueco superior que Astra deja al ocultar su título. */
body.faronueve-woocommerce.page .site-content{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* Apariencia de catálogo coherente con Aromas/Regalería/Deco. */
.fn-shop-main ul.products li.product{
  background:#211c18 !important;
  border-color:rgba(243,236,223,.16) !important;
}

.fn-shop-main ul.products li.product a img{
  background:#f3ecdf !important;
}

.fn-shop-toolbar,
.fn-filter-block{
  border-color:rgba(243,236,223,.14) !important;
}


/* Faro Nueve V17 — logo transparente, compacto y alineado */
.fn-site-header a,.fn-site-footer a,body.faronueve-woocommerce a,body:has(.fn-store) a,body:has(.fn-products-page) a{text-decoration:none!important;text-decoration-line:none!important;}
.fn-site-header a:hover,.fn-site-footer a:hover,body.faronueve-woocommerce a:hover{text-decoration:none!important;}
.fn-site-header .fn-site-logo{margin-left:-16px!important;}
.fn-site-logo-img{height:auto!important;width:190px!important;max-width:20vw!important;object-fit:contain!important;}
.fn-site-footer .fn-site-logo-img{height:auto!important;width:220px!important;max-width:100%!important;}
@media(max-width:860px){.fn-site-header .fn-site-logo{margin-left:-10px!important}.fn-site-logo-img{height:auto!important;width:150px!important;max-width:42vw!important}.fn-site-footer .fn-site-logo-img{height:auto!important;width:190px!important;max-width:70vw!important}}
/* Controles flotantes globales: visibles en todas las páginas actuales y futuras. */
.fn-global-joinchat{position:fixed!important;right:24px!important;bottom:24px!important;z-index:10000!important;display:flex!important;align-items:center!important;gap:10px!important;text-decoration:none!important;font-family:'Archivo',sans-serif!important}.fn-global-joinchat-button{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;box-shadow:0 8px 24px rgba(0,0,0,.34);transition:transform .2s}.fn-global-joinchat-button svg{width:31px;height:31px;fill:#fff}.fn-global-joinchat:hover .fn-global-joinchat-button{transform:scale(1.06)}.fn-global-joinchat-bubble{background:#fff;color:#322c27;padding:10px 13px;border-radius:7px;font-size:12px;font-weight:600;box-shadow:0 5px 18px rgba(0,0,0,.2);opacity:0;transform:translateX(8px);transition:.2s}.fn-global-joinchat:hover .fn-global-joinchat-bubble{opacity:1;transform:translateX(0)}
.fn-global-top{position:fixed!important;left:24px!important;right:auto!important;bottom:24px!important;z-index:10000!important;width:52px;height:52px;border-radius:50%;display:grid!important;place-items:center;background:#c99a3e!important;color:#1c1815!important;text-decoration:none!important;font:700 22px/1 'Archivo',sans-serif!important;box-shadow:0 10px 24px -8px rgba(0,0,0,.55)}
@media(max-width:600px){.fn-global-joinchat{right:16px!important;bottom:16px!important}.fn-global-joinchat-button{width:54px;height:54px}.fn-global-joinchat-bubble{display:none}.fn-global-top{left:16px!important;bottom:16px!important;width:46px;height:46px}}


/* V52: el icono de cuenta debe permanecer visible en el encabezado local. */
.fn-site-header .fn-site-icons .fn-account-menu,
.fn-site-header .fn-site-icons .fn-account-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  flex:0 0 38px!important;
  visibility:visible!important;
  opacity:1!important;
}
.fn-site-header .fn-site-icons .fn-account-trigger{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  margin:0!important;
  visibility:visible!important;
  opacity:1!important;
  color:var(--fn-dim)!important;
}
.fn-site-header .fn-site-icons .fn-account-trigger svg,
.fn-site-header .fn-site-icons .fn-account-link svg{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:21px!important;
  height:21px!important;
  min-width:21px!important;
  min-height:21px!important;
  stroke:currentColor!important;
  fill:none!important;
}


/* ==========================================================
   V56 — tarjetas de producto, agotados y favoritos
   ========================================================== */

/* Fotos: usar la imagen completa, sin marco/fondo claro agregado por CSS. */
.fn-store .woocommerce ul.products li.product,
.fn-shop-main ul.products li.product,
body.faronueve-woocommerce .woocommerce ul.products li.product{
  position:relative;
}

.fn-store .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.fn-shop-main ul.products li.product a.woocommerce-LoopProduct-link,
body.faronueve-woocommerce .woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:block;
}

.fn-store .woocommerce ul.products li.product a img,
.fn-shop-main ul.products li.product a img,
body.faronueve-woocommerce .woocommerce ul.products li.product a img{
  width:100% !important;
  aspect-ratio:1/1;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid rgba(201,154,62,.16) !important;
}

/* Oculta la banda nativa de Astra/WooCommerce para productos agotados. */
body.faronueve-woocommerce .ast-shop-product-out-of-stock,
body.faronueve-woocommerce .out-of-stock-badge,
.fn-store .ast-shop-product-out-of-stock,
.fn-shop-main .ast-shop-product-out-of-stock{
  display:none !important;
}

/* Badge AGOTADO propio, elegante y siempre visible. */
.fn-product-stock-badge{
  position:absolute;
  top:12px;
  right:12px;
  z-index:8;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border:1px solid rgba(201,154,62,.7);
  border-radius:999px;
  background:rgba(28,24,21,.9);
  color:var(--fn-gold);
  box-shadow:0 8px 22px rgba(0,0,0,.24);
  backdrop-filter:blur(7px);
  font:600 10px/1 'Archivo',sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
  pointer-events:none;
}

/* Corazón sobre las tarjetas. */
.fn-favorite-button{
  position:absolute;
  top:12px;
  left:12px;
  z-index:9;
  width:36px;
  height:36px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(243,236,223,.28);
  border-radius:50%;
  background:rgba(28,24,21,.82);
  color:#f3ecdf;
  box-shadow:0 8px 22px rgba(0,0,0,.22);
  backdrop-filter:blur(7px);
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,color .2s ease,background .2s ease;
}

.fn-favorite-button svg{
  width:18px;
  height:18px;
  fill:transparent;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:fill .2s ease,transform .2s ease;
}

.fn-favorite-button:hover{
  transform:translateY(-1px) scale(1.04);
  border-color:rgba(201,154,62,.8);
  color:var(--fn-gold);
}

.fn-favorite-button.is-favorite{
  color:var(--fn-gold);
  border-color:rgba(201,154,62,.82);
  background:rgba(28,24,21,.94);
}

.fn-favorite-button.is-favorite svg{
  fill:currentColor;
  transform:scale(1.04);
}

/* Acciones de producto agotado. */
.fn-outofstock-actions{
  display:flex;
  gap:8px;
  align-items:stretch;
  margin:0 18px !important;
}

.fn-shop-main ul.products li.product .fn-outofstock-actions .button,
.fn-store .woocommerce ul.products li.product .fn-outofstock-actions .button{
  margin:0 !important;
}

.fn-stock-button,
.fn-consult-button{
  min-height:42px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  font:600 12px/1 'Archivo',sans-serif;
  text-decoration:none !important;
}

.fn-stock-button{
  border:1px solid rgba(243,236,223,.18);
  color:var(--fn-dim);
  background:rgba(255,255,255,.025);
  cursor:default;
}

.fn-shop-main ul.products li.product .fn-consult-button,
.fn-store .woocommerce ul.products li.product .fn-consult-button,
body.faronueve-woocommerce .woocommerce ul.products li.product .fn-consult-button{
  border:1px solid var(--fn-gold) !important;
  background:transparent !important;
  color:var(--fn-gold) !important;
}

.fn-shop-main ul.products li.product .fn-consult-button:hover,
.fn-store .woocommerce ul.products li.product .fn-consult-button:hover,
body.faronueve-woocommerce .woocommerce ul.products li.product .fn-consult-button:hover{
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
}

/* Favoritos en el encabezado. */
.fn-favorites-link{
  position:relative;
}

.fn-favorites-count{
  position:absolute;
  top:-3px;
  right:-4px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--fn-gold);
  color:#1c1815;
  border:2px solid #1c1815;
  font:700 9px/1 'Archivo',sans-serif;
}

/* Página Mis favoritos. */
.fn-favorites-page{
  max-width:1280px;
  min-height:70vh;
  margin:0 auto;
  padding:72px clamp(20px,5vw,64px) 96px;
  color:var(--fn-ink);
}

.fn-favorites-heading{
  max-width:760px;
  margin-bottom:38px;
}

.fn-favorites-heading h1{
  margin:7px 0 10px;
  font-family:'Fraunces',serif;
  font-size:clamp(38px,5vw,58px);
  font-weight:500;
  color:var(--fn-ink);
}

.fn-favorites-heading p{
  margin:0;
  color:var(--fn-dim);
}

.fn-favorites-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}

.fn-favorite-card{
  position:relative;
  overflow:hidden;
  background:#211c18;
  border:1px solid rgba(243,236,223,.16);
}

.fn-favorite-card__image{
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  border-bottom:1px solid rgba(201,154,62,.16);
}

.fn-favorite-card__image img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.fn-favorite-card__body{
  padding:18px;
}

.fn-favorite-card__body h2{
  min-height:48px;
  margin:0 0 16px;
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:500;
  line-height:1.2;
}

.fn-favorite-card__body h2 a{
  color:var(--fn-ink);
}

.fn-favorite-card__view{
  min-height:42px;
  padding:0 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--fn-gold);
  color:var(--fn-gold);
  font-size:12px;
  font-weight:600;
}

.fn-favorite-card__view:hover{
  background:var(--fn-gold);
  color:#1c1815;
}

.fn-favorite-card__remove{
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  width:36px;
  height:36px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(201,154,62,.8);
  border-radius:50%;
  background:rgba(28,24,21,.92);
  color:var(--fn-gold);
  cursor:pointer;
}

.fn-favorite-card__remove svg{
  width:18px;
  height:18px;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1.6;
}

.fn-favorites-empty{
  padding:70px 24px;
  text-align:center;
  border:1px solid var(--fn-line);
  background:#211c18;
}

.fn-favorites-empty__heart{
  display:block;
  margin-bottom:10px;
  color:var(--fn-gold);
  font-size:48px;
  line-height:1;
}

.fn-favorites-empty h2{
  margin:0 0 8px;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:28px;
  font-weight:500;
}

.fn-favorites-empty p{
  margin:0 0 22px;
  color:var(--fn-dim);
}

.fn-favorites-empty a{
  min-height:44px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  border:1px solid var(--fn-gold);
  color:var(--fn-gold);
}

@media(max-width:1024px){
  .fn-favorites-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media(max-width:760px){
  .fn-favorites-page{padding-top:48px;}
  .fn-favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .fn-product-stock-badge{top:9px;right:9px;}
  .fn-favorite-button{top:9px;left:9px;}
  .fn-outofstock-actions{flex-direction:column;}
}

@media(max-width:480px){
  .fn-favorites-grid{grid-template-columns:1fr;}
}


/* ==========================================================
   V57 — posiciones de overlays + acceso de cliente
   ========================================================== */

/* AGOTADO ahora queda arriba a la izquierda. */
.fn-product-stock-badge{
  left:12px !important;
  right:auto !important;
}

/* Favorito dentro de la foto, abajo a la derecha.
   JS calcula la posición exacta según la altura real de la imagen. */
.fn-favorite-button{
  left:auto !important;
  right:12px !important;
  top:auto;
  bottom:auto;
}

/* Orden del encabezado: buscar > persona > favoritos > carrito. */
.fn-account-trigger-direct{
  appearance:none;
  -webkit-appearance:none;
  padding:0;
  background:transparent;
  cursor:pointer;
}

/* Ya no usamos el desplegable intermedio de cuenta. */
.fn-account-dropdown{display:none !important;}

/* Modal de acceso inspirado en la referencia enviada. */
.fn-account-overlay{
  align-items:flex-start;
  justify-content:center;
  padding:74px 18px 32px;
  background:rgba(18,18,18,.44);
  backdrop-filter:blur(2px);
}

.fn-account-modal{
  width:min(520px,100%);
  padding:0;
  overflow:hidden;
  border:1px solid rgba(33,28,24,.16);
  border-radius:4px;
  background:#fff;
  color:#2e2e2e;
  box-shadow:0 18px 58px rgba(0,0,0,.28);
}

.fn-account-modal-head{
  min-height:57px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 18px;
  border-bottom:1px solid #e5e5e5;
}

.fn-account-modal h2{
  margin:0;
  color:#333;
  font-family:'Archivo',sans-serif;
  font-size:17px;
  font-weight:500;
  line-height:1.2;
}

.fn-account-close{
  position:static;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:0;
  background:transparent;
  color:#8b8b8b;
  font-size:27px;
  font-weight:300;
}

.fn-account-close:hover{
  background:transparent;
  color:#222;
}

.fn-customer-modal-form{
  padding:21px 18px 22px;
}

.fn-customer-modal-form label{
  margin:0 0 15px;
  color:#3b3b3b;
  font-family:'Archivo',sans-serif;
  font-size:13px;
  font-weight:500;
}

.fn-customer-modal-form input{
  height:42px;
  margin-top:7px;
  padding:0 12px;
  border:1px solid #cfd4da;
  border-radius:2px;
  background:#fff;
  color:#333;
  font-size:13px;
  box-shadow:none;
}

.fn-customer-modal-form input::placeholder{color:#9da3aa;}

.fn-customer-modal-form input:focus{
  border-color:#b88a2f;
  box-shadow:0 0 0 2px rgba(184,138,47,.12);
}

.fn-password-field button{
  width:42px;
  height:42px;
  color:#a6abb0;
}

.fn-password-field button svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
}

.fn-modal-submit{
  min-height:40px;
  margin:8px 0 8px;
  border:1px solid #26211d;
  border-radius:2px;
  background:#fff;
  color:#2d2a28;
  font:500 13px/1 'Archivo',sans-serif;
}

.fn-modal-submit:hover{
  background:#201b18;
  color:#fff;
}

.fn-modal-lost{
  margin:0 0 18px;
  color:#565656 !important;
  font-size:12px;
}

.fn-modal-switch{
  margin:0;
  padding-top:13px;
  border-top:1px solid #ececec;
  color:#555;
  font-size:11.5px;
}

.fn-modal-switch button{
  color:#8c6522;
  font-weight:600;
}

/* En registro dejamos los campos más cómodos en pantallas chicas. */
@media(max-width:560px){
  .fn-account-overlay{padding-top:32px;}
  .fn-account-modal{width:min(100%,460px);}
  .fn-modal-name-row{grid-template-columns:1fr;}
  .fn-product-stock-badge{left:9px !important;right:auto !important;}
  .fn-favorite-button{right:9px !important;}
}


/* ==========================================================
   V58 — tarjetas definitivas + producto individual sin stock
   ========================================================== */

/* 1) Eliminar cualquier botón/acción flotante de Astra sobre la foto. */
body.faronueve-woocommerce .astra-shop-thumbnail-wrap .ast-on-card-button,
body.faronueve-woocommerce .astra-shop-thumbnail-wrap .ast-quick-view-text,
body.faronueve-woocommerce .astra-shop-thumbnail-wrap .ast-quick-view-trigger,
body.faronueve-woocommerce .astra-shop-thumbnail-wrap .add_to_cart_button,
body.faronueve-woocommerce .astra-shop-thumbnail-wrap .product_type_simple,
body.faronueve-woocommerce .astra-shop-thumbnail-wrap .product_type_variable,
body.faronueve-woocommerce .astra-shop-thumbnail-wrap > .button,
.fn-shop-main .astra-shop-thumbnail-wrap .ast-on-card-button,
.fn-store .astra-shop-thumbnail-wrap .ast-on-card-button{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* 2) Tarjeta oscura: sin borde blanco. */
.fn-store .woocommerce ul.products li.product,
.fn-shop-main ul.products li.product,
body.faronueve-woocommerce .woocommerce ul.products li.product{
  display:flex !important;
  flex-direction:column;
  height:100%;
  border:1px solid #3a3128 !important;
  background:#211c18 !important;
  border-radius:2px;
  overflow:hidden;
  box-shadow:none;
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}

.fn-store .woocommerce ul.products li.product:hover,
.fn-shop-main ul.products li.product:hover,
body.faronueve-woocommerce .woocommerce ul.products li.product:hover{
  border-color:rgba(201,154,62,.46) !important;
  box-shadow:0 18px 34px -26px rgba(0,0,0,.9);
  transform:translateY(-2px);
}

/* 3) El link contiene el contenido de la ficha y mantiene alturas parejas. */
.fn-store .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.fn-shop-main ul.products li.product a.woocommerce-LoopProduct-link,
body.faronueve-woocommerce .woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex !important;
  flex-direction:column;
  flex:1 1 auto;
  overflow:hidden;
}

/* 4) Foto completa y hover únicamente con zoom suave. */
.fn-store .woocommerce ul.products li.product a img,
.fn-shop-main ul.products li.product a img,
body.faronueve-woocommerce .woocommerce ul.products li.product a img{
  width:100% !important;
  aspect-ratio:1/1;
  height:auto !important;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid rgba(201,154,62,.16) !important;
  transform:scale(1);
  transition:transform .35s ease;
}

.fn-store .woocommerce ul.products li.product:hover a.woocommerce-LoopProduct-link img,
.fn-shop-main ul.products li.product:hover a.woocommerce-LoopProduct-link img,
body.faronueve-woocommerce .woocommerce ul.products li.product:hover a.woocommerce-LoopProduct-link img{
  transform:scale(1.025);
}

/* 5) Títulos con altura visual pareja. */
.fn-store .woocommerce ul.products li.product .woocommerce-loop-product__title,
.fn-shop-main ul.products li.product .woocommerce-loop-product__title,
body.faronueve-woocommerce .woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height:58px;
  box-sizing:border-box;
}

/* Categorías más discretas. */
.fn-store .woocommerce ul.products li.product .fn-loop-category,
.fn-shop-main ul.products li.product .fn-loop-category,
body.faronueve-woocommerce .woocommerce ul.products li.product .fn-loop-category,
body.faronueve-woocommerce .woocommerce ul.products li.product .ast-woo-product-category{
  color:#9f927f !important;
  font-size:11px !important;
  line-height:1.35;
}

/* Precio siempre hacia la parte inferior del contenido. */
.fn-store .woocommerce ul.products li.product .price,
.fn-shop-main ul.products li.product .price,
body.faronueve-woocommerce .woocommerce ul.products li.product .price{
  margin-top:auto !important;
  color:var(--fn-gold) !important;
}

/* 6) Botón disponible uniforme, ancho completo interior. */
.fn-store .woocommerce ul.products li.product > .button,
.fn-store .woocommerce ul.products li.product > .added_to_cart,
.fn-shop-main ul.products li.product > .button,
.fn-shop-main ul.products li.product > .added_to_cart,
body.faronueve-woocommerce .woocommerce ul.products li.product > .button,
body.faronueve-woocommerce .woocommerce ul.products li.product > .added_to_cart{
  width:calc(100% - 36px) !important;
  min-height:42px;
  margin:0 18px !important;
  justify-content:center;
  box-sizing:border-box;
}

/* 7) Producto sin stock: dos acciones alineadas. */
.fn-outofstock-actions{
  width:calc(100% - 36px);
  margin:0 18px !important;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.fn-stock-button,
.fn-consult-button{
  width:100%;
  min-height:42px;
  padding:0 10px;
  box-sizing:border-box;
  justify-content:center;
  text-align:center;
}

.fn-stock-button{
  border:1px solid #4a4036;
  color:#a99d8b;
  background:#1c1815;
}

/* 8) Producto individual: ocultar el aviso nativo y usar el diseño Faro Nueve. */
body.faronueve-woocommerce.single-product div.product p.stock.out-of-stock,
body.faronueve-woocommerce.single-product div.product .stock.out-of-stock{
  display:none !important;
}

.fn-single-outofstock{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:22px 0 8px;
}

.fn-single-stock-label{
  min-height:46px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #4a4036;
  background:#211c18;
  color:#b8ac97;
  font:600 12px/1 'Archivo',sans-serif;
  letter-spacing:.055em;
  text-transform:uppercase;
}

body.faronueve-woocommerce.single-product .fn-single-consult-button{
  min-height:46px;
  padding:0 22px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border:1px solid var(--fn-gold) !important;
  border-radius:2px !important;
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
  font-family:'Archivo',sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
  text-decoration:none !important;
}

body.faronueve-woocommerce.single-product .fn-single-consult-button:hover{
  background:#d4a84f !important;
  border-color:#d4a84f !important;
  color:#1c1815 !important;
}

/* Mantener la foto del producto individual elegante y acorde a la tienda. */
body.faronueve-woocommerce.single-product div.product div.images img{
  background:#211c18 !important;
  border:1px solid #3a3128 !important;
  padding:0 !important;
}

/* Móvil: conservar la claridad de las dos acciones. */
@media(max-width:560px){
  .fn-outofstock-actions{
    grid-template-columns:1fr;
  }

  .fn-single-outofstock{
    align-items:stretch;
  }

  .fn-single-stock-label,
  body.faronueve-woocommerce.single-product .fn-single-consult-button{
    width:100%;
  }

  .fn-store .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .fn-shop-main ul.products li.product .woocommerce-loop-product__title,
  body.faronueve-woocommerce .woocommerce ul.products li.product .woocommerce-loop-product__title{
    min-height:auto;
  }
}


/* ==========================================================
   V59 — menú Productos desplegable también por hover
   ========================================================== */

@media (hover:hover) and (pointer:fine){

  /* Permite que el contenido de <details> sea visible por hover
     aunque todavía no se haya hecho clic. */
  .fn-menu-products:hover details > .fn-products-dropdown,
  .fn-menu-products:focus-within details > .fn-products-dropdown{
    display:block;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0);
  }

  /* Rotación de la flecha al abrir por cursor o teclado. */
  .fn-menu-products:hover .fn-products-link span,
  .fn-menu-products:focus-within .fn-products-link span{
    transform:translateY(-1px) rotate(180deg);
  }

  /* Puente invisible entre Productos y el desplegable:
     evita que el menú se cierre al mover el cursor hacia abajo. */
  .fn-products-dropdown::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-17px;
    height:17px;
    background:transparent;
  }

  /* Un poco más suave, estilo navegación premium. */
  .fn-products-dropdown{
    transition:
      opacity .16s ease,
      transform .16s ease,
      visibility .16s ease;
  }
}

/* Teclado/accesibilidad: también abrir cuando el foco entra al bloque. */
.fn-menu-products:focus-within .fn-products-dropdown{
  display:block;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

.fn-menu-products:focus-within .fn-products-link span{
  transform:translateY(-1px) rotate(180deg);
}


/* ==========================================================
   V60 — corrección real del hover de Productos
   ========================================================== */

@media (hover:hover) and (pointer:fine){

  /* El JS abre realmente el <details>; estas reglas solo animan/estilizan. */
  .fn-menu-products details[open] > .fn-products-dropdown,
  .fn-menu-products.is-hover-open details > .fn-products-dropdown{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateX(-50%) translateY(0) !important;
  }

  .fn-menu-products details[open] .fn-products-link span,
  .fn-menu-products.is-hover-open .fn-products-link span{
    transform:translateY(-1px) rotate(180deg);
  }

  /* El submenú queda por encima del contenido de la página. */
  .fn-menu-products{
    position:relative;
    z-index:10020;
  }

  .fn-products-dropdown{
    z-index:10030 !important;
  }
}


/* ==========================================================
   V61 — variantes como etiquetas + carrusel inferior
   ========================================================== */

/* GALERÍA: imagen principal grande, siempre protagonista. */
body.faronueve-woocommerce.single-product .woocommerce-product-gallery{
  overflow:visible !important;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery .flex-viewport{
  overflow:hidden;
  border:1px solid #3a3128;
  border-radius:2px;
  background:#211c18;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery__wrapper{
  margin:0 !important;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery__image{
  margin:0 !important;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery__image > a{
  display:block;
  width:100%;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery__image img{
  display:block;
  width:100% !important;
  height:auto !important;
  aspect-ratio:1/1;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:#211c18 !important;
}

/* Carrusel horizontal de miniaturas debajo de la imagen grande. */
.fn-gallery-thumbs-shell{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 32px;
  gap:8px;
  align-items:center;
  margin-top:12px;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery .flex-control-thumbs{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:9px;
  width:100%;
  margin:0 !important;
  padding:1px 0 7px !important;
  overflow-x:auto;
  overflow-y:hidden;
  list-style:none !important;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:#6a563a #211c18;
  -webkit-overflow-scrolling:touch;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar{
  height:5px;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar-track{
  background:#211c18;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar-thumb{
  background:#6a563a;
  border-radius:20px;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery .flex-control-thumbs li{
  flex:0 0 78px !important;
  width:78px !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  scroll-snap-align:start;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery .flex-control-thumbs img{
  width:78px !important;
  height:78px !important;
  aspect-ratio:1/1;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #3a3128 !important;
  border-radius:2px;
  background:#211c18 !important;
  opacity:.64;
  cursor:pointer;
  transition:opacity .18s ease,border-color .18s ease,transform .18s ease;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover{
  opacity:.9;
  border-color:rgba(201,154,62,.5) !important;
}

body.faronueve-woocommerce.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{
  opacity:1;
  border-color:var(--fn-gold) !important;
  box-shadow:0 0 0 1px rgba(201,154,62,.18);
}

.fn-gallery-thumbs-arrow{
  width:32px;
  height:60px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid #3a3128;
  border-radius:2px;
  background:#211c18;
  color:#c99a3e;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease,opacity .18s ease;
}

.fn-gallery-thumbs-arrow span{
  display:block;
  margin-top:-3px;
  font-size:27px;
  font-weight:300;
  line-height:1;
}

.fn-gallery-thumbs-arrow:hover:not(:disabled){
  border-color:rgba(201,154,62,.68);
  background:#28211c;
}

.fn-gallery-thumbs-arrow:disabled{
  opacity:.25;
  cursor:default;
}

.fn-gallery-thumbs-shell:not(.has-overflow) .fn-gallery-thumbs-arrow{
  visibility:hidden;
}

/* VARIANTES: selector nativo sigue existiendo para WooCommerce, pero queda visualmente oculto. */
body.faronueve-woocommerce.single-product form.variations_form table.variations td.value{
  position:relative;
}

body.faronueve-woocommerce.single-product form.variations_form table.variations select{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.faronueve-woocommerce.single-product form.variations_form table.variations{
  width:100%;
  margin:18px 0 12px !important;
  border-collapse:separate;
  border-spacing:0 13px;
}

body.faronueve-woocommerce.single-product form.variations_form table.variations th.label{
  width:118px;
  padding:7px 16px 7px 0 !important;
  vertical-align:top;
}

body.faronueve-woocommerce.single-product form.variations_form table.variations th.label label{
  color:#d7ccbc;
  font:600 12px/1.35 'Archivo',sans-serif;
}

body.faronueve-woocommerce.single-product form.variations_form table.variations td.value{
  padding:0 !important;
}

.fn-variation-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.fn-variation-chip{
  position:relative;
  min-height:38px;
  padding:0 13px;
  overflow:hidden;
  border:1px solid #4a4036;
  border-radius:2px;
  background:#211c18;
  color:#d8cdbc;
  font:500 12px/1.2 'Archivo',sans-serif;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease,opacity .18s ease;
}

.fn-variation-chip:hover{
  border-color:rgba(201,154,62,.62);
  color:#f2eadf;
  transform:translateY(-1px);
}

.fn-variation-chip.is-selected{
  border-color:var(--fn-gold);
  background:rgba(201,154,62,.12);
  color:var(--fn-gold);
  box-shadow:inset 0 0 0 1px rgba(201,154,62,.08);
}

/* Variante sin stock: sigue visible y consultable, pero con raya diagonal. */
.fn-variation-chip.is-unavailable{
  color:#8f8476;
  border-color:#3e3731;
  background:#1d1916;
  opacity:.74;
}

.fn-variation-chip.is-unavailable::after{
  content:"";
  position:absolute;
  left:6px;
  right:6px;
  top:50%;
  height:1px;
  background:#9b6d61;
  transform:rotate(-12deg);
  transform-origin:center;
  pointer-events:none;
}

.fn-variation-chip.is-unavailable:hover,
.fn-variation-chip.is-consult-target{
  opacity:1;
  border-color:#9b6d61;
  color:#c6b7a6;
}

.fn-variation-chip.is-consult-target{
  box-shadow:0 0 0 1px rgba(155,109,97,.16);
}

/* Restablecer variaciones queda como acción secundaria. */
body.faronueve-woocommerce.single-product .reset_variations{
  display:inline-flex !important;
  margin-top:10px;
  color:#9f927f !important;
  font-size:11px;
  text-decoration:none !important;
}

body.faronueve-woocommerce.single-product .reset_variations:hover{
  color:var(--fn-gold) !important;
}

/* Consulta de variante sin stock. */
.fn-variation-consult{
  margin:6px 0 18px;
  padding:13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #4a4036;
  background:#1c1815;
}

.fn-variation-consult[hidden]{
  display:none !important;
}

.fn-variation-consult__status{
  color:#b8ac97;
  font:500 12px/1.4 'Archivo',sans-serif;
}

.fn-variation-consult__button{
  flex:0 0 auto;
  min-height:40px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--fn-gold);
  border-radius:2px;
  color:var(--fn-gold) !important;
  font:600 12px/1 'Archivo',sans-serif;
  text-decoration:none !important;
}

.fn-variation-consult__button:hover{
  background:var(--fn-gold);
  color:#1c1815 !important;
}

/* Precio/stock dinámico de la variante con un poco más de aire. */
body.faronueve-woocommerce.single-product .single_variation_wrap{
  margin-top:5px;
}

body.faronueve-woocommerce.single-product .woocommerce-variation-price{
  margin:0 0 12px;
}

/* Móvil: imagen principal grande y miniaturas debajo con swipe horizontal. */
@media(max-width:760px){
  .fn-gallery-thumbs-shell{
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }

  .fn-gallery-thumbs-arrow{
    display:none;
  }

  body.faronueve-woocommerce.single-product .woocommerce-product-gallery .flex-control-thumbs{
    gap:8px;
    padding-bottom:8px !important;
  }

  body.faronueve-woocommerce.single-product .woocommerce-product-gallery .flex-control-thumbs li{
    flex-basis:72px !important;
    width:72px !important;
  }

  body.faronueve-woocommerce.single-product .woocommerce-product-gallery .flex-control-thumbs img{
    width:72px !important;
    height:72px !important;
  }

  body.faronueve-woocommerce.single-product form.variations_form table.variations,
  body.faronueve-woocommerce.single-product form.variations_form table.variations tbody,
  body.faronueve-woocommerce.single-product form.variations_form table.variations tr,
  body.faronueve-woocommerce.single-product form.variations_form table.variations th,
  body.faronueve-woocommerce.single-product form.variations_form table.variations td{
    display:block;
    width:100%;
  }

  body.faronueve-woocommerce.single-product form.variations_form table.variations{
    border-spacing:0;
  }

  body.faronueve-woocommerce.single-product form.variations_form table.variations tr{
    margin-bottom:17px;
  }

  body.faronueve-woocommerce.single-product form.variations_form table.variations th.label{
    padding:0 0 8px !important;
  }

  .fn-variation-chip{
    min-height:40px;
    padding-left:12px;
    padding-right:12px;
  }

  .fn-variation-consult{
    align-items:stretch;
    flex-direction:column;
  }

  .fn-variation-consult__button{
    width:100%;
  }
}


/* ==========================================================
   V63 — Productos relacionados acordes a Faro Nueve
   ========================================================== */

body.faronueve-woocommerce.single-product .related.products,
body.faronueve-woocommerce.single-product .upsells.products{
  clear:both;
  margin:72px auto 22px !important;
  padding:38px 0 12px;
  border-top:1px solid rgba(201,154,62,.18);
  background:transparent !important;
}

body.faronueve-woocommerce.single-product .related.products > h2,
body.faronueve-woocommerce.single-product .upsells.products > h2{
  margin:0 0 26px !important;
  color:var(--fn-ink) !important;
  font-family:'Fraunces',serif !important;
  font-size:clamp(28px,3vw,38px) !important;
  font-weight:500 !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  text-align:left !important;
}

/* Grilla limpia y consistente. */
body.faronueve-woocommerce.single-product .related.products ul.products,
body.faronueve-woocommerce.single-product .upsells.products ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;
  margin:0 !important;
  padding:0 !important;
}

/* Tarjetas iguales a la tienda principal. */
body.faronueve-woocommerce.single-product .related.products ul.products li.product,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product{
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 0 18px !important;
  display:flex !important;
  flex-direction:column;
  height:100%;
  overflow:hidden;
  border:1px solid #3a3128 !important;
  border-radius:2px !important;
  background:#211c18 !important;
  box-shadow:none !important;
  transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease;
}

body.faronueve-woocommerce.single-product .related.products ul.products li.product:hover,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product:hover{
  border-color:rgba(201,154,62,.48) !important;
  transform:translateY(-2px);
  box-shadow:0 18px 34px -26px rgba(0,0,0,.9) !important;
}

/* Imagen protagonista, sin blanco agregado por tema/WooCommerce. */
body.faronueve-woocommerce.single-product .related.products ul.products li.product img,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1/1;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  border:0 !important;
  border-bottom:1px solid rgba(201,154,62,.16) !important;
  border-radius:0 !important;
  background:transparent !important;
  transform:scale(1);
  transition:transform .35s ease;
}

body.faronueve-woocommerce.single-product .related.products ul.products li.product:hover img,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product:hover img{
  transform:scale(1.025);
}

/* Nombre. */
body.faronueve-woocommerce.single-product .related.products .woocommerce-loop-product__title,
body.faronueve-woocommerce.single-product .upsells.products .woocommerce-loop-product__title{
  min-height:54px;
  margin:16px 18px 8px !important;
  padding:0 !important;
  color:var(--fn-ink) !important;
  font-family:'Fraunces',serif !important;
  font-size:18px !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  text-align:left !important;
}

/* Precio Faro Nueve. */
body.faronueve-woocommerce.single-product .related.products .price,
body.faronueve-woocommerce.single-product .upsells.products .price{
  margin:0 18px 15px !important;
  padding:0 !important;
  color:var(--fn-gold) !important;
  font-family:'Archivo',sans-serif !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  text-align:left !important;
}

body.faronueve-woocommerce.single-product .related.products .price del,
body.faronueve-woocommerce.single-product .upsells.products .price del{
  color:#8f8373 !important;
  opacity:.72 !important;
  font-weight:400 !important;
}

body.faronueve-woocommerce.single-product .related.products .price ins,
body.faronueve-woocommerce.single-product .upsells.products .price ins{
  color:var(--fn-gold) !important;
  text-decoration:none !important;
}

/* Botones disponibles. */
body.faronueve-woocommerce.single-product .related.products ul.products li.product > .button,
body.faronueve-woocommerce.single-product .related.products ul.products li.product > .added_to_cart,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product > .button,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product > .added_to_cart{
  width:calc(100% - 36px) !important;
  min-height:42px !important;
  margin:auto 18px 0 !important;
  padding:0 14px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:1px solid var(--fn-gold) !important;
  border-radius:2px !important;
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
  font-family:'Archivo',sans-serif !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-decoration:none !important;
  text-transform:none !important;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}

body.faronueve-woocommerce.single-product .related.products ul.products li.product > .button:hover,
body.faronueve-woocommerce.single-product .related.products ul.products li.product > .added_to_cart:hover,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product > .button:hover,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product > .added_to_cart:hover{
  background:#d4a84f !important;
  border-color:#d4a84f !important;
  color:#1c1815 !important;
}

/* Productos relacionados sin stock: conservar nuestros dos botones. */
body.faronueve-woocommerce.single-product .related.products .fn-outofstock-actions,
body.faronueve-woocommerce.single-product .upsells.products .fn-outofstock-actions{
  width:calc(100% - 36px) !important;
  margin:auto 18px 0 !important;
}

/* Badge de oferta coherente con la identidad. */
body.faronueve-woocommerce.single-product .related.products span.onsale,
body.faronueve-woocommerce.single-product .upsells.products span.onsale{
  top:12px !important;
  right:12px !important;
  left:auto !important;
  min-width:0 !important;
  min-height:30px !important;
  padding:0 11px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(201,154,62,.72) !important;
  border-radius:999px !important;
  background:rgba(28,24,21,.92) !important;
  color:var(--fn-gold) !important;
  font-family:'Archivo',sans-serif !important;
  font-size:10px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.07em;
  text-transform:uppercase;
  box-shadow:0 8px 22px rgba(0,0,0,.22);
}

/* Evita azules/violetas por defecto en enlaces del bloque. */
body.faronueve-woocommerce.single-product .related.products a,
body.faronueve-woocommerce.single-product .upsells.products a{
  text-decoration:none !important;
}

body.faronueve-woocommerce.single-product .related.products a:focus,
body.faronueve-woocommerce.single-product .upsells.products a:focus{
  outline-color:var(--fn-gold);
}

/* Responsive. */
@media(max-width:1024px){
  body.faronueve-woocommerce.single-product .related.products ul.products,
  body.faronueve-woocommerce.single-product .upsells.products ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  body.faronueve-woocommerce.single-product .related.products,
  body.faronueve-woocommerce.single-product .upsells.products{
    margin-top:52px !important;
    padding-top:28px;
  }

  body.faronueve-woocommerce.single-product .related.products ul.products,
  body.faronueve-woocommerce.single-product .upsells.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  body.faronueve-woocommerce.single-product .related.products .woocommerce-loop-product__title,
  body.faronueve-woocommerce.single-product .upsells.products .woocommerce-loop-product__title{
    min-height:auto;
    margin-left:14px !important;
    margin-right:14px !important;
    font-size:16px !important;
  }

  body.faronueve-woocommerce.single-product .related.products .price,
  body.faronueve-woocommerce.single-product .upsells.products .price{
    margin-left:14px !important;
    margin-right:14px !important;
  }

  body.faronueve-woocommerce.single-product .related.products ul.products li.product > .button,
  body.faronueve-woocommerce.single-product .related.products ul.products li.product > .added_to_cart,
  body.faronueve-woocommerce.single-product .upsells.products ul.products li.product > .button,
  body.faronueve-woocommerce.single-product .upsells.products ul.products li.product > .added_to_cart,
  body.faronueve-woocommerce.single-product .related.products .fn-outofstock-actions,
  body.faronueve-woocommerce.single-product .upsells.products .fn-outofstock-actions{
    width:calc(100% - 28px) !important;
    margin-left:14px !important;
    margin-right:14px !important;
  }
}

@media(max-width:440px){
  body.faronueve-woocommerce.single-product .related.products ul.products,
  body.faronueve-woocommerce.single-product .upsells.products ul.products{
    grid-template-columns:1fr !important;
  }
}


/* ==========================================================
   V64 — Carrito completamente integrado al diseño Faro Nueve
   ========================================================== */

/* Cabecera de la tabla del carrito: elimina el blanco de WooCommerce/Astra. */
body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form table.shop_table thead,
body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form table.shop_table thead tr,
body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form table.shop_table thead th{
  background:#211c18 !important;
  color:var(--fn-gold) !important;
  border-color:#3a3128 !important;
}

body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form table.shop_table thead th{
  padding-top:14px !important;
  padding-bottom:14px !important;
  font-family:'Archivo',sans-serif !important;
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:.015em;
}

/* Filas y celda de acciones. */
body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form table.shop_table tbody tr,
body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form table.shop_table tbody td{
  background:#211c18 !important;
}

body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form table.shop_table td.actions{
  border-top:1px solid #3a3128 !important;
  background:#1c1815 !important;
}

/* Producto y miniatura. */
body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form .product-thumbnail img{
  border:1px solid #3a3128 !important;
  border-radius:2px !important;
  background:#211c18 !important;
}

body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form .product-name a{
  color:var(--fn-ink) !important;
  font-weight:600;
}

body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form .product-name a:hover{
  color:var(--fn-gold) !important;
}

/* Botón eliminar más acorde al sitio. */
body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form a.remove{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:24px !important;
  height:24px !important;
  border:1px solid #4a4036 !important;
  border-radius:50% !important;
  background:transparent !important;
  color:#9f927f !important;
  font-size:16px !important;
  line-height:1 !important;
}

body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form a.remove:hover{
  border-color:var(--fn-gold) !important;
  background:rgba(201,154,62,.08) !important;
  color:var(--fn-gold) !important;
}

/* Cantidad. */
body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form .quantity .qty{
  min-height:42px;
  border:1px solid #3a3128 !important;
  border-radius:2px !important;
  background:#171411 !important;
  color:var(--fn-ink) !important;
  box-shadow:none !important;
}

/* Cupón. */
body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form .coupon input.input-text{
  border:1px solid #3a3128 !important;
  background:#171411 !important;
  color:var(--fn-ink) !important;
}

body.faronueve-woocommerce.woocommerce-cart
.woocommerce-cart-form .coupon input.input-text::placeholder{
  color:#8f8373 !important;
}

/* Título Total del carrito: segundo bloque blanco eliminado. */
body.faronueve-woocommerce.woocommerce-cart
.cart-collaterals .cart_totals > h2{
  margin:0 !important;
  padding:20px 22px !important;
  border:1px solid #3a3128 !important;
  border-bottom:0 !important;
  border-radius:2px 2px 0 0 !important;
  background:#211c18 !important;
  color:var(--fn-ink) !important;
  font-family:'Fraunces',serif !important;
  font-size:29px !important;
  font-weight:500 !important;
  line-height:1.15 !important;
}

/* Unir visualmente título + tabla de totales. */
body.faronueve-woocommerce.woocommerce-cart
.cart-collaterals .cart_totals table.shop_table{
  margin-top:0 !important;
  border-top:1px solid #3a3128 !important;
  border-radius:0 !important;
  background:#211c18 !important;
}

body.faronueve-woocommerce.woocommerce-cart
.cart-collaterals .cart_totals table.shop_table th,
body.faronueve-woocommerce.woocommerce-cart
.cart-collaterals .cart_totals table.shop_table td{
  background:#211c18 !important;
  border-color:#3a3128 !important;
}

/* Etiquetas y valores del total. */
body.faronueve-woocommerce.woocommerce-cart
.cart-collaterals .cart_totals table.shop_table th{
  color:var(--fn-gold) !important;
  font-weight:500 !important;
}

body.faronueve-woocommerce.woocommerce-cart
.cart-collaterals .cart_totals table.shop_table td{
  color:var(--fn-ink) !important;
}

body.faronueve-woocommerce.woocommerce-cart
.cart-collaterals .cart_totals .order-total th,
body.faronueve-woocommerce.woocommerce-cart
.cart-collaterals .cart_totals .order-total td{
  color:var(--fn-gold) !important;
  font-weight:700 !important;
}

/* Contenedor del total completo. */
body.faronueve-woocommerce.woocommerce-cart
.cart-collaterals .cart_totals{
  overflow:hidden;
  border:0 !important;
  background:transparent !important;
}

/* Botón final más limpio. */
body.faronueve-woocommerce.woocommerce-cart
.wc-proceed-to-checkout{
  margin:0 !important;
  padding:16px !important;
  border:1px solid #3a3128;
  border-top:0;
  background:#1c1815;
}

body.faronueve-woocommerce.woocommerce-cart
.wc-proceed-to-checkout a.checkout-button{
  margin:0 !important;
  min-height:52px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  border:1px solid var(--fn-gold) !important;
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
  font-family:'Archivo',sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
}

/* Desactiva fondos claros heredados del tema únicamente dentro del carrito. */
body.faronueve-woocommerce.woocommerce-cart
.woocommerce table.shop_table th,
body.faronueve-woocommerce.woocommerce-cart
.woocommerce table.shop_table td,
body.faronueve-woocommerce.woocommerce-cart
.cart-collaterals,
body.faronueve-woocommerce.woocommerce-cart
.cart_totals{
  box-shadow:none !important;
}

/* Móvil */
@media(max-width:760px){
  body.faronueve-woocommerce.woocommerce-cart
  .cart-collaterals .cart_totals > h2{
    padding:17px 16px !important;
    font-size:25px !important;
  }

  body.faronueve-woocommerce.woocommerce-cart
  .woocommerce-cart-form table.shop_table tbody tr,
  body.faronueve-woocommerce.woocommerce-cart
  .woocommerce-cart-form table.shop_table tbody td{
    background:#211c18 !important;
  }
}


/* ==========================================================
   V65 — ruta de categorías + pestañas de producto
   ========================================================== */

/* Ocultar breadcrumb nativo de WooCommerce/Astra en producto individual. */
body.faronueve-woocommerce.single-product .woocommerce-breadcrumb{
  display:none !important;
}

/* Ruta: Productos > Regalería > Cocina > ... */
.fn-product-category-breadcrumb{
  width:100%;
  clear:both;
  margin:0 0 20px;
  padding:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  color:#8f8373;
  font:500 12px/1.45 'Archivo',sans-serif;
}

.fn-product-category-breadcrumb a{
  color:#a99d8b !important;
  text-decoration:none !important;
  border:0 !important;
  box-shadow:none !important;
  transition:color .18s ease;
}

.fn-product-category-breadcrumb a:hover{
  color:var(--fn-gold) !important;
  text-decoration:none !important;
}

.fn-product-category-breadcrumb a.is-current{
  color:var(--fn-gold) !important;
  font-weight:700;
}

.fn-product-category-separator{
  color:#665b4d;
  font-size:14px;
  line-height:1;
}

/* WooCommerce tabs: borrar completamente el aspecto por defecto. */
body.faronueve-woocommerce.single-product .woocommerce-tabs{
  clear:both;
  margin:58px 0 34px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs{
  position:relative;
  display:flex !important;
  flex-wrap:wrap;
  gap:0;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  border:0 !important;
  border-bottom:1px solid #3a3128 !important;
  background:transparent !important;
  list-style:none !important;
}

body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs::before,
body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs::after,
body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs li::before,
body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs li::after{
  display:none !important;
  content:none !important;
}

body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs li{
  position:relative;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs li a{
  position:relative;
  min-height:48px;
  padding:0 20px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  color:#9f927f !important;
  background:transparent !important;
  border:0 !important;
  font:600 12px/1 'Archivo',sans-serif !important;
  letter-spacing:.015em;
  text-decoration:none !important;
  text-transform:none !important;
  transition:color .18s ease,background .18s ease;
}

body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs li a:hover{
  color:#e3d8c8 !important;
}

body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs li.active a{
  color:var(--fn-gold) !important;
}

body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs li.active::after{
  content:"" !important;
  display:block !important;
  position:absolute;
  left:20px;
  right:20px;
  bottom:-1px;
  height:2px;
  background:var(--fn-gold);
}

/* Panel de contenido oscuro y liviano, sin cajas blancas. */
body.faronueve-woocommerce.single-product .woocommerce-tabs .panel{
  margin:0 !important;
  padding:28px 2px 8px !important;
  border:0 !important;
  background:transparent !important;
  color:#cbbfaf !important;
  box-shadow:none !important;
}

body.faronueve-woocommerce.single-product .woocommerce-tabs .panel > h2:first-child{
  margin:0 0 18px !important;
  color:var(--fn-ink) !important;
  font-family:'Fraunces',serif !important;
  font-size:26px !important;
  font-weight:500 !important;
  line-height:1.2;
}

body.faronueve-woocommerce.single-product .woocommerce-tabs .panel p{
  color:#c4b8a8 !important;
  line-height:1.75;
}

/* Información adicional. */
body.faronueve-woocommerce.single-product
.woocommerce-product-attributes{
  width:100%;
  margin:4px 0 0 !important;
  border:1px solid #3a3128 !important;
  border-collapse:collapse !important;
  background:#211c18 !important;
}

body.faronueve-woocommerce.single-product
.woocommerce-product-attributes th,
body.faronueve-woocommerce.single-product
.woocommerce-product-attributes td{
  padding:14px 16px !important;
  border:0 !important;
  border-bottom:1px solid #3a3128 !important;
  background:#211c18 !important;
  color:#cbbfaf !important;
  font-family:'Archivo',sans-serif !important;
  font-size:12px !important;
  line-height:1.5;
}

body.faronueve-woocommerce.single-product
.woocommerce-product-attributes tr:last-child th,
body.faronueve-woocommerce.single-product
.woocommerce-product-attributes tr:last-child td{
  border-bottom:0 !important;
}

body.faronueve-woocommerce.single-product
.woocommerce-product-attributes th{
  width:28%;
  color:var(--fn-gold) !important;
  font-weight:600 !important;
}

/* Valoraciones/reviews. */
body.faronueve-woocommerce.single-product #reviews,
body.faronueve-woocommerce.single-product #comments,
body.faronueve-woocommerce.single-product #review_form_wrapper{
  color:#cbbfaf !important;
}

body.faronueve-woocommerce.single-product #reviews #comments ol.commentlist li .comment-text{
  margin-left:66px !important;
  padding:17px !important;
  border:1px solid #3a3128 !important;
  border-radius:2px !important;
  background:#211c18 !important;
}

body.faronueve-woocommerce.single-product #review_form_wrapper{
  margin-top:26px;
  padding:22px;
  border:1px solid #3a3128;
  background:#211c18;
}

body.faronueve-woocommerce.single-product #review_form_wrapper input[type="text"],
body.faronueve-woocommerce.single-product #review_form_wrapper input[type="email"],
body.faronueve-woocommerce.single-product #review_form_wrapper textarea{
  border:1px solid #4a4036 !important;
  border-radius:2px !important;
  background:#171411 !important;
  color:var(--fn-ink) !important;
  box-shadow:none !important;
}

body.faronueve-woocommerce.single-product #review_form_wrapper input:focus,
body.faronueve-woocommerce.single-product #review_form_wrapper textarea:focus{
  border-color:var(--fn-gold) !important;
  outline:none !important;
  box-shadow:0 0 0 2px rgba(201,154,62,.10) !important;
}

body.faronueve-woocommerce.single-product #review_form_wrapper .submit{
  min-height:42px;
  padding:0 18px !important;
  border:1px solid var(--fn-gold) !important;
  border-radius:2px !important;
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
  font-weight:700 !important;
}

/* Estrellas en dorado. */
body.faronueve-woocommerce.single-product .star-rating,
body.faronueve-woocommerce.single-product .stars a{
  color:var(--fn-gold) !important;
}

/* Responsive: tabs desplazables horizontalmente sin romper el diseño. */
@media(max-width:760px){
  .fn-product-category-breadcrumb{
    margin-bottom:16px;
    font-size:11px;
  }

  body.faronueve-woocommerce.single-product .woocommerce-tabs{
    margin-top:42px !important;
  }

  body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs{
    flex-wrap:nowrap;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar{
    display:none;
  }

  body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs li{
    flex:0 0 auto;
  }

  body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs li a{
    min-height:46px;
    padding-left:14px !important;
    padding-right:14px !important;
    white-space:nowrap;
  }

  body.faronueve-woocommerce.single-product .woocommerce-tabs ul.tabs li.active::after{
    left:14px;
    right:14px;
  }

  body.faronueve-woocommerce.single-product .woocommerce-tabs .panel{
    padding-top:22px !important;
  }

  body.faronueve-woocommerce.single-product
  .woocommerce-product-attributes th{
    width:38%;
  }
}


/* ==========================================================
   V66 — limpieza visual de descripciones de producto
   ========================================================== */

/* Descripción corta: eliminar subrayados, líneas superiores,
   tachados y decoraciones heredadas, incluso si vienen inline. */
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description,
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description *{
  text-decoration:none !important;
  text-decoration-line:none !important;
  text-decoration-color:transparent !important;
  text-decoration-thickness:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* Descripción completa dentro de la pestaña. */
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description *{
  text-decoration:none !important;
  text-decoration-line:none !important;
  text-decoration-color:transparent !important;
  text-decoration-thickness:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* Neutraliza líneas generadas por pseudo-elementos de links dentro de descripciones. */
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description a::before,
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description a::after,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description a::before,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description a::after{
  display:none !important;
  content:none !important;
}

/* Mantener lectura uniforme: los enlaces conservan el mismo color del texto,
   también al pasar el cursor o recibir foco. */
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description a,
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description a:hover,
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description a:focus,
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description a:visited,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description a,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description a:hover,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description a:focus,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description a:visited{
  color:inherit !important;
  text-decoration:none !important;
  border:0 !important;
  outline-color:var(--fn-gold);
}

/* Evitar que etiquetas u otros formatos embebidos alteren la legibilidad. */
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description p,
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description li,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description p,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description li{
  text-decoration:none !important;
  border-top:0 !important;
  border-bottom:0 !important;
}

/* Mantener negritas y énfasis sin líneas decorativas. */
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description strong,
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description b,
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description em,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description strong,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description b,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description em{
  text-decoration:none !important;
  border:0 !important;
}


/* ==========================================================
   V67 — corrección real de fondos blancos en descripciones
   ========================================================== */

/* Algunas descripciones antiguas vienen del CSV con:
   background-color: rgb(255,255,255); color: rgb(0,0,0);
   Estos estilos se limpian en PHP y esto queda como respaldo visual. */

body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description,
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description *,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description *{
  background:transparent !important;
  background-color:transparent !important;
  color:inherit !important;
  text-decoration:none !important;
  text-decoration-line:none !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

/* Color base legible para ambos bloques. */
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description{
  color:#cbbfaf !important;
}

body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description{
  color:#c4b8a8 !important;
}

/* Mantener énfasis semántico sin colores heredados. */
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description strong,
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description b,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description strong,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description b{
  color:inherit !important;
  font-weight:700;
}

/* Enlaces: mismo color que el texto, sin cambios en hover. */
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description a,
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description a:hover,
body.faronueve-woocommerce.single-product
.woocommerce-product-details__short-description a:focus,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description a,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description a:hover,
body.faronueve-woocommerce.single-product
.woocommerce-Tabs-panel--description a:focus{
  background:transparent !important;
  color:inherit !important;
  text-decoration:none !important;
  border:0 !important;
  box-shadow:none !important;
}


/* ==========================================================
   V68 — alineación global de todas las páginas de tienda
   ========================================================== */

:root{
  --fn-layout-max:1280px;
  --fn-layout-pad:clamp(20px,5vw,64px);
  --fn-layout-top:48px;
  --fn-layout-bottom:96px;
}

/* ----------------------------------------------------------
   PRODUCTOS — antes estaba a 1440px; ahora usa la misma guía
   del header, footer y resto de páginas.
   ---------------------------------------------------------- */
.fn-shop-heading,
.fn-shop-category-strip,
.fn-shop-shell{
  width:100% !important;
  max-width:var(--fn-layout-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

.fn-shop-heading{
  padding:
    var(--fn-layout-top)
    var(--fn-layout-pad)
    28px !important;
}

.fn-shop-category-strip{
  padding:
    0
    var(--fn-layout-pad)
    28px !important;
}

.fn-shop-shell{
  padding:
    0
    var(--fn-layout-pad)
    var(--fn-layout-bottom) !important;
}

/* ----------------------------------------------------------
   LANDING /PRODUCTOS/
   ---------------------------------------------------------- */
.fn-products-hero-inner,
.fn-products-grid-wrap{
  width:100% !important;
  max-width:var(--fn-layout-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

.fn-products-hero-inner{
  padding:
    var(--fn-layout-top)
    var(--fn-layout-pad)
    58px !important;
}

.fn-products-grid-wrap{
  padding:
    54px
    var(--fn-layout-pad)
    var(--fn-layout-bottom) !important;
}

/* ----------------------------------------------------------
   AROMAS / REGALERÍA / DECO
   Mantener el hero pero alineado y con la misma distancia
   inicial desde el header.
   ---------------------------------------------------------- */
.fn-store__hero-inner,
.fn-store__catalog{
  width:100% !important;
  max-width:var(--fn-layout-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:var(--fn-layout-pad) !important;
  padding-right:var(--fn-layout-pad) !important;
  box-sizing:border-box !important;
}

.fn-store__hero-inner{
  padding-top:var(--fn-layout-top) !important;
  padding-bottom:58px !important;
}

.fn-store__catalog{
  padding-top:54px !important;
  padding-bottom:var(--fn-layout-bottom) !important;
}

/* ----------------------------------------------------------
   DETALLE DE PRODUCTO
   ---------------------------------------------------------- */
body.faronueve-woocommerce.single-product .site-main,
body.faronueve-woocommerce.single-product main{
  width:100% !important;
  max-width:var(--fn-layout-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:var(--fn-layout-pad) !important;
  padding-right:var(--fn-layout-pad) !important;
  padding-bottom:var(--fn-layout-bottom) !important;
  box-sizing:border-box !important;
}

/* Intro común de detalle, carrito y checkout. */
.fn-page-intro{
  width:100% !important;
  max-width:var(--fn-layout-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:
    var(--fn-layout-top)
    var(--fn-layout-pad)
    0 !important;
  box-sizing:border-box !important;
}

/*
 En producto individual .fn-page-intro vive dentro de un main que ya
 posee padding lateral. Evitamos sumar padding dos veces.
*/
body.single-product .site-main > .fn-page-intro,
body.single-product main > .fn-page-intro{
  padding-left:0 !important;
  padding-right:0 !important;
}

body.single-product .site-main > .fn-coupon-banner,
body.single-product main > .fn-coupon-banner{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

/* ----------------------------------------------------------
   CARRITO / CHECKOUT / PEDIDO RECIBIDO
   ---------------------------------------------------------- */
body.faronueve-woocommerce.woocommerce-cart .woocommerce,
body.faronueve-woocommerce.woocommerce-checkout .woocommerce,
body.faronueve-woocommerce.woocommerce-order-received .woocommerce{
  width:100% !important;
  max-width:var(--fn-layout-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:var(--fn-layout-pad) !important;
  padding-right:var(--fn-layout-pad) !important;
  padding-bottom:var(--fn-layout-bottom) !important;
  box-sizing:border-box !important;
}

/* Estas intros ya están dentro del contenedor WooCommerce. */
body.woocommerce-cart .woocommerce > .fn-page-intro,
body.woocommerce-checkout .woocommerce > .fn-page-intro{
  padding-left:0 !important;
  padding-right:0 !important;
}

body.woocommerce-cart .woocommerce > .fn-coupon-banner,
body.woocommerce-checkout .woocommerce > .fn-coupon-banner{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

/* ----------------------------------------------------------
   FAVORITOS
   ---------------------------------------------------------- */
.fn-favorites-page{
  width:100% !important;
  max-width:var(--fn-layout-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:
    var(--fn-layout-top)
    var(--fn-layout-pad)
    var(--fn-layout-bottom) !important;
  box-sizing:border-box !important;
}

/* ----------------------------------------------------------
   MI CUENTA — antes estaba a 1180px.
   ---------------------------------------------------------- */
body.woocommerce-account .site-main>.woocommerce,
body.woocommerce-account #primary>.woocommerce,
body.woocommerce-account article>.entry-content>.woocommerce{
  width:100% !important;
  max-width:var(--fn-layout-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:
    var(--fn-layout-top)
    var(--fn-layout-pad)
    var(--fn-layout-bottom) !important;
  box-sizing:border-box !important;
}

/* ----------------------------------------------------------
   Neutralizar desplazamientos laterales heredados de Astra
   únicamente en páginas WooCommerce.
   ---------------------------------------------------------- */
body.single-product #primary,
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-account #primary,
body.woocommerce-order-received #primary{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  float:none !important;
}

body.single-product .ast-container,
body.woocommerce-cart .ast-container,
body.woocommerce-checkout .ast-container,
body.woocommerce-account .ast-container,
body.woocommerce-order-received .ast-container{
  width:100% !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* ----------------------------------------------------------
   MÓVIL — misma guía lateral en todas las pantallas.
   ---------------------------------------------------------- */
@media(max-width:760px){
  :root{
    --fn-layout-top:38px;
    --fn-layout-bottom:72px;
  }

  .fn-shop-heading,
  .fn-products-hero-inner,
  .fn-store__hero-inner,
  .fn-favorites-page,
  body.woocommerce-account .site-main>.woocommerce,
  body.woocommerce-account #primary>.woocommerce,
  body.woocommerce-account article>.entry-content>.woocommerce{
    padding-top:var(--fn-layout-top) !important;
  }
}


/* ==========================================================
   V69 — categorías: color + paginación igual a Productos
   ========================================================== */

/* Aromas / Regalería / Deco:
   los textos pequeños de cabecera y "Tienda online" usan
   exactamente el dorado de la página Productos. */
.fn-store .fn-store__eyebrow,
.fn-store--gold .fn-store__eyebrow,
.fn-store--brick .fn-store__eyebrow,
.fn-store--sage .fn-store__eyebrow{
  color:var(--fn-gold) !important;
}

/* ----------------------------------------------------------
   PAGINACIÓN DE AROMAS / REGALERÍA / DECO
   Replica la apariencia de .fn-shop-pagination de Productos.
   ---------------------------------------------------------- */

.fn-store .woocommerce nav.woocommerce-pagination{
  margin:42px 0 0 !important;
  padding:0 !important;
  text-align:left !important;
  border:0 !important;
  background:transparent !important;
}

.fn-store .woocommerce nav.woocommerce-pagination ul.page-numbers{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:8px !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  list-style:none !important;
}

.fn-store .woocommerce nav.woocommerce-pagination ul.page-numbers::before,
.fn-store .woocommerce nav.woocommerce-pagination ul.page-numbers::after{
  display:none !important;
  content:none !important;
}

.fn-store .woocommerce nav.woocommerce-pagination ul.page-numbers li{
  float:none !important;
  display:block !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  list-style:none !important;
}

.fn-store .woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.fn-store .woocommerce nav.woocommerce-pagination ul.page-numbers li span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:42px !important;
  width:auto !important;
  height:42px !important;
  margin:0 !important;
  padding:0 11px !important;
  border:1px solid var(--fn-line) !important;
  border-radius:0 !important;
  background:#241f1a !important;
  color:var(--fn-ink) !important;
  box-shadow:none !important;
  font-family:'Archivo',sans-serif !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1 !important;
  text-decoration:none !important;
  transition:border-color .18s ease,color .18s ease,background .18s ease;
}

.fn-store .woocommerce nav.woocommerce-pagination ul.page-numbers li span.current,
.fn-store .woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover,
.fn-store .woocommerce nav.woocommerce-pagination ul.page-numbers li a:focus{
  border-color:var(--fn-gold) !important;
  background:#241f1a !important;
  color:var(--fn-gold) !important;
  outline:none !important;
}

/* Flechas anterior/siguiente con la misma caja y sin estilos nativos. */
.fn-store .woocommerce nav.woocommerce-pagination a.prev,
.fn-store .woocommerce nav.woocommerce-pagination a.next{
  color:var(--fn-ink) !important;
}

.fn-store .woocommerce nav.woocommerce-pagination a.prev:hover,
.fn-store .woocommerce nav.woocommerce-pagination a.next:hover{
  color:var(--fn-gold) !important;
}

/* Evitar que el acento propio de Regalería/Deco cambie
   precio o paginación: la paginación queda igual a Productos. */
.fn-store--brick .woocommerce nav.woocommerce-pagination *,
.fn-store--sage .woocommerce nav.woocommerce-pagination *{
  text-decoration:none !important;
}

@media(max-width:760px){
  .fn-store .woocommerce nav.woocommerce-pagination{
    margin-top:34px !important;
  }

  .fn-store .woocommerce nav.woocommerce-pagination ul.page-numbers{
    gap:7px !important;
  }

  .fn-store .woocommerce nav.woocommerce-pagination ul.page-numbers li a,
  .fn-store .woocommerce nav.woocommerce-pagination ul.page-numbers li span{
    min-width:40px !important;
    height:40px !important;
    padding-left:9px !important;
    padding-right:9px !important;
  }
}


/* ==========================================================
   V70 — scrollbar de categorías acorde a Faro Nueve
   ========================================================== */

/* Firefox */
.fn-filter-cats,
.fn-category-tree{
  scrollbar-width:thin;
  scrollbar-color:#8b6a32 #211c18;
  scrollbar-gutter:stable;
}

/* Chrome / Edge / Safari */
.fn-filter-cats::-webkit-scrollbar,
.fn-category-tree::-webkit-scrollbar{
  width:7px;
  height:7px;
}

.fn-filter-cats::-webkit-scrollbar-track,
.fn-category-tree::-webkit-scrollbar-track{
  background:#211c18;
  border-radius:999px;
}

.fn-filter-cats::-webkit-scrollbar-thumb,
.fn-category-tree::-webkit-scrollbar-thumb{
  min-height:34px;
  border:1px solid #211c18;
  border-radius:999px;
  background:#6f5733;
}

.fn-filter-cats::-webkit-scrollbar-thumb:hover,
.fn-category-tree::-webkit-scrollbar-thumb:hover{
  background:#a17a38;
}

.fn-filter-cats::-webkit-scrollbar-thumb:active,
.fn-category-tree::-webkit-scrollbar-thumb:active{
  background:var(--fn-gold);
}

/* Quitar botones/flechas visuales nativas cuando el navegador lo permite. */
.fn-filter-cats::-webkit-scrollbar-button,
.fn-category-tree::-webkit-scrollbar-button{
  width:0;
  height:0;
  display:none;
}

/* La esquina del scrollbar no agrega un bloque claro. */
.fn-filter-cats::-webkit-scrollbar-corner,
.fn-category-tree::-webkit-scrollbar-corner{
  background:#211c18;
}

/* Un poco más de aire entre categorías y la barra. */
.fn-filter-cats,
.fn-category-tree{
  padding-right:9px;
}

/* No alterar árboles embebidos que no tienen scroll propio. */
.fn-filter-cats > .fn-category-tree{
  padding-right:0;
}


/* ==========================================================
   V71 — tarjetas más limpias
   ========================================================== */

/* Quitar la etiqueta visual que Astra/WooCommerce muestra entre
   la foto y el nombre (ej. “Aromanza”).
   Esto NO elimina ni modifica las categorías reales del producto. */
body.faronueve-woocommerce .woocommerce ul.products li.product .ast-woo-product-category,
body.faronueve-woocommerce .woocommerce ul.products li.product .fn-loop-category,
.fn-store .woocommerce ul.products li.product .ast-woo-product-category,
.fn-store .woocommerce ul.products li.product .fn-loop-category,
.fn-shop-main ul.products li.product .ast-woo-product-category,
.fn-shop-main ul.products li.product .fn-loop-category,
.related.products ul.products li.product .ast-woo-product-category,
.related.products ul.products li.product .fn-loop-category,
.upsells.products ul.products li.product .ast-woo-product-category,
.upsells.products ul.products li.product .fn-loop-category{
  display:none !important;
}

/* Al desaparecer la etiqueta, el nombre queda como primer dato
   debajo de la foto sin agregar espacios artificiales. */
body.faronueve-woocommerce .woocommerce ul.products li.product .woocommerce-loop-product__title,
.fn-store .woocommerce ul.products li.product .woocommerce-loop-product__title,
.fn-shop-main ul.products li.product .woocommerce-loop-product__title{
  margin-top:0 !important;
}


/* ==========================================================
   V72 — badge ¡OFERTA! en tarjetas
   ========================================================== */

/* Ocultar únicamente el badge nativo de oferta de Woo/Astra
   dentro de las grillas para evitar duplicados. */
body.faronueve-woocommerce .woocommerce ul.products li.product span.onsale,
.fn-store .woocommerce ul.products li.product span.onsale,
.fn-shop-main ul.products li.product span.onsale,
.related.products ul.products li.product span.onsale,
.upsells.products ul.products li.product span.onsale{
  display:none !important;
}

/* Badge propio de oferta: misma posición y lenguaje visual que SIN STOCK. */
.fn-product-sale-badge{
  position:absolute;
  top:12px;
  left:12px;
  right:auto;
  z-index:8;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border:1px solid rgba(201,154,62,.9);
  border-radius:999px;
  background:rgba(201,154,62,.94);
  color:#211c18;
  box-shadow:0 8px 22px rgba(0,0,0,.24);
  backdrop-filter:blur(7px);
  font:700 10px/1 'Archivo',sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
  pointer-events:none;
}

/* SIN STOCK conserva prioridad visual cuando el producto además está en oferta.
   La lógica PHP ya impide que ambos badges aparezcan juntos. */
.fn-product-stock-badge{
  z-index:9;
}

@media(max-width:760px){
  .fn-product-sale-badge{
    top:9px;
    left:9px;
  }
}


/* ==========================================================
   V73 — ficha de producto más equilibrada
   ========================================================== */

/* En escritorio la galería deja de dominar la ficha:
   ~47% para imagen y ~49% para información, con aire entre ambas. */
@media(min-width:901px){
  body.faronueve-woocommerce.single-product
  div.product div.images,
  body.faronueve-woocommerce.single-product
  div.product .woocommerce-product-gallery{
    width:47% !important;
    max-width:47% !important;
    float:left !important;
    margin-right:4% !important;
    margin-bottom:34px !important;
    box-sizing:border-box !important;
  }

  body.faronueve-woocommerce.single-product
  div.product div.summary,
  body.faronueve-woocommerce.single-product
  div.product .summary.entry-summary{
    width:49% !important;
    max-width:49% !important;
    float:right !important;
    margin-right:0 !important;
    margin-bottom:34px !important;
    box-sizing:border-box !important;
  }

  /* La foto sigue mostrándose completa, sin recorte. */
  body.faronueve-woocommerce.single-product
  .woocommerce-product-gallery__image img{
    width:100% !important;
    height:auto !important;
    max-height:660px !important;
    object-fit:contain !important;
  }

  /* Centrar visualmente la imagen dentro de su área. */
  body.faronueve-woocommerce.single-product
  .woocommerce-product-gallery__image{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
}

/* Tablet: algo más compacta, sin forzar dos columnas estrechas. */
@media(min-width:761px) and (max-width:900px){
  body.faronueve-woocommerce.single-product
  div.product div.images,
  body.faronueve-woocommerce.single-product
  div.product .woocommerce-product-gallery{
    width:48% !important;
    max-width:48% !important;
    margin-right:4% !important;
  }

  body.faronueve-woocommerce.single-product
  div.product div.summary,
  body.faronueve-woocommerce.single-product
  div.product .summary.entry-summary{
    width:48% !important;
    max-width:48% !important;
  }

  body.faronueve-woocommerce.single-product
  .woocommerce-product-gallery__image img{
    max-height:560px !important;
    object-fit:contain !important;
  }
}

/* Móvil: la imagen vuelve a ocupar todo el ancho, donde funciona mejor. */
@media(max-width:760px){
  body.faronueve-woocommerce.single-product
  div.product div.images,
  body.faronueve-woocommerce.single-product
  div.product .woocommerce-product-gallery,
  body.faronueve-woocommerce.single-product
  div.product div.summary,
  body.faronueve-woocommerce.single-product
  div.product .summary.entry-summary{
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body.faronueve-woocommerce.single-product
  .woocommerce-product-gallery__image img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
  }
}


/* ==========================================================
   V74 — detalle de producto compacto y perfectamente alineado
   ========================================================== */

/* ----------------------------------------------------------
   ALINEACIÓN
   El main ya posee la misma caja 1280px + padding del header.
   WooCommerce queda como wrapper neutro para no sumar offsets.
   ---------------------------------------------------------- */
body.faronueve-woocommerce.single-product .site-main > .woocommerce,
body.faronueve-woocommerce.single-product main > .woocommerce{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

/* En la estructura real de WooCommerce el intro está dentro de
   .woocommerce, no siempre como hijo directo del main.
   Quitamos el segundo padding lateral que generaba desalineación. */
body.faronueve-woocommerce.single-product
.woocommerce > .fn-page-intro{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

/* Todo el bloque del producto usa exactamente el ancho interior
   disponible de la caja principal del sitio. */
body.faronueve-woocommerce.single-product
.woocommerce > div.product{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

/* Breadcrumb y beneficio arrancan sobre la misma línea vertical. */
body.faronueve-woocommerce.single-product
div.product > .fn-product-category-breadcrumb,
body.faronueve-woocommerce.single-product
div.product > .fn-coupon-banner{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* ----------------------------------------------------------
   TAMAÑO DE GALERÍA — más compacto que V73
   ---------------------------------------------------------- */
@media(min-width:901px){
  body.faronueve-woocommerce.single-product
  div.product div.images,
  body.faronueve-woocommerce.single-product
  div.product .woocommerce-product-gallery{
    width:38% !important;
    max-width:38% !important;
    float:left !important;
    margin:0 4% 34px 0 !important;
    box-sizing:border-box !important;
  }

  body.faronueve-woocommerce.single-product
  div.product div.summary,
  body.faronueve-woocommerce.single-product
  div.product .summary.entry-summary{
    width:58% !important;
    max-width:58% !important;
    float:right !important;
    margin:0 0 34px !important;
    box-sizing:border-box !important;
  }

  /* Imagen visualmente más contenida y centrada. */
  body.faronueve-woocommerce.single-product
  .woocommerce-product-gallery__image{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:0 !important;
  }

  body.faronueve-woocommerce.single-product
  .woocommerce-product-gallery__image img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:500px !important;
    margin:0 auto !important;
    padding:10px !important;
    object-fit:contain !important;
  }

  /* El panel de información gana aire pero sin hacerse enorme. */
  body.faronueve-woocommerce.single-product
  div.product .summary{
    padding:clamp(24px,3vw,36px) !important;
  }

  body.faronueve-woocommerce.single-product
  div.product .product_title{
    font-size:clamp(31px,3vw,43px) !important;
  }
}

/* Tablet: mantener equilibrio sin una foto dominante. */
@media(min-width:761px) and (max-width:900px){
  body.faronueve-woocommerce.single-product
  div.product div.images,
  body.faronueve-woocommerce.single-product
  div.product .woocommerce-product-gallery{
    width:42% !important;
    max-width:42% !important;
    float:left !important;
    margin:0 4% 30px 0 !important;
  }

  body.faronueve-woocommerce.single-product
  div.product div.summary,
  body.faronueve-woocommerce.single-product
  div.product .summary.entry-summary{
    width:54% !important;
    max-width:54% !important;
    float:right !important;
    margin:0 0 30px !important;
  }

  body.faronueve-woocommerce.single-product
  .woocommerce-product-gallery__image img{
    max-height:460px !important;
    padding:10px !important;
    object-fit:contain !important;
  }
}

/* Tabs y relacionados vuelven a ocupar toda la guía de contenido
   después de las dos columnas. */
body.faronueve-woocommerce.single-product
.woocommerce-tabs,
body.faronueve-woocommerce.single-product
.related.products,
body.faronueve-woocommerce.single-product
.upsells.products{
  width:100% !important;
  max-width:none !important;
  clear:both !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* Móvil: una sola columna, imagen grande pero sin padding excesivo. */
@media(max-width:760px){
  body.faronueve-woocommerce.single-product
  div.product div.images,
  body.faronueve-woocommerce.single-product
  div.product .woocommerce-product-gallery,
  body.faronueve-woocommerce.single-product
  div.product div.summary,
  body.faronueve-woocommerce.single-product
  div.product .summary.entry-summary{
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body.faronueve-woocommerce.single-product
  .woocommerce-product-gallery__image img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    padding:10px !important;
    object-fit:contain !important;
  }
}


/* ==========================================================
   V75 — cantidad + disponibilidad en ficha de producto
   ========================================================== */

body.faronueve-woocommerce.single-product
div.product p.stock.in-stock,
body.faronueve-woocommerce.single-product
div.product .woocommerce-variation-availability p.stock.in-stock{
  display:none !important;
}

body.faronueve-woocommerce.single-product div.product form.cart,
body.faronueve-woocommerce.single-product
div.product .woocommerce-variation-add-to-cart{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:stretch !important;
  gap:14px !important;
}

.fn-purchase-row{
  flex:1 0 100%;
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,.9fr);
  gap:16px;
  align-items:end;
  margin:6px 0 2px;
}

.fn-quantity-block,
.fn-live-availability{
  min-width:0;
}

.fn-purchase-label{
  display:block;
  margin:0 0 8px;
  color:#9f927f;
  font:600 10px/1.2 'Archivo',sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.fn-quantity-controls{
  display:grid;
  grid-template-columns:44px 62px 44px;
  width:max-content;
  min-height:44px;
  overflow:hidden;
  border:1px solid #4a4036;
  border-radius:2px;
  background:#171411;
}

.fn-quantity-controls .quantity{
  float:none !important;
  width:62px !important;
  margin:0 !important;
}

body.faronueve-woocommerce.single-product
.fn-quantity-controls .quantity input.qty{
  width:62px !important;
  min-width:62px !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 6px !important;
  border:0 !important;
  border-left:1px solid #3a3128 !important;
  border-right:1px solid #3a3128 !important;
  border-radius:0 !important;
  background:#211c18 !important;
  color:var(--fn-ink) !important;
  box-shadow:none !important;
  text-align:center !important;
  font:600 14px/44px 'Archivo',sans-serif !important;
  appearance:textfield;
  -moz-appearance:textfield;
}

body.faronueve-woocommerce.single-product
.fn-quantity-controls input.qty::-webkit-outer-spin-button,
body.faronueve-woocommerce.single-product
.fn-quantity-controls input.qty::-webkit-inner-spin-button{
  margin:0;
  -webkit-appearance:none;
}

.fn-qty-button{
  width:44px;
  height:44px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:#171411;
  color:var(--fn-gold);
  box-shadow:none;
  cursor:pointer;
  font:400 21px/1 'Archivo',sans-serif;
  transition:background .18s ease,color .18s ease;
}

.fn-qty-button:hover:not(:disabled),
.fn-qty-button:focus-visible:not(:disabled){
  background:#2a231d;
  color:#e0b75e;
  outline:none;
}

.fn-qty-button:disabled{
  color:#5e5448;
  cursor:not-allowed;
  opacity:.72;
}

.fn-live-availability{
  display:flex;
  min-height:69px;
  flex-direction:column;
  justify-content:flex-end;
  padding:0 0 9px;
  border-bottom:1px solid #3a3128;
  text-align:right;
}

.fn-live-availability .fn-purchase-label{
  margin-bottom:7px;
}

.fn-live-availability__value{
  color:#d7cbbb;
  font:600 13px/1.35 'Archivo',sans-serif;
}

.fn-purchase-row.is-low-stock .fn-live-availability__value{
  color:var(--fn-gold);
}

.fn-purchase-row.is-max-selected .fn-live-availability__value{
  color:#a99d8b;
}

body.faronueve-woocommerce.single-product
div.product form.cart .single_add_to_cart_button,
body.faronueve-woocommerce.single-product
div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  flex:1 0 100% !important;
  width:100% !important;
  margin:0 !important;
  min-height:48px;
}

body.faronueve-woocommerce.single-product
.single_variation_wrap .fn-purchase-row{
  margin-top:10px;
}

@media(max-width:760px){
  .fn-purchase-row{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  .fn-quantity-controls{
    grid-template-columns:42px 56px 42px;
  }

  .fn-quantity-controls .quantity,
  body.faronueve-woocommerce.single-product
  .fn-quantity-controls .quantity input.qty{
    width:56px !important;
    min-width:56px !important;
  }

  .fn-qty-button{
    width:42px;
  }

  .fn-live-availability{
    min-height:67px;
  }
}

@media(max-width:430px){
  .fn-purchase-row{
    grid-template-columns:1fr;
  }

  .fn-live-availability{
    min-height:auto;
    padding:2px 0 10px;
    text-align:left;
  }
}


/* ==========================================================
   V77 — relacionados + separación del nombre en categorías
   ========================================================== */

/* ----------------------------------------------------------
   PRODUCTOS RELACIONADOS / UPSELLS
   Forzar todos los botones posibles para evitar el azul nativo
   de WooCommerce/Astra, incluso si cambia la estructura HTML.
   ---------------------------------------------------------- */
body.faronueve-woocommerce.single-product
.related.products ul.products li.product .button,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product a.button,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product button,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product .added_to_cart,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .button,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product a.button,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product button,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .added_to_cart{
  width:calc(100% - 36px) !important;
  min-height:42px !important;
  margin:auto 18px 0 !important;
  padding:0 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  border:1px solid var(--fn-gold) !important;
  border-radius:2px !important;
  background:var(--fn-gold) !important;
  background-color:var(--fn-gold) !important;
  color:#1c1815 !important;
  box-shadow:none !important;
  font-family:'Archivo',sans-serif !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-align:center !important;
  text-decoration:none !important;
  text-transform:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

body.faronueve-woocommerce.single-product
.related.products ul.products li.product .button:hover,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product .button:focus,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product .button:active,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product .button:visited,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product .added_to_cart:hover,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product .added_to_cart:focus,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .button:hover,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .button:focus,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .button:active,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .button:visited,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .added_to_cart:hover,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .added_to_cart:focus{
  border-color:#d4a84f !important;
  background:#d4a84f !important;
  background-color:#d4a84f !important;
  color:#1c1815 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

/* También neutraliza variables de Astra que pueden pintar el botón azul. */
body.faronueve-woocommerce.single-product .related.products,
body.faronueve-woocommerce.single-product .upsells.products{
  --ast-global-color-0:var(--fn-gold);
  --ast-global-color-1:#d4a84f;
}

/* ----------------------------------------------------------
   AROMAS / REGALERÍA / DECO
   El nombre queda separado de la foto exactamente como Productos.
   ---------------------------------------------------------- */
.fn-store .woocommerce ul.products li.product
.woocommerce-loop-product__title{
  margin:0 !important;
  padding:18px 18px 6px !important;
  color:var(--fn-ink) !important;
  font-family:'Fraunces',serif !important;
  font-size:20px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
}

/* Igualamos también el arranque del precio para que la tarjeta mantenga
   el mismo ritmo vertical que la grilla principal de Productos. */
.fn-store .woocommerce ul.products li.product .price{
  display:block !important;
  margin:0 !important;
  padding:0 18px 12px !important;
}

/* Botones de las categorías mantienen el mismo margen lateral de Productos. */
.fn-store .woocommerce ul.products li.product .button,
.fn-store .woocommerce ul.products li.product .added_to_cart{
  margin-left:18px !important;
  margin-right:18px !important;
}


/* ==========================================================
   V78 — relacionados/upsells = tarjetas exactas de Productos
   ========================================================== */

/* Misma grilla que /Productos/: 3 columnas desktop. */
body.faronueve-woocommerce.single-product .related.products ul.products,
body.faronueve-woocommerce.single-product .upsells.products ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:28px 20px !important;
  margin:0 !important;
  padding:0 !important;
}

body.faronueve-woocommerce.single-product .related.products ul.products::before,
body.faronueve-woocommerce.single-product .related.products ul.products::after,
body.faronueve-woocommerce.single-product .upsells.products ul.products::before,
body.faronueve-woocommerce.single-product .upsells.products ul.products::after{
  display:none !important;
  content:none !important;
}

/* Tarjeta: misma estructura de Productos. */
body.faronueve-woocommerce.single-product .related.products ul.products li.product,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product{
  position:relative !important;
  width:auto !important;
  min-width:0 !important;
  height:100% !important;
  margin:0 !important;
  padding:0 0 20px !important;
  display:flex !important;
  flex-direction:column !important;
  float:none !important;
  overflow:hidden !important;
  border:1px solid #3a3128 !important;
  border-radius:2px !important;
  background:#211c18 !important;
  box-shadow:none !important;
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease !important;
}

body.faronueve-woocommerce.single-product .related.products ul.products li.product:hover,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product:hover{
  border-color:rgba(201,154,62,.46) !important;
  box-shadow:0 18px 34px -26px rgba(0,0,0,.9) !important;
  transform:translateY(-2px) !important;
}

/* El enlace principal se comporta igual que en Productos. */
body.faronueve-woocommerce.single-product
.related.products ul.products li.product a.woocommerce-LoopProduct-link,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
  overflow:hidden !important;
  text-decoration:none !important;
}

/* Foto completa, sin blanco ni padding, exactamente como Productos. */
body.faronueve-woocommerce.single-product
.related.products ul.products li.product a.woocommerce-LoopProduct-link img,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product a.woocommerce-LoopProduct-link img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1/1 !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  border:0 !important;
  border-bottom:1px solid rgba(201,154,62,.16) !important;
  border-radius:0 !important;
  background:transparent !important;
  object-fit:contain !important;
  transform:scale(1) !important;
  transition:transform .35s ease !important;
}

body.faronueve-woocommerce.single-product
.related.products ul.products li.product:hover a.woocommerce-LoopProduct-link img,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product:hover a.woocommerce-LoopProduct-link img{
  transform:scale(1.025) !important;
}

/* Sin etiqueta/categoría debajo de la foto, igual que Productos. */
body.faronueve-woocommerce.single-product
.related.products ul.products li.product .ast-woo-product-category,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product .fn-loop-category,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .ast-woo-product-category,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .fn-loop-category{
  display:none !important;
}

/* Nombre: misma tipografía, tamaño y separación de Productos. */
body.faronueve-woocommerce.single-product
.related.products ul.products li.product .woocommerce-loop-product__title,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .woocommerce-loop-product__title{
  min-height:58px !important;
  margin:0 !important;
  padding:18px 18px 6px !important;
  box-sizing:border-box !important;
  color:var(--fn-ink) !important;
  font-family:'Fraunces',serif !important;
  font-size:20px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  text-align:left !important;
}

/* Precio: misma posición y aspecto de Productos. */
body.faronueve-woocommerce.single-product
.related.products ul.products li.product .price,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .price{
  display:block !important;
  margin-top:auto !important;
  margin-right:0 !important;
  margin-bottom:0 !important;
  margin-left:0 !important;
  padding:0 18px 12px !important;
  color:var(--fn-gold) !important;
  font-family:'Archivo',sans-serif !important;
  font-size:inherit !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  text-align:left !important;
}

body.faronueve-woocommerce.single-product
.related.products ul.products li.product .price del,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .price del{
  color:#8f8373 !important;
  opacity:.72 !important;
  font-weight:400 !important;
}

body.faronueve-woocommerce.single-product
.related.products ul.products li.product .price ins,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product .price ins{
  color:var(--fn-gold) !important;
  text-decoration:none !important;
}

/* Botones disponibles: exactamente como Productos.
   Contorno dorado / fondo transparente, se llena en hover. */
body.faronueve-woocommerce.single-product
.related.products ul.products li.product > .button,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product > .added_to_cart,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product > .button,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product > .added_to_cart{
  width:calc(100% - 36px) !important;
  min-height:42px !important;
  margin:0 18px !important;
  padding:0 15px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  border:1px solid var(--fn-gold) !important;
  border-radius:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  color:var(--fn-gold) !important;
  box-shadow:none !important;
  font-family:'Archivo',sans-serif !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-align:center !important;
  text-decoration:none !important;
  text-transform:none !important;
}

body.faronueve-woocommerce.single-product
.related.products ul.products li.product > .button:hover,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product > .button:focus,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product > .added_to_cart:hover,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product > .added_to_cart:focus,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product > .button:hover,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product > .button:focus,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product > .added_to_cart:hover,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product > .added_to_cart:focus{
  border-color:var(--fn-gold) !important;
  background:var(--fn-gold) !important;
  background-color:var(--fn-gold) !important;
  color:#1c1815 !important;
  text-decoration:none !important;
}

/* Sin stock: mismo bloque Sin stock + Consultar de la tienda. */
body.faronueve-woocommerce.single-product
.related.products .fn-outofstock-actions,
body.faronueve-woocommerce.single-product
.upsells.products .fn-outofstock-actions{
  width:calc(100% - 36px) !important;
  margin:0 18px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}

body.faronueve-woocommerce.single-product
.related.products .fn-outofstock-actions .button,
body.faronueve-woocommerce.single-product
.upsells.products .fn-outofstock-actions .button{
  width:100% !important;
  min-height:42px !important;
  margin:0 !important;
}

/* Los badges y el corazón usan los componentes globales ya aprobados:
   ¡OFERTA!, SIN STOCK y favoritos. Solo aseguramos posición relativa. */
body.faronueve-woocommerce.single-product
.related.products li.product .fn-product-stock-badge,
body.faronueve-woocommerce.single-product
.upsells.products li.product .fn-product-stock-badge,
body.faronueve-woocommerce.single-product
.related.products li.product .fn-product-sale-badge,
body.faronueve-woocommerce.single-product
.upsells.products li.product .fn-product-sale-badge,
body.faronueve-woocommerce.single-product
.related.products li.product .fn-favorite-button,
body.faronueve-woocommerce.single-product
.upsells.products li.product .fn-favorite-button{
  box-sizing:border-box !important;
}

/* Responsive idéntico a Productos. */
@media(max-width:1050px){
  body.faronueve-woocommerce.single-product .related.products ul.products,
  body.faronueve-woocommerce.single-product .upsells.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  body.faronueve-woocommerce.single-product .related.products ul.products,
  body.faronueve-woocommerce.single-product .upsells.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  body.faronueve-woocommerce.single-product
  .related.products ul.products li.product .woocommerce-loop-product__title,
  body.faronueve-woocommerce.single-product
  .upsells.products ul.products li.product .woocommerce-loop-product__title{
    min-height:auto !important;
  }
}

@media(max-width:480px){
  body.faronueve-woocommerce.single-product .related.products ul.products,
  body.faronueve-woocommerce.single-product .upsells.products ul.products{
    grid-template-columns:1fr !important;
  }
}


/* ==========================================================
   V79 — relacionados compactos + carrusel + favorito correcto
   ========================================================== */

body.faronueve-woocommerce.single-product .related.products,
body.faronueve-woocommerce.single-product .upsells.products{
  position:relative !important;
  overflow:hidden !important;
}

/* Título deja espacio para las flechas del carrusel. */
body.faronueve-woocommerce.single-product .related.products > h2,
body.faronueve-woocommerce.single-product .upsells.products > h2{
  padding-right:92px !important;
}

/* Carrusel horizontal: vuelve al tamaño compacto de 4 tarjetas. */
body.faronueve-woocommerce.single-product .related.products ul.products,
body.faronueve-woocommerce.single-product .upsells.products ul.products{
  display:flex !important;
  grid-template-columns:none !important;
  flex-wrap:nowrap !important;
  gap:22px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 0 8px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  -webkit-overflow-scrolling:touch;
}

body.faronueve-woocommerce.single-product .related.products ul.products::-webkit-scrollbar,
body.faronueve-woocommerce.single-product .upsells.products ul.products::-webkit-scrollbar{
  display:none;
}

/* 4 visibles en desktop: vuelve al tamaño que tenían antes. */
body.faronueve-woocommerce.single-product .related.products ul.products li.product,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product{
  flex:0 0 calc((100% - 66px) / 4) !important;
  width:calc((100% - 66px) / 4) !important;
  max-width:calc((100% - 66px) / 4) !important;
  min-width:0 !important;
  scroll-snap-align:start;
  padding-bottom:18px !important;
}

/* Tamaños internos compactos originales. */
body.faronueve-woocommerce.single-product
.related.products .woocommerce-loop-product__title,
body.faronueve-woocommerce.single-product
.upsells.products .woocommerce-loop-product__title{
  min-height:54px !important;
  margin:16px 18px 8px !important;
  padding:0 !important;
  font-size:18px !important;
  line-height:1.25 !important;
}

body.faronueve-woocommerce.single-product
.related.products .price,
body.faronueve-woocommerce.single-product
.upsells.products .price{
  margin:0 18px 15px !important;
  padding:0 !important;
  font-size:15px !important;
  font-weight:600 !important;
}

/* Botones iguales a la tienda, compactos. */
body.faronueve-woocommerce.single-product
.related.products ul.products li.product > .button,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product > .added_to_cart,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product > .button,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product > .added_to_cart{
  width:calc(100% - 36px) !important;
  min-height:42px !important;
  margin:auto 18px 0 !important;
  padding:0 14px !important;
  border:0 !important;
  border-radius:2px !important;
  background:var(--fn-gold) !important;
  background-color:var(--fn-gold) !important;
  color:#1c1815 !important;
  font-size:12px !important;
  font-weight:700 !important;
}

body.faronueve-woocommerce.single-product
.related.products ul.products li.product > .button:hover,
body.faronueve-woocommerce.single-product
.related.products ul.products li.product > .added_to_cart:hover,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product > .button:hover,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product > .added_to_cart:hover{
  background:#d4a84f !important;
  background-color:#d4a84f !important;
  color:#1c1815 !important;
}

/* ----------------------------------------------------------
   Favorito: elimina definitivamente la franja amarilla heredada
   por el selector amplio de botones y vuelve a la esquina inferior
   derecha de la foto, igual que en Productos.
   ---------------------------------------------------------- */
body.faronueve-woocommerce.single-product
.related.products ul.products li.product button.fn-favorite-button,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product button.fn-favorite-button{
  position:absolute !important;
  top:12px;
  left:auto !important;
  right:12px !important;
  bottom:auto !important;
  z-index:12 !important;
  width:36px !important;
  min-width:36px !important;
  max-width:36px !important;
  height:36px !important;
  min-height:36px !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(243,236,223,.28) !important;
  border-radius:50% !important;
  background:rgba(28,24,21,.84) !important;
  background-color:rgba(28,24,21,.84) !important;
  color:#f3ecdf !important;
  box-shadow:0 8px 22px rgba(0,0,0,.22) !important;
  font-size:initial !important;
  line-height:1 !important;
}

body.faronueve-woocommerce.single-product
.related.products ul.products li.product button.fn-favorite-button:hover,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product button.fn-favorite-button:hover{
  width:36px !important;
  background:rgba(28,24,21,.94) !important;
  background-color:rgba(28,24,21,.94) !important;
  border-color:rgba(201,154,62,.8) !important;
  color:var(--fn-gold) !important;
  transform:translateY(-1px) scale(1.04) !important;
}

body.faronueve-woocommerce.single-product
.related.products ul.products li.product button.fn-favorite-button.is-favorite,
body.faronueve-woocommerce.single-product
.upsells.products ul.products li.product button.fn-favorite-button.is-favorite{
  background:rgba(28,24,21,.94) !important;
  background-color:rgba(28,24,21,.94) !important;
  border-color:rgba(201,154,62,.82) !important;
  color:var(--fn-gold) !important;
}

/* Sin stock conserva dos acciones compactas. */
body.faronueve-woocommerce.single-product
.related.products .fn-outofstock-actions,
body.faronueve-woocommerce.single-product
.upsells.products .fn-outofstock-actions{
  width:calc(100% - 36px) !important;
  margin:auto 18px 0 !important;
}

/* ----------------------------------------------------------
   Flechas del carrusel
   ---------------------------------------------------------- */
.fn-related-carousel-nav{
  position:absolute;
  top:34px;
  right:0;
  z-index:20;
  display:flex;
  gap:8px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}

.related.products.has-carousel-overflow .fn-related-carousel-nav,
.upsells.products.has-carousel-overflow .fn-related-carousel-nav{
  opacity:1;
  pointer-events:auto;
}

.fn-related-arrow{
  width:38px;
  height:38px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid #4a4036;
  border-radius:50%;
  background:#211c18;
  color:var(--fn-gold);
  box-shadow:none;
  cursor:pointer;
  font:400 23px/1 'Archivo',sans-serif;
  transition:border-color .18s ease,background .18s ease,color .18s ease,opacity .18s ease;
}

.fn-related-arrow:hover:not(:disabled),
.fn-related-arrow:focus-visible:not(:disabled){
  border-color:var(--fn-gold);
  background:#2a231d;
  color:#e0b75e;
  outline:none;
}

.fn-related-arrow:disabled{
  opacity:.32;
  cursor:default;
}

/* Tablet: 3 visibles. */
@media(max-width:1024px) and (min-width:761px){
  body.faronueve-woocommerce.single-product .related.products ul.products li.product,
  body.faronueve-woocommerce.single-product .upsells.products ul.products li.product{
    flex-basis:calc((100% - 44px) / 3) !important;
    width:calc((100% - 44px) / 3) !important;
    max-width:calc((100% - 44px) / 3) !important;
  }
}

/* Móvil: 2 visibles y swipe natural. */
@media(max-width:760px){
  body.faronueve-woocommerce.single-product .related.products > h2,
  body.faronueve-woocommerce.single-product .upsells.products > h2{
    padding-right:0 !important;
  }

  .fn-related-carousel-nav{
    display:none !important;
  }

  body.faronueve-woocommerce.single-product .related.products ul.products,
  body.faronueve-woocommerce.single-product .upsells.products ul.products{
    gap:14px !important;
  }

  body.faronueve-woocommerce.single-product .related.products ul.products li.product,
  body.faronueve-woocommerce.single-product .upsells.products ul.products li.product{
    flex-basis:calc((100% - 14px) / 2) !important;
    width:calc((100% - 14px) / 2) !important;
    max-width:calc((100% - 14px) / 2) !important;
  }

  body.faronueve-woocommerce.single-product
  .related.products .woocommerce-loop-product__title,
  body.faronueve-woocommerce.single-product
  .upsells.products .woocommerce-loop-product__title{
    min-height:auto !important;
    margin-left:14px !important;
    margin-right:14px !important;
    font-size:16px !important;
  }

  body.faronueve-woocommerce.single-product
  .related.products .price,
  body.faronueve-woocommerce.single-product
  .upsells.products .price{
    margin-left:14px !important;
    margin-right:14px !important;
  }

  body.faronueve-woocommerce.single-product
  .related.products ul.products li.product > .button,
  body.faronueve-woocommerce.single-product
  .related.products ul.products li.product > .added_to_cart,
  body.faronueve-woocommerce.single-product
  .upsells.products ul.products li.product > .button,
  body.faronueve-woocommerce.single-product
  .upsells.products ul.products li.product > .added_to_cart,
  body.faronueve-woocommerce.single-product
  .related.products .fn-outofstock-actions,
  body.faronueve-woocommerce.single-product
  .upsells.products .fn-outofstock-actions{
    width:calc(100% - 28px) !important;
    margin-left:14px !important;
    margin-right:14px !important;
  }
}

/* Teléfonos chicos: una tarjeta completa por vez. */
@media(max-width:440px){
  body.faronueve-woocommerce.single-product .related.products ul.products li.product,
  body.faronueve-woocommerce.single-product .upsells.products ul.products li.product{
    flex-basis:100% !important;
    width:100% !important;
    max-width:100% !important;
  }
}


/* ==========================================================
   V89 — modo captura FireShot (?captura=1)
   ========================================================== */

/*
 * FireShot suele omitir elementos position:fixed al construir una
 * captura de página completa. En modo captura los dos controles
 * flotantes pasan a posición absoluta y JS los coloca una única vez
 * al final del documento. Fuera de ?captura=1 nada cambia.
 */
body.fn-capture-mode .fn-global-joinchat,
body.fn-capture-mode .fn-global-top{
  position:absolute!important;
  bottom:auto!important;
  transition:none!important;
  animation:none!important;
}

/* Evitar que los efectos hover cambien de posición durante el barrido. */
body.fn-capture-mode .fn-global-joinchat-button,
body.fn-capture-mode .fn-global-joinchat-bubble,
body.fn-capture-mode .fn-global-top{
  transition:none!important;
}

/* En la captura completa dejamos el globo de ayuda en reposo,
   igual que en la web cuando no está en hover. */
body.fn-capture-mode .fn-global-joinchat-bubble{
  opacity:0!important;
  transform:none!important;
}


/* ==========================================================
   V91 — dejar un solo botón “subir arriba”
   ========================================================== */

/*
 * Ocultamos los botones “volver arriba” habituales de temas/plugins.
 * El botón propio de Faro Nueve (.fn-global-top), ubicado abajo a la
 * izquierda, NO está incluido y sigue funcionando normalmente.
 */
body #scrollUp,
body #scroll-up,
body #scroll-to-top,
body #back-to-top,
body #backtotop,
body #topcontrol,
body .scroll-to-top:not(.fn-global-top),
body .scroll-to-top-button:not(.fn-global-top),
body .scroll-top:not(.fn-global-top),
body .scrollup:not(.fn-global-top),
body .back-to-top:not(.fn-global-top),
body .backtotop:not(.fn-global-top),
body .to-top:not(.fn-global-top),
body .go-top:not(.fn-global-top),
body .return-to-top:not(.fn-global-top),
body .generate-back-to-top:not(.fn-global-top),
body .ast-scroll-top-icon,
body .ast-scroll-to-top-right,
body .ast-scroll-to-top-left,
body .ct-back-to-top,
body .kadence-scroll-to-top,
body .storefront-handheld-footer-bar .back-to-top {
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}


/* ==========================================================
   V93 — botón Volver a tienda + mini carrito + modal Faro Nueve
   ========================================================== */

/* 1) WooCommerce: “Volver a la tienda” en el mismo lenguaje de botones. */
body.faronueve-woocommerce .return-to-shop{
  margin-top:22px !important;
}

body.faronueve-woocommerce .return-to-shop a.button.wc-backward,
body.faronueve-woocommerce .return-to-shop .button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:0 22px !important;
  margin:0 !important;
  border:1px solid var(--fn-gold) !important;
  border-radius:2px !important;
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
  font-family:'Archivo',sans-serif !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
  box-shadow:none !important;
  text-transform:none !important;
}

body.faronueve-woocommerce .return-to-shop a.button.wc-backward:hover,
body.faronueve-woocommerce .return-to-shop .button:hover{
  background:#ddb35c !important;
  border-color:#ddb35c !important;
  color:#1c1815 !important;
}

/* 2) Mini carrito en el menú. */
.fn-cart-menu{
  position:relative;
  display:flex;
  align-items:center;
}

.fn-mini-cart-panel{
  position:absolute;
  top:calc(100% + 14px);
  right:0;
  z-index:10030;
  width:min(390px,calc(100vw - 28px));
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(7px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}

.fn-cart-menu::after{
  content:"";
  position:absolute;
  top:100%;
  right:0;
  width:390px;
  height:18px;
  max-width:calc(100vw - 28px);
}

@media(min-width:901px) and (hover:hover){
  .fn-cart-menu:hover .fn-mini-cart-panel,
  .fn-cart-menu:focus-within .fn-mini-cart-panel{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
}

.fn-cart-menu.is-open .fn-mini-cart-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

.fn-mini-cart-fragment{
  overflow:hidden;
  border:1px solid rgba(201,154,62,.34);
  border-radius:3px;
  background:#211c18;
  color:var(--fn-ink);
  box-shadow:0 22px 56px rgba(0,0,0,.38);
  font-family:'Archivo',sans-serif;
}

.fn-mini-cart-head{
  min-height:68px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid var(--fn-line);
  background:#241f1a;
}

.fn-mini-cart-head span{
  display:block;
  margin-bottom:2px;
  color:var(--fn-gold);
  font-size:10px;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.fn-mini-cart-head strong{
  display:block;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:500;
  line-height:1.05;
}

.fn-mini-cart-head small{
  color:var(--fn-dim);
  font-size:11px;
  white-space:nowrap;
}

.fn-mini-cart-items{
  max-height:282px;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(201,154,62,.55) #1b1714;
}

.fn-mini-cart-item{
  min-height:78px;
  padding:11px 14px;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  border-bottom:1px solid rgba(243,236,223,.09);
}

.fn-mini-cart-thumb{
  width:54px;
  height:54px;
  display:block;
  overflow:hidden;
  border:1px solid rgba(201,154,62,.17);
  border-radius:2px;
  background:#171411;
}

.fn-mini-cart-thumb img{
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  object-fit:contain !important;
  border:0 !important;
  background:transparent !important;
}

.fn-mini-cart-item-copy{
  min-width:0;
}

.fn-mini-cart-name{
  display:block;
  overflow:hidden;
  margin-bottom:5px;
  color:var(--fn-ink) !important;
  font-family:'Fraunces',serif;
  font-size:14px;
  font-weight:500;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fn-mini-cart-name:hover{
  color:var(--fn-gold) !important;
}

.fn-mini-cart-qty{
  display:block;
  color:var(--fn-dim);
  font-size:10.5px;
}

.fn-mini-cart-price{
  color:var(--fn-gold);
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
}

.fn-mini-cart-subtotal{
  min-height:48px;
  padding:0 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid var(--fn-line);
  background:#1c1815;
}

.fn-mini-cart-subtotal span{
  color:var(--fn-dim);
  font-size:12px;
}

.fn-mini-cart-subtotal strong{
  color:var(--fn-gold);
  font-size:15px;
}

.fn-mini-cart-shipping{
  border-bottom:1px solid var(--fn-line);
  background:#211c18;
}

.fn-mini-cart-shipping summary{
  min-height:48px;
  padding:0 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:var(--fn-ink);
  cursor:pointer;
  list-style:none;
  font-size:12px;
  font-weight:600;
}

.fn-mini-cart-shipping summary::-webkit-details-marker{display:none;}

.fn-mini-cart-shipping summary > span{
  display:flex;
  align-items:center;
  gap:8px;
}

.fn-mini-cart-shipping summary svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:var(--fn-gold);
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.fn-mini-cart-shipping summary b{
  color:var(--fn-gold);
  font-size:14px;
  font-weight:400;
  transition:transform .18s ease;
}

.fn-mini-cart-shipping[open] summary b{
  transform:rotate(180deg);
}

.fn-mini-cart-shipping-form{
  padding:0 15px 15px;
}

.fn-mini-cart-shipping-form label{
  display:block;
  margin:0 0 9px;
}

.fn-mini-cart-shipping-form label > span{
  display:block;
  margin-bottom:5px;
  color:var(--fn-dim);
  font-size:10px;
}

.fn-mini-cart-shipping-form select,
.fn-mini-cart-shipping-form input{
  width:100%;
  height:38px !important;
  min-height:38px !important;
  margin:0 !important;
  padding:0 10px !important;
  border:1px solid #3a3128 !important;
  border-radius:2px !important;
  background:#171411 !important;
  color:var(--fn-ink) !important;
  font-family:'Archivo',sans-serif !important;
  font-size:11px !important;
  box-shadow:none !important;
}

.fn-mini-cart-shipping-row{
  display:grid;
  grid-template-columns:1fr 118px;
  gap:9px;
}

.fn-mini-cart-shipping-form button{
  width:100%;
  min-height:39px;
  margin:2px 0 7px;
  border:1px solid var(--fn-gold) !important;
  border-radius:2px !important;
  background:transparent !important;
  color:var(--fn-gold) !important;
  font-family:'Archivo',sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  cursor:pointer;
}

.fn-mini-cart-shipping-form button:hover{
  background:rgba(201,154,62,.09) !important;
}

.fn-mini-cart-shipping-form > small{
  display:block;
  color:#8f8372;
  font-size:9.5px;
  line-height:1.4;
}

.fn-mini-cart-actions{
  padding:13px 14px 14px;
  display:grid;
  grid-template-columns:1fr 1.18fr;
  gap:8px;
  background:#211c18;
}

.fn-mini-cart-actions a,
.fn-mini-cart-empty .fn-mini-cart-primary{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:2px;
  font-size:11.5px;
  font-weight:600;
  text-align:center;
}

.fn-mini-cart-primary{
  border:1px solid var(--fn-gold);
  background:var(--fn-gold);
  color:#1c1815 !important;
}

.fn-mini-cart-primary:hover{
  border-color:#ddb35c;
  background:#ddb35c;
  color:#1c1815 !important;
}

.fn-mini-cart-secondary{
  border:1px solid rgba(201,154,62,.45);
  background:transparent;
  color:var(--fn-ink) !important;
}

.fn-mini-cart-secondary:hover{
  border-color:var(--fn-gold);
  color:var(--fn-gold) !important;
}

.fn-mini-cart-empty{
  padding:28px 22px 24px;
  text-align:center;
}

.fn-mini-cart-empty-icon{
  width:38px;
  height:38px;
  margin:0 auto 10px;
  display:grid;
  place-items:center;
  border:1px solid rgba(201,154,62,.33);
  border-radius:50%;
  color:var(--fn-gold);
  font-size:18px;
}

.fn-mini-cart-empty strong{
  display:block;
  margin-bottom:6px;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:19px;
  font-weight:500;
}

.fn-mini-cart-empty p{
  margin:0 0 16px;
  color:var(--fn-dim);
  font-size:11px;
  line-height:1.5;
}

.fn-mini-cart-empty .fn-mini-cart-primary{
  width:100%;
}

@media(max-width:900px){
  .fn-mini-cart-panel{
    position:fixed;
    top:96px;
    right:14px;
    width:min(390px,calc(100vw - 28px));
  }

  .fn-cart-menu::after{display:none;}
}

@media(max-width:520px){
  .fn-mini-cart-panel{
    top:88px;
  }

  .fn-mini-cart-shipping-row{
    grid-template-columns:1fr;
    gap:0;
  }
}

/* 3) Modal de iniciar sesión / crear cuenta completamente Faro Nueve. */
.fn-account-overlay{
  padding-top:74px !important;
  background:rgba(12,10,9,.72) !important;
  backdrop-filter:blur(5px) !important;
}

.fn-account-modal{
  width:min(520px,100%) !important;
  border:1px solid rgba(201,154,62,.34) !important;
  border-radius:3px !important;
  background:#211c18 !important;
  color:var(--fn-ink) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.48) !important;
}

.fn-account-modal-head{
  min-height:66px !important;
  padding:0 20px !important;
  border-bottom:1px solid rgba(201,154,62,.22) !important;
  background:#241f1a !important;
}

.fn-account-modal h2{
  color:var(--fn-ink) !important;
  font-family:'Fraunces',serif !important;
  font-size:25px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}

.fn-account-close{
  color:var(--fn-dim) !important;
}

.fn-account-close:hover{
  color:var(--fn-gold) !important;
}

.fn-customer-modal-form{
  padding:24px 20px 22px !important;
}

.fn-customer-modal-form label{
  color:var(--fn-dim) !important;
  font-family:'Archivo',sans-serif !important;
  font-size:12px !important;
  font-weight:500 !important;
}

.fn-customer-modal-form input{
  height:44px !important;
  margin-top:7px !important;
  padding:0 12px !important;
  border:1px solid #3a3128 !important;
  border-radius:2px !important;
  background:#171411 !important;
  color:var(--fn-ink) !important;
  font-family:'Archivo',sans-serif !important;
  font-size:13px !important;
  box-shadow:none !important;
}

.fn-customer-modal-form input::placeholder{
  color:#7f7568 !important;
}

.fn-customer-modal-form input:focus{
  border-color:var(--fn-gold) !important;
  box-shadow:0 0 0 2px rgba(201,154,62,.12) !important;
}

.fn-password-field button{
  height:44px !important;
  color:#948878 !important;
}

.fn-password-field button:hover{
  color:var(--fn-gold) !important;
}

.fn-modal-submit{
  min-height:44px !important;
  margin:8px 0 10px !important;
  border:1px solid var(--fn-gold) !important;
  border-radius:2px !important;
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
  font-family:'Archivo',sans-serif !important;
  font-size:13px !important;
  font-weight:600 !important;
}

.fn-modal-submit:hover{
  border-color:#ddb35c !important;
  background:#ddb35c !important;
  color:#1c1815 !important;
}

.fn-modal-lost{
  color:var(--fn-gold) !important;
  font-family:'Archivo',sans-serif !important;
}

.fn-modal-lost:hover{
  color:#ddb35c !important;
}

.fn-modal-switch{
  padding-top:15px !important;
  border-top:1px solid rgba(243,236,223,.11) !important;
  color:var(--fn-dim) !important;
  font-family:'Archivo',sans-serif !important;
}

.fn-modal-switch button{
  color:var(--fn-gold) !important;
}

.fn-modal-switch button:hover{
  color:#ddb35c !important;
}


/* ==========================================================
   V94 — precios crema + cupón en mini carrito
   ========================================================== */

/* El precio acompaña al título del producto.
   Reservamos el dorado para acciones, badges y totales importantes. */
.fn-store .woocommerce ul.products li.product .price,
.fn-shop-main ul.products li.product .price,
body.faronueve-woocommerce .woocommerce ul.products li.product .price,
body.faronueve-woocommerce.single-product .related.products .price,
body.faronueve-woocommerce.single-product .upsells.products .price,
body.faronueve-woocommerce div.product p.price,
body.faronueve-woocommerce div.product span.price{
    color:var(--fn-ink) !important;
}

/* Precio anterior de oferta: apagado. Precio actual: crema. */
body.faronueve-woocommerce .woocommerce ul.products li.product .price del,
body.faronueve-woocommerce.single-product .related.products .price del,
body.faronueve-woocommerce.single-product .upsells.products .price del,
body.faronueve-woocommerce div.product p.price del,
body.faronueve-woocommerce div.product span.price del{
    color:#8f8373 !important;
    opacity:.72 !important;
}

body.faronueve-woocommerce .woocommerce ul.products li.product .price ins,
body.faronueve-woocommerce.single-product .related.products .price ins,
body.faronueve-woocommerce.single-product .upsells.products .price ins,
body.faronueve-woocommerce div.product p.price ins,
body.faronueve-woocommerce div.product span.price ins{
    color:var(--fn-ink) !important;
    text-decoration:none !important;
}

/* Precio por línea del mini carrito también en crema.
   El subtotal general se mantiene dorado. */
.fn-mini-cart-price{
    color:var(--fn-ink) !important;
}

.fn-mini-cart-subtotal strong{
    color:var(--fn-gold) !important;
}

/* Cupón: mismo lenguaje del calculador de envío. */
.fn-mini-cart-coupon{
    border-bottom:1px solid var(--fn-line);
    background:#211c18;
}

.fn-mini-cart-coupon summary{
    min-height:48px;
    padding:0 15px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    color:var(--fn-ink);
    cursor:pointer;
    list-style:none;
    font-size:12px;
    font-weight:600;
}

.fn-mini-cart-coupon summary::-webkit-details-marker{
    display:none;
}

.fn-mini-cart-coupon summary > span{
    display:flex;
    align-items:center;
    gap:8px;
}

.fn-mini-cart-coupon summary svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:var(--fn-gold);
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.fn-mini-cart-coupon summary b{
    color:var(--fn-gold);
    font-size:14px;
    font-weight:400;
    transition:transform .18s ease;
}

.fn-mini-cart-coupon[open] summary b{
    transform:rotate(180deg);
}

.fn-mini-cart-coupon-form{
    padding:0 15px 15px;
}

.fn-mini-cart-coupon-form > label{
    display:block;
    margin:0 0 5px;
    color:var(--fn-dim);
    font-size:10px;
}

.fn-mini-cart-coupon-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 84px;
    gap:8px;
}

.fn-mini-cart-coupon-row input{
    width:100%;
    height:39px !important;
    min-height:39px !important;
    margin:0 !important;
    padding:0 10px !important;
    border:1px solid #3a3128 !important;
    border-radius:2px !important;
    background:#171411 !important;
    color:var(--fn-ink) !important;
    font-family:'Archivo',sans-serif !important;
    font-size:11px !important;
    box-shadow:none !important;
}

.fn-mini-cart-coupon-row input::placeholder{
    color:#7f7568 !important;
}

.fn-mini-cart-coupon-row input:focus{
    border-color:var(--fn-gold) !important;
    box-shadow:0 0 0 2px rgba(201,154,62,.1) !important;
    outline:none !important;
}

.fn-mini-cart-coupon-row button{
    min-height:39px;
    margin:0 !important;
    padding:0 10px !important;
    border:1px solid var(--fn-gold) !important;
    border-radius:2px !important;
    background:transparent !important;
    color:var(--fn-gold) !important;
    font-family:'Archivo',sans-serif !important;
    font-size:11px !important;
    font-weight:600 !important;
    cursor:pointer;
}

.fn-mini-cart-coupon-row button:hover{
    background:rgba(201,154,62,.09) !important;
}

.fn-mini-cart-coupon-applied{
    display:block;
    margin-top:8px;
    color:var(--fn-gold);
    font-size:9.5px;
    line-height:1.35;
}

@media(max-width:380px){
    .fn-mini-cart-coupon-row{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   V95 — vista previa de Favoritos en el menú
   ========================================================== */

.fn-favorites-menu{
  position:relative;
  display:flex;
  align-items:center;
}

.fn-favorites-preview-panel{
  position:absolute;
  top:calc(100% + 14px);
  right:0;
  z-index:10031;
  width:min(390px,calc(100vw - 28px));
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(7px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}

.fn-favorites-menu::after{
  content:"";
  position:absolute;
  top:100%;
  right:0;
  width:390px;
  height:18px;
  max-width:calc(100vw - 28px);
}

@media(min-width:901px) and (hover:hover){
  .fn-favorites-menu:hover .fn-favorites-preview-panel,
  .fn-favorites-menu:focus-within .fn-favorites-preview-panel{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
}

.fn-favorites-menu.is-open .fn-favorites-preview-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

.fn-favorites-preview{
  overflow:hidden;
  border:1px solid rgba(201,154,62,.34);
  border-radius:3px;
  background:#211c18;
  color:var(--fn-ink);
  box-shadow:0 22px 56px rgba(0,0,0,.38);
  font-family:'Archivo',sans-serif;
}

.fn-fav-preview-head{
  min-height:68px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid var(--fn-line);
  background:#241f1a;
}

.fn-fav-preview-head span{
  display:block;
  margin-bottom:2px;
  color:var(--fn-gold);
  font-size:10px;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.fn-fav-preview-head strong{
  display:block;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:500;
  line-height:1.05;
}

.fn-fav-preview-head small{
  color:var(--fn-dim);
  font-size:11px;
  white-space:nowrap;
}

.fn-fav-preview-items{
  max-height:316px;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(201,154,62,.55) #1b1714;
}

.fn-fav-preview-item{
  min-height:78px;
  padding:11px 12px 11px 14px;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 28px;
  align-items:center;
  gap:11px;
  border-bottom:1px solid rgba(243,236,223,.09);
}

.fn-fav-preview-thumb{
  width:54px;
  height:54px;
  display:block;
  overflow:hidden;
  border:1px solid rgba(201,154,62,.17);
  border-radius:2px;
  background:#171411;
}

.fn-fav-preview-thumb img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  object-fit:contain !important;
  background:transparent !important;
}

.fn-fav-preview-copy{
  min-width:0;
}

.fn-fav-preview-name{
  display:block;
  overflow:hidden;
  margin-bottom:6px;
  color:var(--fn-ink) !important;
  font-family:'Fraunces',serif;
  font-size:14px;
  font-weight:500;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fn-fav-preview-name:hover{
  color:var(--fn-gold) !important;
}

.fn-fav-preview-meta{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.fn-fav-preview-price,
.fn-fav-preview-price .amount,
.fn-fav-preview-price ins{
  color:var(--fn-ink) !important;
  font-size:11.5px !important;
  font-weight:600 !important;
  text-decoration:none !important;
}

.fn-fav-preview-price del,
.fn-fav-preview-price del .amount{
  color:#8f8373 !important;
  opacity:.72;
  font-size:10.5px !important;
}

.fn-fav-preview-stock{
  padding:2px 5px;
  border:1px solid rgba(201,154,62,.32);
  border-radius:2px;
  color:var(--fn-gold);
  font-size:8.5px;
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.2;
  text-transform:uppercase;
  white-space:nowrap;
}

.fn-fav-preview-remove{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  border:1px solid rgba(201,154,62,.22);
  border-radius:50%;
  background:#191512;
  color:#a99d8c;
  font-family:Arial,sans-serif;
  font-size:18px;
  font-weight:300;
  line-height:1;
  cursor:pointer;
}

.fn-fav-preview-remove:hover{
  border-color:var(--fn-gold);
  color:var(--fn-gold);
}

.fn-fav-preview-footer{
  padding:13px 14px 14px;
  background:#211c18;
}

.fn-fav-preview-primary{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  border:1px solid var(--fn-gold);
  border-radius:2px;
  background:var(--fn-gold);
  color:#1c1815 !important;
  font-size:11.5px;
  font-weight:600;
  text-align:center;
}

.fn-fav-preview-primary:hover{
  border-color:#ddb35c;
  background:#ddb35c;
  color:#1c1815 !important;
}

.fn-fav-preview-empty{
  padding:28px 22px 24px;
  text-align:center;
}

.fn-fav-preview-empty-heart{
  width:38px;
  height:38px;
  margin:0 auto 10px;
  display:grid;
  place-items:center;
  border:1px solid rgba(201,154,62,.33);
  border-radius:50%;
  color:var(--fn-gold);
  font-size:20px;
}

.fn-fav-preview-empty strong{
  display:block;
  margin-bottom:6px;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:19px;
  font-weight:500;
}

.fn-fav-preview-empty p{
  margin:0 0 16px;
  color:var(--fn-dim);
  font-size:11px;
  line-height:1.5;
}

@media(max-width:900px){
  .fn-favorites-preview-panel{
    position:fixed;
    top:96px;
    right:14px;
    width:min(390px,calc(100vw - 28px));
  }

  .fn-favorites-menu::after{
    display:none;
  }
}

@media(max-width:520px){
  .fn-favorites-preview-panel{
    top:88px;
  }
}


/* ==========================================================
   V98 — panel WhatsApp Faro Nueve
   ========================================================== */

.fn-global-joinchat{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:10040 !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  font-family:'Archivo',sans-serif !important;
}

.fn-global-joinchat-button{
  appearance:none;
  -webkit-appearance:none;
  border:0 !important;
  padding:0 !important;
  cursor:pointer;
}

.fn-global-joinchat.is-open .fn-global-joinchat-button{
  transform:scale(1.04);
}

.fn-global-joinchat.is-open .fn-global-joinchat-bubble{
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateX(8px) !important;
}

.fn-global-whatsapp-panel{
  position:absolute;
  right:0;
  bottom:72px;
  width:min(355px,calc(100vw - 32px));
  overflow:hidden;
  border:1px solid rgba(201,154,62,.40);
  border-radius:4px;
  background:#211c18;
  color:var(--fn-ink);
  box-shadow:0 24px 60px rgba(0,0,0,.44);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(9px) scale(.985);
  transform-origin:bottom right;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}

.fn-global-joinchat.is-open .fn-global-whatsapp-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.fn-global-whatsapp-head{
  min-height:68px;
  padding:12px 14px 12px 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid rgba(201,154,62,.18);
  background:#241f1a;
}

.fn-global-whatsapp-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.fn-global-whatsapp-brand-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#25d366;
  box-shadow:0 6px 16px rgba(0,0,0,.2);
}

.fn-global-whatsapp-brand-icon svg{
  width:20px;
  height:20px;
  fill:#fff;
}

.fn-global-whatsapp-brand strong{
  display:block;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:500;
  line-height:1.05;
}

.fn-global-whatsapp-brand small{
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:4px;
  color:var(--fn-dim);
  font-size:10px;
  line-height:1;
}

.fn-global-whatsapp-brand small > span{
  width:6px;
  height:6px;
  display:block;
  border-radius:50%;
  background:#25d366;
}

.fn-global-whatsapp-close{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(201,154,62,.18);
  border-radius:50%;
  background:#191512;
  color:#a99d8c;
  font:300 19px/1 Arial,sans-serif;
  cursor:pointer;
}

.fn-global-whatsapp-close:hover,
.fn-global-whatsapp-close:focus{
  border-color:var(--fn-gold);
  color:var(--fn-gold);
}

.fn-global-whatsapp-body{
  padding:20px 17px 17px;
}

.fn-global-whatsapp-body > strong{
  display:block;
  margin:0 0 9px;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:21px;
  font-weight:500;
  line-height:1.18;
}

.fn-global-whatsapp-body > p{
  margin:0 0 17px;
  color:var(--fn-dim);
  font-size:12px;
  line-height:1.62;
}

.fn-global-whatsapp-action{
  min-height:48px;
  padding:0 13px;
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  border:1px solid rgba(201,154,62,.58);
  border-radius:2px;
  background:#1a1714;
  color:var(--fn-ink) !important;
  text-decoration:none !important;
  font-size:12px;
  font-weight:600;
}

.fn-global-whatsapp-action:hover,
.fn-global-whatsapp-action:focus{
  border-color:var(--fn-gold);
  background:#201b17;
  color:var(--fn-ink) !important;
}

.fn-global-whatsapp-action-icon{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#25d366;
}

.fn-global-whatsapp-action-icon svg{
  width:15px;
  height:15px;
  fill:#fff;
}

.fn-global-whatsapp-action b{
  color:var(--fn-gold);
  font-size:18px;
  font-weight:400;
}

@media(max-width:600px){
  .fn-global-joinchat{
    right:16px !important;
    bottom:16px !important;
  }

  .fn-global-whatsapp-panel{
    bottom:66px;
    width:min(340px,calc(100vw - 32px));
  }
}


/* ==========================================================
   V98 — desplegables manuales para ?captura=1
   ========================================================== */

/*
 * Evita que el header sticky se repita durante una captura larga.
 * En modo captura queda dentro del flujo normal, una sola vez.
 */
body.fn-capture-mode .fn-site-header{
  position:relative !important;
  top:auto !important;
}

/* En captura NO se abren por hover: solo cuando el usuario hace clic. */
body.fn-capture-mode .fn-cart-menu:not(.fn-capture-open) .fn-mini-cart-panel,
body.fn-capture-mode .fn-favorites-menu:not(.fn-capture-open) .fn-favorites-preview-panel,
body.fn-capture-mode .fn-menu-products:not(.fn-capture-open) .fn-products-dropdown{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* El seleccionado queda fijado para que FireShot no lo cierre al desplazarse. */
body.fn-capture-mode .fn-cart-menu.fn-capture-open .fn-mini-cart-panel,
body.fn-capture-mode .fn-favorites-menu.fn-capture-open .fn-favorites-preview-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}

body.fn-capture-mode .fn-menu-products.fn-capture-open .fn-products-dropdown{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) !important;
}

body.fn-capture-mode .fn-menu-products:not(.fn-capture-open) .fn-products-link span{
  transform:translateY(-1px) !important;
}

body.fn-capture-mode .fn-menu-products.fn-capture-open .fn-products-link span{
  transform:translateY(-1px) rotate(180deg) !important;
}

/* El panel de WhatsApp se abre/cierra normalmente con clic y,
   si queda abierto, también permanece visible durante FireShot. */
body.fn-capture-mode .fn-global-joinchat.is-open .fn-global-whatsapp-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}


/* ==========================================================
   V99 — jerarquía de títulos y precios en tarjetas de producto
   ========================================================== */

/*
 * Objetivo:
 * - bajar el peso visual del nombre del producto;
 * - dejar el nombre completo, sin recortes ni puntos suspensivos;
 * - hacer más pareja la altura de las tarjetas;
 * - acercar visualmente precio y nombre;
 * - mantener el mismo tratamiento en Productos, categorías,
 *   relacionados y upsells.
 */

body.faronueve-woocommerce .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.faronueve-woocommerce .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.faronueve-woocommerce.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title{
    margin:0 0 6px !important;
    padding:0 !important;
    min-height:36px !important;
    color:var(--fn-ink) !important;
    font-family:'Fraunces',serif !important;
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    display:block !important;
}

/* Los precios se acercan al título y mantienen jerarquía secundaria. */
body.faronueve-woocommerce .woocommerce ul.products li.product .price,
body.faronueve-woocommerce .woocommerce-page ul.products li.product .price,
body.faronueve-woocommerce.single-product .related.products ul.products li.product .price,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product .price{
    margin:0 0 11px !important;
    padding:0 !important;
    color:var(--fn-ink) !important;
    font-family:'Archivo',sans-serif !important;
    font-size:13.5px !important;
    font-weight:600 !important;
    line-height:1.25 !important;
}

/* Precio anterior en oferta: más discreto. */
body.faronueve-woocommerce .woocommerce ul.products li.product .price del,
body.faronueve-woocommerce .woocommerce-page ul.products li.product .price del,
body.faronueve-woocommerce.single-product .related.products ul.products li.product .price del,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product .price del{
    font-size:12px !important;
}

/* En pantallas chicas bajamos apenas para evitar saltos innecesarios. */
@media(max-width:640px){
    body.faronueve-woocommerce .woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.faronueve-woocommerce .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    body.faronueve-woocommerce.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
    body.faronueve-woocommerce.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title{
        min-height:34px !important;
        font-size:14px !important;
        line-height:1.22 !important;
    }

    body.faronueve-woocommerce .woocommerce ul.products li.product .price,
    body.faronueve-woocommerce .woocommerce-page ul.products li.product .price,
    body.faronueve-woocommerce.single-product .related.products ul.products li.product .price,
    body.faronueve-woocommerce.single-product .upsells.products ul.products li.product .price{
        font-size:13px !important;
    }
}


/* ==========================================================
   V100 — nombres de producto más compactos
   ========================================================== */

body.faronueve-woocommerce .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.faronueve-woocommerce .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.faronueve-woocommerce.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.faronueve-woocommerce.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title{
    font-size:13.5px !important;
    line-height:1.18 !important;
    min-height:32px !important;
    margin-bottom:5px !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
}

@media(max-width:640px){
    body.faronueve-woocommerce .woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.faronueve-woocommerce .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    body.faronueve-woocommerce.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
    body.faronueve-woocommerce.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title{
        font-size:12.75px !important;
        line-height:1.2 !important;
        min-height:31px !important;
    }
}


/* ==========================================================
   V102 — tarjetas unificadas + Sahumerios en Productos
   ========================================================== */

/*
 * Productos es la referencia visual.
 * Aromas / Regalería / Deco pasan a usar exactamente la misma
 * cantidad de columnas y separación de la grilla principal.
 */
.fn-store .woocommerce ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:28px 20px !important;
}

/*
 * Mismo tratamiento del contenido de tarjeta en las cuatro páginas:
 * nombre más chico y aire real entre foto y título.
 */
.fn-store .woocommerce ul.products li.product .woocommerce-loop-product__title,
.fn-shop-main ul.products li.product .woocommerce-loop-product__title,
body.faronueve-woocommerce .woocommerce ul.products li.product .woocommerce-loop-product__title{
    box-sizing:border-box !important;
    min-height:46px !important;
    margin:0 !important;
    padding:13px 18px 4px !important;
    color:var(--fn-ink) !important;
    font-family:'Fraunces',serif !important;
    font-size:12.5px !important;
    font-weight:500 !important;
    line-height:1.25 !important;
    letter-spacing:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
}

/* Precio alineado con el mismo margen lateral en todas las tarjetas. */
.fn-store .woocommerce ul.products li.product .price,
.fn-shop-main ul.products li.product .price,
body.faronueve-woocommerce .woocommerce ul.products li.product .price{
    margin-top:auto !important;
    margin-bottom:0 !important;
    padding:0 18px 12px !important;
    color:var(--fn-ink) !important;
    font-size:13px !important;
    line-height:1.25 !important;
}

/* Tablet: misma lógica que Productos. */
@media(max-width:1050px){
    .fn-store .woocommerce ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* Móvil: conserva dos columnas hasta 480 px, igual que Productos. */
@media(max-width:760px){
    .fn-store .woocommerce ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:14px !important;
    }

    .fn-store .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .fn-shop-main ul.products li.product .woocommerce-loop-product__title,
    body.faronueve-woocommerce .woocommerce ul.products li.product .woocommerce-loop-product__title{
        min-height:44px !important;
        padding:12px 14px 4px !important;
        font-size:12px !important;
        line-height:1.24 !important;
    }

    .fn-store .woocommerce ul.products li.product .price,
    .fn-shop-main ul.products li.product .price,
    body.faronueve-woocommerce .woocommerce ul.products li.product .price{
        padding-left:14px !important;
        padding-right:14px !important;
        font-size:12.5px !important;
    }
}

@media(max-width:480px){
    .fn-store .woocommerce ul.products{
        grid-template-columns:1fr !important;
    }
}


/* ==========================================================
   V103 — cupón visible en Carrito / Finalizar compra
   ========================================================== */

/* Nuestra interfaz reemplaza los controles genéricos de WooCommerce. */
body.faronueve-woocommerce .woocommerce-form-coupon-toggle,
body.faronueve-woocommerce form.checkout_coupon,
body.faronueve-woocommerce .woocommerce-cart-form .coupon{
    display:none !important;
}

.fn-purchase-coupon{
    max-width:1280px;
    margin:18px auto 22px;
    padding:18px 20px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,430px);
    align-items:end;
    gap:24px;
    border:1px solid rgba(201,154,62,.30);
    border-radius:3px;
    background:#211c18;
    color:var(--fn-ink);
    box-sizing:border-box;
}

.fn-purchase-coupon--blocks{
    width:100%;
    margin:0 0 22px !important;
}

.fn-purchase-coupon-copy{
    min-width:0;
}

.fn-purchase-coupon-kicker{
    display:block;
    margin-bottom:5px;
    color:var(--fn-gold);
    font-family:'Archivo',sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.fn-purchase-coupon-copy > strong{
    display:block;
    margin-bottom:5px;
    color:var(--fn-ink);
    font-family:'Fraunces',serif;
    font-size:20px;
    font-weight:500;
    line-height:1.15;
}

.fn-purchase-coupon-copy > p{
    margin:0;
    color:var(--fn-dim);
    font-family:'Archivo',sans-serif;
    font-size:11.5px;
    line-height:1.5;
}

.fn-purchase-coupon-form{
    min-width:0;
}

.fn-purchase-coupon-form > label{
    display:block;
    margin-bottom:6px;
    color:var(--fn-dim);
    font-family:'Archivo',sans-serif;
    font-size:10.5px;
}

.fn-purchase-coupon-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 94px;
    gap:8px;
}

.fn-purchase-coupon-row input{
    width:100% !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 11px !important;
    border:1px solid #3a3128 !important;
    border-radius:2px !important;
    background:#171411 !important;
    color:var(--fn-ink) !important;
    font-family:'Archivo',sans-serif !important;
    font-size:12px !important;
    box-shadow:none !important;
}

.fn-purchase-coupon-row input:focus{
    border-color:var(--fn-gold) !important;
    box-shadow:0 0 0 2px rgba(201,154,62,.10) !important;
    outline:none !important;
}

.fn-purchase-coupon-row button{
    min-height:42px !important;
    margin:0 !important;
    padding:0 12px !important;
    border:1px solid var(--fn-gold) !important;
    border-radius:2px !important;
    background:var(--fn-gold) !important;
    color:#1c1815 !important;
    font-family:'Archivo',sans-serif !important;
    font-size:11.5px !important;
    font-weight:600 !important;
    cursor:pointer;
}

.fn-purchase-coupon-row button:hover{
    border-color:#ddb35c !important;
    background:#ddb35c !important;
}

.fn-purchase-coupon-applied{
    display:block;
    margin-top:7px;
    color:var(--fn-gold);
    font-family:'Archivo',sans-serif;
    font-size:10px;
}

/* Woo Blocks: evitamos que el bloque inyectado se vea blanco. */
body.faronueve-woocommerce .wc-block-cart .fn-purchase-coupon,
body.faronueve-woocommerce .wc-block-checkout .fn-purchase-coupon{
    border-color:rgba(201,154,62,.30) !important;
    background:#211c18 !important;
}

@media(max-width:760px){
    .fn-purchase-coupon{
        grid-template-columns:1fr;
        align-items:stretch;
        gap:14px;
        padding:16px;
    }
}

@media(max-width:420px){
    .fn-purchase-coupon-row{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   V103 — captura fresca del catálogo completo
   ========================================================== */

/* En ?captura=1 las grillas pueden crecer naturalmente para mostrar
   todos los productos actuales sin recortes por paginación. */
body.fn-capture-mode .fn-shop-main,
body.fn-capture-mode .fn-store__products{
    min-height:0 !important;
}


/* ==========================================================
   V104 — controles de cantidad y quitar en mini carrito
   ========================================================== */

.fn-mini-cart-item{
    grid-template-columns:54px minmax(0,1fr) auto !important;
    align-items:center !important;
}

.fn-mini-cart-item-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
}

.fn-mini-cart-qty-control{
    width:max-content;
    display:inline-grid;
    grid-template-columns:26px 30px 26px;
    align-items:center;
    overflow:hidden;
    border:1px solid #3a3128;
    border-radius:2px;
    background:#171411;
}

.fn-mini-cart-qty-btn{
    width:26px;
    height:27px;
    display:grid;
    place-items:center;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:var(--fn-gold) !important;
    font-family:'Archivo',sans-serif !important;
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1 !important;
    cursor:pointer;
    box-shadow:none !important;
}

.fn-mini-cart-qty-btn:hover{
    background:rgba(201,154,62,.10) !important;
}

.fn-mini-cart-qty-value{
    height:27px;
    display:grid;
    place-items:center;
    border-left:1px solid #3a3128;
    border-right:1px solid #3a3128;
    color:var(--fn-ink);
    font-family:'Archivo',sans-serif;
    font-size:10.5px;
    font-weight:600;
}

.fn-mini-cart-item-side{
    align-self:stretch;
    min-width:76px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:space-between;
    gap:8px;
}

.fn-mini-cart-remove{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    margin:0 !important;
    padding:0 !important;
    border:1px solid rgba(201,154,62,.22) !important;
    border-radius:50% !important;
    background:#191512 !important;
    color:#a99d8c !important;
    font-family:Arial,sans-serif !important;
    font-size:16px !important;
    font-weight:300 !important;
    line-height:1 !important;
    cursor:pointer;
    box-shadow:none !important;
}

.fn-mini-cart-remove:hover{
    border-color:var(--fn-gold) !important;
    color:var(--fn-gold) !important;
}

.fn-mini-cart-item-side .fn-mini-cart-price{
    margin-top:auto;
    color:var(--fn-ink) !important;
}

.fn-mini-cart-fragment{
    transition:opacity .15s ease;
}

.fn-mini-cart-fragment.is-updating{
    opacity:.55;
    pointer-events:none;
}

@media(max-width:380px){
    .fn-mini-cart-item{
        grid-template-columns:48px minmax(0,1fr) auto !important;
        gap:8px !important;
        padding-left:10px !important;
        padding-right:10px !important;
    }

    .fn-mini-cart-thumb{
        width:48px;
        height:48px;
    }

    .fn-mini-cart-item-side{
        min-width:64px;
    }
}


/* ==========================================================
   V106 — CARRITO / CHECKOUT / MINI CARRITO FARO NUEVE
   ========================================================== */

/*
 * Reglas deliberadamente independientes de .faronueve-woocommerce:
 * cart/checkout pueden heredar markup de Astra/WooCommerce de distintas
 * plantillas, pero visualmente siempre deben verse como Faro Nueve.
 */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-order-received{
    background:#1c1815 !important;
    color:#f3ecdf !important;
}

/* Ocultar header/footer nativos del tema en páginas Woo y mostrar los nuestros. */
body.woocommerce-cart #masthead,
body.woocommerce-checkout #masthead,
body.woocommerce-order-received #masthead,
body.woocommerce-cart .site-header:not(.fn-site-header),
body.woocommerce-checkout .site-header:not(.fn-site-header),
body.woocommerce-order-received .site-header:not(.fn-site-header),
body.woocommerce-cart #colophon,
body.woocommerce-checkout #colophon,
body.woocommerce-order-received #colophon,
body.woocommerce-cart .site-footer:not(.fn-site-footer),
body.woocommerce-checkout .site-footer:not(.fn-site-footer),
body.woocommerce-order-received .site-footer:not(.fn-site-footer){
    display:none !important;
}

body.woocommerce-cart .fn-site-header,
body.woocommerce-checkout .fn-site-header,
body.woocommerce-order-received .fn-site-header,
body.woocommerce-cart .fn-site-footer,
body.woocommerce-checkout .fn-site-footer,
body.woocommerce-order-received .fn-site-footer{
    display:block !important;
}

/* Quitar títulos/bloques blancos del tema, usamos la intro del plugin. */
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-cart .page-header,
body.woocommerce-checkout .page-header,
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title{
    display:none !important;
}

body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-order-received #primary,
body.woocommerce-cart .ast-container,
body.woocommerce-checkout .ast-container,
body.woocommerce-order-received .ast-container,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    background:#1c1815 !important;
    float:none !important;
}

/* Contenedor WooCommerce. */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce{
    width:min(1280px,100%) !important;
    max-width:1280px !important;
    margin:0 auto !important;
    padding:54px clamp(20px,5vw,64px) 92px !important;
    box-sizing:border-box !important;
    color:#f3ecdf !important;
    font-family:'Archivo',sans-serif !important;
}

/* Intro propia: más limpia que la barra oscura del theme. */
body.woocommerce-cart .woocommerce > .fn-page-intro,
body.woocommerce-checkout .woocommerce > .fn-page-intro{
    width:100% !important;
    max-width:none !important;
    margin:0 0 28px !important;
    padding:0 0 24px !important;
    border-bottom:1px solid rgba(243,236,223,.14);
}

body.woocommerce-cart .fn-page-intro span,
body.woocommerce-checkout .fn-page-intro span{
    margin-bottom:9px !important;
    color:#c99a3e !important;
    font-size:11px !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}

body.woocommerce-cart .fn-page-intro h1,
body.woocommerce-checkout .fn-page-intro h1{
    margin:0 !important;
    color:#f3ecdf !important;
    font-family:'Fraunces',serif !important;
    font-size:clamp(34px,4vw,50px) !important;
    font-weight:500 !important;
    line-height:1.05 !important;
}

body.woocommerce-cart .fn-page-intro p,
body.woocommerce-checkout .fn-page-intro p{
    margin:10px 0 0 !important;
    color:#b8ac97 !important;
    font-size:13px !important;
    line-height:1.55 !important;
}

/* Banner promocional y cupón propio. */
body.woocommerce-cart .fn-coupon-banner,
body.woocommerce-checkout .fn-coupon-banner,
body.woocommerce-cart .fn-purchase-coupon,
body.woocommerce-checkout .fn-purchase-coupon{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

body.woocommerce-cart .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-cart form.checkout_coupon,
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-cart .woocommerce-cart-form .coupon{
    display:none !important;
}

/* Mensajes WooCommerce: oscuro, legible, sin azul por defecto. */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error,
body.faronueve-woocommerce .woocommerce-message,
body.faronueve-woocommerce .woocommerce-info,
body.faronueve-woocommerce .woocommerce-error{
    min-height:54px !important;
    margin:0 0 20px !important;
    padding:14px 16px 14px 18px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    border:1px solid rgba(201,154,62,.30) !important;
    border-top:1px solid rgba(201,154,62,.30) !important;
    border-radius:3px !important;
    background:#211c18 !important;
    color:#f3ecdf !important;
    box-shadow:none !important;
    font-size:12px !important;
    line-height:1.45 !important;
}

body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-info::before{
    color:#c99a3e !important;
    top:auto !important;
    left:18px !important;
}

/* Mensaje al agregar desde una tarjeta + Ver carrito. */
.woocommerce-message:has(.fn-cart-added-copy){
    justify-content:space-between !important;
    flex-wrap:wrap !important;
}

.fn-cart-added-copy{
    min-width:0;
    display:flex;
    align-items:center;
    gap:9px;
    color:#f3ecdf;
}

.fn-cart-added-mark{
    width:24px;
    height:24px;
    flex:0 0 24px;
    display:grid;
    place-items:center;
    border:1px solid rgba(201,154,62,.44);
    border-radius:50%;
    color:#c99a3e;
    font-size:12px;
}

.woocommerce-message .fn-view-cart-button,
.woocommerce-message a.button.wc-forward,
.woocommerce-message a.wc-forward,
a.added_to_cart.wc-forward{
    min-height:38px !important;
    margin:0 !important;
    padding:0 15px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    float:none !important;
    border:1px solid #c99a3e !important;
    border-radius:2px !important;
    background:#c99a3e !important;
    color:#1c1815 !important;
    font-family:'Archivo',sans-serif !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1 !important;
    text-decoration:none !important;
    box-shadow:none !important;
}

.woocommerce-message .fn-view-cart-button:hover,
.woocommerce-message a.button.wc-forward:hover,
.woocommerce-message a.wc-forward:hover,
a.added_to_cart.wc-forward:hover{
    border-color:#ddb35c !important;
    background:#ddb35c !important;
    color:#1c1815 !important;
}

/* ---------------------- CARRITO ---------------------- */
body.woocommerce-cart .woocommerce-cart-form{
    margin:0 0 28px !important;
}

body.woocommerce-cart table.shop_table,
body.woocommerce-cart .woocommerce-cart-form table.shop_table{
    margin:0 !important;
    overflow:hidden;
    border:1px solid #3a3128 !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    border-radius:3px !important;
    background:#211c18 !important;
    color:#f3ecdf !important;
    box-shadow:none !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table thead,
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead tr,
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead th{
    background:#241f1a !important;
    color:#c99a3e !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table th{
    padding:14px 16px !important;
    border:0 !important;
    border-bottom:1px solid #3a3128 !important;
    font-family:'Archivo',sans-serif !important;
    font-size:10.5px !important;
    font-weight:600 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table td{
    padding:14px 16px !important;
    border:0 !important;
    border-bottom:1px solid rgba(243,236,223,.10) !important;
    background:#211c18 !important;
    color:#b8ac97 !important;
    vertical-align:middle !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr:last-child td:not(.actions){
    border-bottom:0 !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img{
    width:72px !important;
    height:72px !important;
    object-fit:contain !important;
    border:1px solid rgba(201,154,62,.18) !important;
    border-radius:2px !important;
    background:#171411 !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-name a{
    color:#f3ecdf !important;
    font-family:'Fraunces',serif !important;
    font-size:14px !important;
    font-weight:500 !important;
    line-height:1.3 !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-price,
body.woocommerce-cart .woocommerce-cart-form .product-subtotal,
body.woocommerce-cart .woocommerce-cart-form .amount{
    color:#f3ecdf !important;
    font-size:12.5px !important;
}

body.woocommerce-cart .woocommerce-cart-form a.remove{
    width:26px !important;
    height:26px !important;
    display:inline-grid !important;
    place-items:center !important;
    margin:0 auto !important;
    border:1px solid rgba(201,154,62,.30) !important;
    border-radius:50% !important;
    background:#191512 !important;
    color:#a99d8c !important;
    font-size:16px !important;
    font-weight:300 !important;
    line-height:1 !important;
}

body.woocommerce-cart .woocommerce-cart-form a.remove:hover{
    border-color:#c99a3e !important;
    background:rgba(201,154,62,.08) !important;
    color:#c99a3e !important;
}

body.woocommerce-cart .quantity .qty{
    width:68px !important;
    min-height:40px !important;
    padding:0 8px !important;
    border:1px solid #3a3128 !important;
    border-radius:2px !important;
    background:#171411 !important;
    color:#f3ecdf !important;
    text-align:center !important;
    box-shadow:none !important;
}

body.woocommerce-cart .woocommerce-cart-form td.actions{
    padding:14px !important;
    background:#1c1815 !important;
}

body.woocommerce-cart .woocommerce-cart-form td.actions > .button,
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]{
    min-height:40px !important;
    padding:0 16px !important;
    border:1px solid rgba(201,154,62,.50) !important;
    border-radius:2px !important;
    background:transparent !important;
    color:#c99a3e !important;
    font-size:11px !important;
    font-weight:600 !important;
}

body.woocommerce-cart .woocommerce-cart-form td.actions > .button:hover,
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:hover{
    border-color:#c99a3e !important;
    background:rgba(201,154,62,.08) !important;
    color:#c99a3e !important;
}

body.woocommerce-cart .cart-collaterals{
    width:100% !important;
    margin:0 !important;
    display:flex !important;
    justify-content:flex-end !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals{
    width:min(470px,100%) !important;
    float:none !important;
    overflow:hidden !important;
    border:1px solid #3a3128 !important;
    border-radius:3px !important;
    background:#211c18 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals > h2{
    margin:0 !important;
    padding:18px 20px !important;
    border:0 !important;
    border-bottom:1px solid #3a3128 !important;
    background:#241f1a !important;
    color:#f3ecdf !important;
    font-family:'Fraunces',serif !important;
    font-size:25px !important;
    font-weight:500 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table{
    border:0 !important;
    border-radius:0 !important;
    background:#211c18 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td{
    padding:14px 18px !important;
    border:0 !important;
    border-bottom:1px solid rgba(243,236,223,.10) !important;
    background:#211c18 !important;
    font-size:12px !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th{
    color:#b8ac97 !important;
    font-weight:500 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .amount{
    color:#f3ecdf !important;
    text-align:right !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
body.woocommerce-cart .cart-collaterals .cart_totals .order-total td,
body.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount{
    color:#c99a3e !important;
    font-size:14px !important;
    font-weight:700 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout{
    margin:0 !important;
    padding:16px 18px 18px !important;
    border:0 !important;
    background:#211c18 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    width:100% !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #c99a3e !important;
    border-radius:2px !important;
    background:#c99a3e !important;
    color:#1c1815 !important;
    font-family:'Archivo',sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;
}

/* ---------------------- CHECKOUT ---------------------- */
body.woocommerce-checkout form.checkout.woocommerce-checkout{
    margin-top:28px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr) !important;
    grid-template-rows:auto 1fr !important;
    gap:0 34px !important;
    align-items:start !important;
}

body.woocommerce-checkout form.checkout #customer_details{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    width:100% !important;
    margin:0 !important;
    float:none !important;
}

body.woocommerce-checkout form.checkout #order_review_heading{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    margin:0 !important;
    padding:18px 20px !important;
    border:1px solid #3a3128 !important;
    border-bottom:0 !important;
    border-radius:3px 3px 0 0 !important;
    background:#241f1a !important;
    color:#f3ecdf !important;
    font-family:'Fraunces',serif !important;
    font-size:25px !important;
    font-weight:500 !important;
}

body.woocommerce-checkout form.checkout #order_review{
    grid-column:2 !important;
    grid-row:2 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    border:1px solid #3a3128 !important;
    border-radius:0 0 3px 3px !important;
    background:#211c18 !important;
    color:#f3ecdf !important;
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{
    width:100% !important;
    margin:0 0 26px !important;
    padding:22px !important;
    float:none !important;
    border:1px solid #3a3128 !important;
    border-radius:3px !important;
    background:#211c18 !important;
}

body.woocommerce-checkout #customer_details h3{
    margin:0 0 20px !important;
    padding:0 0 14px !important;
    border-bottom:1px solid rgba(243,236,223,.12) !important;
    color:#f3ecdf !important;
    font-family:'Fraunces',serif !important;
    font-size:25px !important;
    font-weight:500 !important;
}

body.woocommerce-checkout .form-row{
    margin-bottom:13px !important;
}

body.woocommerce-checkout .form-row label{
    margin-bottom:5px !important;
    color:#b8ac97 !important;
    font-size:10.5px !important;
    font-weight:500 !important;
}

body.woocommerce-checkout .form-row .required{
    color:#c99a3e !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container--default .select2-selection--single{
    width:100% !important;
    min-height:43px !important;
    padding:0 11px !important;
    border:1px solid #3a3128 !important;
    border-radius:2px !important;
    background:#171411 !important;
    color:#f3ecdf !important;
    font-family:'Archivo',sans-serif !important;
    font-size:11.5px !important;
    box-shadow:none !important;
}

body.woocommerce-checkout textarea{
    min-height:90px !important;
    padding:11px !important;
    resize:vertical;
}

body.woocommerce-checkout input.input-text::placeholder,
body.woocommerce-checkout textarea::placeholder{
    color:#746b60 !important;
}

body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus{
    border-color:#c99a3e !important;
    outline:none !important;
    box-shadow:0 0 0 2px rgba(201,154,62,.08) !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
    color:#f3ecdf !important;
    line-height:41px !important;
}

body.woocommerce-checkout .select2-dropdown,
body.woocommerce-checkout .select2-results{
    border-color:#3a3128 !important;
    background:#211c18 !important;
    color:#f3ecdf !important;
}

body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected]{
    background:#c99a3e !important;
    color:#1c1815 !important;
}

/* Pedido checkout */
body.woocommerce-checkout #order_review table.shop_table{
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#211c18 !important;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td{
    padding:13px 16px !important;
    border:0 !important;
    border-bottom:1px solid rgba(243,236,223,.10) !important;
    background:#211c18 !important;
    color:#b8ac97 !important;
    font-size:11px !important;
}

body.woocommerce-checkout #order_review table.shop_table thead th{
    color:#c99a3e !important;
    font-size:10px !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
}

body.woocommerce-checkout #order_review table.shop_table .product-name{
    color:#f3ecdf !important;
}

body.woocommerce-checkout #order_review table.shop_table .amount{
    color:#f3ecdf !important;
}

body.woocommerce-checkout #order_review table.shop_table .order-total th,
body.woocommerce-checkout #order_review table.shop_table .order-total td,
body.woocommerce-checkout #order_review table.shop_table .order-total .amount{
    color:#c99a3e !important;
    font-weight:700 !important;
}

body.woocommerce-checkout #payment{
    margin:0 !important;
    padding:0 !important;
    border-radius:0 0 3px 3px !important;
    background:#171411 !important;
    color:#f3ecdf !important;
}

body.woocommerce-checkout #payment ul.payment_methods{
    margin:0 !important;
    padding:16px !important;
    border-bottom:1px solid #3a3128 !important;
    background:#171411 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li{
    color:#f3ecdf !important;
    font-size:11.5px !important;
}

body.woocommerce-checkout #payment div.payment_box{
    margin:10px 0 !important;
    padding:12px !important;
    background:#211c18 !important;
    color:#b8ac97 !important;
    font-size:11px !important;
}

body.woocommerce-checkout #payment div.payment_box::before{
    border-bottom-color:#211c18 !important;
}

body.woocommerce-checkout #payment .place-order{
    margin:0 !important;
    padding:16px !important;
    background:#171411 !important;
}

body.woocommerce-checkout #payment .woocommerce-privacy-policy-text{
    margin-bottom:14px !important;
    color:#8f8373 !important;
    font-size:10.5px !important;
    line-height:1.5 !important;
}

body.woocommerce-checkout #place_order{
    width:100% !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 16px !important;
    border:1px solid #c99a3e !important;
    border-radius:2px !important;
    background:#c99a3e !important;
    color:#1c1815 !important;
    font-family:'Archivo',sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;
    box-shadow:none !important;
}

/* Mensaje de "no hay métodos de pago" sin azul WooCommerce. */
body.woocommerce-checkout #payment .woocommerce-notice,
body.woocommerce-checkout #payment .woocommerce-info{
    margin:0 !important;
    border:1px solid rgba(201,154,62,.25) !important;
    border-radius:2px !important;
    background:#211c18 !important;
    color:#b8ac97 !important;
}

/* ---------------------- MINI CARRITO ---------------------- */
.fn-mini-cart-panel{
    width:min(420px,calc(100vw - 28px)) !important;
}

.fn-cart-menu::after{
    width:420px !important;
}

.fn-mini-cart-fragment{
    border-color:rgba(201,154,62,.38) !important;
    background:#211c18 !important;
    box-shadow:0 24px 64px rgba(0,0,0,.46) !important;
}

.fn-mini-cart-head{
    min-height:72px !important;
    padding:15px 17px !important;
    background:#241f1a !important;
}

.fn-mini-cart-items{
    max-height:318px !important;
}

.fn-mini-cart-item{
    min-height:88px !important;
    padding:12px 15px !important;
    grid-template-columns:60px minmax(0,1fr) auto !important;
    gap:12px !important;
}

.fn-mini-cart-thumb{
    width:60px !important;
    height:60px !important;
}

.fn-mini-cart-name{
    margin-bottom:8px !important;
    display:-webkit-box !important;
    overflow:hidden !important;
    white-space:normal !important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    color:#f3ecdf !important;
    font-size:13.5px !important;
    line-height:1.22 !important;
}

.fn-mini-cart-qty-control{
    grid-template-columns:27px 32px 27px !important;
    border-color:#3a3128 !important;
    background:#171411 !important;
}

.fn-mini-cart-qty-btn{
    height:29px !important;
    color:#c99a3e !important;
}

.fn-mini-cart-qty-value{
    height:29px !important;
    color:#f3ecdf !important;
}

.fn-mini-cart-item-side{
    min-width:82px !important;
}

.fn-mini-cart-item-side .fn-mini-cart-price,
.fn-mini-cart-subtotal strong{
    color:#f3ecdf !important;
}

.fn-mini-cart-remove{
    border-color:rgba(201,154,62,.30) !important;
}

.fn-mini-cart-actions{
    padding:14px 15px 15px !important;
    gap:9px !important;
}

.fn-mini-cart-actions a{
    min-height:43px !important;
}

.fn-mini-cart-secondary{
    border-color:rgba(201,154,62,.50) !important;
    color:#f3ecdf !important;
}

/* ---------------------- CAPTURA ---------------------- */
body.fn-capture-mode.woocommerce-cart .woocommerce,
body.fn-capture-mode.woocommerce-checkout .woocommerce{
    padding-top:42px !important;
}

/* Permite dejar el mini carrito abierto manualmente en la captura. */
body.fn-capture-mode .fn-cart-menu.fn-capture-open .fn-mini-cart-panel{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
}

/* Responsive */
@media(max-width:900px){
    body.woocommerce-checkout form.checkout.woocommerce-checkout{
        grid-template-columns:1fr !important;
        grid-template-rows:auto !important;
        gap:22px !important;
    }

    body.woocommerce-checkout form.checkout #customer_details,
    body.woocommerce-checkout form.checkout #order_review_heading,
    body.woocommerce-checkout form.checkout #order_review{
        grid-column:1 !important;
        grid-row:auto !important;
    }

    body.woocommerce-cart .cart-collaterals{
        justify-content:stretch !important;
    }

    body.woocommerce-cart .cart-collaterals .cart_totals{
        width:100% !important;
    }
}

@media(max-width:760px){
    body.woocommerce-cart .woocommerce,
    body.woocommerce-checkout .woocommerce,
    body.woocommerce-order-received .woocommerce{
        padding:38px 16px 72px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form table.shop_table,
    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody,
    body.woocommerce-cart .woocommerce-cart-form table.shop_table tr,
    body.woocommerce-cart .woocommerce-cart-form table.shop_table td{
        display:block !important;
        width:100% !important;
    }

    body.woocommerce-cart .woocommerce-cart-form table.shop_table thead{
        display:none !important;
    }

    body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item{
        position:relative !important;
        padding:14px 14px 12px 86px !important;
        border-bottom:1px solid #3a3128 !important;
        background:#211c18 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td{
        padding:5px 0 !important;
        border:0 !important;
        text-align:left !important;
        background:transparent !important;
    }

    body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-remove{
        position:absolute !important;
        top:12px !important;
        right:12px !important;
        width:auto !important;
    }

    body.woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail{
        position:absolute !important;
        top:14px !important;
        left:14px !important;
        width:60px !important;
        padding:0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img{
        width:60px !important;
        height:60px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form td.actions{
        padding:13px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]{
        width:100% !important;
    }

    body.woocommerce-checkout #customer_details .col-1,
    body.woocommerce-checkout #customer_details .col-2{
        padding:17px !important;
    }

    .woocommerce-message:has(.fn-cart-added-copy){
        align-items:flex-start !important;
    }

    .woocommerce-message .fn-view-cart-button,
    .woocommerce-message a.button.wc-forward{
        width:100% !important;
    }

    .fn-mini-cart-panel{
        width:min(420px,calc(100vw - 24px)) !important;
        right:12px !important;
    }

    .fn-mini-cart-item{
        grid-template-columns:54px minmax(0,1fr) auto !important;
        padding:11px 12px !important;
    }

    .fn-mini-cart-thumb{
        width:54px !important;
        height:54px !important;
    }
}

@media(max-width:420px){
    .fn-mini-cart-actions{
        grid-template-columns:1fr !important;
    }
}


/* ==========================================================
   V108 — cupón aplicable desde la ficha de producto
   ========================================================== */

.single-product .fn-product-coupon-apply{
    width:100%;
    margin:10px 0 24px;
    padding:15px 17px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(270px,390px);
    align-items:end;
    gap:22px;
    border:1px solid rgba(201,154,62,.24);
    border-radius:3px;
    background:#211c18;
    box-sizing:border-box;
}

.single-product .fn-product-coupon-copy{
    min-width:0;
}

.single-product .fn-product-coupon-copy > span{
    display:block;
    margin:0 0 4px;
    color:#c99a3e;
    font-family:'Archivo',sans-serif;
    font-size:9px;
    font-weight:600;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.single-product .fn-product-coupon-copy > strong{
    display:block;
    margin:0 0 4px;
    color:#f3ecdf;
    font-family:'Fraunces',serif;
    font-size:17px;
    font-weight:500;
    line-height:1.2;
}

.single-product .fn-product-coupon-copy > p{
    max-width:560px;
    margin:0;
    color:#9f9383;
    font-family:'Archivo',sans-serif;
    font-size:10px;
    line-height:1.5;
}

.single-product .fn-product-coupon-form{
    min-width:0;
    margin:0;
}

.single-product .fn-product-coupon-form > label{
    display:block;
    margin:0 0 5px;
    color:#9f9383;
    font-family:'Archivo',sans-serif;
    font-size:9.5px;
}

.single-product .fn-product-coupon-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 88px;
    gap:7px;
}

.single-product .fn-product-coupon-row input{
    width:100% !important;
    height:38px !important;
    min-height:38px !important;
    margin:0 !important;
    padding:0 10px !important;
    border:1px solid #3a3128 !important;
    border-radius:2px !important;
    background:#171411 !important;
    color:#f3ecdf !important;
    font-family:'Archivo',sans-serif !important;
    font-size:11px !important;
    box-shadow:none !important;
}

.single-product .fn-product-coupon-row input::placeholder{
    color:#70675d !important;
}

.single-product .fn-product-coupon-row input:focus{
    border-color:#c99a3e !important;
    outline:none !important;
    box-shadow:0 0 0 2px rgba(201,154,62,.08) !important;
}

.single-product .fn-product-coupon-row button{
    min-height:38px !important;
    margin:0 !important;
    padding:0 11px !important;
    border:1px solid #c99a3e !important;
    border-radius:2px !important;
    background:#c99a3e !important;
    color:#1c1815 !important;
    font-family:'Archivo',sans-serif !important;
    font-size:10.5px !important;
    font-weight:700 !important;
    line-height:1 !important;
    cursor:pointer;
    box-shadow:none !important;
}

.single-product .fn-product-coupon-row button:hover{
    border-color:#ddb35c !important;
    background:#ddb35c !important;
}

.single-product .fn-product-coupon-status{
    display:block;
    margin-top:6px;
    color:#c99a3e;
    font-family:'Archivo',sans-serif;
    font-size:9px;
    line-height:1.35;
}

.single-product .fn-product-coupon-status.is-applied{
    color:#9fca78;
}

/* En captura debe quedar completamente visible debajo del beneficio. */
body.fn-capture-mode.single-product .fn-product-coupon-apply{
    opacity:1 !important;
    visibility:visible !important;
}

/* Mensajes que aparecen al guardar/aplicar el cupón en producto. */
.single-product .woocommerce-message,
.single-product .woocommerce-info,
.single-product .woocommerce-error{
    border-color:rgba(201,154,62,.28) !important;
    background:#211c18 !important;
    color:#f3ecdf !important;
}

@media(max-width:760px){
    .single-product .fn-product-coupon-apply{
        grid-template-columns:1fr;
        gap:12px;
        padding:14px;
    }
}

@media(max-width:420px){
    .single-product .fn-product-coupon-row{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   V109 — corrección icono en avisos WooCommerce
   ========================================================== */

/*
 * WooCommerce posiciona el icono con ::before en absoluto.
 * Reservamos espacio real a la izquierda para que nunca tape
 * el inicio del mensaje, incluyendo confirmación de cupón.
 */
body.faronueve-woocommerce .woocommerce-message,
body.faronueve-woocommerce .woocommerce-info,
body.faronueve-woocommerce .woocommerce-error,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error,
.single-product .woocommerce-message,
.single-product .woocommerce-info,
.single-product .woocommerce-error{
    position:relative !important;
    padding-left:52px !important;
}

body.faronueve-woocommerce .woocommerce-message::before,
body.faronueve-woocommerce .woocommerce-info::before,
body.faronueve-woocommerce .woocommerce-error::before,
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-error::before,
.single-product .woocommerce-message::before,
.single-product .woocommerce-info::before,
.single-product .woocommerce-error::before{
    position:absolute !important;
    top:50% !important;
    left:18px !important;
    margin:0 !important;
    transform:translateY(-50%) !important;
    line-height:1 !important;
    color:#c99a3e !important;
}

/* Si el aviso incluye botón, mantenemos el texto con buen aire. */
body.faronueve-woocommerce .woocommerce-message .button,
.single-product .woocommerce-message .button,
body.woocommerce-cart .woocommerce-message .button,
body.woocommerce-checkout .woocommerce-message .button{
    margin-left:auto !important;
}

@media(max-width:520px){
    body.faronueve-woocommerce .woocommerce-message,
    body.faronueve-woocommerce .woocommerce-info,
    body.faronueve-woocommerce .woocommerce-error,
    .single-product .woocommerce-message,
    .single-product .woocommerce-info,
    .single-product .woocommerce-error{
        padding-left:46px !important;
    }

    body.faronueve-woocommerce .woocommerce-message::before,
    body.faronueve-woocommerce .woocommerce-info::before,
    body.faronueve-woocommerce .woocommerce-error::before,
    .single-product .woocommerce-message::before,
    .single-product .woocommerce-info::before,
    .single-product .woocommerce-error::before{
        left:15px !important;
    }
}


/* ==========================================================
   V110 — cupón AJAX dentro del mini carrito
   ========================================================== */

.fn-mini-cart-totals{
    padding:10px 15px 11px;
    border-top:1px solid var(--fn-line);
    border-bottom:1px solid var(--fn-line);
    background:#1d1915;
}

.fn-mini-cart-total-row{
    min-height:24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    color:var(--fn-dim);
    font-size:10.5px;
}

.fn-mini-cart-total-row strong{
    color:var(--fn-ink) !important;
    font-size:11px;
    font-weight:600;
}

.fn-mini-cart-discount-row{
    color:#9fca78;
}

.fn-mini-cart-discount-row strong{
    color:#9fca78 !important;
}

.fn-mini-cart-final-total{
    min-height:31px;
    margin-top:4px;
    padding-top:7px;
    border-top:1px solid rgba(243,236,223,.10);
    color:var(--fn-ink);
    font-size:11px;
    font-weight:600;
}

.fn-mini-cart-final-total strong{
    color:var(--fn-gold) !important;
    font-family:'Fraunces',serif;
    font-size:15px;
    font-weight:500;
}

.fn-mini-cart-coupon-feedback{
    display:block;
    margin-top:8px;
    padding:7px 8px;
    border:1px solid rgba(159,202,120,.28);
    border-radius:2px;
    background:rgba(159,202,120,.06);
    color:#9fca78;
    font-size:9.5px;
    line-height:1.4;
}

.fn-mini-cart-coupon-feedback.is-error{
    border-color:rgba(218,112,112,.28);
    background:rgba(218,112,112,.06);
    color:#df9a9a;
}

.fn-mini-cart-coupon-applied-list{
    margin-top:8px;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.fn-mini-cart-coupon-chip{
    min-height:27px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:4px 5px 4px 8px;
    border:1px solid rgba(201,154,62,.26);
    border-radius:999px;
    background:#191512;
    color:var(--fn-gold);
    font-size:9px;
    line-height:1;
}

.fn-mini-cart-coupon-chip button{
    width:18px !important;
    height:18px !important;
    min-height:18px !important;
    display:grid !important;
    place-items:center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:rgba(201,154,62,.08) !important;
    color:var(--fn-gold) !important;
    font-size:13px !important;
    line-height:1 !important;
    cursor:pointer;
}

.fn-mini-cart-coupon-chip button:hover{
    background:rgba(201,154,62,.16) !important;
}

/* Mientras se aplica/quita cupón mantenemos el mini carrito visible y estable. */
.fn-mini-cart-fragment.is-updating .fn-mini-cart-coupon-form,
.fn-mini-cart-fragment.is-updating .fn-mini-cart-coupon-chip{
    pointer-events:none;
}

/* Compatibilidad con el nombre anterior de subtotal, por si queda en caché un fragmento viejo. */
.fn-mini-cart-subtotal{
    color:var(--fn-ink);
}


/* ==========================================================
   V112 — estado de cupón + buscador global de tienda
   ========================================================== */

/* El estado del cupón aplicado se muestra en dorado en todas las vistas de compra. */
.fn-mini-cart-coupon-chip,
.fn-mini-cart-coupon-chip > span,
.fn-purchase-coupon-applied,
.fn-product-coupon-status.is-applied,
body.woocommerce-cart .cart-discount th,
body.woocommerce-cart .cart-discount td,
body.woocommerce-cart .cart-discount .amount,
body.woocommerce-checkout .cart-discount th,
body.woocommerce-checkout .cart-discount td,
body.woocommerce-checkout .cart-discount .amount,
body.woocommerce-cart .woocommerce-remove-coupon,
body.woocommerce-checkout .woocommerce-remove-coupon{
    color:#c99a3e !important;
}

/* Buscador visible en Aromas, Regalería y Deco.
   Productos conserva su buscador propio del panel lateral. */
.fn-store-search{
    width:100%;
    margin:0 0 22px;
}

.fn-store-search-row{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) 110px;
    gap:8px;
}

.fn-store-search input[type="search"]{
    width:100% !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 13px !important;
    border:1px solid #3a3128 !important;
    border-radius:2px !important;
    background:#171411 !important;
    color:#f3ecdf !important;
    font-family:'Archivo',sans-serif !important;
    font-size:12px !important;
    box-shadow:none !important;
    outline:none !important;
}

.fn-store-search input[type="search"]::placeholder{
    color:#746b60 !important;
}

.fn-store-search input[type="search"]:focus{
    border-color:#c99a3e !important;
    box-shadow:0 0 0 2px rgba(201,154,62,.08) !important;
}

.fn-store-search button{
    min-height:42px !important;
    margin:0 !important;
    padding:0 14px !important;
    border:1px solid #c99a3e !important;
    border-radius:2px !important;
    background:#c99a3e !important;
    color:#1c1815 !important;
    font-family:'Archivo',sans-serif !important;
    font-size:11px !important;
    font-weight:700 !important;
    cursor:pointer;
    box-shadow:none !important;
}

.fn-store-search button:hover{
    border-color:#ddb35c !important;
    background:#ddb35c !important;
}

@media(max-width:560px){
    .fn-store-search-row{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   V113 — CUPÓN DEBAJO DE PRODUCTOS, MISMA ESTÉTICA
   ========================================================== */

/*
 * El cupón ahora forma visualmente parte del flujo de compra.
 * En carrito queda inmediatamente debajo de la tabla de productos;
 * en checkout queda después del resumen del pedido y antes del pago.
 */
body.woocommerce-cart .fn-purchase-coupon,
body.woocommerce-checkout .fn-purchase-coupon,
.fn-purchase-coupon--blocks{
    width:100% !important;
    max-width:none !important;
    margin:12px 0 26px !important;
    padding:0 !important;
    overflow:hidden !important;
    display:block !important;
    border:1px solid #3a3128 !important;
    border-radius:3px !important;
    background:#211c18 !important;
    color:#f3ecdf !important;
    box-shadow:none !important;
}

.fn-purchase-coupon-head{
    min-height:62px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:13px 16px;
    border-bottom:1px solid #3a3128;
    background:#241f1a;
}

.fn-purchase-coupon-kicker{
    flex:0 0 auto;
    min-width:max-content;
    margin:0 !important;
    padding-right:14px;
    border-right:1px solid rgba(243,236,223,.12);
    color:#c99a3e !important;
    font-family:'Archivo',sans-serif;
    font-size:10px !important;
    font-weight:700 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
}

.fn-purchase-coupon-title-wrap{
    min-width:0;
}

.fn-purchase-coupon-title-wrap > strong{
    display:block;
    margin:0 0 2px;
    color:#f3ecdf;
    font-family:'Fraunces',serif;
    font-size:16px;
    font-weight:500;
    line-height:1.2;
}

.fn-purchase-coupon-title-wrap > p{
    margin:0;
    color:#958a7a;
    font-family:'Archivo',sans-serif;
    font-size:10.5px;
    line-height:1.4;
}

.fn-purchase-coupon-form{
    padding:14px 16px 15px !important;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:6px;
    background:#211c18;
}

.fn-purchase-coupon-form > label{
    margin:0 !important;
    color:#958a7a !important;
    font-size:9.5px !important;
    line-height:1.3;
}

.fn-purchase-coupon-row{
    width:100%;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 104px !important;
    gap:8px !important;
}

.fn-purchase-coupon-row input{
    width:100% !important;
    height:40px !important;
    min-height:40px !important;
    margin:0 !important;
    padding:0 11px !important;
    border:1px solid #3a3128 !important;
    border-radius:2px !important;
    background:#171411 !important;
    color:#f3ecdf !important;
    font-family:'Archivo',sans-serif !important;
    font-size:11.5px !important;
    box-shadow:none !important;
}

.fn-purchase-coupon-row input::placeholder{
    color:#70675d !important;
}

.fn-purchase-coupon-row input:focus{
    border-color:#c99a3e !important;
    outline:none !important;
    box-shadow:0 0 0 2px rgba(201,154,62,.08) !important;
}

.fn-purchase-coupon-row button{
    min-height:40px !important;
    margin:0 !important;
    padding:0 12px !important;
    border:1px solid #c99a3e !important;
    border-radius:2px !important;
    background:#c99a3e !important;
    color:#1c1815 !important;
    font-family:'Archivo',sans-serif !important;
    font-size:10.5px !important;
    font-weight:700 !important;
    cursor:pointer;
    box-shadow:none !important;
}

.fn-purchase-coupon-row button:hover{
    border-color:#ddb35c !important;
    background:#ddb35c !important;
}

/*
 * Se genera solamente cuando WC()->cart->get_applied_coupons()
 * devuelve un cupón realmente aplicado.
 */
.fn-purchase-coupon-applied{
    display:block !important;
    width:max-content;
    margin:3px 0 0 !important;
    padding:5px 8px;
    border:1px solid rgba(201,154,62,.26);
    border-radius:999px;
    background:rgba(201,154,62,.06);
    color:#c99a3e !important;
    font-family:'Archivo',sans-serif;
    font-size:9.5px !important;
    font-weight:600;
    line-height:1.1;
}

/* En checkout el cupón vive dentro del bloque del pedido. */
body.woocommerce-checkout #order_review > .fn-purchase-coupon{
    margin:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-bottom:1px solid #3a3128 !important;
    border-radius:0 !important;
}

/* Woo Blocks: panel debajo del área de productos/resumen. */
.wc-block-cart .fn-purchase-coupon--blocks,
.wc-block-checkout .fn-purchase-coupon--blocks{
    margin-top:12px !important;
}

/* Captura: conservar el bloque en su nueva posición y totalmente visible. */
body.fn-capture-mode .fn-purchase-coupon{
    opacity:1 !important;
    visibility:visible !important;
}

@media(max-width:620px){
    .fn-purchase-coupon-head{
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
        padding:13px 14px;
    }

    .fn-purchase-coupon-kicker{
        padding-right:0;
        border-right:0;
    }

    .fn-purchase-coupon-form{
        padding:13px 14px 14px !important;
    }
}

@media(max-width:420px){
    .fn-purchase-coupon-row{
        grid-template-columns:1fr !important;
    }
}


/* ==========================================================
   V114 — CUPÓN COMPACTO EN LA FILA DE TOTALES
   ========================================================== */

/*
 * En Carrito el bloque del cupón comparte la misma fila visual
 * que "Total del carrito": cupón a la izquierda, totales a la derecha.
 */
body.woocommerce-cart .cart-collaterals{
    display:grid !important;
    grid-template-columns:minmax(280px, .8fr) minmax(420px, 1.2fr) !important;
    gap:20px !important;
    align-items:start !important;
    justify-content:stretch !important;
}

body.woocommerce-cart .cart-collaterals > .fn-purchase-coupon{
    grid-column:1 !important;
    width:100% !important;
    margin:0 !important;
    border:1px solid #3a3128 !important;
    border-radius:3px !important;
    background:#211c18 !important;
}

body.woocommerce-cart .cart-collaterals > .cart_totals{
    grid-column:2 !important;
    width:100% !important;
    margin:0 !important;
}

/* Cupón más chico y simple. */
body.woocommerce-cart .fn-purchase-coupon-head{
    min-height:auto !important;
    padding:11px 13px !important;
    gap:9px !important;
}

body.woocommerce-cart .fn-purchase-coupon-kicker{
    min-width:0 !important;
    padding-right:10px !important;
    font-size:9px !important;
}

body.woocommerce-cart .fn-purchase-coupon-title-wrap > strong{
    font-size:14px !important;
}

body.woocommerce-cart .fn-purchase-coupon-title-wrap > p{
    font-size:9.5px !important;
}

body.woocommerce-cart .fn-purchase-coupon-form{
    padding:11px 13px 12px !important;
    gap:5px !important;
}

body.woocommerce-cart .fn-purchase-coupon-row{
    grid-template-columns:minmax(0,1fr) 84px !important;
    gap:7px !important;
}

body.woocommerce-cart .fn-purchase-coupon-row input{
    height:36px !important;
    min-height:36px !important;
    font-size:10.5px !important;
}

body.woocommerce-cart .fn-purchase-coupon-row button{
    min-height:36px !important;
    font-size:10px !important;
}

/*
 * Volvemos al estado anterior:
 * texto simple dorado, sin chip/cápsula.
 * Este elemento solo existe cuando WooCommerce devuelve un cupón aplicado.
 */
.fn-purchase-coupon-applied{
    display:block !important;
    width:auto !important;
    margin:5px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#c99a3e !important;
    font-family:'Archivo',sans-serif !important;
    font-size:9.5px !important;
    font-weight:600 !important;
    line-height:1.35 !important;
}

/* Checkout mantiene el bloque compacto debajo del resumen del pedido. */
body.woocommerce-checkout #order_review > .fn-purchase-coupon{
    margin:0 !important;
}

/* Captura conserva exactamente esta composición. */
body.fn-capture-mode.woocommerce-cart .cart-collaterals{
    display:grid !important;
}

/* Responsive */
@media(max-width:900px){
    body.woocommerce-cart .cart-collaterals{
        grid-template-columns:1fr !important;
        gap:16px !important;
    }

    body.woocommerce-cart .cart-collaterals > .fn-purchase-coupon,
    body.woocommerce-cart .cart-collaterals > .cart_totals{
        grid-column:1 !important;
        width:100% !important;
    }
}

@media(max-width:520px){
    body.woocommerce-cart .fn-purchase-coupon-head{
        display:block !important;
    }

    body.woocommerce-cart .fn-purchase-coupon-kicker{
        display:block !important;
        margin-bottom:5px !important;
        padding-right:0 !important;
        border-right:0 !important;
    }

    body.woocommerce-cart .fn-purchase-coupon-row{
        grid-template-columns:1fr !important;
    }
}


/* ==========================================================
   V115 — ocultar título "Buscar productos"
   ========================================================== */

/* El buscador queda visible y funcional; solo se elimina su título redundante. */
.fn-shop-sidebar-title,
.fn-store-search-title,
.fn-search-title,
.woocommerce-product-search + .widget-title,
.widget_product_search .widget-title{
    display:none !important;
}


/* ==========================================================
   V116 — BUSCADOR DE CATEGORÍAS IGUAL A PRODUCTOS
   ========================================================== */

/*
 * Aromas, Regalería y Deco usan el mismo criterio visual del buscador
 * de Productos: fondo oscuro, texto crema y foco dorado.
 */
.fn-store-search{
    margin:0 0 22px !important;
}

.fn-store-search-row{
    width:100%;
    display:flex !important;
    gap:0 !important;
}

.fn-store-search input[type="search"]{
    flex:1 1 auto !important;
    width:100% !important;
    min-width:0 !important;
    height:44px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 12px !important;
    border:1px solid var(--fn-line) !important;
    border-right:0 !important;
    border-radius:0 !important;
    background:#211c18 !important;
    color:var(--fn-ink) !important;
    -webkit-text-fill-color:var(--fn-ink) !important;
    caret-color:var(--fn-gold) !important;
    font-family:'Archivo',sans-serif !important;
    font-size:12px !important;
    font-weight:400 !important;
    line-height:44px !important;
    outline:none !important;
    box-shadow:none !important;
    appearance:none !important;
    -webkit-appearance:none !important;
}

.fn-store-search input[type="search"]::placeholder{
    color:var(--fn-dim) !important;
    opacity:1 !important;
    -webkit-text-fill-color:var(--fn-dim) !important;
}

/* Al hacer clic nunca cambia a blanco. */
.fn-store-search input[type="search"]:focus,
.fn-store-search input[type="search"]:focus-visible,
.fn-store-search input[type="search"]:active{
    border-color:var(--fn-gold) !important;
    border-right:0 !important;
    background:#211c18 !important;
    color:var(--fn-ink) !important;
    -webkit-text-fill-color:var(--fn-ink) !important;
    outline:none !important;
    box-shadow:inset 0 0 0 1px rgba(201,154,62,.08) !important;
}

/* Chrome puede pintar de blanco/amarillo los campos autocompletados:
   forzamos el mismo fondo oscuro de la tienda. */
.fn-store-search input[type="search"]:-webkit-autofill,
.fn-store-search input[type="search"]:-webkit-autofill:hover,
.fn-store-search input[type="search"]:-webkit-autofill:focus,
.fn-store-search input[type="search"]:-webkit-autofill:active{
    -webkit-text-fill-color:var(--fn-ink) !important;
    caret-color:var(--fn-gold) !important;
    -webkit-box-shadow:0 0 0 1000px #211c18 inset !important;
    box-shadow:0 0 0 1000px #211c18 inset !important;
    border-color:var(--fn-gold) !important;
    transition:background-color 9999s ease-out 0s !important;
}

.fn-store-search button{
    flex:0 0 auto !important;
    min-width:82px !important;
    height:44px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 14px !important;
    border:1px solid var(--fn-gold) !important;
    border-radius:0 !important;
    background:var(--fn-gold) !important;
    color:#1c1815 !important;
    font-family:'Archivo',sans-serif !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1 !important;
    cursor:pointer !important;
    box-shadow:none !important;
}

.fn-store-search button:hover,
.fn-store-search button:focus{
    border-color:#ddb35c !important;
    background:#ddb35c !important;
    color:#1c1815 !important;
    outline:none !important;
}

/* El buscador de Productos recibe el mismo blindaje de color al hacer foco. */
.fn-shop-search .fn-search-row input[type="search"]{
    background:#211c18 !important;
    color:var(--fn-ink) !important;
    -webkit-text-fill-color:var(--fn-ink) !important;
    caret-color:var(--fn-gold) !important;
}

.fn-shop-search .fn-search-row input[type="search"]::placeholder{
    color:var(--fn-dim) !important;
    opacity:1 !important;
}

.fn-shop-search .fn-search-row input[type="search"]:focus,
.fn-shop-search .fn-search-row input[type="search"]:focus-visible,
.fn-shop-search .fn-search-row input[type="search"]:active{
    background:#211c18 !important;
    color:var(--fn-ink) !important;
    -webkit-text-fill-color:var(--fn-ink) !important;
    border-color:var(--fn-gold) !important;
    outline:none !important;
    box-shadow:none !important;
}

.fn-shop-search .fn-search-row input[type="search"]:-webkit-autofill,
.fn-shop-search .fn-search-row input[type="search"]:-webkit-autofill:hover,
.fn-shop-search .fn-search-row input[type="search"]:-webkit-autofill:focus{
    -webkit-text-fill-color:var(--fn-ink) !important;
    -webkit-box-shadow:0 0 0 1000px #211c18 inset !important;
    box-shadow:0 0 0 1000px #211c18 inset !important;
    caret-color:var(--fn-gold) !important;
}

@media(max-width:560px){
    .fn-store-search-row{
        display:flex !important;
    }

    .fn-store-search button{
        min-width:76px !important;
        padding:0 11px !important;
    }
}


/* ==========================================================
   V117 — BUSCADOR/CANTIDAD ALINEADOS COMO PRODUCTOS
   ========================================================== */

/* Ningún título visible "Buscar productos"; se conserva accesibilidad. */
.fn-shop-search > label,
.fn-store-search > label,
.widget_product_search .widget-title,
.widget_product_search .wp-block-heading,
.widget_product_search h2,
.widget_product_search h3,
.woocommerce-product-search .widget-title{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
}

/* Aromas / Regalería / Deco = misma composición de Productos. */
.fn-store__sidebar{
    min-width:0;
}

.fn-store__sidebar .fn-store-search{
    width:100%;
    margin:0 !important;
}

.fn-store__sidebar .fn-store-search-row{
    display:flex !important;
    width:100% !important;
    gap:0 !important;
}

.fn-store__sidebar .fn-store-search-row input[type="search"]{
    flex:1 1 auto !important;
    width:100% !important;
    min-width:0 !important;
    height:44px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 12px !important;
    border:1px solid var(--fn-line) !important;
    border-right:0 !important;
    border-radius:0 !important;
    background:#211c18 !important;
    color:var(--fn-ink) !important;
    -webkit-text-fill-color:var(--fn-ink) !important;
    caret-color:var(--fn-gold) !important;
    font-family:'Archivo',sans-serif !important;
    font-size:12px !important;
    line-height:44px !important;
    outline:none !important;
    box-shadow:none !important;
}

.fn-store__sidebar .fn-store-search-row input[type="search"]::placeholder{
    color:var(--fn-dim) !important;
    -webkit-text-fill-color:var(--fn-dim) !important;
    opacity:1 !important;
}

.fn-store__sidebar .fn-store-search-row input[type="search"]:focus,
.fn-store__sidebar .fn-store-search-row input[type="search"]:focus-visible,
.fn-store__sidebar .fn-store-search-row input[type="search"]:active{
    border-color:var(--fn-gold) !important;
    border-right:0 !important;
    background:#211c18 !important;
    color:var(--fn-ink) !important;
    -webkit-text-fill-color:var(--fn-ink) !important;
    outline:none !important;
    box-shadow:none !important;
}

.fn-store__sidebar .fn-store-search-row button{
    flex:0 0 auto !important;
    min-width:82px !important;
    height:44px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 14px !important;
    border:1px solid var(--fn-gold) !important;
    border-radius:0 !important;
    background:var(--fn-gold) !important;
    color:#1c1815 !important;
    font-family:'Archivo',sans-serif !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1 !important;
}

/*
 * 44 px buscador + 28 px margen = 72 px.
 * 54 px toolbar + 18 px padding inferior = 72 px.
 * Así ambas líneas quedan exactamente en la misma coordenada.
 */
.fn-store__sidebar .fn-filter-block{
    margin-top:28px !important;
    padding-top:24px !important;
    border-top:1px solid var(--fn-line) !important;
}

.fn-store-toolbar{
    min-height:54px !important;
    margin-bottom:24px !important;
    padding-bottom:18px !important;
    border-bottom:1px solid var(--fn-line) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:20px !important;
}

.fn-store-toolbar .fn-shop-result-count{
    color:var(--fn-dim) !important;
}

.fn-store__catalog-grid{
    grid-template-columns:270px minmax(0,1fr) !important;
    gap:42px !important;
    align-items:start !important;
}

/* Por seguridad, cualquier buscador antiguo de ancho completo queda fuera. */
.fn-store__catalog > .fn-store-search{
    display:none !important;
}

@media(max-width:980px){
    .fn-store__catalog-grid{
        grid-template-columns:1fr !important;
    }

    .fn-store__sidebar{
        order:2;
    }

    .fn-store__products{
        order:1;
    }
}

@media(max-width:560px){
    .fn-store__sidebar .fn-store-search-row{
        display:flex !important;
    }

    .fn-store__sidebar .fn-store-search-row button{
        min-width:76px !important;
        padding:0 11px !important;
    }
}


/* ==========================================================
   V118 — COMPRA MÁS COMPACTA Y PROLIJA
   ========================================================== */

/*
 * Carrito:
 * el bloque cupón + Total del carrito ya no ocupa casi todo el ancho.
 * Se mantiene alineado a la derecha de la tabla y con una proporción
 * compacta y consistente.
 */
body.woocommerce-cart .cart-collaterals{
    width:min(780px,100%) !important;
    max-width:780px !important;
    margin:24px 0 0 auto !important;
    display:grid !important;
    grid-template-columns:300px minmax(0,1fr) !important;
    gap:16px !important;
    align-items:start !important;
    justify-content:stretch !important;
}

body.woocommerce-cart .cart-collaterals > .fn-purchase-coupon{
    width:300px !important;
    max-width:300px !important;
    margin:0 !important;
}

body.woocommerce-cart .cart-collaterals > .cart_totals{
    width:100% !important;
    max-width:464px !important;
    margin:0 !important;
}

/* Cupón todavía más contenido. */
body.woocommerce-cart .fn-purchase-coupon-head{
    min-height:auto !important;
    padding:10px 11px !important;
    gap:8px !important;
}

body.woocommerce-cart .fn-purchase-coupon-kicker{
    padding-right:8px !important;
    font-size:8.5px !important;
}

body.woocommerce-cart .fn-purchase-coupon-title-wrap > strong{
    font-size:13px !important;
    line-height:1.15 !important;
}

body.woocommerce-cart .fn-purchase-coupon-title-wrap > p{
    margin-top:2px !important;
    font-size:9px !important;
    line-height:1.35 !important;
}

body.woocommerce-cart .fn-purchase-coupon-form{
    padding:10px 11px 11px !important;
}

body.woocommerce-cart .fn-purchase-coupon-form > label{
    font-size:9px !important;
}

body.woocommerce-cart .fn-purchase-coupon-row{
    grid-template-columns:minmax(0,1fr) 72px !important;
    gap:6px !important;
}

body.woocommerce-cart .fn-purchase-coupon-row input{
    height:34px !important;
    min-height:34px !important;
    padding-left:9px !important;
    padding-right:9px !important;
    font-size:10px !important;
}

body.woocommerce-cart .fn-purchase-coupon-row button{
    min-height:34px !important;
    padding-left:8px !important;
    padding-right:8px !important;
    font-size:9.5px !important;
}

/* Total del carrito compacto, sin perder legibilidad. */
body.woocommerce-cart .cart-collaterals .cart_totals > h2{
    padding:15px 17px !important;
    font-size:22px !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td{
    padding:11px 15px !important;
}

body.woocommerce-cart .wc-proceed-to-checkout{
    padding:13px 15px 15px !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    min-height:43px !important;
    font-size:11px !important;
}

/*
 * Checkout:
 * resumen del pedido, cupón y pago usan la misma escala compacta
 * que Total del carrito.
 */
body.woocommerce-checkout form.checkout.woocommerce-checkout{
    grid-template-columns:minmax(0,1fr) 430px !important;
    gap:0 30px !important;
}

body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review{
    width:430px !important;
    max-width:430px !important;
    justify-self:end !important;
}

body.woocommerce-checkout form.checkout #order_review_heading{
    padding:15px 17px !important;
    font-size:22px !important;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td{
    padding:11px 14px !important;
}

body.woocommerce-checkout #order_review > .fn-purchase-coupon{
    width:100% !important;
    max-width:430px !important;
}

body.woocommerce-checkout #order_review > .fn-purchase-coupon .fn-purchase-coupon-head{
    padding:10px 12px !important;
}

body.woocommerce-checkout #order_review > .fn-purchase-coupon .fn-purchase-coupon-form{
    padding:10px 12px 11px !important;
}

body.woocommerce-checkout #payment ul.payment_methods{
    padding:13px 14px !important;
}

body.woocommerce-checkout #payment .place-order{
    padding:14px !important;
}

body.woocommerce-checkout #place_order{
    min-height:43px !important;
    font-size:11px !important;
}

/*
 * Woo Blocks / cualquier vista moderna de compra:
 * mismo ancho máximo para que no vuelva a aparecer un panel enorme.
 */
.wc-block-cart .fn-purchase-coupon--blocks,
.wc-block-checkout .fn-purchase-coupon--blocks{
    max-width:430px !important;
}

.wc-block-checkout .fn-purchase-coupon--blocks{
    margin-left:auto !important;
}

/* Modo captura usa exactamente la misma geometría. */
body.fn-capture-mode.woocommerce-cart .cart-collaterals{
    width:min(780px,100%) !important;
    max-width:780px !important;
    margin-left:auto !important;
}

/* Tablet / móvil: ancho completo para no apretar demasiado el contenido. */
@media(max-width:900px){
    body.woocommerce-cart .cart-collaterals{
        width:100% !important;
        max-width:none !important;
        margin-top:20px !important;
        grid-template-columns:1fr !important;
        gap:14px !important;
    }

    body.woocommerce-cart .cart-collaterals > .fn-purchase-coupon,
    body.woocommerce-cart .cart-collaterals > .cart_totals{
        width:100% !important;
        max-width:none !important;
    }

    body.woocommerce-checkout form.checkout.woocommerce-checkout{
        grid-template-columns:1fr !important;
        gap:20px !important;
    }

    body.woocommerce-checkout form.checkout #order_review_heading,
    body.woocommerce-checkout form.checkout #order_review{
        width:100% !important;
        max-width:none !important;
        justify-self:stretch !important;
    }
}

@media(max-width:520px){
    body.woocommerce-cart .fn-purchase-coupon-row,
    body.woocommerce-checkout .fn-purchase-coupon-row{
        grid-template-columns:1fr !important;
    }
}


/* ==========================================================
   V119 — CAPTURA CHECKOUT ESTABLE + CALCULAR ENVÍO
   ========================================================== */

/*
 * FireShot / captura completa:
 * evitamos cualquier overflow horizontal que ensanche la imagen.
 */
html:has(body.fn-capture-mode.woocommerce-checkout),
body.fn-capture-mode.woocommerce-checkout{
    max-width:100% !important;
    overflow-x:hidden !important;
}

body.fn-capture-mode.woocommerce-checkout .woocommerce{
    width:min(1120px,calc(100vw - 48px)) !important;
    max-width:1120px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
}

body.fn-capture-mode.woocommerce-checkout form.checkout.woocommerce-checkout{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:minmax(0,1fr) 410px !important;
    gap:0 28px !important;
    overflow:visible !important;
}

body.fn-capture-mode.woocommerce-checkout #customer_details,
body.fn-capture-mode.woocommerce-checkout #customer_details .col-1,
body.fn-capture-mode.woocommerce-checkout #customer_details .col-2,
body.fn-capture-mode.woocommerce-checkout #order_review_heading,
body.fn-capture-mode.woocommerce-checkout #order_review,
body.fn-capture-mode.woocommerce-checkout .form-row,
body.fn-capture-mode.woocommerce-checkout .woocommerce-input-wrapper{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}

body.fn-capture-mode.woocommerce-checkout input,
body.fn-capture-mode.woocommerce-checkout textarea,
body.fn-capture-mode.woocommerce-checkout select,
body.fn-capture-mode.woocommerce-checkout .select2-container{
    max-width:100% !important;
    box-sizing:border-box !important;
}

body.fn-capture-mode.woocommerce-checkout .select2-container{
    width:100% !important;
}

/* ---------------------- CALCULAR ENVÍO ---------------------- */

.fn-purchase-shipping{
    overflow:hidden;
    border:1px solid #3a3128;
    border-radius:3px;
    background:#211c18;
    color:#f3ecdf;
    box-sizing:border-box;
}

.fn-purchase-shipping-head{
    padding:10px 12px;
    border-bottom:1px solid #3a3128;
    background:#241f1a;
}

.fn-purchase-shipping-head > span{
    display:block;
    margin:0 0 2px;
    color:#c99a3e;
    font-family:'Fraunces',serif;
    font-size:14px;
    font-weight:500;
    line-height:1.2;
}

.fn-purchase-shipping-head > p{
    margin:0;
    color:#958a7a;
    font-family:'Archivo',sans-serif;
    font-size:9px;
    line-height:1.4;
}

.fn-purchase-shipping-form{
    padding:10px 12px 12px;
}

.fn-purchase-shipping-form label{
    display:block;
    min-width:0;
}

.fn-purchase-shipping-form label > span{
    display:block;
    margin-bottom:4px;
    color:#958a7a;
    font-family:'Archivo',sans-serif;
    font-size:9px;
    line-height:1.3;
}

.fn-purchase-shipping-form select,
.fn-purchase-shipping-form input{
    width:100% !important;
    height:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 9px !important;
    border:1px solid #3a3128 !important;
    border-radius:2px !important;
    background:#171411 !important;
    color:#f3ecdf !important;
    -webkit-text-fill-color:#f3ecdf !important;
    font-family:'Archivo',sans-serif !important;
    font-size:10px !important;
    box-shadow:none !important;
    outline:none !important;
    box-sizing:border-box !important;
}

.fn-purchase-shipping-form select:focus,
.fn-purchase-shipping-form input:focus{
    border-color:#c99a3e !important;
    background:#171411 !important;
    color:#f3ecdf !important;
    outline:none !important;
    box-shadow:none !important;
}

.fn-purchase-shipping-row{
    margin-top:7px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 118px;
    gap:7px;
}

.fn-purchase-shipping-form > button{
    width:100%;
    min-height:34px !important;
    margin:9px 0 0 !important;
    padding:0 10px !important;
    border:1px solid #c99a3e !important;
    border-radius:2px !important;
    background:#c99a3e !important;
    color:#1c1815 !important;
    font-family:'Archivo',sans-serif !important;
    font-size:9.5px !important;
    font-weight:700 !important;
    cursor:pointer;
    box-shadow:none !important;
}

/*
 * Carrito:
 * cupón + envío en la columna izquierda,
 * Total del carrito ocupa la derecha y acompaña ambos.
 */
body.woocommerce-cart .cart-collaterals{
    grid-template-columns:300px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
}

body.woocommerce-cart .cart-collaterals > .fn-purchase-coupon{
    grid-column:1 !important;
    grid-row:1 !important;
}

body.woocommerce-cart .cart-collaterals > .fn-purchase-shipping{
    grid-column:1 !important;
    grid-row:2 !important;
    width:300px !important;
    max-width:300px !important;
    margin:0 !important;
}

body.woocommerce-cart .cart-collaterals > .cart_totals{
    grid-column:2 !important;
    grid-row:1 / span 2 !important;
    align-self:start !important;
}

/* Checkout: cupón + envío antes del bloque de pago. */
body.woocommerce-checkout #order_review > .fn-purchase-shipping{
    width:100% !important;
    max-width:430px !important;
    margin:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-bottom:1px solid #3a3128 !important;
    border-radius:0 !important;
}

/* Mini carrito: feedback y línea de envío calculado. */
.fn-mini-cart-shipping-total-row{
    color:#b8ac97;
}

.fn-mini-cart-shipping-total-row strong{
    color:#f3ecdf !important;
}

.fn-mini-cart-shipping-feedback{
    display:block;
    margin-top:8px;
    padding:7px 8px;
    border:1px solid rgba(159,202,120,.28);
    border-radius:2px;
    background:rgba(159,202,120,.06);
    color:#9fca78;
    font-size:9.5px;
    line-height:1.4;
}

.fn-mini-cart-shipping-feedback.is-error{
    border-color:rgba(218,112,112,.28);
    background:rgba(218,112,112,.06);
    color:#df9a9a;
}

/* Captura incluye el calculador en su lugar exacto. */
body.fn-capture-mode .fn-purchase-shipping{
    opacity:1 !important;
    visibility:visible !important;
}

/* Responsive */
@media(max-width:900px){
    body.woocommerce-cart .cart-collaterals{
        grid-template-columns:1fr !important;
        grid-template-rows:auto !important;
    }

    body.woocommerce-cart .cart-collaterals > .fn-purchase-coupon,
    body.woocommerce-cart .cart-collaterals > .fn-purchase-shipping,
    body.woocommerce-cart .cart-collaterals > .cart_totals{
        grid-column:1 !important;
        grid-row:auto !important;
        width:100% !important;
        max-width:none !important;
    }

    body.fn-capture-mode.woocommerce-checkout .woocommerce{
        width:calc(100vw - 32px) !important;
    }

    body.fn-capture-mode.woocommerce-checkout form.checkout.woocommerce-checkout{
        grid-template-columns:1fr !important;
        gap:20px !important;
    }
}

@media(max-width:520px){
    .fn-purchase-shipping-row{
        grid-template-columns:1fr !important;
    }
}


/* ==========================================================
   V120 — CAPTURA ESTABLE EN FICHA DE PRODUCTO
   ========================================================== */

/*
 * FireShot puede interpretar el carrusel horizontal de relacionados como
 * contenido más ancho que la ventana y ensanchar la parte inferior de la
 * captura. En ?captura=1 fijamos toda la ficha a un ancho central estable.
 */
html:has(body.fn-capture-mode.single-product),
body.fn-capture-mode.single-product{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
}

body.fn-capture-mode.single-product .site,
body.fn-capture-mode.single-product #page,
body.fn-capture-mode.single-product .site-content,
body.fn-capture-mode.single-product .content-area,
body.fn-capture-mode.single-product .site-main,
body.fn-capture-mode.single-product article,
body.fn-capture-mode.single-product .entry-content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
}

body.fn-capture-mode.single-product .site-content > .ast-container,
body.fn-capture-mode.single-product .ast-container{
    width:min(1280px,calc(100vw - 48px)) !important;
    max-width:1280px !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
}

body.fn-capture-mode.single-product .site-main > .woocommerce,
body.fn-capture-mode.single-product main > .woocommerce,
body.fn-capture-mode.single-product .woocommerce > div.product{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
}

/*
 * Galería, resumen, tabs y textos nunca pueden crear un ancho mayor
 * al contenedor durante el barrido de FireShot.
 */
body.fn-capture-mode.single-product .woocommerce-product-gallery,
body.fn-capture-mode.single-product .summary.entry-summary,
body.fn-capture-mode.single-product .woocommerce-tabs,
body.fn-capture-mode.single-product .woocommerce-tabs .panel,
body.fn-capture-mode.single-product .woocommerce-tabs .panel *,
body.fn-capture-mode.single-product .related.products,
body.fn-capture-mode.single-product .upsells.products{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}

/* En captura se muestra el carrusel dentro del ancho de la ficha. */
body.fn-capture-mode.single-product .related.products,
body.fn-capture-mode.single-product .upsells.products{
    width:100% !important;
    overflow:hidden !important;
}
body.fn-capture-mode.single-product .related.products ul.products,
body.fn-capture-mode.single-product .upsells.products ul.products{
    display:flex !important;
    flex-wrap:nowrap !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    scroll-behavior:smooth !important;
    transform:none !important;
}

/* El footer tampoco puede aportar ancho extra a la captura. */
body.fn-capture-mode.single-product .fn-site-footer{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

body.fn-capture-mode.single-product .fn-site-footer-wrap{
    width:min(1280px,calc(100vw - 48px)) !important;
    max-width:1280px !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

/* WhatsApp / volver arriba no deben alterar el ancho documental. */
body.fn-capture-mode.single-product .fn-global-joinchat,
body.fn-capture-mode.single-product .fn-global-top{
    max-width:calc(100vw - 32px) !important;
}

/* Móvil mantiene los márgenes del modo captura. */
@media(max-width:760px){
    body.fn-capture-mode.single-product .site-content > .ast-container,
    body.fn-capture-mode.single-product .ast-container,
    body.fn-capture-mode.single-product .fn-site-footer-wrap{
        width:calc(100vw - 32px) !important;
    }
}

/* ==========================================================
   V121 — BOTONES FLOTANTES VISIBLES EN CAPTURA
   ========================================================== */

/*
 * En ?captura=1 los botones flotantes deben verse dentro del viewport,
 * sin participar del ancho documental de FireShot.
 */
body.fn-capture-mode .fn-global-top,
body.fn-capture-mode .fn-global-joinchat{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:fixed !important;
    z-index:999999 !important;
    transform:none !important;
    pointer-events:auto !important;
    max-width:none !important;
}

/* Subir arriba: esquina inferior izquierda */
body.fn-capture-mode .fn-global-top{
    left:18px !important;
    right:auto !important;
    bottom:18px !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
}

/* WhatsApp: esquina inferior derecha */
body.fn-capture-mode .fn-global-joinchat{
    right:18px !important;
    left:auto !important;
    bottom:18px !important;
}

/*
 * Si el widget incluye panel o texto auxiliar, solo el botón flotante
 * forma parte del estado cerrado de captura; el panel sigue pudiendo
 * abrirse manualmente como antes.
 */
body.fn-capture-mode .fn-global-joinchat:not(.is-open):not(.fn-capture-open) .fn-whatsapp-panel{
    display:none !important;
}

/* No deben generar scroll o ancho extra en FireShot. */
body.fn-capture-mode .fn-global-top,
body.fn-capture-mode .fn-global-joinchat,
body.fn-capture-mode .fn-global-joinchat *{
    box-sizing:border-box !important;
}

/* En ficha de producto V120, anulamos la limitación que podía recortarlos. */
body.fn-capture-mode.single-product .fn-global-joinchat,
body.fn-capture-mode.single-product .fn-global-top{
    max-width:none !important;
    overflow:visible !important;
}

/* Captura móvil */
@media(max-width:600px){
    body.fn-capture-mode .fn-global-top{
        left:12px !important;
        bottom:12px !important;
    }

    body.fn-capture-mode .fn-global-joinchat{
        right:12px !important;
        bottom:12px !important;
    }
}


/* ==========================================================
   V122 — CONTROLES CORRECTOS EN DETALLE + SIN BARRA LATERAL
   ========================================================== */

/*
 * En la ficha normal de producto garantizamos los mismos dos botones
 * flotantes que en el resto de la tienda.
 */
body.single-product .fn-global-top{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    position:fixed !important;
    left:24px !important;
    right:auto !important;
    bottom:24px !important;
    top:auto !important;
    z-index:10040 !important;
    width:52px !important;
    height:52px !important;
    overflow:visible !important;
}

body.single-product .fn-global-joinchat{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:fixed !important;
    right:24px !important;
    left:auto !important;
    bottom:24px !important;
    top:auto !important;
    z-index:10040 !important;
    overflow:visible !important;
}

/*
 * En captura de detalle ocultamos únicamente los controles originales
 * y usamos dos copias absolutas al final del documento. Así FireShot
 * los incluye una sola vez y no alteran el ancho de la página.
 */
body.fn-capture-mode.single-product .fn-capture-original-control{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

.fn-single-product-capture-controls{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:58px !important;
    z-index:999999 !important;
    pointer-events:none !important;
    box-sizing:border-box !important;
}

.fn-single-product-capture-controls .fn-capture-static-top,
.fn-single-product-capture-controls .fn-capture-static-whatsapp{
    position:absolute !important;
    bottom:0 !important;
    display:grid !important;
    place-items:center !important;
    text-decoration:none !important;
    pointer-events:auto !important;
    box-sizing:border-box !important;
}

.fn-single-product-capture-controls .fn-capture-static-top{
    left:var(--fn-capture-gap,24px) !important;
    width:52px !important;
    height:52px !important;
    border-radius:50% !important;
    background:#c99a3e !important;
    color:#1c1815 !important;
    font:700 22px/1 'Archivo',sans-serif !important;
    box-shadow:0 10px 24px -8px rgba(0,0,0,.55) !important;
}

.fn-single-product-capture-controls .fn-capture-static-whatsapp{
    right:var(--fn-capture-gap,24px) !important;
    width:58px !important;
    height:58px !important;
    border-radius:50% !important;
    background:#25d366 !important;
    box-shadow:0 8px 24px rgba(0,0,0,.34) !important;
}

.fn-single-product-capture-controls .fn-capture-static-whatsapp svg{
    width:31px !important;
    height:31px !important;
    fill:#fff !important;
}

/*
 * Quitar cualquier barra de scroll visible en el modo captura del detalle.
 * FireShot sigue pudiendo recorrer toda la página; solo ocultamos la barra.
 */
html:has(body.fn-capture-mode.single-product),
body.fn-capture-mode.single-product{
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
}

html:has(body.fn-capture-mode.single-product)::-webkit-scrollbar,
body.fn-capture-mode.single-product::-webkit-scrollbar,
body.fn-capture-mode.single-product *::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
    display:none !important;
}

body.fn-capture-mode.single-product *{
    scrollbar-width:none !important;
}

/*
 * También ocultamos cualquier control lateral de scroll aportado por
 * Astra/tema/plugin. Solo quedan nuestros dos botones.
 */
body.single-product #scrollUp,
body.single-product #scroll-up,
body.single-product #scroll-to-top,
body.single-product #back-to-top,
body.single-product #backtotop,
body.single-product #topcontrol,
body.single-product .scroll-to-top:not(.fn-global-top),
body.single-product .scroll-to-top-button:not(.fn-global-top),
body.single-product .scroll-top:not(.fn-global-top),
body.single-product .scrollup:not(.fn-global-top),
body.single-product .back-to-top:not(.fn-global-top),
body.single-product .backtotop:not(.fn-global-top),
body.single-product .to-top:not(.fn-global-top),
body.single-product .go-top:not(.fn-global-top),
body.single-product .return-to-top:not(.fn-global-top),
body.single-product .ast-scroll-top-icon,
body.single-product .ast-scroll-to-top-right,
body.single-product .ast-scroll-to-top-left{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

/* En captura no permitimos que los controles dedicados creen overflow. */
body.fn-capture-mode.single-product .fn-single-product-capture-controls{
    max-width:100% !important;
    overflow:visible !important;
}

/* Móvil */
@media(max-width:600px){
    body.single-product .fn-global-top{
        left:16px !important;
        bottom:16px !important;
        width:46px !important;
        height:46px !important;
    }

    body.single-product .fn-global-joinchat{
        right:16px !important;
        bottom:16px !important;
    }

    .fn-single-product-capture-controls{
        height:54px !important;
    }

    .fn-single-product-capture-controls .fn-capture-static-top{
        width:46px !important;
        height:46px !important;
    }

    .fn-single-product-capture-controls .fn-capture-static-whatsapp{
        width:54px !important;
        height:54px !important;
    }
}


/* ==========================================================
   V123 — FLECHA CORRECTA EN TODAS LAS CAPTURAS
   ========================================================== */

/*
 * En captura no usamos el botón original de subir arriba.
 * FireShot lo estaba escalando/posicionando de forma inconsistente.
 */
body.fn-capture-mode .fn-global-top{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

/* En detalle V122 existía otra copia; la anulamos para no duplicar flechas. */
body.fn-capture-mode.single-product .fn-single-product-capture-controls .fn-capture-static-top{
    display:none !important;
}

/*
 * Botón exclusivo de captura.
 * Absoluto al final del documento para que aparezca una sola vez en FireShot.
 */
.fn-capture-global-top{
    position:absolute !important;
    right:auto !important;
    bottom:auto !important;
    z-index:999999 !important;
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    min-height:52px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:50% !important;
    background:#c99a3e !important;
    color:#1c1815 !important;
    text-decoration:none !important;
    box-shadow:0 10px 24px -8px rgba(0,0,0,.55) !important;
    transform:none !important;
    box-sizing:border-box !important;
    line-height:1 !important;
}

/* Flecha dibujada, no dependemos del glifo ↑ de la tipografía. */
.fn-capture-global-top svg{
    width:23px !important;
    height:23px !important;
    display:block !important;
    overflow:visible !important;
    fill:none !important;
    stroke:#1c1815 !important;
    stroke-width:2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

/* No debe crear ancho extra en ninguna captura. */
body.fn-capture-mode .fn-capture-global-top{
    max-width:52px !important;
}

/*
 * WhatsApp continúa con el comportamiento existente.
 * En detalle de producto V122 conserva su copia dedicada.
 */
body.fn-capture-mode.single-product .fn-single-product-capture-controls{
    pointer-events:none !important;
}

/* Móvil */
@media(max-width:600px){
    .fn-capture-global-top{
        width:46px !important;
        height:46px !important;
        min-width:46px !important;
        min-height:46px !important;
    }

    .fn-capture-global-top svg{
        width:21px !important;
        height:21px !important;
    }

    body.fn-capture-mode .fn-capture-global-top{
        max-width:46px !important;
    }
}


/* ==========================================================
   V124 — DETALLE DE PRODUCTO SIN ESTIRAMIENTO EN CAPTURA
   ========================================================== */

/*
 * En la ficha de producto, los controles de captura viven DENTRO del footer.
 * No se posicionan usando el alto total del documento y por lo tanto
 * no pueden aumentar el largo que FireShot calcula.
 */
body.fn-capture-mode.single-product .fn-site-footer,
body.fn-capture-mode.single-product footer.site-footer,
body.fn-capture-mode.single-product #colophon{
    position:relative !important;
    overflow:visible !important;
}

body.fn-capture-mode.single-product .fn-single-product-footer-controls{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:18px !important;
    top:auto !important;
    width:100% !important;
    height:58px !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    z-index:999999 !important;
    pointer-events:none !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}

/* Volvemos a mostrar la flecha estática de V122 dentro del footer. */
body.fn-capture-mode.single-product .fn-single-product-footer-controls .fn-capture-static-top{
    position:absolute !important;
    left:var(--fn-capture-gap,24px) !important;
    right:auto !important;
    bottom:0 !important;
    top:auto !important;
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    min-height:52px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    border:0 !important;
    border-radius:50% !important;
    background:#c99a3e !important;
    color:#1c1815 !important;
    text-decoration:none !important;
    box-shadow:0 10px 24px -8px rgba(0,0,0,.55) !important;
    pointer-events:auto !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

body.fn-capture-mode.single-product .fn-single-product-footer-controls .fn-capture-static-top svg{
    width:23px !important;
    height:23px !important;
    display:block !important;
    fill:none !important;
    stroke:#1c1815 !important;
    stroke-width:2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

/* WhatsApp anclado al mismo footer, derecha. */
body.fn-capture-mode.single-product .fn-single-product-footer-controls .fn-capture-static-whatsapp{
    position:absolute !important;
    right:var(--fn-capture-gap,24px) !important;
    left:auto !important;
    bottom:0 !important;
    top:auto !important;
    width:58px !important;
    height:58px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    border:0 !important;
    border-radius:50% !important;
    background:#25d366 !important;
    text-decoration:none !important;
    box-shadow:0 8px 24px rgba(0,0,0,.34) !important;
    pointer-events:auto !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

body.fn-capture-mode.single-product .fn-single-product-footer-controls .fn-capture-static-whatsapp svg{
    width:31px !important;
    height:31px !important;
    fill:#fff !important;
}

/*
 * La flecha global de V123 no existe en detalle de producto.
 * Esto evita que un elemento absoluto al final del body altere scrollHeight.
 */
body.fn-capture-mode.single-product .fn-capture-global-top{
    display:none !important;
}

/* Los controles originales siguen ocultos solo en captura. */
body.fn-capture-mode.single-product .fn-global-top.fn-capture-original-control,
body.fn-capture-mode.single-product .fn-global-joinchat.fn-capture-original-control{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

/*
 * Importante: no añadimos padding ni min-height al footer.
 * Los botones se apoyan sobre el espacio existente, sin sumar alto.
 */
body.fn-capture-mode.single-product .fn-site-footer,
body.fn-capture-mode.single-product footer.site-footer,
body.fn-capture-mode.single-product #colophon{
    min-height:0 !important;
}

/* Móvil */
@media(max-width:600px){
    body.fn-capture-mode.single-product .fn-single-product-footer-controls{
        bottom:12px !important;
        height:54px !important;
    }

    body.fn-capture-mode.single-product .fn-single-product-footer-controls .fn-capture-static-top{
        width:46px !important;
        height:46px !important;
        min-width:46px !important;
        min-height:46px !important;
    }

    body.fn-capture-mode.single-product .fn-single-product-footer-controls .fn-capture-static-top svg{
        width:21px !important;
        height:21px !important;
    }

    body.fn-capture-mode.single-product .fn-single-product-footer-controls .fn-capture-static-whatsapp{
        width:54px !important;
        height:54px !important;
    }
}


/* ==========================================================
   V125 — CUPÓN + ENVÍO + TOTAL COMO UN SOLO PANEL
   ========================================================== */

/*
 * MINI CARRITO DEL MENÚ:
 * no se toca. Estas reglas solo afectan Carrito y Checkout.
 */

/* ---------------------- CARRITO ---------------------- */

/*
 * Un solo bloque compacto, alineado a la derecha:
 * 1) cupón
 * 2) calcular envío
 * 3) total del carrito
 */
body.woocommerce-cart .cart-collaterals{
    width:min(520px,100%) !important;
    max-width:520px !important;
    margin:24px 0 0 auto !important;
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    align-items:stretch !important;
}

/* Los tres bloques pasan a comportarse como secciones del mismo panel. */
body.woocommerce-cart .cart-collaterals > .fn-purchase-coupon,
body.woocommerce-cart .cart-collaterals > .fn-purchase-shipping,
body.woocommerce-cart .cart-collaterals > .cart_totals{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    border-left:1px solid #3a3128 !important;
    border-right:1px solid #3a3128 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

/* Primera sección: cupón */
body.woocommerce-cart .cart-collaterals > .fn-purchase-coupon{
    order:1 !important;
    border-top:1px solid #3a3128 !important;
    border-bottom:0 !important;
    border-radius:3px 3px 0 0 !important;
}

/* Segunda sección: envío */
body.woocommerce-cart .cart-collaterals > .fn-purchase-shipping{
    order:2 !important;
    border-top:1px solid #3a3128 !important;
    border-bottom:0 !important;
}

/* Tercera sección: total */
body.woocommerce-cart .cart-collaterals > .cart_totals{
    order:3 !important;
    border-top:1px solid #3a3128 !important;
    border-bottom:1px solid #3a3128 !important;
    border-radius:0 0 3px 3px !important;
    overflow:hidden !important;
}

/* Cabeceras unificadas: compactas y con la misma altura visual. */
body.woocommerce-cart .fn-purchase-coupon-head,
body.woocommerce-cart .fn-purchase-shipping-head,
body.woocommerce-cart .cart_totals > h2{
    min-height:auto !important;
    margin:0 !important;
    padding:12px 14px !important;
    border:0 !important;
    border-bottom:1px solid #3a3128 !important;
    background:#241f1a !important;
    box-sizing:border-box !important;
}

body.woocommerce-cart .fn-purchase-coupon-title-wrap > strong,
body.woocommerce-cart .fn-purchase-shipping-head > span,
body.woocommerce-cart .cart_totals > h2{
    color:#f3ecdf !important;
    font-family:'Fraunces',serif !important;
    font-size:16px !important;
    font-weight:500 !important;
    line-height:1.2 !important;
}

body.woocommerce-cart .fn-purchase-coupon-kicker{
    color:#c99a3e !important;
    font-size:8.5px !important;
}

body.woocommerce-cart .fn-purchase-coupon-title-wrap > p,
body.woocommerce-cart .fn-purchase-shipping-head > p{
    margin-top:2px !important;
    color:#958a7a !important;
    font-size:9.5px !important;
    line-height:1.35 !important;
}

/* Formularios internos con el mismo ritmo. */
body.woocommerce-cart .fn-purchase-coupon-form,
body.woocommerce-cart .fn-purchase-shipping-form{
    padding:12px 14px 13px !important;
    background:#211c18 !important;
}

/* Total: mismo panel, sin borde doble interno. */
body.woocommerce-cart .cart_totals table.shop_table{
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
}

body.woocommerce-cart .cart_totals .wc-proceed-to-checkout{
    border-top:1px solid #3a3128 !important;
}

/* ---------------------- CHECKOUT ---------------------- */

/*
 * En Finalizar compra ya viven dentro de #order_review.
 * Los hacemos parecer un único panel continuo:
 * resumen -> cupón -> envío -> pago.
 */
body.woocommerce-checkout #order_review{
    overflow:hidden !important;
}

body.woocommerce-checkout #order_review > .fn-purchase-coupon,
body.woocommerce-checkout #order_review > .fn-purchase-shipping,
body.woocommerce-checkout #payment{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

body.woocommerce-checkout #order_review > .fn-purchase-coupon{
    border-top:1px solid #3a3128 !important;
    border-bottom:0 !important;
}

body.woocommerce-checkout #order_review > .fn-purchase-shipping{
    border-top:1px solid #3a3128 !important;
    border-bottom:0 !important;
}

body.woocommerce-checkout #payment{
    border-top:1px solid #3a3128 !important;
    border-radius:0 0 3px 3px !important;
}

/* Misma escala visual que Carrito. */
body.woocommerce-checkout #order_review .fn-purchase-coupon-head,
body.woocommerce-checkout #order_review .fn-purchase-shipping-head{
    padding:11px 13px !important;
    border-bottom:1px solid #3a3128 !important;
    background:#241f1a !important;
}

body.woocommerce-checkout #order_review .fn-purchase-coupon-form,
body.woocommerce-checkout #order_review .fn-purchase-shipping-form{
    padding:11px 13px 12px !important;
    background:#211c18 !important;
}

/* El total del pedido mantiene el mismo color dorado de énfasis. */
body.woocommerce-checkout #order_review table.shop_table .order-total th,
body.woocommerce-checkout #order_review table.shop_table .order-total td,
body.woocommerce-checkout #order_review table.shop_table .order-total .amount,
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td,
body.woocommerce-cart .cart_totals .order-total .amount{
    color:#c99a3e !important;
}

/* Captura: misma composición, sin cambiar alto ni ancho. */
body.fn-capture-mode.woocommerce-cart .cart-collaterals{
    width:min(520px,100%) !important;
    max-width:520px !important;
    margin-left:auto !important;
}

/* Responsive: bloque único ocupa el ancho disponible. */
@media(max-width:900px){
    body.woocommerce-cart .cart-collaterals{
        width:100% !important;
        max-width:none !important;
    }
}

/* V130: controles de captura apoyados en el footer, sin alterar su altura. */
body.fn-capture-mode .fn-global-top,
body.fn-capture-mode .fn-global-joinchat,
body.fn-capture-mode .fn-capture-global-top{
    display:none !important;
}

body.fn-capture-mode .fn-site-footer,
body.fn-capture-mode footer.site-footer,
body.fn-capture-mode #colophon{
    position:relative !important;
}

body.fn-capture-mode .fn-capture-footer-controls{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:18px !important;
    width:100% !important;
    height:58px !important;
    z-index:999999 !important;
    pointer-events:none !important;
    box-sizing:border-box !important;
}

body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-top,
body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-whatsapp{
    position:absolute !important;
    bottom:0 !important;
    display:grid !important;
    place-items:center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    text-decoration:none !important;
    pointer-events:auto !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-top{
    left:var(--fn-capture-gap,24px) !important;
    width:52px !important;
    height:52px !important;
    background:#c99a3e !important;
    box-shadow:0 10px 24px -8px rgba(0,0,0,.55) !important;
}

body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-top svg{
    display:block !important;
    width:23px !important;
    height:23px !important;
    fill:none !important;
    stroke:#1c1815 !important;
    stroke-width:2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-whatsapp{
    right:var(--fn-capture-gap,24px) !important;
    width:58px !important;
    height:58px !important;
    background:#25d366 !important;
    box-shadow:0 8px 24px rgba(0,0,0,.34) !important;
}

body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-whatsapp svg{
    width:31px !important;
    height:31px !important;
    fill:#fff !important;
}

body.fn-capture-mode .fn-capture-footer-controls.fn-capture-fallback{
    position:fixed !important;
    bottom:16px !important;
}

@media(max-width:600px){
    body.fn-capture-mode .fn-capture-footer-controls{
        bottom:12px !important;
        height:54px !important;
    }
    body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-top{
        width:46px !important;
        height:46px !important;
    }
    body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-top svg{
        width:21px !important;
        height:21px !important;
    }
    body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-whatsapp{
        width:54px !important;
        height:54px !important;
    }
}

/* V131: FireShot captura controles estáticos incluidos en el HTML del footer. */
body.fn-capture-mode .fn-capture-footer-controls{
    position:static !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    height:58px !important;
    min-height:58px !important;
    margin:16px 0 0 !important;
    padding:0 !important;
    pointer-events:auto !important;
}

body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-top,
body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-whatsapp{
    position:static !important;
    flex:none !important;
}

body.fn-capture-mode .fn-capture-footer-controls.fn-capture-fallback{
    position:static !important;
    max-width:calc(100% - 32px) !important;
    margin:16px auto !important;
}

@media(max-width:600px){
    body.fn-capture-mode .fn-capture-footer-controls{
        height:54px !important;
        min-height:54px !important;
    }
}

/* V132: el corazón queda dentro de la foto en Mis favoritos. */
.fn-favorite-card__media{
    position:relative;
}
.fn-favorite-card__media .fn-favorite-card__image{
    width:100%;
}
.fn-favorite-card__media .fn-favorite-card__remove{
    top:auto !important;
    left:auto !important;
    right:12px !important;
    bottom:12px !important;
}

/* En la ficha individual comparte tamaño, color y estado con las tarjetas. */
body.faronueve-woocommerce.single-product .woocommerce-product-gallery{
    position:relative !important;
}
body.faronueve-woocommerce.single-product .woocommerce-product-gallery button.fn-single-product-favorite{
    position:absolute !important;
    top:12px;
    left:auto !important;
    right:12px !important;
    bottom:auto !important;
    z-index:30 !important;
    width:36px !important;
    min-width:36px !important;
    max-width:36px !important;
    height:36px !important;
    min-height:36px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    background:rgba(28,24,21,.84) !important;
    color:#f3ecdf !important;
}
body.faronueve-woocommerce.single-product .woocommerce-product-gallery button.fn-single-product-favorite.is-favorite{
    color:var(--fn-gold) !important;
    border-color:rgba(201,154,62,.82) !important;
    background:rgba(28,24,21,.94) !important;
}
@media(max-width:760px){
    .fn-favorite-card__media .fn-favorite-card__remove{
        right:9px !important;
        bottom:9px !important;
    }
}

/* V133: cupón, envío y total siguen el mismo orden en toda la compra. */
body.woocommerce-cart .cart-collaterals{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    overflow:hidden !important;
    border:1px solid #3a3128 !important;
    border-radius:3px !important;
    background:#211c18 !important;
}
body.woocommerce-cart .cart-collaterals > .fn-purchase-coupon,
body.woocommerce-cart .cart-collaterals > .fn-purchase-shipping,
body.woocommerce-cart .cart-collaterals > .cart_totals{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}
body.woocommerce-cart .cart-collaterals > .fn-purchase-coupon{order:1 !important;}
body.woocommerce-cart .cart-collaterals > .fn-purchase-shipping,
body.woocommerce-cart .cart-collaterals > .cart_totals{
    border-top:1px solid #3a3128 !important;
}
body.woocommerce-cart .cart-collaterals > .fn-purchase-shipping{order:2 !important;}
body.woocommerce-cart .cart-collaterals > .cart_totals{order:3 !important;}

body.woocommerce-checkout #order_review{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
}
body.woocommerce-checkout #order_review > .fn-purchase-coupon{order:1 !important;}
body.woocommerce-checkout #order_review > .fn-purchase-shipping{order:2 !important;}
body.woocommerce-checkout #order_review > table.woocommerce-checkout-review-order-table{
    order:3 !important;
    width:100% !important;
    margin:0 !important;
}
body.woocommerce-checkout #order_review > #payment{order:4 !important;}

/* V135: los tres paneles son hermanos de WooCommerce, con ancho íntegro. */
body.woocommerce-cart .cart-collaterals,
body.fn-capture-mode.woocommerce-cart .cart-collaterals{
    width:min(520px,100%) !important;
    max-width:520px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    margin:24px 0 0 auto !important;
}
body.woocommerce-cart .cart-collaterals > .fn-purchase-coupon,
body.woocommerce-cart .cart-collaterals > .fn-purchase-shipping,
body.woocommerce-cart .cart-collaterals > .cart_totals{
    display:block !important;
    box-sizing:border-box !important;
    float:none !important;
    flex:none !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    grid-column:auto !important;
    grid-row:auto !important;
    align-self:stretch !important;
}
body.woocommerce-cart .cart-collaterals > .fn-purchase-coupon{order:1 !important;}
body.woocommerce-cart .cart-collaterals > .fn-purchase-shipping{order:2 !important;}
body.woocommerce-cart .cart-collaterals > .cart_totals{order:3 !important;}

/* Tarifas reales devueltas por WooCommerce, con su nombre e importe original. */
.fn-live-shipping-options{
    padding:13px 14px;
    border-top:1px solid #3a3128;
    background:#211c18;
    color:#f3ecdf;
}
.fn-live-shipping-options__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}
.fn-live-shipping-options__head strong{
    color:#f3ecdf;
    font:500 15px/1.2 'Fraunces',serif;
}
.fn-live-shipping-options__head small{
    color:#c99a3e;
    font-size:10px;
}
.fn-live-shipping-option{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    padding:11px 10px;
    border:1px solid #4a4036;
    font-size:12px;
}
.fn-live-shipping-option + .fn-live-shipping-option{border-top:0;}
.fn-live-shipping-option.is-selected{border-color:#c99a3e;}
.fn-live-shipping-option .amount{color:#c99a3e;white-space:nowrap;}
.fn-live-shipping-option small{color:#c99a3e;font-size:10px;}
.fn-live-shipping-options > p{margin:9px 0 0;color:#b8ac97;font-size:10px;}
body.woocommerce-cart .cart-collaterals .fn-live-shipping-options,
body.woocommerce-checkout #order_review .fn-live-shipping-options,
.fn-mini-cart-fragment .fn-live-shipping-options{width:100%;box-sizing:border-box;}

/* V136: controles visibles a ambos lados de la pantalla durante la captura. */
body.fn-capture-mode .fn-capture-footer-controls,
body.fn-capture-mode .fn-capture-footer-controls.fn-capture-fallback{
    position:fixed !important;
    display:block !important;
    left:0 !important;
    right:0 !important;
    top:auto !important;
    bottom:24px !important;
    width:100% !important;
    max-width:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    pointer-events:none !important;
    z-index:999999 !important;
}
body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-top,
body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-whatsapp{
    position:absolute !important;
    top:auto !important;
    bottom:0 !important;
    margin:0 !important;
    pointer-events:auto !important;
}
body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-top{
    left:var(--fn-capture-gap,24px) !important;
    right:auto !important;
}
body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-whatsapp{
    right:var(--fn-capture-gap,24px) !important;
    left:auto !important;
}
@media(max-width:600px){
    body.fn-capture-mode .fn-capture-footer-controls,
    body.fn-capture-mode .fn-capture-footer-controls.fn-capture-fallback{
        bottom:16px !important;
        height:0 !important;
        min-height:0 !important;
    }
}

/* V138: FireShot incluye estos controles al estar en el flujo del footer. */
body.fn-capture-mode .fn-capture-footer-controls,
body.fn-capture-mode .fn-capture-footer-controls.fn-capture-fallback{
    position:static !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    max-width:none !important;
    height:58px !important;
    min-height:58px !important;
    margin:16px 0 0 !important;
    padding:0 var(--fn-capture-gap,24px) !important;
    box-sizing:border-box !important;
    pointer-events:auto !important;
    transform:none !important;
}
body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-top,
body.fn-capture-mode .fn-capture-footer-controls .fn-capture-static-whatsapp{
    position:static !important;
    flex:none !important;
    margin:0 !important;
}
@media(max-width:600px){
    body.fn-capture-mode .fn-capture-footer-controls,
    body.fn-capture-mode .fn-capture-footer-controls.fn-capture-fallback{
        height:54px !important;
        min-height:54px !important;
    }
}
/* V143 — las cuatro entradas de tienda comienzan en la misma guía. */
.fn-store__hero{
  align-items:flex-start;
}
.fn-store__hero .fn-store__eyebrow{
  margin-bottom:12px;
}

/* V144 — menos espacio libre debajo del texto en las categorías. */
.fn-store__hero{
  min-height:340px;
}
.fn-store__hero-inner{
  padding-bottom:42px !important;
}
@media(max-width:760px){
  .fn-store__hero{
    min-height:300px;
  }
  .fn-store__hero-inner{
    padding-bottom:38px !important;
  }
}

/* V145 — descripción debajo del nombre en cada catálogo. */
.fn-store__catalog > .fn-store__heading{
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:6px;
}
.fn-store__catalog > .fn-store__heading p{
  max-width:none;
  white-space:nowrap;
}
@media(max-width:760px){
  .fn-store__catalog > .fn-store__heading p{
    white-space:normal;
  }
}

/* V150: carrito y checkout comienzan igual que Favoritos y Productos. */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce,
body.fn-capture-mode.woocommerce-cart .woocommerce,
body.fn-capture-mode.woocommerce-checkout .woocommerce{
  padding-top:48px !important;
}
@media(max-width:760px){
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce,
  body.woocommerce-order-received .woocommerce,
  body.fn-capture-mode.woocommerce-cart .woocommerce,
  body.fn-capture-mode.woocommerce-checkout .woocommerce{
    padding-top:38px !important;
  }
}

/* V152 — nuevos favoritos: cuatro tarjetas y navegación horizontal. */
.fn-favorites-discover{
  margin-top:56px;
  padding-top:34px;
  border-top:1px solid var(--fn-line);
}
.fn-favorites-discover[hidden]{display:none !important;}
.fn-favorites-discover__heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}
.fn-favorites-discover__heading h2{
  margin:4px 0 0;
  font:500 clamp(26px,3vw,38px)/1.15 'Fraunces',serif;
  color:var(--fn-ink);
}
.fn-favorites-discover__nav{display:none;gap:8px;}
.fn-favorites-discover.has-carousel-overflow .fn-favorites-discover__nav{display:flex;}
.fn-favorites-discover__nav button{
  width:38px;
  height:38px;
  padding:0;
  border:1px solid #4a4036;
  border-radius:50%;
  background:#211c18;
  color:var(--fn-gold);
  cursor:pointer;
  font:400 23px/1 'Archivo',sans-serif;
}
.fn-favorites-discover__nav button:disabled{opacity:.35;cursor:default;}
.fn-favorites-discover__nav button:hover:not(:disabled),
.fn-favorites-discover__nav button:focus-visible:not(:disabled){border-color:var(--fn-gold);outline:none;}
body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:22px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 0 8px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
}
.fn-favorites-discover .woocommerce ul.products::-webkit-scrollbar{display:none;}
.fn-favorites-discover .woocommerce ul.products::before,
.fn-favorites-discover .woocommerce ul.products::after{display:none !important;}
body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products li.product{
  flex:0 0 calc((100% - 66px) / 4) !important;
  width:calc((100% - 66px) / 4) !important;
  max-width:calc((100% - 66px) / 4) !important;
  height:auto !important;
  float:none !important;
  margin:0 !important;
  scroll-snap-align:start;
}
body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products li.product[hidden]{display:none !important;}
.fn-favorites-discover__more{display:inline-block;margin-top:20px;color:var(--fn-gold) !important;font-size:13px;font-weight:600;}

@media(max-width:1024px){
  body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products li.product{
    flex-basis:calc((100% - 44px) / 3) !important;
    width:calc((100% - 44px) / 3) !important;
    max-width:calc((100% - 44px) / 3) !important;
  }
}
@media(max-width:760px){
  .fn-favorites-discover{margin-top:38px;padding-top:28px;}
  .fn-favorites-discover__nav{display:none !important;}
  body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products{gap:14px !important;}
  body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products li.product{
    flex-basis:calc((100% - 14px) / 2) !important;
    width:calc((100% - 14px) / 2) !important;
    max-width:calc((100% - 14px) / 2) !important;
  }
}
@media(max-width:440px){
  body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products li.product{
    flex-basis:100% !important;
    width:100% !important;
    max-width:100% !important;
  }
}

/* V153 — tarjetas coherentes y carruseles navegables en ambas vistas. */
.fn-favorites-saved-nav{
  display:none;
  justify-content:flex-end;
  gap:8px;
  margin:-34px 0 16px;
}
.fn-favorites-saved-nav.has-carousel-overflow{display:flex;}
.fn-favorites-saved-nav button{
  width:38px;
  height:38px;
  border:1px solid #4a4036;
  border-radius:50%;
  background:#211c18;
  color:var(--fn-gold);
  font:400 23px/1 'Archivo',sans-serif;
  cursor:pointer;
}
.fn-favorites-saved-nav button:disabled{opacity:.35;cursor:default;}
.fn-favorites-grid{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:22px !important;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
}
.fn-favorites-grid::-webkit-scrollbar{display:none;}
.fn-favorite-card{
  flex:0 0 calc((100% - 66px)/4);
  min-width:0;
  display:flex;
  flex-direction:column;
  scroll-snap-align:start;
}
.fn-favorite-card__body{display:flex;flex:1;flex-direction:column;padding:0 0 18px;}
.fn-favorite-card__body h2{
  min-height:46px;
  margin:0;
  padding:13px 18px 4px;
  font-size:12.5px;
  line-height:1.25;
}
.fn-favorite-card__price{display:block;min-height:25px;margin-top:auto;padding:0 18px 12px;color:var(--fn-ink);font-size:13px;font-weight:600;}
.fn-favorite-card__view{
  display:flex;
  width:calc(100% - 36px);
  margin:0 18px;
  border:0;
  border-radius:2px;
  background:var(--fn-gold);
  color:#1c1815;
}
.fn-favorite-card__view:hover{background:#d4a84f;color:#1c1815;}

/* El shortcode de recomendaciones comparte el diseño de Productos. */
.fn-favorites-discover .woocommerce ul.products li.product{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  padding:0 0 18px !important;
  border:1px solid #3a3128 !important;
  border-radius:2px !important;
  background:#211c18 !important;
  overflow:hidden !important;
}
.fn-favorites-discover .woocommerce ul.products li.product[hidden]{display:none !important;}
.fn-favorites-discover .woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
  text-decoration:none !important;
}
.fn-favorites-discover .woocommerce ul.products li.product a.woocommerce-LoopProduct-link img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:1/1;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
  border-bottom:1px solid rgba(201,154,62,.16) !important;
  background:transparent !important;
}
.fn-favorites-discover .woocommerce ul.products li.product .woocommerce-loop-product__title{
  box-sizing:border-box !important;
  min-height:46px !important;
  margin:0 !important;
  padding:13px 18px 4px !important;
  font:500 12.5px/1.25 'Fraunces',serif !important;
  color:var(--fn-ink) !important;
}
.fn-favorites-discover .woocommerce ul.products li.product .price{
  display:block !important;
  margin:auto 0 0 !important;
  padding:0 18px 12px !important;
  color:var(--fn-ink) !important;
  font-size:13px !important;
}
.fn-favorites-discover .woocommerce ul.products li.product > .button,
.fn-favorites-discover .woocommerce ul.products li.product > .added_to_cart{
  display:flex !important;
  width:calc(100% - 36px) !important;
  min-height:42px !important;
  margin:0 18px !important;
  padding:0 12px !important;
  justify-content:center !important;
  align-items:center !important;
  border:0 !important;
  border-radius:2px !important;
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
  font:700 12px/1.2 'Archivo',sans-serif !important;
  text-align:center;
}
.fn-favorites-discover .woocommerce ul.products li.product > .button:hover,
.fn-favorites-discover .woocommerce ul.products li.product > .added_to_cart:hover{
  background:#d4a84f !important;
  color:#1c1815 !important;
}
.fn-favorites-discover .woocommerce ul.products li.product .fn-outofstock-actions{
  width:calc(100% - 36px) !important;
  margin:0 18px !important;
}
@media(max-width:1024px){
  .fn-favorite-card{flex-basis:calc((100% - 44px)/3);}
}
@media(max-width:760px){
  .fn-favorites-saved-nav{display:none !important;}
  .fn-favorites-grid{gap:14px !important;}
  .fn-favorite-card{flex-basis:calc((100% - 14px)/2);}
}
@media(max-width:440px){.fn-favorite-card{flex-basis:100%;}}

/* FireShot conserva ambos carruseles dentro de la página y muestra las flechas. */
body.fn-capture-mode .fn-favorites-grid,
body.fn-capture-mode .fn-favorites-discover .woocommerce ul.products{
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
}
body.fn-capture-mode .fn-favorites-saved-nav.has-carousel-overflow{display:flex !important;}
@media(max-width:760px){
  body.fn-capture-mode .fn-favorites-saved-nav{display:none !important;}
}

/* V154 — la cabecera de la ficha comparte el borde con la guía y la foto. */
body.faronueve-woocommerce.single-product .fn-page-intro{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

/* V155 — evitar que el margen de Astra se sume al inicio de la ficha. */
body.faronueve-woocommerce.single-product #primary,
body.faronueve-woocommerce.single-product .site-content > .ast-container,
body.faronueve-woocommerce.single-product .site-main{
  margin-top:0 !important;
  padding-top:0 !important;
}
body.faronueve-woocommerce.single-product .fn-page-intro{
  padding-top:var(--fn-layout-top) !important;
}

/* V157 — transición homogénea entre portada y catálogo. */
.fn-store__catalog{padding-top:clamp(56px,6vw,88px) !important;}
.fn-store__catalog > .fn-store__heading{margin-bottom:32px !important;}
@media(max-width:760px){.fn-store__catalog{padding-top:56px !important;}}

/* V158 — misma distancia entre el último contenido y el footer.
   El alto de cada página depende de sus productos y textos. */
:root{--fn-footer-approach:48px;}
.fn-products-page,
.fn-shop-page,
.fn-favorites-page{
  min-height:0 !important;
}
.fn-products-grid-wrap,
.fn-shop-shell,
.fn-store__catalog{
  padding-bottom:var(--fn-footer-approach) !important;
}
.fn-favorites-page{
  padding-bottom:var(--fn-footer-approach) !important;
}
body.faronueve-woocommerce.single-product .site-main,
body.faronueve-woocommerce.single-product main{
  padding-bottom:var(--fn-footer-approach) !important;
}
body.woocommerce-account .site-main > .woocommerce,
body.woocommerce-account #primary > .woocommerce,
body.woocommerce-account article > .entry-content > .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce{
  padding-bottom:var(--fn-footer-approach) !important;
}
@media(max-width:760px){:root{--fn-footer-approach:32px;}}

/* V159 — distancia de cierre equivalente a la separación de los títulos. */
:root{--fn-footer-approach:24px;}
.fn-site-footer{padding-top:24px !important;}
.fn-store__catalog{padding-top:32px !important;}
.fn-store__catalog > .fn-store__heading{margin-bottom:28px !important;}
@media(max-width:760px){
  :root{--fn-footer-approach:20px;}
  .fn-site-footer{padding-top:20px !important;}
  .fn-store__catalog{padding-top:28px !important;}
}


/* ==========================================================
   V161 — 48 px de aire entre segmentos principales
   Se aplica igual en vista normal y en ?captura=1.
   Móvil usa 32 px para conservar proporción y evitar scroll excesivo.
   ========================================================== */
:root{
  --fn-section-space:48px;
  --fn-footer-approach:48px;
}

/* El footer vuelve a respirar con la misma escala del contenido. */
.fn-site-footer{padding-top:var(--fn-section-space) !important;}

/* Productos: título, navegación de categorías y catálogo. */
.fn-shop-heading{padding-bottom:var(--fn-section-space) !important;}
.fn-shop-category-strip{padding-bottom:var(--fn-section-space) !important;}
.fn-shop-shell{padding-bottom:var(--fn-section-space) !important;}

/* Landing /productos/. */
.fn-products-hero-inner{padding-bottom:var(--fn-section-space) !important;}
.fn-products-grid-wrap{
  padding-top:var(--fn-section-space) !important;
  padding-bottom:var(--fn-section-space) !important;
}

/* Aromas / Regalería / Deco. */
.fn-store__hero-inner{padding-bottom:var(--fn-section-space) !important;}
.fn-store__catalog{
  padding-top:var(--fn-section-space) !important;
  padding-bottom:var(--fn-section-space) !important;
}
.fn-store__catalog > .fn-store__heading{margin-bottom:var(--fn-section-space) !important;}

/* Favoritos, ficha, cuenta y compra: cierre uniforme antes del footer. */
.fn-favorites-page{padding-bottom:var(--fn-section-space) !important;}
body.faronueve-woocommerce.single-product .site-main,
body.faronueve-woocommerce.single-product main,
body.woocommerce-account .site-main > .woocommerce,
body.woocommerce-account #primary > .woocommerce,
body.woocommerce-account article > .entry-content > .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce{
  padding-bottom:var(--fn-section-space) !important;
}

/* Cabeceras de carrito/checkout y bloques principales de compra. */
body.woocommerce-cart .woocommerce > .fn-page-intro,
body.woocommerce-checkout .woocommerce > .fn-page-intro{
  margin-bottom:var(--fn-section-space) !important;
}
body.woocommerce-cart .woocommerce-cart-form{margin-bottom:var(--fn-section-space) !important;}
body.woocommerce-checkout form.checkout.woocommerce-checkout{margin-top:var(--fn-section-space) !important;}

/* Ficha de producto: separación de relacionados/upsells como nuevo segmento. */
body.faronueve-woocommerce.single-product .related.products,
body.faronueve-woocommerce.single-product .upsells.products{
  margin-top:var(--fn-section-space) !important;
}

/* Favoritos: separar las recomendaciones del bloque guardado. */
.fn-favorites-discover{margin-top:var(--fn-section-space) !important;}

@media(max-width:760px){
  :root{
    --fn-section-space:32px;
    --fn-footer-approach:32px;
  }
  .fn-site-footer{padding-top:var(--fn-section-space) !important;}
  .fn-shop-heading{padding-bottom:var(--fn-section-space) !important;}
  .fn-shop-category-strip{padding-bottom:var(--fn-section-space) !important;}
  .fn-shop-shell{padding-bottom:var(--fn-section-space) !important;}
  .fn-products-hero-inner{padding-bottom:var(--fn-section-space) !important;}
  .fn-products-grid-wrap{
    padding-top:var(--fn-section-space) !important;
    padding-bottom:var(--fn-section-space) !important;
  }
  .fn-store__hero-inner{padding-bottom:var(--fn-section-space) !important;}
  .fn-store__catalog{
    padding-top:var(--fn-section-space) !important;
    padding-bottom:var(--fn-section-space) !important;
  }
  .fn-store__catalog > .fn-store__heading{margin-bottom:var(--fn-section-space) !important;}
  .fn-favorites-page{padding-bottom:var(--fn-section-space) !important;}
  body.woocommerce-cart .woocommerce > .fn-page-intro,
  body.woocommerce-checkout .woocommerce > .fn-page-intro{
    margin-bottom:var(--fn-section-space) !important;
  }
  body.woocommerce-cart .woocommerce-cart-form{margin-bottom:var(--fn-section-space) !important;}
  body.woocommerce-checkout form.checkout.woocommerce-checkout{margin-top:var(--fn-section-space) !important;}
  body.faronueve-woocommerce.single-product .related.products,
  body.faronueve-woocommerce.single-product .upsells.products,
  .fn-favorites-discover{margin-top:var(--fn-section-space) !important;}
}


/* ==========================================================
   V164 — cierre uniforme de toda la tienda hacia el footer
   El footer aporta por sí solo 48 px (32 px móvil). Quitamos el
   segundo cierre de los contenedores para evitar ~96 px visuales.
   Aplica igual en vista normal y en ?captura=1.
   ========================================================== */
.fn-products-grid-wrap,
.fn-shop-page,
.fn-shop-shell,
.fn-store__catalog,
.fn-favorites-page,
body.faronueve-woocommerce.single-product .site-main,
body.faronueve-woocommerce.single-product main,
body.woocommerce-account .site-main > .woocommerce,
body.woocommerce-account #primary > .woocommerce,
body.woocommerce-account article > .entry-content > .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce{
  padding-bottom:0 !important;
}

/* La ficha podía sumar además márgenes propios de Tabs/Relacionados. */
body.faronueve-woocommerce.single-product .woocommerce-tabs{
  margin-bottom:0 !important;
}
body.faronueve-woocommerce.single-product .related.products,
body.faronueve-woocommerce.single-product .upsells.products{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

/* Últimos bloques de compra: no agregan un segundo cierre al footer. */
body.woocommerce-cart .cart-collaterals,
body.woocommerce-checkout form.checkout.woocommerce-checkout,
body.woocommerce-order-received .woocommerce-order{
  margin-bottom:0 !important;
}


/* ==========================================================
   V168 — cierre definitivo de TODA la tienda antes del footer.
   Un único espacio real: 48 px desktop/tablet, 32 px móvil.
   Aplica igual en vista normal y en ?captura=1.
   ========================================================== */
:root{--fn-shop-footer-gap:48px;}

/* /productos/: el último bloque real es .fn-shop-shell. */
.fn-products-page,
.fn-shop-page{
  min-height:0 !important;
}
.fn-shop-shell{
  padding-bottom:var(--fn-shop-footer-gap) !important;
}

/* Aromas / Regalería / Deco: el último bloque real es el catálogo. */
.fn-store{
  min-height:0 !important;
}
.fn-store__catalog{
  padding-bottom:var(--fn-shop-footer-gap) !important;
}

/* Favoritos. */
.fn-favorites-page{
  min-height:0 !important;
  padding-bottom:var(--fn-shop-footer-gap) !important;
}

/* Ficha de producto: un único cierre en el contenedor principal. */
body.faronueve-woocommerce.single-product .site-main,
body.faronueve-woocommerce.single-product main{
  padding-bottom:var(--fn-shop-footer-gap) !important;
}
body.faronueve-woocommerce.single-product .woocommerce-tabs,
body.faronueve-woocommerce.single-product .related.products,
body.faronueve-woocommerce.single-product .upsells.products{
  margin-bottom:0 !important;
}

/* Carrito, checkout, cuenta y pedido recibido. */
body.woocommerce-account .site-main > .woocommerce,
body.woocommerce-account #primary > .woocommerce,
body.woocommerce-account article > .entry-content > .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce{
  padding-bottom:var(--fn-shop-footer-gap) !important;
}
body.woocommerce-cart .cart-collaterals,
body.woocommerce-checkout form.checkout.woocommerce-checkout,
body.woocommerce-order-received .woocommerce-order{
  margin-bottom:0 !important;
}

@media(max-width:760px){
  :root{--fn-shop-footer-gap:32px;}
}


/* ==========================================================
   V169 — Favoritos: recomendaciones vinculadas a lo guardado
   + tarjetas parejas y alineadas con la identidad Faro Nueve.
   ========================================================== */
.fn-favorites-discover{
  margin-top:48px !important;
  padding-top:32px !important;
}
.fn-favorites-discover__heading{margin-bottom:24px !important;}
body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products{
  align-items:stretch !important;
}
body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products li.product{
  align-self:stretch !important;
  min-height:100% !important;
}
body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products li.product > .button,
body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products li.product > .added_to_cart{
  background:var(--fn-gold) !important;
  border-color:var(--fn-gold) !important;
  color:#1c1815 !important;
  box-shadow:none !important;
}
body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products li.product > .button:hover,
body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products li.product > .button:focus,
body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products li.product > .added_to_cart:hover,
body.faronueve-woocommerce .fn-favorites-discover .woocommerce ul.products li.product > .added_to_cart:focus{
  background:#d4a84f !important;
  border-color:#d4a84f !important;
  color:#1c1815 !important;
}
.fn-favorites-discover.is-loading-recommendations .woocommerce ul.products{opacity:.72;}
@media(max-width:760px){
  .fn-favorites-discover{margin-top:32px !important;padding-top:24px !important;}
}

/* ==========================================================
   V170 — Recuperar contraseña: cierre natural hacia el footer.
   Astra puede estirar .site-content para empujar el footer al fondo
   del viewport cuando el formulario es corto. En este endpoint dejamos
   que la altura dependa del contenido y conservamos un único cierre de
   48 px (32 px móvil), igual en normal y en ?captura=1.
   ========================================================== */
body.woocommerce-lost-password #page,
body.woocommerce-lost-password .site,
body.woocommerce-lost-password #content,
body.woocommerce-lost-password .site-content,
body.woocommerce-lost-password .site-content > .ast-container,
body.woocommerce-lost-password .ast-container,
body.woocommerce-lost-password #primary,
body.woocommerce-lost-password .content-area,
body.woocommerce-lost-password .site-main,
body.woocommerce-lost-password article,
body.woocommerce-lost-password .entry-content{
  min-height:0 !important;
  height:auto !important;
}
body.woocommerce-lost-password .site-content{
  flex:none !important;
  flex-grow:0 !important;
  flex-shrink:0 !important;
}
body.woocommerce-lost-password .site-main > .woocommerce,
body.woocommerce-lost-password #primary > .woocommerce,
body.woocommerce-lost-password article > .entry-content > .woocommerce{
  min-height:0 !important;
  padding-bottom:48px !important;
}
@media(max-width:760px){
  body.woocommerce-lost-password .site-main > .woocommerce,
  body.woocommerce-lost-password #primary > .woocommerce,
  body.woocommerce-lost-password article > .entry-content > .woocommerce{
    padding-bottom:32px !important;
  }
}


/* ==========================================================
   V171 — Recuperar contraseña: eliminar la franja visual que
   quedaba debajo del footer en viewports altos.
   No movemos el footer ni alteramos los 48/32 px previos:
   simplemente igualamos el fondo exterior al fondo Faro Nueve.
   ========================================================== */
html:has(body.woocommerce-lost-password),
body.woocommerce-lost-password{
  background:var(--fn-bg) !important;
  background-image:none !important;
}
body.woocommerce-lost-password #page,
body.woocommerce-lost-password .site{
  background:var(--fn-bg) !important;
}

/* ==========================================================
   V176 — Recuperar contraseña: medida de formulario y ritmo general.
   El contenido exterior usa 48 px como las demás páginas; el campo
   queda en una medida legible sin extenderse por todo el contenedor.
   ========================================================== */
body.woocommerce-lost-password .site-main > .woocommerce,
body.woocommerce-lost-password #primary > .woocommerce,
body.woocommerce-lost-password article > .entry-content > .woocommerce{
  padding-top:48px !important;
  padding-bottom:48px !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password{
  width:100% !important;
  max-width:900px !important;
  margin:0 !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password > p:first-child{
  max-width:900px !important;
  margin:0 0 28px !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .form-row{
  width:100% !important;
  max-width:640px !important;
  margin:0 0 24px !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .form-row:last-child{
  margin-bottom:0 !important;
}
@media(max-width:760px){
  body.woocommerce-lost-password .site-main > .woocommerce,
  body.woocommerce-lost-password #primary > .woocommerce,
  body.woocommerce-lost-password article > .entry-content > .woocommerce{
    padding-top:32px !important;
    padding-bottom:32px !important;
  }
  body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password > p:first-child{
    margin-bottom:24px !important;
  }
}

/* ==========================================================
   V177 — Recuperar contraseña y campos de cupón proporcionados.
   ========================================================== */
body.woocommerce-lost-password .fn-lost-password-note{
  width:100% !important;
  max-width:640px !important;
  margin:12px 0 0 !important;
  color:var(--fn-dim) !important;
  font-size:13px !important;
  line-height:1.55 !important;
}

/* El código de cupón es breve: campo + botón no necesitan llenar el panel. */
body.woocommerce-cart .fn-purchase-coupon-row,
body.woocommerce-checkout .fn-purchase-coupon-row,
.wc-block-cart .fn-purchase-coupon--blocks .fn-purchase-coupon-row,
.wc-block-checkout .fn-purchase-coupon--blocks .fn-purchase-coupon-row{
  width:100% !important;
  max-width:360px !important;
  grid-template-columns:minmax(0,1fr) 84px !important;
}
@media(max-width:520px){
  body.woocommerce-cart .fn-purchase-coupon-row,
  body.woocommerce-checkout .fn-purchase-coupon-row,
  .wc-block-cart .fn-purchase-coupon--blocks .fn-purchase-coupon-row,
  .wc-block-checkout .fn-purchase-coupon--blocks .fn-purchase-coupon-row{
    max-width:none !important;
    grid-template-columns:1fr !important;
  }
}

/* ==========================================================
   V178 — Cupón del mini carrito y disponibilidad única.
   ========================================================== */
.fn-mini-cart-discount-row,
.fn-mini-cart-discount-row > span{
  color:var(--fn-gold) !important;
}
.fn-mini-cart-discount-row > strong,
.fn-mini-cart-discount-row > strong .amount,
.fn-mini-cart-discount-row > strong .woocommerce-Price-amount,
.fn-mini-cart-discount-row > strong .woocommerce-Price-currencySymbol{
  color:var(--fn-ink) !important;
}

/* Oculta la disponibilidad nativa que WooCommerce repite debajo
   de las variantes; se conserva el indicador personalizado lateral. */
body.faronueve-woocommerce.single-product div.product .woocommerce-variation-availability,
body.faronueve-woocommerce.single-product div.product .single_variation .woocommerce-variation-availability,
body.faronueve-woocommerce.single-product div.product .single_variation p.stock,
body.faronueve-woocommerce.single-product div.product form.variations_form p.stock{
  display:none !important;
}

/* ==========================================================
   V179 — Eliminar definitivamente el stock nativo de la ficha.
   Cubre también el marcado de Astra y páginas con clases de body distintas.
   ========================================================== */
body.single-product div.product .summary p.stock,
body.single-product div.product .summary .woocommerce-variation-availability,
body.single-product div.product .summary .ast-stock-detail,
body.single-product div.product .summary .ast-stock-avail,
body.single-product div.product form.cart > p.stock,
body.single-product div.product form.variations_form .single_variation p.stock{
  display:none !important;
}

/* ==========================================================
   V180 — Recuperar contraseña con el formato general del sitio.
   ========================================================== */
body.woocommerce-lost-password .fn-lost-password-intro{
  width:100% !important;
  margin:0 0 32px !important;
  padding:0 0 27px !important;
}
body.woocommerce-lost-password .fn-lost-password-card{
  width:100% !important;
  max-width:680px !important;
  padding:30px !important;
  border:1px solid var(--fn-line) !important;
  border-radius:16px !important;
  background:rgba(36,31,26,.88) !important;
  box-shadow:0 24px 58px -38px rgba(0,0,0,.9) !important;
  box-sizing:border-box !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password > p:first-child{
  width:100% !important;
  max-width:none !important;
  margin:0 0 24px !important;
  color:var(--fn-dim) !important;
  font-size:14px !important;
  line-height:1.65 !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .form-row{
  width:100% !important;
  max-width:none !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .form-row-first{
  float:none !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password input.input-text{
  width:100% !important;
  min-height:48px !important;
  box-sizing:border-box !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password button.button{
  min-height:44px !important;
  padding:0 22px !important;
}
body.woocommerce-lost-password .fn-lost-password-note{
  max-width:none !important;
  margin:14px 0 0 !important;
  padding-top:14px !important;
  border-top:1px solid var(--fn-line) !important;
}
@media(max-width:760px){
  body.woocommerce-lost-password .fn-lost-password-intro{
    margin-bottom:24px !important;
    padding-bottom:22px !important;
  }
  body.woocommerce-lost-password .fn-lost-password-card{
    padding:22px 18px !important;
    border-radius:12px !important;
  }
}

/* ==========================================================
   V181 — Ritmo compacto dentro del cuadro de recuperación.
   ========================================================== */
body.woocommerce-lost-password .fn-lost-password-card{
  padding:26px !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password > p:first-child{
  margin-bottom:18px !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .form-row{
  margin:0 0 16px !important;
  padding:0 !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .form-row label{
  margin-bottom:8px !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password > .clear{
  display:none !important;
  height:0 !important;
}
body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .form-row:last-of-type{
  margin:2px 0 0 !important;
}
body.woocommerce-lost-password .fn-lost-password-note{
  margin-top:16px !important;
  padding-top:13px !important;
}
@media(max-width:760px){
  body.woocommerce-lost-password .fn-lost-password-card{
    padding:20px 18px !important;
  }
  body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password > p:first-child{
    margin-bottom:16px !important;
  }
}

/* ==========================================================
   V182 — Todas las categorías WooCommerce con diseño Faro Nueve.
   ========================================================== */
body.tax-product_cat,
body.tax-product_cat #page,
body.tax-product_cat .site,
body.tax-product_cat #content,
body.tax-product_cat .site-content,
body.tax-product_cat .site-content > .ast-container,
body.tax-product_cat #primary,
body.tax-product_cat .site-main,
body.tax-product_cat .ast-woocommerce-container{
  background:var(--fn-bg) !important;
}
body.tax-product_cat .ast-archive-description,
body.tax-product_cat .woocommerce-products-header{
  display:none !important;
}
body.tax-product_cat .site-content > .ast-container,
body.tax-product_cat #primary,
body.tax-product_cat .content-area{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}
body.tax-product_cat .site-main{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
body.tax-product_cat .ast-woocommerce-container{
  width:100% !important;
  max-width:1280px !important;
  margin:0 auto !important;
  padding:48px clamp(22px,5vw,64px) 48px !important;
  box-sizing:border-box !important;
}
.fn-product-category-intro{
  width:100%;
  margin:0 0 30px;
  padding:0 0 28px;
  border-bottom:1px solid var(--fn-line);
  box-sizing:border-box;
}
.fn-product-category-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 20px;
  color:var(--fn-dim);
  font:500 11px/1.4 'Archivo',sans-serif;
}
.fn-product-category-breadcrumb a{
  color:var(--fn-dim) !important;
}
.fn-product-category-breadcrumb a:hover,
.fn-product-category-breadcrumb a.is-current,
.fn-product-category-breadcrumb span[aria-current="page"]{
  color:var(--fn-gold) !important;
}
.fn-product-category-separator{color:#6f6253 !important;}
.fn-product-category-eyebrow{
  display:block;
  margin:0 0 9px;
  color:var(--fn-gold);
  font:600 11px/1.2 'Archivo',sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.fn-product-category-intro h1{
  margin:0 !important;
  color:var(--fn-ink) !important;
  font:500 clamp(38px,5vw,58px)/1.08 'Fraunces',serif !important;
}
.fn-product-category-intro p{
  max-width:720px;
  margin:14px 0 0 !important;
  color:var(--fn-dim) !important;
  font:400 15px/1.65 'Archivo',sans-serif !important;
}
body.tax-product_cat .woocommerce-result-count{
  margin:0 0 28px !important;
  color:var(--fn-dim) !important;
  font:500 12px/44px 'Archivo',sans-serif !important;
}
body.tax-product_cat .woocommerce-ordering{
  margin:0 0 28px !important;
}
body.tax-product_cat .woocommerce-ordering select{
  min-width:220px;
  min-height:44px;
  padding:0 38px 0 13px !important;
  border:1px solid var(--fn-line) !important;
  border-radius:2px !important;
  background-color:#171411 !important;
  color:var(--fn-ink) !important;
  box-shadow:none !important;
  font:500 12px/1 'Archivo',sans-serif !important;
}
body.tax-product_cat .woocommerce ul.products{
  clear:both;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:26px 20px !important;
  margin:0 !important;
  padding:0 !important;
}
body.tax-product_cat .woocommerce ul.products::before,
body.tax-product_cat .woocommerce ul.products::after{display:none !important;}
body.tax-product_cat .woocommerce ul.products li.product{
  float:none !important;
  width:auto !important;
  margin:0 !important;
}
body.tax-product_cat .woocommerce ul.products li.product .ast-woo-product-category,
body.tax-product_cat .woocommerce ul.products li.product .fn-loop-category{
  display:block;
  padding:14px 18px 0 !important;
  color:#9f927f !important;
}
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:7px 18px 8px !important;
  color:var(--fn-ink) !important;
  font:500 17px/1.3 'Fraunces',serif !important;
}
body.tax-product_cat .woocommerce ul.products li.product .price{
  display:block;
  padding:0 18px !important;
  margin:0 0 16px !important;
  color:var(--fn-gold) !important;
  font:600 14px/1.3 'Archivo',sans-serif !important;
}
body.tax-product_cat .woocommerce ul.products li.product > .button,
body.tax-product_cat .woocommerce ul.products li.product > .added_to_cart{
  display:flex !important;
  align-items:center;
  justify-content:center;
  min-height:42px !important;
  margin:0 18px 18px !important;
  border:1px solid var(--fn-gold) !important;
  border-radius:2px !important;
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
  box-shadow:none !important;
  font:700 12px/1 'Archivo',sans-serif !important;
}
body.tax-product_cat .woocommerce ul.products li.product > .button:hover,
body.tax-product_cat .woocommerce ul.products li.product > .added_to_cart:hover{
  background:#d6aa4e !important;
  border-color:#d6aa4e !important;
  color:#1c1815 !important;
}
body.tax-product_cat .woocommerce nav.woocommerce-pagination{
  margin:34px 0 0 !important;
  text-align:left !important;
}
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul{
  display:flex !important;
  gap:8px;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li{
  float:none !important;
  border:0 !important;
}
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li span{
  width:40px;
  height:40px;
  display:grid !important;
  place-items:center;
  padding:0 !important;
  border:1px solid var(--fn-line) !important;
  background:#171411 !important;
  color:var(--fn-dim) !important;
}
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li span.current,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a:hover{
  border-color:var(--fn-gold) !important;
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
}
@media(max-width:980px){
  body.tax-product_cat .woocommerce ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  body.tax-product_cat .ast-woocommerce-container{
    padding:32px 18px !important;
  }
  .fn-product-category-intro{margin-bottom:24px;padding-bottom:22px;}
  body.tax-product_cat .woocommerce-result-count{
    float:none !important;
    margin-bottom:12px !important;
    line-height:1.5 !important;
  }
  body.tax-product_cat .woocommerce-ordering{
    float:none !important;
    width:100%;
    margin-bottom:22px !important;
  }
  body.tax-product_cat .woocommerce-ordering select{width:100%;}
  body.tax-product_cat .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 12px !important;
  }
}
@media(max-width:480px){
  body.tax-product_cat .woocommerce ul.products{grid-template-columns:1fr;}
}

/* ==========================================================
   V183 — Barra de categorías, contador propio y tarjetas definitivas.
   ========================================================== */
body.tax-product_cat .woocommerce-result-count{
  display:none !important;
}
.fn-product-category-tools{
  clear:both;
  width:100%;
  margin:0 0 28px;
}
.fn-product-category-toolbar{
  display:grid;
  grid-template-columns:auto minmax(260px,1fr) 230px;
  gap:18px;
  align-items:end;
  padding:20px;
  border:1px solid var(--fn-line);
  background:#211c18;
  box-sizing:border-box;
}
.fn-category-count{
  min-width:112px;
  min-height:44px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0 16px;
  border-left:2px solid var(--fn-gold);
}
.fn-category-count strong{
  color:var(--fn-ink);
  font:600 19px/1 'Fraunces',serif;
}
.fn-category-count span{
  margin-top:5px;
  color:var(--fn-dim);
  font:500 10px/1 'Archivo',sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.fn-category-search,
.fn-category-ordering{position:relative;min-width:0;}
.fn-category-search > label,
.fn-category-ordering > span{
  display:block;
  margin:0 0 8px;
  color:#9f927f;
  font:600 10px/1.2 'Archivo',sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.fn-category-search-control{position:relative;}
.fn-category-search-control input{
  width:100% !important;
  min-height:44px !important;
  padding:0 42px 0 13px !important;
  border:1px solid var(--fn-line) !important;
  border-radius:2px !important;
  background:#171411 !important;
  color:var(--fn-ink) !important;
  box-shadow:none !important;
  box-sizing:border-box;
  font:500 12px/1 'Archivo',sans-serif !important;
}
.fn-category-search-control > span{
  position:absolute;
  top:50%;
  right:14px;
  color:var(--fn-gold);
  font-size:22px;
  line-height:1;
  transform:translateY(-54%);
  pointer-events:none;
}
.fn-category-search-results{
  position:absolute;
  top:calc(100% + 7px);
  left:0;
  z-index:40;
  width:100%;
  max-height:310px;
  overflow:auto;
  padding:7px;
  border:1px solid var(--fn-line);
  background:#171411;
  box-shadow:0 18px 38px rgba(0,0,0,.38);
  box-sizing:border-box;
}
.fn-category-search-results[hidden]{display:none !important;}
.fn-category-search-results [hidden]{display:none !important;}
.fn-category-search-results a{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:11px 10px;
  border-bottom:1px solid rgba(243,236,223,.08);
  color:var(--fn-ink) !important;
  font:500 12px/1.3 'Archivo',sans-serif;
}
.fn-category-search-results a:hover,
.fn-category-search-results a:focus{
  background:#2a231d;
  color:var(--fn-gold) !important;
}
.fn-category-search-results a small{color:var(--fn-dim);white-space:nowrap;}
.fn-category-search-empty{margin:0;padding:12px 10px;color:var(--fn-dim);font-size:12px;}
.fn-category-ordering .woocommerce-ordering{
  float:none !important;
  width:100% !important;
  margin:0 !important;
}
.fn-category-ordering .woocommerce-ordering select{
  width:100% !important;
  min-width:0 !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 38px 0 13px !important;
  border:1px solid var(--fn-line) !important;
  border-radius:2px !important;
  background-color:#171411 !important;
  color:var(--fn-ink) !important;
  box-shadow:none !important;
  font:500 12px/1 'Archivo',sans-serif !important;
}
.fn-category-parent-link{
  display:inline-block;
  margin:14px 0 0;
  color:var(--fn-dim) !important;
  font:500 12px/1.4 'Archivo',sans-serif;
}
.fn-category-parent-link:hover{color:var(--fn-gold) !important;}
.fn-category-related{
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:16px;
}
.fn-category-related > span{
  flex:0 0 auto;
  color:#9f927f;
  font:600 10px/1.2 'Archivo',sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.fn-category-related-links{display:flex;flex-wrap:wrap;gap:8px;}
.fn-category-related-links a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 13px;
  border:1px solid var(--fn-line);
  border-radius:999px;
  color:var(--fn-dim) !important;
  font:500 11px/1 'Archivo',sans-serif;
}
.fn-category-related-links a:hover{
  border-color:var(--fn-gold);
  color:var(--fn-gold) !important;
}

/* Selectores directos: Astra no siempre agrega un contenedor .woocommerce. */
body.tax-product_cat ul.products{
  clear:both;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:26px 20px !important;
  margin:0 !important;
  padding:0 !important;
}
body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after{display:none !important;}
body.tax-product_cat ul.products li.product{
  float:none !important;
  width:auto !important;
  min-width:0 !important;
  height:100% !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column;
  border:1px solid #3a3128 !important;
  border-radius:2px !important;
  background:#211c18 !important;
  overflow:hidden;
  box-shadow:none !important;
}
body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap{
  position:relative;
  overflow:hidden;
}
body.tax-product_cat ul.products li.product img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:1/1;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  border:0 !important;
  border-bottom:1px solid rgba(201,154,62,.16) !important;
  background:transparent !important;
}
body.tax-product_cat ul.products li.product .astra-shop-summary-wrap{
  flex:1 1 auto;
  display:flex !important;
  flex-direction:column;
  padding-bottom:18px;
}
body.tax-product_cat ul.products li.product .ast-woo-product-category,
body.tax-product_cat ul.products li.product .fn-loop-category{
  display:block !important;
  padding:14px 18px 0 !important;
  color:#9f927f !important;
  font:500 11px/1.35 'Archivo',sans-serif !important;
}
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title{
  min-height:58px;
  margin:0 !important;
  padding:7px 18px 8px !important;
  color:var(--fn-ink) !important;
  font:500 17px/1.3 'Fraunces',serif !important;
}
body.tax-product_cat ul.products li.product .price{
  display:block !important;
  margin:auto 0 16px !important;
  padding:0 18px !important;
  color:var(--fn-gold) !important;
  font:600 14px/1.3 'Archivo',sans-serif !important;
}
body.tax-product_cat ul.products li.product .astra-shop-summary-wrap > .button,
body.tax-product_cat ul.products li.product > .button,
body.tax-product_cat ul.products li.product > .added_to_cart{
  width:calc(100% - 36px) !important;
  min-height:42px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  margin:0 18px !important;
  padding:0 12px !important;
  border:1px solid var(--fn-gold) !important;
  border-radius:2px !important;
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
  box-shadow:none !important;
  box-sizing:border-box;
  font:700 12px/1 'Archivo',sans-serif !important;
}
body.tax-product_cat nav.woocommerce-pagination{
  clear:both;
  margin:34px 0 0 !important;
  text-align:left !important;
}
body.tax-product_cat nav.woocommerce-pagination ul{
  display:flex !important;
  gap:8px;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
body.tax-product_cat nav.woocommerce-pagination ul li{float:none !important;border:0 !important;}
body.tax-product_cat nav.woocommerce-pagination ul li a,
body.tax-product_cat nav.woocommerce-pagination ul li span{
  width:40px;
  height:40px;
  display:grid !important;
  place-items:center;
  padding:0 !important;
  border:1px solid var(--fn-line) !important;
  background:#171411 !important;
  color:var(--fn-dim) !important;
}
body.tax-product_cat nav.woocommerce-pagination ul li span.current,
body.tax-product_cat nav.woocommerce-pagination ul li a:hover{
  border-color:var(--fn-gold) !important;
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
}
@media(max-width:980px){
  .fn-product-category-toolbar{grid-template-columns:auto 1fr;}
  .fn-category-ordering{grid-column:1/-1;}
  body.tax-product_cat ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:760px){
  .fn-product-category-toolbar{grid-template-columns:1fr;padding:16px;}
  .fn-category-count{min-height:auto;padding:0 0 0 13px;}
  .fn-category-ordering{grid-column:auto;}
  .fn-category-related{align-items:flex-start;flex-direction:column;gap:10px;}
  body.tax-product_cat ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px 12px !important;}
}
@media(max-width:480px){
  body.tax-product_cat ul.products{grid-template-columns:1fr !important;}
}

/* v184: un único encabezado de categoría, sin títulos nativos de WooCommerce/Astra. */
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_cat .ast-archive-description,
body.tax-product_cat .ast-archive-title,
body.tax-product_cat .page-title{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
}

/* v184: el estado sin stock mantiene el mismo formato en categorías y relacionados. */
body.tax-product_cat ul.products li.product .fn-outofstock-actions,
body.single-product .related.products ul.products li.product .fn-outofstock-actions,
body.single-product .upsells.products ul.products li.product .fn-outofstock-actions{
  width:calc(100% - 36px) !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  margin:0 18px !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
body.tax-product_cat ul.products li.product .fn-stock-button,
body.single-product .related.products ul.products li.product .fn-stock-button,
body.single-product .upsells.products ul.products li.product .fn-stock-button,
body.tax-product_cat ul.products li.product .fn-consult-button,
body.single-product .related.products ul.products li.product .fn-consult-button,
body.single-product .upsells.products ul.products li.product .fn-consult-button{
  width:100% !important;
  min-width:0 !important;
  min-height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 9px !important;
  border-radius:2px !important;
  box-sizing:border-box !important;
  font:700 11px/1 'Archivo',sans-serif !important;
  text-align:center !important;
}
body.tax-product_cat ul.products li.product .fn-stock-button,
body.single-product .related.products ul.products li.product .fn-stock-button,
body.single-product .upsells.products ul.products li.product .fn-stock-button{
  border:1px solid #80652e !important;
  background:#2b241b !important;
  color:#c99a3e !important;
  cursor:not-allowed !important;
}
body.tax-product_cat ul.products li.product .fn-consult-button,
body.single-product .related.products ul.products li.product .fn-consult-button,
body.single-product .upsells.products ul.products li.product .fn-consult-button{
  border:1px solid var(--fn-gold) !important;
  background:var(--fn-gold) !important;
  color:#1c1815 !important;
}


/* ==========================================================
   V186 — categorías informativas + cupones sin promoción
   ========================================================== */
/* La ruta de categorías de la ficha es informativa: no repite navegación. */
.fn-product-category-breadcrumb .fn-product-category-label{
  cursor:default;
  pointer-events:none;
}

/* El cupón se ofrece únicamente en Carrito y Finalizar compra. */
.single-product .fn-product-coupon-apply,
.single-product .fn-coupon-banner,
.fn-mini-cart-coupon,
body.woocommerce-cart .fn-coupon-banner,
body.woocommerce-checkout .fn-coupon-banner{
  display:none !important;
}

/* ==========================================================
   V189 — navegación móvil + regreso a Productos + responsive integral
   ========================================================== */

/* Acceso global desde Aromas / Regalería / Deco. */
.fn-store__all-products-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin:-16px 0 30px;
}
.fn-store__all-products{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 17px;
  border:1px solid rgba(201,154,62,.55);
  border-radius:2px;
  background:transparent;
  color:var(--fn-gold) !important;
  font:600 12px/1 'Archivo',sans-serif;
  letter-spacing:.01em;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.fn-store__all-products:hover,
.fn-store__all-products:focus-visible{
  border-color:var(--fn-gold);
  background:rgba(201,154,62,.09);
  color:#e0b65c !important;
  outline:none;
}

/* Botón hamburguesa: solo aparece en tablet/celular. */
.fn-mobile-menu-toggle{
  display:none;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid rgba(201,154,62,.30);
  border-radius:50%;
  background:transparent;
  color:var(--fn-gold);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  cursor:pointer;
}
.fn-mobile-menu-toggle span{
  display:block;
  width:18px;
  height:1.5px;
  background:currentColor;
  border-radius:2px;
  transition:transform .2s ease,opacity .2s ease;
}
.fn-site-header.is-mobile-menu-open .fn-mobile-menu-toggle span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
.fn-site-header.is-mobile-menu-open .fn-mobile-menu-toggle span:nth-child(2){opacity:0;}
.fn-site-header.is-mobile-menu-open .fn-mobile-menu-toggle span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}

/* Evita pequeños desbordes horizontales que aparecen en algunos componentes Woo. */
html,body{max-width:100%;overflow-x:hidden;}

@media(max-width:860px){
  /* HEADER — menú hamburguesa real, manteniendo búsqueda/cuenta/favoritos/carrito. */
  .fn-site-header{overflow:visible !important;}
  .fn-site-navrow{
    position:relative;
    min-height:72px;
    padding:10px 14px !important;
    gap:6px !important;
    justify-content:flex-start !important;
  }
  .fn-site-header .fn-site-logo{
    flex:1 1 auto;
    min-width:0;
    margin-left:-4px !important;
  }
  .fn-site-header .fn-site-logo-img{
    width:132px !important;
    max-width:34vw !important;
  }
  .fn-mobile-menu-toggle{
    display:flex;
    flex:0 0 42px;
    order:2;
  }
  .fn-site-icons{
    order:3;
    flex:0 0 auto;
    gap:2px !important;
  }
  .fn-site-icons .fn-nav-icon,
  .fn-site-header .fn-site-icons .fn-account-link,
  .fn-site-header .fn-site-icons .fn-account-trigger{
    width:34px !important;
    min-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    flex-basis:34px !important;
  }
  .fn-site-icons .fn-nav-icon svg,
  .fn-site-header .fn-site-icons .fn-account-link svg,
  .fn-site-header .fn-site-icons .fn-account-trigger svg{
    width:19px !important;
    height:19px !important;
    min-width:19px !important;
    min-height:19px !important;
  }
  .fn-site-links{
    display:none !important;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:10020;
    width:100%;
    max-height:calc(100vh - 72px);
    overflow-y:auto;
    padding:10px 16px 18px;
    flex-direction:column;
    align-items:stretch !important;
    gap:0 !important;
    background:rgba(28,24,21,.99);
    border-top:1px solid var(--fn-line);
    border-bottom:1px solid var(--fn-line);
    box-shadow:0 20px 40px rgba(0,0,0,.28);
  }
  .fn-site-header.is-mobile-menu-open .fn-site-links{display:flex !important;}
  body.fn-mobile-menu-open{overflow:hidden;}
  .fn-site-links > a,
  .fn-menu-products{
    width:100%;
    min-height:48px;
    border-bottom:1px solid rgba(243,236,223,.08);
  }
  .fn-site-links > a{
    display:flex;
    align-items:center;
    padding:0 4px;
    color:var(--fn-ink) !important;
    font-size:14px;
  }
  .fn-menu-products,
  .fn-menu-products details{display:block !important;}
  .fn-menu-products details{width:100%;}
  .fn-products-link{
    min-height:48px;
    width:100%;
    justify-content:space-between;
    padding:0 4px;
  }
  .fn-products-link a{color:var(--fn-ink) !important;font-size:14px;}
  .fn-products-dropdown{
    position:static !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
    min-width:0 !important;
    width:100% !important;
    margin:0 0 8px !important;
    padding:4px 0 7px 14px !important;
    border:0 !important;
    border-left:1px solid rgba(201,154,62,.28) !important;
    background:transparent !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    display:none;
  }
  .fn-menu-products details[open] .fn-products-dropdown{display:block;}
  .fn-products-dropdown a{
    padding:9px 10px !important;
    color:var(--fn-dim) !important;
  }

  /* HOME — respiración consistente, sin elementos que desborden. */
  .fn-home img{max-width:100%;height:auto;}
  .fn-home-hero,
  .fn-home-categories,
  .fn-home-featured,
  .fn-home-showroom,
  .fn-home-contact{overflow:hidden;}

  /* PRODUCTOS — cabecera/categorías fluidas. */
  .fn-shop-heading{padding-top:42px !important;}
  .fn-shop-heading h1{font-size:clamp(38px,11vw,52px) !important;}
  .fn-shop-category-strip{
    flex-wrap:nowrap !important;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:22px !important;
  }
  .fn-shop-category-strip::-webkit-scrollbar{display:none;}
  .fn-shop-category-strip a{flex:0 0 auto;white-space:nowrap;}
  .fn-shop-toolbar{width:100%;}
  .fn-order-form,.fn-order-form select{width:100% !important;max-width:none !important;}

  /* AROMAS / REGALERÍA / DECO — botón general antes de categorías. */
  .fn-store__catalog{padding-top:52px !important;padding-bottom:64px !important;}
  .fn-store__heading{margin-bottom:28px !important;}
  .fn-store__all-products-row{margin:-8px 0 24px;}
  .fn-store__all-products{width:auto;max-width:100%;}
  .fn-store__catalog-grid{grid-template-columns:1fr !important;gap:28px !important;}
  .fn-store__sidebar{order:1 !important;}
  .fn-store__products{order:2 !important;}
  .fn-store__category-panel{margin-top:0 !important;}
  .fn-category-tree{max-height:360px !important;}

  /* FICHA DE PRODUCTO — una columna real y controles fáciles de tocar. */
  body.single-product .fn-page-intro{margin-bottom:24px !important;}
  body.faronueve-woocommerce.single-product .site-main,
  body.faronueve-woocommerce.single-product main{
    padding-left:18px !important;
    padding-right:18px !important;
    padding-bottom:64px !important;
  }
  body.single-product .product.type-product{
    display:block !important;
  }
  body.single-product div.product div.images,
  body.single-product div.product div.summary{
    float:none !important;
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  body.single-product div.product div.images{margin-bottom:22px !important;}
  body.faronueve-woocommerce div.product .summary{padding:24px 18px !important;}
  body.single-product .fn-product-category-breadcrumb{
    display:flex !important;
    flex-wrap:wrap;
    gap:6px 7px;
    line-height:1.5;
  }
  body.single-product div.product form.cart{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }
  body.single-product div.product form.cart .single_add_to_cart_button,
  body.single-product .fn-outofstock-actions{
    flex:1 1 190px;
  }
  body.single-product .woocommerce-tabs ul.tabs{
    display:flex !important;
    overflow-x:auto;
    flex-wrap:nowrap !important;
    scrollbar-width:none;
  }
  body.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar{display:none;}
  body.single-product .woocommerce-tabs ul.tabs li{flex:0 0 auto !important;}

  /* FAVORITOS — evita tarjetas comprimidas. */
  .fn-favorites-page{padding-left:18px !important;padding-right:18px !important;}
  .fn-favorites-grid,
  .fn-favorites-discover ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  /* CARRITO / CHECKOUT — bloques de ancho completo. */
  body.faronueve-woocommerce.woocommerce-cart .woocommerce,
  body.faronueve-woocommerce.woocommerce-checkout .woocommerce{
    padding-left:18px !important;
    padding-right:18px !important;
    padding-bottom:64px !important;
  }
  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .cart_totals,
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout #order_review_heading{
    width:100% !important;
    max-width:none !important;
    float:none !important;
  }
  body.woocommerce-checkout .col2-set,
  body.woocommerce-checkout .col2-set .col-1,
  body.woocommerce-checkout .col2-set .col-2{
    width:100% !important;
    float:none !important;
  }

  /* MI CUENTA / LOGIN. */
  .fn-account-intro{padding-left:18px !important;padding-right:18px !important;}
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content{
    width:100% !important;
    float:none !important;
  }

  /* FOOTER — Menú + Contacto/Redes arriba, logo debajo. */
  .fn-footer-top{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:26px 18px !important;
    align-items:start;
  }
  .fn-footer-top > .fn-footer-col:nth-child(2){order:1;}
  .fn-footer-top > .fn-footer-col:nth-child(3){order:2;}
  .fn-footer-top > .fn-footer-logo{
    order:3;
    grid-column:1/-1;
    padding-top:24px;
    border-top:1px solid rgba(243,236,223,.08);
    text-align:center;
  }
  .fn-footer-logo .fn-footer-brand{justify-content:center;}
  .fn-footer-logo p{max-width:36ch;margin:0 auto !important;}
  .fn-footer-col ul.fn-footer-actions{gap:9px;}
  .fn-footer-icon{width:40px;height:40px;}
  .fn-footer-icon svg{width:21px;height:21px;}
}

@media(max-width:560px){
  .fn-site-navrow{padding-left:10px !important;padding-right:10px !important;}
  .fn-site-header .fn-site-logo-img{width:112px !important;max-width:31vw !important;}
  .fn-mobile-menu-toggle{width:38px;height:38px;flex-basis:38px;}
  .fn-site-icons .fn-nav-icon,
  .fn-site-header .fn-site-icons .fn-account-link,
  .fn-site-header .fn-site-icons .fn-account-trigger{
    width:31px !important;min-width:31px !important;height:31px !important;min-height:31px !important;flex-basis:31px !important;
  }
  .fn-store__hero{min-height:300px !important;}
  .fn-store__hero-inner{padding:52px 18px 42px !important;}
  .fn-store h1{font-size:clamp(36px,11vw,48px) !important;}
  .fn-store__copy p{font-size:15px !important;line-height:1.6 !important;}
  .fn-store__catalog{padding-left:18px !important;padding-right:18px !important;}
  .fn-store__all-products{width:100%;}
  .fn-store .woocommerce ul.products,
  .fn-shop-main ul.products{grid-template-columns:1fr !important;gap:16px !important;}
  .fn-favorites-grid,
  .fn-favorites-discover ul.products{grid-template-columns:1fr !important;}
  body.single-product div.product form.cart .quantity{flex:0 0 auto;}
  body.single-product div.product form.cart .single_add_to_cart_button{flex:1 1 160px;}
  .fn-footer-top{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;}
  .fn-footer-col a{font-size:13px !important;}
  .fn-footer-col h4{font-size:12px !important;}
  .fn-footer-col ul.fn-footer-actions{gap:7px;}
  .fn-footer-icon{width:36px;height:36px;}
  .fn-footer-icon svg{width:19px;height:19px;}
  .fn-social-title{margin-top:18px !important;}
  .fn-footer-bottom{justify-content:center;text-align:center;}
}

@media(max-width:390px){
  .fn-site-header .fn-site-logo-img{width:100px !important;max-width:29vw !important;}
  .fn-site-icons{gap:0 !important;}
  .fn-site-icons > a:first-child{display:none !important;} /* búsqueda sigue disponible desde WordPress/Productos y libera espacio extremo */
  .fn-footer-top{gap:22px 12px !important;}
  .fn-footer-icon{width:34px;height:34px;}
  .fn-footer-col ul.fn-footer-actions{gap:5px;}
}

/* ==========================================================
   V191 — menú Productos rediseñado + hamburguesa al final
   ========================================================== */

/* El disparador de Productos se integra como un ítem real de navegación. */
.fn-products-link{
  min-height:38px;
  padding:0;
  color:var(--fn-dim);
  border:0;
  background:transparent;
  transition:color .18s ease;
}
.fn-products-link:hover,
.fn-menu-products:focus-within .fn-products-link,
.fn-menu-products details[open] .fn-products-link{
  color:var(--fn-ink);
}
.fn-products-summary-label{
  color:inherit;
  font:inherit;
}
.fn-products-chevron{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  color:var(--fn-gold);
  font-size:13px;
  line-height:1;
  transform:translateY(-1px);
  transition:transform .18s ease;
}
.fn-menu-products details[open] .fn-products-chevron,
.fn-menu-products:hover .fn-products-chevron,
.fn-menu-products:focus-within .fn-products-chevron{
  transform:translateY(-1px) rotate(180deg);
}

/* Escritorio: mini mega-menú ancho, oscuro y con tres accesos de categoría. */
.fn-products-dropdown{
  width:min(590px,calc(100vw - 40px));
  min-width:590px;
  padding:18px !important;
  border:1px solid rgba(201,154,62,.25) !important;
  border-top:2px solid rgba(201,154,62,.68) !important;
  border-radius:3px;
  background:
    radial-gradient(circle at 15% 0%,rgba(201,154,62,.08),transparent 34%),
    rgba(24,20,18,.99) !important;
  box-shadow:0 24px 50px -20px rgba(0,0,0,.88) !important;
}
.fn-products-dropdown-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:0 2px 14px;
  margin-bottom:12px;
  border-bottom:1px solid rgba(243,236,223,.09);
}
.fn-products-dropdown-eyebrow{
  color:var(--fn-gold);
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.fn-products-all-link{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  padding:0 !important;
  color:var(--fn-ink) !important;
  font-size:12px !important;
  font-weight:600;
  white-space:nowrap;
}
.fn-products-all-link span{
  color:var(--fn-gold);
  transition:transform .18s ease;
}
.fn-products-all-link:hover{
  background:transparent !important;
  color:var(--fn-gold) !important;
}
.fn-products-all-link:hover span{transform:translateX(3px);}
.fn-products-dropdown-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.fn-products-dropdown-card{
  position:relative;
  min-height:78px;
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:0;
  padding:16px 38px 16px 16px !important;
  border:1px solid rgba(243,236,223,.08);
  background:rgba(255,255,255,.018);
  color:var(--fn-ink) !important;
  white-space:normal !important;
  overflow:hidden;
  transition:border-color .18s ease,background .18s ease,transform .18s ease !important;
}
.fn-products-dropdown-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:2px;
  background:var(--fn-gold);
  opacity:.42;
  transition:opacity .18s ease;
}
.fn-products-dropdown-card strong{
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:500;
  line-height:1.1;
}
.fn-products-card-arrow{
  position:absolute;
  right:14px;
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
  color:var(--fn-gold);
  font-size:17px;
  transition:transform .18s ease;
}
.fn-products-dropdown-card:hover,
.fn-products-dropdown-card:focus-visible{
  background:rgba(201,154,62,.055) !important;
  border-color:rgba(201,154,62,.38);
  transform:translateY(-2px);
  outline:none;
}
.fn-products-dropdown-card:hover::before,
.fn-products-dropdown-card:focus-visible::before{opacity:1;}
.fn-products-dropdown-card:hover .fn-products-card-arrow,
.fn-products-dropdown-card:focus-visible .fn-products-card-arrow{transform:translate(3px,-50%);}

@media(max-width:860px){
  /* Logo + iconos + hamburguesa en una sola fila; hamburguesa al final. */
  .fn-site-icons{order:2 !important;}
  .fn-mobile-menu-toggle{order:3 !important;}

  /* Productos se convierte en un acordeón integrado al panel móvil. */
  .fn-products-link{
    min-height:52px !important;
    padding:0 4px !important;
    color:var(--fn-ink) !important;
  }
  .fn-products-summary-label{
    font-size:14px;
    font-weight:500;
  }
  .fn-products-chevron{
    width:24px;
    height:24px;
    border:1px solid rgba(201,154,62,.22);
    border-radius:50%;
    font-size:12px;
  }
  .fn-products-dropdown{
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 0 13px !important;
    padding:12px !important;
    border:1px solid rgba(201,154,62,.18) !important;
    border-top:1px solid rgba(201,154,62,.18) !important;
    border-radius:3px;
    background:rgba(255,255,255,.018) !important;
    box-shadow:none !important;
    transform:none !important;
  }
  .fn-products-dropdown-head{
    align-items:flex-start;
    gap:8px;
    margin-bottom:8px;
    padding:0 0 10px;
  }
  .fn-products-dropdown-eyebrow{display:none;}
  .fn-products-all-link{
    width:100%;
    justify-content:space-between;
    min-height:34px;
    font-size:12px !important;
  }
  .fn-products-dropdown-grid{
    grid-template-columns:1fr;
    gap:6px;
  }
  .fn-products-dropdown-card{
    min-height:50px;
    justify-content:center;
    padding:10px 36px 10px 12px !important;
    border-color:rgba(243,236,223,.07);
    background:rgba(255,255,255,.012);
  }
  .fn-products-dropdown-card::before{
    inset:8px auto 8px 0;
    width:2px;
    height:auto;
  }
  .fn-products-dropdown-card strong{
    font-family:'Archivo',sans-serif;
    font-size:13px;
    font-weight:600;
  }
  .fn-products-card-arrow{
    right:12px;
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
    font-size:15px;
  }
  .fn-products-dropdown-card:hover,
  .fn-products-dropdown-card:focus-visible{transform:none;}
  .fn-products-dropdown-card:hover .fn-products-card-arrow,
  .fn-products-dropdown-card:focus-visible .fn-products-card-arrow{transform:translate(2px,-50%);}
}

@media(max-width:420px){
  .fn-mobile-menu-toggle{
    width:34px !important;
    min-width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }
  .fn-mobile-menu-toggle span{width:16px;}
}


/* ==========================================================
   V192 — Productos estable + footer con acceso explícito
   ========================================================== */

/* Nunca rotar el texto "Productos": solo rota la flecha. */
.fn-products-summary-label,
.fn-menu-products details[open] .fn-products-summary-label,
.fn-menu-products:hover .fn-products-summary-label,
.fn-menu-products:focus-within .fn-products-summary-label,
.fn-menu-products.is-hover-open .fn-products-summary-label,
body.fn-capture-mode .fn-menu-products .fn-products-summary-label{
  transform:none !important;
}

/* Si el usuario cierra explícitamente Productos en escritorio, respetar el cierre
   aunque el cursor siga unos instantes sobre el disparador. */
@media (hover:hover) and (pointer:fine){
  .fn-menu-products.is-manually-closed .fn-products-dropdown,
  .fn-menu-products.is-manually-closed:hover .fn-products-dropdown,
  .fn-menu-products.is-manually-closed:focus-within .fn-products-dropdown{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateX(-50%) translateY(8px) !important;
  }
  .fn-menu-products.is-manually-closed .fn-products-chevron,
  .fn-menu-products.is-manually-closed:hover .fn-products-chevron,
  .fn-menu-products.is-manually-closed:focus-within .fn-products-chevron{
    transform:translateY(-1px) rotate(0deg) !important;
  }
}

/* Footer: Productos ya no navega. Es solo el encabezado del grupo y
   "Ver todos los productos" queda como primer destino explícito. */
.fn-footer-products summary .fn-footer-products-label{
  color:var(--fn-dim);
  font-size:14.5px;
  line-height:1.35;
}
.fn-footer-products summary .fn-footer-products-chevron{
  color:var(--fn-gold);
}
.fn-footer-col .fn-footer-submenu .fn-footer-products-all{
  color:var(--fn-gold);
  font-weight:600;
}
.fn-footer-col .fn-footer-submenu .fn-footer-products-all:hover{
  color:var(--fn-ink);
}

/* V193 — Menú Productos simplificado: navegación directa y sin textos secundarios. */


/* ==========================================================
   V194 — Footer Productos alineado con el menú superior
   ========================================================== */
/* El texto Productos nunca rota: sólo la flecha indica apertura/cierre. */
.fn-footer-products summary .fn-footer-products-label,
.fn-footer-products details[open] summary .fn-footer-products-label{
  transform:none !important;
}
.fn-footer-products summary .fn-footer-products-chevron{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--fn-gold);
  transform:none !important;
  transition:transform .18s ease;
}
.fn-footer-products details[open] summary .fn-footer-products-chevron{
  transform:rotate(180deg) !important;
}

/* Misma familia visual que el desplegable superior, conservando la escala compacta del footer. */
.fn-footer-products .fn-footer-submenu{
  width:min(214px,100%);
  margin:10px 0 2px !important;
  padding:8px !important;
  gap:5px !important;
  border:1px solid rgba(201,154,62,.20) !important;
  border-top:2px solid rgba(201,154,62,.58) !important;
  border-left:1px solid rgba(201,154,62,.20) !important;
  border-radius:3px;
  background:
    radial-gradient(circle at 14% 0%,rgba(201,154,62,.07),transparent 38%),
    rgba(24,20,18,.72);
}
.fn-footer-products .fn-footer-submenu li{margin:0 !important;}
.fn-footer-products .fn-footer-submenu a{
  position:relative;
  min-height:31px;
  display:flex !important;
  align-items:center;
  padding:6px 26px 6px 9px !important;
  border:1px solid rgba(243,236,223,.07);
  border-radius:2px;
  background:rgba(255,255,255,.012);
  color:var(--fn-dim) !important;
  font-size:12.5px !important;
  line-height:1.25;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.fn-footer-products .fn-footer-submenu a::after{
  content:'→';
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-50%);
  color:var(--fn-gold);
  font-size:13px;
  transition:transform .18s ease;
}
.fn-footer-products .fn-footer-submenu a:hover,
.fn-footer-products .fn-footer-submenu a:focus-visible{
  background:rgba(201,154,62,.055);
  border-color:rgba(201,154,62,.30);
  color:var(--fn-ink) !important;
  outline:none;
}
.fn-footer-products .fn-footer-submenu a:hover::after,
.fn-footer-products .fn-footer-submenu a:focus-visible::after{
  transform:translate(2px,-50%);
}
.fn-footer-products .fn-footer-submenu .fn-footer-products-all{
  color:var(--fn-gold) !important;
  font-weight:600;
  border-color:rgba(201,154,62,.18);
}

@media(max-width:860px){
  .fn-footer-products .fn-footer-submenu{
    width:min(205px,100%);
    padding:7px !important;
  }
  .fn-footer-products .fn-footer-submenu a{
    min-height:30px;
    padding:6px 24px 6px 8px !important;
    font-size:12px !important;
  }
}

/* ==========================================================
   V195 — auditoría responsive integral de tienda y páginas WooCommerce
   ========================================================== */
@media(max-width:760px){
  /* Base móvil: evita anchos heredados de escritorio. */
  .fn-site-header *,
  .fn-site-footer *,
  .fn-store *,
  .fn-products-page *,
  .fn-favorites-page *,
  body.faronueve-woocommerce .woocommerce *{
    box-sizing:border-box;
  }

  .fn-site-header,
  .fn-site-footer,
  .fn-store,
  .fn-products-page,
  .fn-favorites-page,
  body.faronueve-woocommerce #page,
  body.faronueve-woocommerce #content,
  body.faronueve-woocommerce #primary,
  body.faronueve-woocommerce main{
    max-width:100% !important;
  }

  /* Header / menú: ancho completo y sin saltos raros. */
  .fn-site-navrow{width:100% !important;max-width:100% !important;}
  .fn-site-links{max-width:100vw !important;}
  .fn-site-links > a,
  .fn-menu-products,
  .fn-products-link,
  .fn-products-dropdown,
  .fn-products-dropdown-card{max-width:100% !important;}

  /* Productos y categorías. */
  .fn-store__hero-inner,
  .fn-store__catalog,
  .fn-shop-main,
  .fn-products-page,
  .fn-products-wrap{
    width:100% !important;
    max-width:100% !important;
  }
  .fn-store__copy,
  .fn-store__heading,
  .fn-shop-heading,
  .fn-products-hero-inner{min-width:0 !important;}
  .fn-store__copy h1,
  .fn-store__copy p,
  .fn-store__heading h2,
  .fn-store__heading p,
  .fn-shop-heading h1,
  .fn-shop-heading p{
    max-width:100% !important;
    overflow-wrap:anywhere;
  }
  .fn-store ul.products li.product,
  .fn-shop-main ul.products li.product,
  .fn-products-page ul.products li.product,
  .fn-favorites-grid > *{
    min-width:0 !important;
    max-width:100% !important;
  }
  .fn-store ul.products li.product img,
  .fn-shop-main ul.products li.product img,
  .fn-products-page ul.products li.product img,
  .fn-favorites-grid img{
    max-width:100% !important;
    height:auto;
  }

  /* Ficha: galería, contenido, variaciones y tabs nunca exceden pantalla. */
  body.single-product div.product,
  body.single-product div.product div.images,
  body.single-product div.product div.summary,
  body.single-product .woocommerce-product-gallery,
  body.single-product .woocommerce-tabs,
  body.single-product .woocommerce-tabs .panel{
    min-width:0 !important;
    max-width:100% !important;
  }
  body.single-product .woocommerce-product-gallery img{max-width:100% !important;height:auto !important;}
  body.single-product select,
  body.single-product input,
  body.single-product textarea{max-width:100% !important;}
  body.single-product .woocommerce-product-details__short-description,
  body.single-product .woocommerce-Tabs-panel{overflow-wrap:anywhere;}

  /* Carrito: conservar legibilidad sin que la tabla empuje el viewport. */
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review{
    min-width:0 !important;
    max-width:100% !important;
  }
  body.woocommerce-cart .woocommerce-cart-form{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  body.woocommerce-cart table.shop_table,
  body.woocommerce-checkout table.shop_table{max-width:100% !important;}
  body.woocommerce-checkout input,
  body.woocommerce-checkout textarea,
  body.woocommerce-checkout select,
  body.woocommerce-checkout .select2-container,
  body.woocommerce-account input,
  body.woocommerce-account textarea,
  body.woocommerce-account select{
    width:100% !important;
    max-width:100% !important;
  }

  /* Cuenta / pedidos: columnas apiladas y tablas desplazables si hace falta. */
  body.woocommerce-account .woocommerce,
  body.woocommerce-account .woocommerce-MyAccount-content,
  body.woocommerce-account .woocommerce-MyAccount-navigation{
    min-width:0 !important;
    max-width:100% !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content{overflow-x:auto;}

  /* Footer: conserva dos columnas arriba y logo debajo, sin desbordes. */
  .fn-site-footer-wrap,
  .fn-footer-top,
  .fn-footer-bottom{width:100% !important;max-width:100% !important;}
  .fn-footer-top > *{min-width:0 !important;}
  .fn-footer-col a,
  .fn-footer-logo p{overflow-wrap:anywhere;}
}

@media(max-width:430px){
  /* En teléfonos angostos priorizamos legibilidad sobre densidad. */
  .fn-store__hero-inner,
  .fn-store__catalog,
  .fn-products-page,
  .fn-favorites-page,
  body.faronueve-woocommerce.woocommerce-cart .woocommerce,
  body.faronueve-woocommerce.woocommerce-checkout .woocommerce{
    padding-left:14px !important;
    padding-right:14px !important;
  }
  body.single-product .summary{padding-left:14px !important;padding-right:14px !important;}
  .fn-footer-top{gap:20px 10px !important;}
}

/* ==========================================================
   V196 — Menú Productos: texto neutro + footer sin destacado dorado
   ========================================================== */
/* El título Productos usa el mismo color que el resto del menú. La flecha
   conserva el dorado como único acento visual. */
.fn-products-link .fn-products-summary-label{
  color:var(--fn-dim) !important;
}
.fn-products-link:hover .fn-products-summary-label,
.fn-menu-products:focus-within .fn-products-summary-label,
.fn-menu-products details[open] .fn-products-summary-label{
  color:var(--fn-ink) !important;
}

/* En el footer, "Ver todos los productos" se integra con Aromas/Regalería/Deco
   en vez de quedar resaltado en dorado. */
.fn-footer-products .fn-footer-submenu .fn-footer-products-all,
.fn-footer-col .fn-footer-submenu .fn-footer-products-all{
  color:var(--fn-dim) !important;
  font-weight:500 !important;
  border-color:rgba(243,236,223,.07) !important;
  background:rgba(255,255,255,.012) !important;
}
.fn-footer-products .fn-footer-submenu .fn-footer-products-all:hover,
.fn-footer-products .fn-footer-submenu .fn-footer-products-all:focus-visible,
.fn-footer-col .fn-footer-submenu .fn-footer-products-all:hover{
  color:var(--fn-ink) !important;
  border-color:rgba(201,154,62,.30) !important;
  background:rgba(201,154,62,.055) !important;
}


/* ==========================================================
   V197 — Menú Productos sólo por clic
   ========================================================== */
/* Escritorio y móvil comparten la misma interacción: Productos se abre
   únicamente con clic/tap. Pasar el mouse o enfocar el bloque ya no abre
   el panel por sí solo. */
.fn-menu-products details:not([open]) > .fn-products-dropdown,
.fn-menu-products:hover details:not([open]) > .fn-products-dropdown,
.fn-menu-products:focus-within details:not([open]) > .fn-products-dropdown{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

@media (hover:hover) and (pointer:fine){
  .fn-menu-products details:not([open]) > .fn-products-dropdown,
  .fn-menu-products:hover details:not([open]) > .fn-products-dropdown,
  .fn-menu-products:focus-within details:not([open]) > .fn-products-dropdown{
    transform:translateX(-50%) translateY(8px) !important;
  }
}

/* La flecha indica el estado real del <details>; nunca queda girada por hover. */
.fn-menu-products details:not([open]) .fn-products-chevron,
.fn-menu-products:hover details:not([open]) .fn-products-chevron,
.fn-menu-products:focus-within details:not([open]) .fn-products-chevron{
  transform:translateY(-1px) rotate(0deg) !important;
}
.fn-menu-products details[open] .fn-products-chevron,
.fn-menu-products.is-click-open .fn-products-chevron{
  transform:translateY(-1px) rotate(180deg) !important;
}

/* Estado visual del texto: hover puede resaltarlo, pero no controla apertura. */
.fn-menu-products details:not([open]) .fn-products-summary-label{
  transform:none !important;
}

/* ==========================================================
   V198 — buscador global Faro Nueve
   ========================================================== */
.fn-search-trigger{
  appearance:none;
  -webkit-appearance:none;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  font:inherit;
}
body.fn-search-open{overflow:hidden !important;}
.fn-global-search[hidden]{display:none !important;}
.fn-global-search{
  position:fixed;
  inset:0;
  z-index:100000;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:clamp(82px,11vh,126px) 20px 24px;
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease,visibility .18s ease;
  font-family:'Archivo',sans-serif;
}
.fn-global-search.is-open{opacity:1;visibility:visible;}
.fn-global-search-backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,8,7,.76);
  backdrop-filter:blur(8px);
}
.fn-global-search-panel{
  position:relative;
  z-index:1;
  width:min(760px,100%);
  max-height:min(720px,calc(100vh - 110px));
  overflow:auto;
  padding:26px;
  border:1px solid rgba(201,154,62,.32);
  border-radius:4px;
  background:linear-gradient(155deg,rgba(35,30,26,.995),rgba(23,20,18,.995));
  box-shadow:0 28px 80px rgba(0,0,0,.48);
  transform:translateY(-10px) scale(.985);
  transition:transform .2s ease;
}
.fn-global-search.is-open .fn-global-search-panel{transform:translateY(0) scale(1);}
.fn-global-search-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}
.fn-global-search-head span{
  display:block;
  margin-bottom:5px;
  color:var(--fn-gold);
  font-size:11px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.fn-global-search-head h2{
  margin:0;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:clamp(28px,4vw,40px);
  font-weight:500;
  line-height:1.05;
}
.fn-global-search-close{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  padding:0 0 2px;
  border:1px solid rgba(201,154,62,.28);
  border-radius:50%;
  background:transparent;
  color:var(--fn-dim);
  font:300 28px/1 'Archivo',sans-serif;
  cursor:pointer;
  transition:color .18s ease,border-color .18s ease,background .18s ease;
}
.fn-global-search-close:hover,
.fn-global-search-close:focus-visible{
  color:var(--fn-gold);
  border-color:rgba(201,154,62,.62);
  background:rgba(201,154,62,.07);
  outline:none;
}
.fn-global-search-field{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-height:58px;
  padding:7px 7px 7px 17px;
  border:1px solid rgba(243,236,223,.16);
  border-radius:3px;
  background:rgba(255,255,255,.025);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.fn-global-search-field:focus-within{
  border-color:rgba(201,154,62,.58);
  box-shadow:0 0 0 3px rgba(201,154,62,.07);
}
.fn-global-search-field > svg{width:21px;height:21px;color:var(--fn-gold);}
.fn-global-search-field input{
  width:100%;
  min-width:0;
  min-height:42px;
  padding:0;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:var(--fn-ink) !important;
  -webkit-text-fill-color:var(--fn-ink) !important;
  font:500 16px/1.35 'Archivo',sans-serif;
}
.fn-global-search-field input::placeholder{color:rgba(243,236,223,.48);opacity:1;}
.fn-global-search-field button{
  min-height:42px;
  padding:0 18px;
  border:1px solid rgba(201,154,62,.55);
  border-radius:2px;
  background:var(--fn-gold);
  color:#171411;
  font:600 12px/1 'Archivo',sans-serif;
  letter-spacing:.02em;
  cursor:pointer;
  transition:filter .18s ease,transform .18s ease;
}
.fn-global-search-field button:hover{filter:brightness(1.08);transform:translateY(-1px);}
.fn-global-search-results{margin-top:18px;}
.fn-global-search-help{
  margin:0;
  padding:13px 2px 2px;
  color:var(--fn-dim);
  font-size:13px;
  line-height:1.55;
}
.fn-global-search-loading{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  color:var(--fn-dim);
  font-size:13px;
}
.fn-global-search-loading span{
  width:16px;
  height:16px;
  border:2px solid rgba(201,154,62,.22);
  border-top-color:var(--fn-gold);
  border-radius:50%;
  animation:fn-search-spin .7s linear infinite;
}
.fn-global-search-loading p{margin:0;}
@keyframes fn-search-spin{to{transform:rotate(360deg);}}
.fn-global-search-list{
  display:grid;
  gap:7px;
}
.fn-global-search-result{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 22px;
  align-items:center;
  gap:12px;
  min-height:64px;
  padding:7px 10px 7px 7px;
  border:1px solid rgba(243,236,223,.07);
  border-radius:3px;
  background:rgba(255,255,255,.012);
  color:var(--fn-ink) !important;
  text-decoration:none !important;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.fn-global-search-result:hover,
.fn-global-search-result:focus-visible{
  border-color:rgba(201,154,62,.34);
  background:rgba(201,154,62,.045);
  transform:translateX(2px);
  outline:none;
}
.fn-global-search-result-visual{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(201,154,62,.15);
  border-radius:2px;
  background:rgba(255,255,255,.025);
}
.fn-global-search-result-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.fn-global-search-result-glyph{color:var(--fn-gold);font:500 19px/1 'Fraunces',serif;}
.fn-global-search-result-copy{display:flex;min-width:0;flex-direction:column;gap:2px;}
.fn-global-search-result-copy small{
  color:var(--fn-gold);
  font-size:9.5px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.fn-global-search-result-copy strong{
  overflow:hidden;
  color:var(--fn-ink);
  font-family:'Fraunces',serif;
  font-size:16px;
  font-weight:500;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fn-global-search-result-copy > span{
  overflow:hidden;
  color:var(--fn-dim);
  font-size:11.5px;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fn-global-search-result-arrow{color:var(--fn-gold);font-size:17px;transition:transform .18s ease;}
.fn-global-search-result:hover .fn-global-search-result-arrow{transform:translateX(2px);}
.fn-global-search-all{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
  padding:8px 2px;
  color:var(--fn-gold) !important;
  font-size:12.5px;
  font-weight:600;
  text-decoration:none !important;
}
.fn-global-search-all:hover{color:#e3b95f !important;}
.fn-global-search-empty{
  padding:16px 14px;
  border:1px solid rgba(243,236,223,.07);
  border-radius:3px;
  background:rgba(255,255,255,.012);
}
.fn-global-search-empty strong{display:block;margin-bottom:5px;color:var(--fn-ink);font:500 17px/1.2 'Fraunces',serif;}
.fn-global-search-empty p{margin:0;color:var(--fn-dim);font-size:12.5px;line-height:1.5;}
.fn-global-search-empty .fn-global-search-all{justify-content:flex-start;margin-top:8px;}

@media(max-width:600px){
  .fn-global-search{
    align-items:flex-start;
    padding:72px 10px 10px;
  }
  .fn-global-search-panel{
    width:100%;
    max-height:calc(100vh - 82px);
    padding:18px 14px 16px;
    border-radius:3px;
  }
  .fn-global-search-head{margin-bottom:14px;}
  .fn-global-search-head h2{font-size:28px;}
  .fn-global-search-head span{font-size:9.5px;}
  .fn-global-search-close{width:34px;height:34px;flex-basis:34px;font-size:25px;}
  .fn-global-search-field{
    grid-template-columns:20px minmax(0,1fr);
    min-height:54px;
    padding:7px 12px;
  }
  .fn-global-search-field button{
    grid-column:1/-1;
    width:100%;
    min-height:40px;
    margin-top:1px;
  }
  .fn-global-search-result{grid-template-columns:44px minmax(0,1fr) 18px;gap:9px;min-height:58px;padding:6px 8px 6px 6px;}
  .fn-global-search-result-visual{width:44px;height:44px;}
  .fn-global-search-result-copy strong{font-size:15px;}
  .fn-global-search-all{justify-content:flex-start;line-height:1.4;}
}

/* En teléfonos angostos la lupa sigue visible: ahora es el acceso principal
   al buscador real y no conviene ocultarla para ganar espacio. */
@media(max-width:390px){
  .fn-site-icons > .fn-search-trigger{display:flex !important;}
}


/* ==========================================================
   V205 — Categorías: acceso discreto a todos los productos
   ========================================================== */
/* Se quita el botón grande del catálogo y el acceso pasa al inicio del hero,
   como navegación secundaria para no competir con categorías y productos. */
.fn-store__all-products-row{display:none!important;}
.fn-store__back-products{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 0 22px;
  color:var(--fn-dim)!important;
  font:600 12px/1.2 'Archivo',sans-serif;
  letter-spacing:.015em;
  text-decoration:none!important;
  transition:color .18s ease,transform .18s ease;
}
.fn-store__back-products span{
  color:var(--fn-gold);
  font-size:14px;
  line-height:1;
  transition:transform .18s ease;
}
.fn-store__back-products:hover,
.fn-store__back-products:focus-visible{
  color:var(--fn-ink)!important;
  outline:none;
}
.fn-store__back-products:hover span,
.fn-store__back-products:focus-visible span{transform:translateX(-2px);}
@media(max-width:760px){
  .fn-store__back-products{margin-bottom:18px;font-size:11.5px;}
}

/* V207: botón secundario de categorías, con la identidad de Faro Nueve. */
.fn-store .fn-store__back-products{
  background:var(--fn-gold);color:#1c1815!important;
  padding:9px 15px;border:0;border-radius:2px;
  font:600 12px/1.3 'Archivo',sans-serif;
  width:auto;min-height:0;box-shadow:none;
}
.fn-store .fn-store__back-products span{color:inherit;}
.fn-store .fn-store__back-products:hover{background:#e0b458;color:#1c1815!important;}
.fn-store .fn-store__back-products:focus-visible{outline:2px solid var(--fn-gold);outline-offset:3px;}
