/* Fragancias Factory V3.2 final refinements */
html,body{width:100%;max-width:100%;overflow-x:clip}
.ff-site,.ff-main,.ff-shell,.woocommerce,.woocommerce-page{max-width:100%;min-width:0}
.ff-overflow-guard{overflow-x:hidden!important}
.ff-overflow-guard .ff-site{overflow-x:clip!important}
img,svg,video{max-width:100%}
.ff-mini-rail,.ff-mini-rail__track,.ff-category-tabs,.ff-quick-access__track{min-width:0;max-width:100%}

/* Smart mobile header: only category tabs collapse while core controls remain. */
@media (max-width:719px){
  .ff-header-v31{contain:layout paint style;overflow:visible}
  .ff-category-tabs{max-height:46px;opacity:1;transform:translateY(0);transition:max-height .22s cubic-bezier(.2,.7,.2,1),opacity .18s ease,transform .22s cubic-bezier(.2,.7,.2,1),padding .22s ease;border-top-color:rgba(29,42,36,.05)}
  .ff-header-v31.ff-tabs-hidden .ff-category-tabs{max-height:0!important;opacity:0;transform:translateY(-5px);padding-top:0!important;padding-bottom:0!important;border-top-color:transparent;pointer-events:none;overflow:hidden}
  .ff-header-v31.ff-tabs-hidden .ff-mobile-search-trigger{margin-bottom:6px}
}

