/* ==========================================================
   Fragancias Factory Storefront V3.6
   Stability pass: desktop product, catalog navigation, cart selection,
   Ambientales routing, Safari chrome and premium desktop header.
   ========================================================== */

:root{--ff-v36-green:#17392f;--ff-v36-cream:#f8f8f3;--ff-v36-card:#fff;--ff-v36-line:rgba(29,42,36,.10);--ff-v36-shadow:0 22px 60px rgba(18,34,25,.10)}
html{max-width:100%;overflow-x:clip;background:var(--ff-browser-chrome,var(--ff-v36-green))}
body.ff-storefront-v36{max-width:100%;overflow-x:clip;background:var(--ff-v36-cream)}
body.ff-storefront-v36 .ff-site{min-width:0;max-width:100%;background:var(--ff-v36-cream)}
@supports(padding-top:env(safe-area-inset-top)){body.ff-storefront-v36::before{content:"";position:fixed;z-index:10000;left:0;right:0;top:0;height:env(safe-area-inset-top);background:var(--ff-browser-chrome,var(--ff-v36-green));pointer-events:none;transition:background .2s ease}}

/* ---------- Desktop header/search ---------- */
@media(min-width:901px){
  .ff-header-v31__main{min-height:76px;gap:20px}
  .ff-brand-v31{min-width:210px}
  .ff-brand-v31 .ff-brand__text{font-size:25px;letter-spacing:.01em}
  .ff-menu-v31{gap:18px;font-size:10.5px;letter-spacing:.105em}
  .ff-menu-v31>li>a{min-height:48px;padding-top:2px}
  .ff-header-search-trigger{order:3;margin-left:auto;min-width:300px;max-width:430px;min-height:46px;border-radius:999px;border:1px solid rgba(29,42,36,.16);background:#fff;box-shadow:0 7px 22px rgba(18,34,25,.045);padding:0 17px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
  .ff-header-search-trigger:hover,.ff-header-search-trigger:focus-visible{border-color:rgba(23,57,47,.42);box-shadow:0 9px 28px rgba(18,34,25,.08);transform:translateY(-1px)}
  .ff-header-search-trigger span{font-size:11.5px;letter-spacing:.01em;color:#6c7771}
  .ff-header-actions-v31{order:4}
  .ff-menu-v31__mega-trigger:hover .ff-mega-menu-v36,.ff-menu-v31__mega-trigger:focus-within .ff-mega-menu-v36{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .ff-mega-menu-v36{position:absolute;left:-190px;top:calc(100% + 1px);width:min(820px,78vw);display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:18px;background:rgba(255,255,255,.985);border:1px solid var(--ff-v36-line);border-radius:14px;box-shadow:0 28px 70px rgba(14,27,20,.15);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(9px);transition:.2s cubic-bezier(.2,.8,.2,1);text-transform:none;letter-spacing:0;overflow:hidden}
  .ff-mega-menu-v36__intro{padding:10px 8px 8px 6px;display:flex;flex-direction:column;align-items:flex-start}
  .ff-mega-menu-v36__intro h3{font-family:var(--ff-display);font-size:25px;font-weight:400;line-height:1.08;margin:2px 0 9px}
  .ff-mega-menu-v36__intro>p:not(.ff-mega-menu__eyebrow){font-size:11px;line-height:1.55;color:#6b7770;margin:0}
  .ff-mega-menu-v36__links{width:100%;margin-top:auto;padding-top:14px}.ff-mega-menu-v36__links a{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid rgba(29,42,36,.08);font-size:10px;font-weight:600;color:#31443a}
  .ff-mega-menu-v36__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
  .ff-mega-cat{position:relative;display:block;min-width:0;min-height:225px;overflow:hidden;border-radius:10px;background:#e9eee7}
  .ff-mega-cat__media{position:absolute;inset:0;background:linear-gradient(145deg,#e8ede6,#dbe4dc);background-size:cover;background-position:center;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
  .ff-mega-cat::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(to top,rgba(12,26,19,.78),rgba(12,26,19,0))}
  .ff-mega-cat__label{position:absolute;z-index:2;left:12px;right:12px;bottom:11px;color:#fff}.ff-mega-cat__label strong,.ff-mega-cat__label small{display:block}.ff-mega-cat__label strong{font-family:var(--ff-display);font-size:19px;font-weight:400}.ff-mega-cat__label small{margin-top:2px;font-size:8px;letter-spacing:.13em;text-transform:uppercase;opacity:.8}
  .ff-mega-cat:hover .ff-mega-cat__media{transform:scale(1.045)}
}

/* ---------- Product page desktop: hard reset of Woo floats + stable content flow ---------- */
.single-product .ff-woocommerce-shell{width:min(100%,1320px)!important;padding:28px 24px 64px!important}
.single-product .woocommerce div.product{display:grid!important;grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr)!important;column-gap:clamp(36px,4vw,66px)!important;row-gap:34px!important;align-items:start!important;width:100%!important;max-width:100%!important;min-width:0!important}
.single-product .woocommerce div.product::before,.single-product .woocommerce div.product::after{display:none!important}
.single-product .woocommerce div.product>.woocommerce-product-gallery{grid-column:1!important;grid-row:1!important;float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;position:relative!important}
.single-product .woocommerce div.product>.summary{grid-column:2!important;grid-row:1!important;float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:4px 0 0!important;position:sticky!important;top:94px!important;align-self:start!important}
.single-product .summary>*{max-width:100%;box-sizing:border-box}
.single-product .product_title{font-size:clamp(34px,3.25vw,50px)!important;line-height:1.03!important;margin:0 0 7px!important;overflow-wrap:anywhere}
.single-product .ff-inspired--single{margin:0 0 12px!important;font-size:12px!important;line-height:1.4!important}
.single-product .summary>p.price{display:block!important;font-size:25px!important;line-height:1.2!important;margin:12px 0 8px!important;clear:both!important}
.single-product .woocommerce-product-details__short-description{display:block!important;clear:both!important;margin:12px 0 18px!important;font-size:12px!important;line-height:1.65!important;color:#536159!important}
.single-product form.cart{display:block!important;clear:both!important;width:100%!important;margin:18px 0 0!important;padding:18px 0 0!important;border-top:1px solid var(--ff-v36-line)!important}
.single-product form.cart::after{content:"";display:table;clear:both}
.single-product .single_variation_wrap{display:block!important;width:100%!important;min-width:0!important}
.single-product .woocommerce-variation-add-to-cart{display:flex!important;align-items:stretch!important;gap:9px!important;width:100%!important;max-width:100%!important;flex-wrap:nowrap!important}
.single-product .quantity{flex:0 0 auto!important;min-width:118px!important;max-width:132px!important}
.single-product .single_add_to_cart_button{flex:1 1 auto!important;min-width:0!important;white-space:nowrap!important}
.single-product .summary form.cart + .ff-payment-rail,.single-product .summary .ff-payment-rail--product{position:relative!important;display:block!important;clear:both!important;width:100%!important;max-width:100%!important;margin:13px 0 0!important;padding:10px 0 0!important;border-top:1px solid rgba(29,42,36,.09)!important;overflow:hidden!important}
.single-product .ff-payment-rail__viewport{display:block!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
.single-product .ff-payment-rail__track{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;width:max-content!important;max-width:none!important}
.single-product .product_meta{clear:both!important;margin-top:16px!important}
.single-product .woocommerce div.product>.woocommerce-tabs,.single-product .woocommerce div.product>.related,.single-product .woocommerce div.product>.upsells,.single-product .woocommerce div.product>.ff-product-story{grid-column:1/-1!important;width:100%!important;min-width:0!important}
.single-product .woocommerce-tabs{margin-top:12px!important}.single-product .woocommerce-tabs .panel{max-width:920px!important}
.single-product .related,.single-product .upsells{margin-top:10px!important}.single-product .related>h2,.single-product .upsells>h2{font-size:clamp(28px,3vw,40px)!important}
.single-product .related ul.products,.single-product .upsells ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.single-product .related ul.products::before,.single-product .related ul.products::after,.single-product .upsells ul.products::before,.single-product .upsells ul.products::after{display:none!important}
.single-product .related ul.products li.product,.single-product .upsells ul.products li.product{float:none!important;width:100%!important;margin:0!important;min-width:0!important}

@media(max-width:1023px){
  .single-product .woocommerce div.product{display:block!important}.single-product .woocommerce div.product>.summary{position:static!important;width:100%!important;padding-top:18px!important}.single-product .woocommerce div.product>.woocommerce-product-gallery{width:100%!important;padding-left:0!important}.single-product .woocommerce div.product div.images .flex-control-thumbs{position:static!important;width:auto!important;max-height:none!important;display:flex!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important;margin-top:9px!important}.single-product .related ul.products,.single-product .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:719px){
  .single-product .ff-woocommerce-shell{padding:10px 12px 48px!important}.single-product .product_title{font-size:31px!important}.single-product .summary>p.price{font-size:23px!important}.single-product .woocommerce-product-details__short-description{font-size:11px!important}.single-product .woocommerce-variation-add-to-cart{gap:6px!important}.single-product .quantity{min-width:105px!important;max-width:112px!important}.single-product .single_add_to_cart_button{min-height:49px!important;font-size:10px!important;letter-spacing:.09em!important}.single-product .summary form.cart + .ff-payment-rail,.single-product .summary .ff-payment-rail--product{display:block!important;margin-top:10px!important;padding-top:8px!important;visibility:visible!important;opacity:1!important}.single-product .ff-payment-rail__label{font-size:8px}.single-product .ff-paylogo{width:66px;height:26px}.single-product .ff-paylogo--mercadopago{width:86px}
}

/* ---------- Catalog: replace the native select with custom exploration UI ---------- */
.woocommerce .woocommerce-ordering{display:none!important}
.ff-catalog-toolbar{clear:both;position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:10px 0 12px;border-top:1px solid rgba(29,42,36,.07);border-bottom:1px solid rgba(29,42,36,.08)}
.ff-catalog-toolbar__left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.ff-catalog-toolbar__label{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#7b8780;white-space:nowrap}.ff-catalog-toolbar__chips{display:flex;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:none}.ff-catalog-toolbar__chips::-webkit-scrollbar{display:none}.ff-catalog-toolbar__chips a{flex:0 0 auto;padding:7px 10px;border:1px solid rgba(29,42,36,.10);border-radius:999px;background:#fff;font-size:9px;color:#405047;transition:.15s ease}.ff-catalog-toolbar__chips a:hover{border-color:#17392f;background:#f2f5ef}
.ff-catalog-sort{position:relative;flex:0 0 auto}.ff-catalog-sort__trigger{min-width:164px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;min-height:40px;padding:0 11px;border:1px solid rgba(29,42,36,.14);border-radius:9px;background:#fff;color:#304139;cursor:pointer;text-align:left}.ff-catalog-sort__trigger>span:first-child{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#849088}.ff-catalog-sort__trigger strong{font-size:10px;font-weight:600;white-space:nowrap}.ff-catalog-sort__chevron{font-size:15px;transition:transform .18s ease}.ff-catalog-sort.is-open .ff-catalog-sort__chevron{transform:rotate(180deg)}
.ff-catalog-sort__menu{position:absolute;right:0;top:calc(100% + 7px);width:210px;padding:6px;border:1px solid var(--ff-v36-line);border-radius:10px;background:#fff;box-shadow:0 20px 48px rgba(14,28,20,.12)}.ff-catalog-sort__menu[hidden]{display:none!important}.ff-catalog-sort__menu a{display:flex;align-items:center;justify-content:space-between;padding:10px 10px;border-radius:7px;font-size:10px;color:#46564d}.ff-catalog-sort__menu a:hover,.ff-catalog-sort__menu a.is-active{background:#eff3ed;color:#17392f}.ff-catalog-sort__menu a.is-active::after{content:"✓";font-weight:700}
@media(max-width:719px){.woocommerce-shop .ff-woocommerce-shell,.tax-product_cat .ff-woocommerce-shell{padding-top:12px!important}.woocommerce-products-header__title.page-title{font-size:31px!important}.ff-catalog-toolbar{gap:7px;margin-bottom:11px;padding:7px 0 9px}.ff-catalog-toolbar__label{display:none}.ff-catalog-toolbar__chips{gap:4px}.ff-catalog-toolbar__chips a{padding:6px 8px;font-size:8px}.ff-catalog-sort__trigger{min-width:112px;min-height:34px;padding:0 8px}.ff-catalog-sort__trigger>span:first-child{display:none}.ff-catalog-sort__trigger strong{font-size:8.5px}.ff-catalog-sort__menu{position:fixed;z-index:600;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));top:auto;width:auto;padding:8px;border-radius:14px}.ff-catalog-sort__menu a{padding:12px 11px;font-size:11px}}

/* ---------- Cart: every line selectable, desktop and mobile ---------- */
.woocommerce-cart .ff-cart-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 10px!important;padding:8px 0 10px!important;border-bottom:1px solid rgba(29,42,36,.09)!important}
.woocommerce-cart .ff-cart-toolbar__title strong{font-size:22px!important}.woocommerce-cart .ff-cart-toolbar__select-all{display:inline-flex!important;align-items:center!important;gap:7px!important;cursor:pointer!important;padding:6px 8px!important;border-radius:999px!important;background:#f0f3ed!important}
.woocommerce-cart .ff-cart-toolbar__select-all input[data-ff-cart-select-all]{display:block!important;position:static!important;opacity:1!important;pointer-events:auto!important;appearance:none!important;-webkit-appearance:none!important;width:19px!important;height:19px!important;border:1.5px solid #88938d!important;border-radius:50%!important;background:#fff!important;margin:0!important}
.woocommerce-cart .ff-cart-toolbar__select-all input[data-ff-cart-select-all]:checked{background:#17392f!important;border-color:#17392f!important;box-shadow:inset 0 0 0 5px #17392f!important}
.woocommerce-cart .ff-cart-toolbar__select-all input[data-ff-cart-select-all]:indeterminate{background:linear-gradient(#17392f,#17392f) center/8px 2px no-repeat #fff!important;border-color:#17392f!important}
.woocommerce-cart table.shop_table.cart .product-name{min-width:0!important}
.woocommerce-cart .ff-cart-select--desktop{display:inline-grid!important;place-items:center!important;vertical-align:middle!important;width:24px!important;height:24px!important;margin:0 8px 0 0!important;cursor:pointer!important}.woocommerce-cart .ff-cart-select--desktop .ff-cart-select__input{position:static!important;display:block!important;opacity:1!important;pointer-events:auto!important;appearance:none!important;-webkit-appearance:none!important;width:20px!important;height:20px!important;border:1.5px solid #87928b!important;border-radius:50%!important;background:#fff!important;margin:0!important;cursor:pointer!important}.woocommerce-cart .ff-cart-select--desktop .ff-cart-select__input:checked{background:#17392f!important;border-color:#17392f!important;box-shadow:inset 0 0 0 5px #17392f!important}.woocommerce-cart .ff-cart-select--desktop .ff-cart-select__box{display:none!important}
.woocommerce-cart .ff-cart-item-name-wrap{display:inline!important;min-width:0}.woocommerce-cart tr.cart_item.ff-cart-item--deselected{opacity:.5!important;background:#f5f6f2!important}
@media(min-width:720px){.woocommerce-cart .ff-cart-select--v35{display:none!important}.woocommerce-cart table.shop_table.cart .product-name{display:table-cell!important}.woocommerce-cart .ff-cart-thumb-v35{display:block!important}.woocommerce-cart .ff-cart-thumb-v35__image img{width:86px!important;max-width:86px!important}}
@media(max-width:719px){.woocommerce-cart .ff-cart-select--desktop{display:none!important}.woocommerce-cart .ff-cart-select--v35{display:grid!important}.woocommerce-cart .ff-cart-toolbar__title strong{font-size:18px!important}.woocommerce-cart .ff-cart-toolbar__title small{font-size:8px!important}.woocommerce-cart .ff-cart-toolbar__select-all{font-size:8px!important;padding:5px 7px!important}.woocommerce-cart .ff-cart-toolbar__select-all input[data-ff-cart-select-all]{width:18px!important;height:18px!important}}

/* ---------- Final tiny safeguards ---------- */
.ff-storefront-v36 img{max-width:100%;height:auto}.ff-storefront-v36 *{min-width:0}/* 3.11.0: .ff-mini-rail__track sale de esta regla. min-width:max-content expandia
   la CAJA del track hasta el ancho de todas las tarjetas; combinado con el
   overflow del contenedor exterior producia un segundo scroll vacio. */
.ff-storefront-v36 .ff-payment-rail__track,.ff-storefront-v36 .ff-category-tabs{min-width:max-content}
@media(prefers-reduced-motion:reduce){.ff-storefront-v36 .ff-payment-rail__track,.ff-storefront-v36 .ff-mega-cat__media{animation:none!important;transition:none!important}}
@media(min-width:901px){
  .ff-menu-v36__ambient-trigger:hover .ff-submenu-v36,.ff-menu-v36__ambient-trigger:focus-within .ff-submenu-v36{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .ff-submenu-v36{position:absolute;left:50%;top:calc(100% + 1px);transform:translate(-50%,9px);width:430px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;background:#fff;border:1px solid var(--ff-v36-line);border-radius:12px;box-shadow:0 22px 55px rgba(14,27,20,.14);opacity:0;visibility:hidden;pointer-events:none;transition:.18s cubic-bezier(.2,.8,.2,1);text-transform:none;letter-spacing:0}
  .ff-submenu-v36>a{display:grid!important;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:center;min-height:88px;padding:7px!important;border:0!important;border-radius:8px;background:#f7f8f4}
  .ff-submenu-v36__media{display:block;width:76px;height:74px;border-radius:6px;background:#e9eee7 center/cover no-repeat}
  .ff-submenu-v36 strong,.ff-submenu-v36 small{display:block}.ff-submenu-v36 strong{font-family:var(--ff-display);font-size:15px;font-weight:400;line-height:1.15}.ff-submenu-v36 small{margin-top:4px;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#7b8780}
}
/* V3.6.1 cart selector placement: use product-name cell on BOTH desktop and mobile.
   WooCommerce may hide the thumbnail cell on narrow screens, so thumbnail selectors are only a hidden fallback. */
.woocommerce-cart .ff-cart-select--v35{display:none!important}
.woocommerce-cart .ff-cart-select--desktop{display:inline-grid!important}
@media(max-width:719px){
  .woocommerce-cart table.shop_table.cart .product-name{display:flex!important;align-items:flex-start!important;gap:6px!important}
  .woocommerce-cart .ff-cart-select--desktop{flex:0 0 22px!important;width:22px!important;height:22px!important;margin:0 3px 0 0!important}
  .woocommerce-cart .ff-cart-select--desktop .ff-cart-select__input{width:19px!important;height:19px!important}
  .woocommerce-cart .ff-cart-item-name-wrap{display:block!important;min-width:0!important;flex:1!important}
}