/* Home hero: compact split mobile composition. */
.ff-hero__mobile-meta{display:none}
@media (max-width:719px){
  .ff-home-v31 .ff-hero-v32{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(118px,.95fr)!important;align-items:center;gap:10px!important;padding-top:14px!important;padding-bottom:18px!important;min-height:0!important}
  .ff-home-v31 .ff-hero-v32 .ff-hero__copy{min-width:0;padding:0}
  .ff-home-v31 .ff-hero-v32 h1{font-size:clamp(27px,8vw,35px)!important;line-height:1.02!important;max-width:9.5ch!important;margin:6px 0 0!important}
  .ff-home-v31 .ff-hero-v32 .ff-hero__lead{font-size:12px!important;line-height:1.42!important;margin:8px 0 0!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .ff-home-v31 .ff-hero-v32 .ff-hero__facts--desktop{display:none!important}
  .ff-hero__mobile-meta{display:flex;flex-wrap:wrap;gap:3px 8px;margin-top:9px;font-size:8.5px;line-height:1.25;color:#66736c}
  .ff-hero__mobile-meta strong{width:100%;font-size:12px;color:var(--ff-ink);font-weight:600}
  .ff-home-v31 .ff-hero-v32 .ff-actions{display:block!important;margin-top:11px!important}
  .ff-home-v31 .ff-hero-v32 .ff-actions .ff-btn{display:inline-flex!important;min-height:38px!important;padding:9px 13px!important;width:auto!important;font-size:8px!important;letter-spacing:.1em}
  .ff-home-v31 .ff-hero-v32 .ff-actions .ff-btn--secondary{display:none!important}
  .ff-home-v31 .ff-hero-v32 .ff-hero-3d{min-height:178px!important;height:178px!important;max-width:100%;overflow:hidden}
  .ff-home-v31 .ff-hero-v32 .ff-hero-3d__stage{inset:7%!important}
  .ff-home-v31 .ff-hero-v32 .ff-hero-3d__image{width:100%!important;height:100%!important;object-fit:cover!important}
  .ff-home-v31 .ff-hero-v32 .ff-hero-3d__halo{opacity:.55}
  .ff-home-v31 .ff-hero-v32 .ff-hero-3d__caption{display:none!important}
}
@media (max-width:360px){
  .ff-home-v31 .ff-hero-v32{grid-template-columns:minmax(0,1.48fr) minmax(105px,.8fr)!important;gap:7px!important}
  .ff-home-v31 .ff-hero-v32 h1{font-size:26px!important}
  .ff-home-v31 .ff-hero-v32 .ff-hero-3d{height:160px!important;min-height:160px!important}
}

/* Exactly three compact quick actions on one row. */
.ff-quick-access__short{display:none}
@media (max-width:719px){
  .ff-quick-access-v32{padding-bottom:22px!important}
  .ff-quick-access-v32 .ff-quick-access__track{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important;padding:0!important}
  .ff-quick-access-v32 .ff-quick-access__card{min-width:0!important;flex:none!important;display:flex!important;flex-direction:column!important;justify-content:center;align-items:center;text-align:center;gap:5px!important;min-height:78px!important;padding:8px 4px!important;border-radius:0}
  .ff-quick-access-v32 .ff-quick-access__icon{width:29px!important;height:29px!important}
  .ff-quick-access-v32 .ff-quick-access__icon svg{width:15px!important;height:15px!important}
  .ff-quick-access-v32 .ff-quick-access__short{display:block;font-family:var(--ff-body);font-size:10px;font-weight:600;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .ff-quick-access-v32 .ff-quick-access__full,.ff-quick-access-v32 .ff-quick-access__card small,.ff-quick-access-v32 .ff-quick-access__arrow{display:none!important}
  .ff-quick-access-v32 .ff-quick-access__text{width:100%;min-width:0}
}

/* Product cards: uniform one-line titles + subtle presentation line. */
.ff-card-v32__presentations{margin:3px 0 0;font-size:9px;line-height:1.15;color:#8a938e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ff-card-v31__title,.ff-card-v31__title a{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;-webkit-line-clamp:unset!important;-webkit-box-orient:unset!important;max-width:100%}
@media (max-width:719px){
  .woocommerce ul.products,.ff-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .ff-card-v31__body{grid-template-columns:minmax(0,1fr) 38px!important;padding:7px 7px 8px!important;gap:3px!important}
  .ff-card-v31__title{font-family:var(--ff-body)!important;font-size:14px!important;font-weight:600!important;line-height:1.15!important}
  .ff-card-v31__inspired{font-size:11px!important;line-height:1.15!important;font-style:normal!important;margin-top:3px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ff-card-v32__presentations{font-size:10px;margin-top:3px}
  .ff-card-v31__price{font-size:14px!important;line-height:1.1!important;margin-top:5px!important}
  .ff-card-v31__price .ff-price-prefix{font-size:10px!important}
  .ff-card-v31__quick{width:34px!important;height:34px!important}
  .ff-card-v31__quick::before{inset:-5px!important;min-width:44px;min-height:44px}
}

/* Premium concentrated ambient section. */
.ff-concentrated-section{position:relative;padding:clamp(26px,4vw,50px) clamp(12px,2vw,24px) clamp(30px,5vw,60px);background:linear-gradient(135deg,#f1ede2 0%,#f7f5ed 52%,#ece7da 100%)}
.ff-concentrated-section .ff-kicker--gold{color:#88703d}

/* Payment methods sourced from active WooCommerce gateways. */
.ff-payment-methods{margin-top:16px;padding-top:14px;border-top:1px solid rgba(29,42,36,.1)}
.ff-payment-methods__label{display:block;margin-bottom:8px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#6b7770}
.ff-payment-methods__list{display:flex;flex-wrap:wrap;gap:6px}
.ff-payment-method{display:flex;align-items:center;gap:5px;min-height:31px;padding:5px 8px;border:1px solid rgba(29,42,36,.12);background:#fff;font-size:9px;color:#4f5b54}
.ff-payment-method__icon{display:flex;align-items:center;max-width:70px}.ff-payment-method__icon img{max-height:20px;width:auto!important;margin:0!important}
.ff-payment-method__name{white-space:nowrap}
.ff-payment-methods--checkout{margin:0 0 14px;padding:11px 12px;border:1px solid rgba(29,42,36,.1);background:#fff}

/* Cart selection controls. */
.ff-cart-select-all{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;background:#fff;border:1px solid rgba(29,42,36,.09);font-size:12px}
.ff-cart-select-all label,.ff-mobile-cart-bar__select{display:flex;align-items:center;gap:8px;cursor:pointer}
.ff-cart-select__input,[data-ff-cart-select-all]{position:absolute;opacity:0;pointer-events:none}
.ff-cart-select__box{display:inline-grid;place-items:center;width:20px;height:20px;flex:0 0 20px;border:1.5px solid #9aa39e;border-radius:50%;background:#fff;transition:.15s ease}
.ff-cart-select__input:checked + .ff-cart-select__box,[data-ff-cart-select-all]:checked + .ff-cart-select__box{background:var(--ff-ink);border-color:var(--ff-ink);box-shadow:inset 0 0 0 5px var(--ff-ink)}
.ff-cart-select__input:checked + .ff-cart-select__box::after,[data-ff-cart-select-all]:checked + .ff-cart-select__box::after{content:"";width:6px;height:3px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg) translateY(-1px)}
.ff-cart-select{display:inline-flex;vertical-align:middle;margin-right:8px;transform:translateY(1px)}
.ff-cart-item-name-wrap{min-width:0}
.ff-selected-summary{margin-bottom:13px;padding:13px;background:#f5f6f1;border:1px solid rgba(29,42,36,.08)}
.ff-selected-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0}.ff-selected-summary>div span{font-size:11px;color:#657169}.ff-selected-summary>div strong{font-size:14px}
.ff-selected-summary__promo{margin:8px 0 0;padding-top:8px;border-top:1px solid rgba(29,42,36,.08);font-size:10px;color:#46574d}.ff-selected-summary__note{margin:4px 0 0;font-size:9px;color:#7f8984}
.ff-selected-checkout{cursor:pointer}.ff-selected-checkout:disabled,.ff-selected-checkout.is-disabled{opacity:.42;cursor:not-allowed}
.ff-selected-checkout.is-loading{opacity:.65;pointer-events:none}
.ff-cart-partial-selection .woocommerce-cart .cart_totals table.shop_table{display:none}

/* Mobile cart becomes compact and selection-aware. */
@media (max-width:719px){
  .woocommerce-cart .ff-woocommerce-shell{padding-inline:10px!important}
  .ff-cart-select-all{margin-bottom:8px;padding:8px 9px;border-radius:10px}
  .woocommerce-cart table.shop_table.cart tr.cart_item{grid-template-columns:76px minmax(0,1fr) 30px!important;grid-template-areas:"thumb name remove" "thumb qty subtotal"!important;gap:6px 9px!important;padding:9px!important;margin-bottom:7px!important;border-radius:11px!important;position:relative}
  .woocommerce-cart table.shop_table.cart .product-name{min-width:0}.woocommerce-cart table.shop_table.cart .product-name>a,.woocommerce-cart table.shop_table.cart .product-name .ff-cart-item-name-wrap>a{display:block;font-family:var(--ff-body)!important;font-size:13px!important;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .woocommerce-cart .ff-cart-select{position:absolute;left:-3px;top:50%;transform:translate(-100%,-50%);margin:0}
  .woocommerce-cart table.shop_table.cart .product-thumbnail img{width:76px!important;height:84px!important}
  .woocommerce-cart table.shop_table.cart .product-name dl.variation{font-size:9px!important;line-height:1.2}
  .woocommerce-cart table.shop_table.cart .product-subtotal{font-size:13px!important;font-weight:600}
  .woocommerce-cart{padding-bottom:84px!important}
  .ff-mobile-cart-bar{grid-template-columns:auto minmax(0,1fr) minmax(126px,38vw)!important;gap:8px!important;padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important}
  .ff-mobile-cart-bar__select{font-size:10px}.ff-mobile-cart-bar__select .ff-cart-select__box{width:19px;height:19px;flex-basis:19px}.ff-mobile-cart-bar__summary{min-width:0;text-align:right}.ff-mobile-cart-bar__summary small{font-size:8px!important}.ff-mobile-cart-bar__summary strong{font-size:17px!important;white-space:nowrap}
  .ff-mobile-cart-bar>button{min-width:0;width:100%;min-height:46px;border:0;background:var(--ff-ink);color:#fff;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
  .ff-payment-methods--cart{margin-top:10px}
}

/* Desktop cart: cleaner marketplace-style line items + sticky summary. */
@media (min-width:901px){
  .woocommerce-cart .entry-content>.woocommerce{grid-template-columns:minmax(0,1.7fr) minmax(320px,.72fr)!important;gap:34px!important}
  .woocommerce-cart table.shop_table.cart tr.cart_item{grid-template-columns:94px minmax(0,1fr) 108px 118px 95px 34px!important;gap:12px!important;padding:11px!important;border-radius:9px}
  .woocommerce-cart .product-name{min-width:0}.woocommerce-cart .product-name>a,.woocommerce-cart .product-name .ff-cart-item-name-wrap>a{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--ff-body)!important;font-size:14px!important;font-weight:600}
  .woocommerce-cart .ff-cart-select{margin-right:7px}
  .woocommerce-cart .cart-collaterals .cart_totals{border-radius:12px!important;padding:20px!important}
}

/* Prevent cart checkbox from widening table/grid. */
.woocommerce-cart .product-name{position:relative;min-width:0}

@media (prefers-reduced-motion:reduce){
  .ff-category-tabs{transition:none!important}
}
