/* ==========================================================
   Fragancias Factory Storefront V3.3
   Final premium refinement: mobile hero, smart chrome,
   commerce shortcuts, product storytelling, gallery and cart.
   ========================================================== */
:root{
  --ff-v33-topbar:#17392f;
  --ff-v33-header:#f8f8f3;
  --ff-v33-sage:#e9efe8;
  --ff-v33-sand:#f4eddf;
  --ff-v33-rose:#f1e7e4;
  --ff-v33-gold:#a4874c;
}
html,body{width:100%;max-width:100%;overflow-x:clip!important}
body.ff-storefront-v33{background:var(--ff-v33-header)}
.ff-site,.ff-main,.ff-shell,.woocommerce,.woocommerce-page,.ff-home-rail,.ff-section{min-width:0;max-width:100%}
.ff-site{overflow-x:clip}

/* ---------- Browser chrome + promo topbar ---------- */
.ff-topbar-v31{max-height:calc(42px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);overflow:hidden;background:var(--ff-v33-topbar)!important;color:#fff;transition:max-height .22s cubic-bezier(.2,.8,.2,1),opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1)}
.ff-topbar-v31 .ff-topbar__accent{color:#d9c28d}
body.ff-scroll-compact .ff-topbar-v31{max-height:0;padding-top:0;opacity:0;transform:translateY(-100%)}
.ff-header-v31{transition:box-shadow .2s ease,background .2s ease,transform .22s ease}

/* ---------- Home hero: fixed cut-out bottle on mobile ---------- */
@media (max-width:719px){
  .ff-home-v31 .ff-hero-v32{grid-template-columns:minmax(0,1.48fr) minmax(110px,.82fr)!important;gap:8px!important;padding-top:12px!important;padding-bottom:16px!important;align-items:center!important}
  .ff-home-v31 .ff-hero-v32 h1{font-size:clamp(25px,7.5vw,33px)!important;max-width:10ch!important;line-height:1.01!important;margin-top:5px!important}
  .ff-home-v31 .ff-hero-v32 .ff-hero__lead{font-size:11.5px!important;line-height:1.36!important;-webkit-line-clamp:3!important;margin-top:7px!important}
  .ff-hero__mobile-meta{gap:2px 7px!important;margin-top:8px!important;font-size:8.5px!important}
  .ff-hero__mobile-meta strong{font-size:12.5px!important}
  .ff-home-v31 .ff-hero-v32 .ff-actions{margin-top:10px!important}
  .ff-home-v31 .ff-hero-v32 .ff-actions .ff-btn{min-height:36px!important;padding:8px 12px!important;border-radius:5px!important}
  .ff-home-v31 .ff-hero-v32 .ff-hero-3d{height:166px!important;min-height:166px!important;overflow:visible!important;display:grid;place-items:center;background:transparent!important;perspective:none!important}
  .ff-home-v31 .ff-hero-v32 .ff-hero-3d__stage{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;background:transparent!important;box-shadow:none!important;border:0!important;transform:none!important;animation:none!important;display:grid!important;place-items:center!important}
  .ff-home-v31 .ff-hero-v32 .ff-hero-3d__image{position:relative!important;width:100%!important;height:100%!important;max-height:164px!important;object-fit:contain!important;object-position:center!important;transform:none!important;animation:none!important;filter:drop-shadow(0 14px 18px rgba(22,45,34,.14))!important}
  .ff-home-v31 .ff-hero-v32 .ff-hero-3d__halo,.ff-home-v31 .ff-hero-v32 .ff-hero-3d__shine,.ff-home-v31 .ff-hero-v32 .ff-hero-3d__shadow{display:none!important}
}
@media (max-width:360px){
  .ff-home-v31 .ff-hero-v32{grid-template-columns:minmax(0,1.45fr) 102px!important}
  .ff-home-v31 .ff-hero-v32 h1{font-size:24px!important}
  .ff-home-v31 .ff-hero-v32 .ff-hero-3d{height:150px!important;min-height:150px!important}
}

/* ---------- Three compact Alibaba-inspired shortcuts ---------- */
.ff-quick-access-v33 .ff-quick-access__track{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ff-quick-access-v33 .ff-quick-access__card{border:0;border-radius:8px;box-shadow:0 7px 18px rgba(22,41,31,.045);overflow:hidden;position:relative}
.ff-quick-access-v33 .ff-quick-access__card--sage{background:linear-gradient(135deg,#e7efe8,#f2f5ee)}
.ff-quick-access-v33 .ff-quick-access__card--sand{background:linear-gradient(135deg,#f1eadb,#f8f4ea)}
.ff-quick-access-v33 .ff-quick-access__card--rose{background:linear-gradient(135deg,#eee1de,#f8efec)}
.ff-quick-access__emoji{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.72);font-family:var(--ff-body);font-size:13px;font-weight:700;letter-spacing:-.03em;box-shadow:inset 0 0 0 1px rgba(29,42,36,.06)}
@media (max-width:719px){
  .ff-quick-access-v33{padding-bottom:20px!important}
  .ff-quick-access-v33 .ff-quick-access__track{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important}
  .ff-quick-access-v33 .ff-quick-access__card{min-height:76px!important;min-width:0!important;padding:8px 5px!important;border-radius:6px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:5px!important;text-align:center!important}
  .ff-quick-access-v33 .ff-quick-access__emoji{width:30px;height:30px;font-size:10px}
  .ff-quick-access-v33 .ff-quick-access__short{display:block!important;font-family:var(--ff-body)!important;font-size:10px!important;font-weight:600!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
  .ff-quick-access-v33 .ff-quick-access__full,.ff-quick-access-v33 small,.ff-quick-access-v33 .ff-quick-access__arrow{display:none!important}
  .ff-quick-access-v33 .ff-quick-access__text{width:100%;min-width:0}
}

/* ---------- Cards remain dense and uniform ---------- */
.ff-card-v31__title,.ff-card-v31__title a{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
@media (max-width:719px){
  .ff-card-v31__title{font-size:13px!important;font-weight:600!important;line-height:1.1!important}
  .ff-card-v31__inspired{font-size:10.5px!important}
  .ff-card-v32__presentations{font-size:9.5px!important;color:#818c85!important}
  .ff-card-v31__price{font-size:13px!important}
}

/* ---------- 3x2 hero promotion ---------- */
.ff-promo-v33{position:relative;overflow:hidden;background:linear-gradient(135deg,#17392f 0%,#214a3c 58%,#17372d 100%);color:#fff;padding:clamp(38px,5vw,72px) 0}
.ff-promo-v33::after{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-140px;top:-210px;background:radial-gradient(circle,rgba(207,178,112,.18),transparent 66%);pointer-events:none}
.ff-promo-v33__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(28px,5vw,80px);align-items:center}
.ff-promo-v33__copy h2{font-family:var(--ff-display);font-weight:400;font-size:clamp(35px,4.6vw,64px);line-height:1.02;max-width:10ch;margin:6px 0 14px}.ff-promo-v33__copy>p:not(.ff-kicker){max-width:48ch;color:rgba(255,255,255,.76);font-size:13px;line-height:1.55;margin-bottom:22px}
.ff-promo-v33__visual{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;position:relative}
.ff-promo-bottle{min-height:205px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:flex-end;padding:18px 14px;position:relative;overflow:hidden}
.ff-promo-bottle::before{content:"";position:absolute;left:50%;top:24px;transform:translateX(-50%);width:48px;height:86px;border:1px solid rgba(255,255,255,.24);border-radius:9px 9px 14px 14px;background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.03))}
.ff-promo-bottle::after{content:"";position:absolute;left:50%;top:13px;transform:translateX(-50%);width:22px;height:18px;border:1px solid rgba(255,255,255,.22);border-radius:3px 3px 0 0}
.ff-promo-bottle>span{position:absolute;left:12px;top:11px;font-size:9px;letter-spacing:.16em;color:#d7c18e}.ff-promo-bottle strong{font-family:var(--ff-display);font-size:18px;font-weight:400}.ff-promo-bottle small{margin-top:4px;font-size:9px;color:rgba(255,255,255,.63)}
.ff-promo-bottle--accent{background:linear-gradient(180deg,rgba(193,159,83,.20),rgba(255,255,255,.06));border-color:rgba(218,190,126,.38)}
.ff-promo-v33__plus{font-family:var(--ff-display);font-size:22px;color:#d7c18e}.ff-promo-v33__equals{position:absolute;left:50%;bottom:-32px;transform:translateX(-50%);white-space:nowrap;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#dcc99b}.ff-promo-v33__equals strong{padding:0 5px}
@media(max-width:719px){
  .ff-promo-v33{padding:30px 0 42px}.ff-promo-v33__grid{grid-template-columns:1fr;gap:24px}.ff-promo-v33__copy h2{font-size:34px;max-width:11ch}.ff-promo-v33__copy>p:not(.ff-kicker){font-size:11px}.ff-promo-v33__visual{gap:5px}.ff-promo-bottle{min-height:136px;padding:11px 7px;border-radius:10px}.ff-promo-bottle::before{top:21px;width:34px;height:57px}.ff-promo-bottle::after{top:12px;width:17px;height:13px}.ff-promo-bottle>span{font-size:7px;top:7px;left:7px}.ff-promo-bottle strong{font-size:12px}.ff-promo-bottle small{font-size:7px;line-height:1.2}.ff-promo-v33__plus{font-size:15px}.ff-promo-v33__equals{bottom:-27px;font-size:8px}
}

/* ---------- Events: editorial instead of generic blocks ---------- */
.ff-events-v33{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(28px,5vw,76px);align-items:center}
.ff-events-v33__copy h2{font-family:var(--ff-display);font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1.03;margin:8px 0 14px}.ff-events-v33__copy>p{max-width:52ch;color:#647169;font-size:13px;line-height:1.65}
.ff-events-v33__tags{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0 22px}.ff-events-v33__tags span{padding:6px 9px;border:1px solid rgba(29,42,36,.11);border-radius:999px;background:#fff;font-size:9px;color:#59665f}
.ff-events-v33__media{position:relative;min-height:430px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#ece7dc,#dfe7df)}.ff-events-v33__media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ff-events-v33__placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:7px;color:#52645a}.ff-events-v33__placeholder span{font-family:var(--ff-display);font-size:58px}.ff-events-v33__placeholder small{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.ff-events-v33__stamp{position:absolute;left:16px;bottom:16px;padding:12px 14px;border-radius:10px;background:rgba(250,248,241,.91);backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(24,42,33,.10)}.ff-events-v33__stamp strong,.ff-events-v33__stamp span{display:block}.ff-events-v33__stamp strong{font-family:var(--ff-display);font-weight:400;font-size:17px}.ff-events-v33__stamp span{font-size:9px;color:#69766f}
@media(max-width:719px){.ff-events-v33{grid-template-columns:1fr;gap:18px}.ff-events-v33__copy h2{font-size:30px}.ff-events-v33__copy>p{font-size:11px}.ff-events-v33__media{min-height:270px;border-radius:12px}}

/* ---------- Compact facts strip under events ---------- */
.ff-benefits-v33{padding:0 0 clamp(38px,5vw,68px);background:transparent!important}
.ff-benefits-v33__frame{display:grid;grid-template-columns:minmax(170px,.55fr) minmax(0,1.45fr);gap:18px;align-items:center;padding:16px 18px;border:1px solid rgba(29,42,36,.09);border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(20,36,28,.035)}
.ff-benefits-v33__intro small,.ff-benefits-v33__intro strong{display:block}.ff-benefits-v33__intro small{font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:#77837c}.ff-benefits-v33__intro strong{font-family:var(--ff-display);font-size:16px;font-weight:400;margin-top:3px}
.ff-benefits-v33__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ff-benefits-v33__items>div{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 10px;border-left:1px solid rgba(29,42,36,.07)}.ff-benefits-v33__items>div>span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:#edf1eb;font-size:9px;font-weight:700}.ff-benefits-v33__items p{margin:0;min-width:0}.ff-benefits-v33__items strong,.ff-benefits-v33__items small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-benefits-v33__items strong{font-size:10px}.ff-benefits-v33__items small{margin-top:1px;font-size:8px;color:#78847d}
@media(max-width:719px){.ff-benefits-v33__frame{grid-template-columns:1fr;padding:10px;gap:8px}.ff-benefits-v33__intro{display:none}.ff-benefits-v33__items{gap:3px}.ff-benefits-v33__items>div{display:block;text-align:center;padding:7px 3px;border-left:0}.ff-benefits-v33__items>div>span{margin:0 auto 4px;min-width:29px;width:29px;height:29px;font-size:8px}.ff-benefits-v33__items strong{font-size:8.5px}.ff-benefits-v33__items small{font-size:7.5px}}

/* ---------- Product payment methods: tiny horizontal rail ---------- */
.single-product .ff-payment-methods--product{margin-top:13px;padding-top:11px;overflow:hidden}
.single-product .ff-payment-methods--product .ff-payment-methods__label{margin-bottom:6px}
.single-product .ff-payment-methods--product .ff-payment-methods__list{display:flex;flex-wrap:nowrap;gap:5px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding-bottom:2px}
.single-product .ff-payment-methods--product .ff-payment-methods__list::-webkit-scrollbar{display:none}
.single-product .ff-payment-methods--product .ff-payment-method{flex:0 0 auto;min-height:27px;padding:4px 7px;border-radius:5px;scroll-snap-align:start;background:#fff}
.single-product .ff-payment-methods--product .ff-payment-method__icon img{max-height:16px!important;max-width:58px!important}
.single-product .ff-payment-methods--product .ff-payment-method__name{font-size:8px}

/* ---------- Product gallery: full image, no forced crop ---------- */
.single-product .woocommerce-product-gallery__image img{object-fit:contain!important;background:#f3f3ee!important;cursor:zoom-in}
.ff-gallery-viewer{position:fixed;inset:0;z-index:9998;display:grid;place-items:center}.ff-gallery-viewer[hidden]{display:none!important}.ff-gallery-viewer__backdrop{position:absolute;inset:0;background:rgba(13,20,16,.91);backdrop-filter:blur(8px)}.ff-gallery-viewer__dialog{position:relative;z-index:1;width:min(96vw,1100px);height:min(94vh,900px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#f8f8f3;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.28)}.ff-gallery-viewer__dialog>header{min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(29,42,36,.08)}.ff-gallery-viewer__counter{font-size:10px;letter-spacing:.08em;color:#647169}.ff-gallery-viewer__dialog>header button{width:38px;height:38px;border:0;border-radius:50%;background:#fff;font-size:26px;line-height:1;cursor:pointer}.ff-gallery-viewer__stage{position:relative;min-height:0;display:grid;place-items:center;padding:12px 56px;background:#f3f3ee;touch-action:pan-y}.ff-gallery-viewer__stage img{width:100%;height:100%;max-height:calc(94vh - 150px);object-fit:contain!important;user-select:none;-webkit-user-drag:none}.ff-gallery-viewer__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border:1px solid rgba(29,42,36,.12);border-radius:50%;background:rgba(255,255,255,.92);font-size:25px;cursor:pointer}.ff-gallery-viewer__nav--prev{left:10px}.ff-gallery-viewer__nav--next{right:10px}.ff-gallery-viewer__thumbs{display:flex;gap:6px;overflow-x:auto;padding:8px 10px;background:#fff;scrollbar-width:none}.ff-gallery-viewer__thumbs::-webkit-scrollbar{display:none}.ff-gallery-viewer__thumbs button{flex:0 0 48px;width:48px;height:48px;padding:0;border:1px solid transparent;border-radius:5px;background:#f1f2ed;overflow:hidden;cursor:pointer}.ff-gallery-viewer__thumbs button.is-active{border-color:#17392f}.ff-gallery-viewer__thumbs img{width:100%;height:100%;object-fit:cover}
@media(max-width:719px){.ff-gallery-viewer__dialog{width:100vw;height:100dvh;max-height:none;border-radius:0}.ff-gallery-viewer__stage{padding:8px 36px}.ff-gallery-viewer__stage img{max-height:calc(100dvh - 126px)}.ff-gallery-viewer__nav{width:34px;height:34px;font-size:21px}.ff-gallery-viewer__nav--prev{left:3px}.ff-gallery-viewer__nav--next{right:3px}.ff-gallery-viewer__thumbs{padding-bottom:calc(8px + env(safe-area-inset-bottom))}}

/* ---------- Product story cards ---------- */
.ff-product-story{grid-column:1/-1;margin-top:18px;padding:clamp(22px,3vw,36px) 0;border-top:1px solid rgba(29,42,36,.09);border-bottom:1px solid rgba(29,42,36,.09)}
.ff-product-story__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.ff-product-story__heading>span{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#7c8881}.ff-product-story__heading h2{font-family:var(--ff-display);font-weight:400;font-size:clamp(24px,2.5vw,36px);margin:0}
.ff-product-story__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ff-product-story__card{display:flex;align-items:flex-start;gap:10px;min-height:92px;padding:13px;border-radius:10px;background:linear-gradient(145deg,#f0f2ec,#f8f7f2);border:1px solid rgba(29,42,36,.06);box-shadow:0 7px 18px rgba(25,42,32,.03)}.ff-product-story__icon{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:#fff;color:#607066;font-size:12px}.ff-product-story__card small,.ff-product-story__card strong{display:block}.ff-product-story__card small{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#7d8982}.ff-product-story__card strong{margin-top:5px;font-family:var(--ff-body);font-size:11.5px;font-weight:500;line-height:1.35;color:#35433b}
@media(max-width:719px){.ff-product-story{margin-top:10px;padding:20px 0}.ff-product-story__heading{display:block}.ff-product-story__heading>span{display:block;margin-bottom:5px}.ff-product-story__heading h2{font-size:25px}.ff-product-story__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ff-product-story__card{min-height:82px;padding:10px;gap:7px}.ff-product-story__icon{width:25px;height:25px;flex-basis:25px;font-size:10px}.ff-product-story__card small{font-size:7px}.ff-product-story__card strong{font-size:10px}}

/* ---------- Cart: quieter heading + compact controls ---------- */
.woocommerce-cart .entry-title,.woocommerce-cart .page-title{font-size:20px!important;margin:0 0 6px!important}
.ff-cart-minihead{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:0 0 7px;padding:0 2px}.ff-cart-minihead span,.ff-cart-minihead strong{display:block}.ff-cart-minihead span{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#7e8983}.ff-cart-minihead strong{font-family:var(--ff-display);font-size:20px;font-weight:400}.ff-cart-minihead small{font-size:9px;color:#78847d}.ff-cart-select-all{border-radius:8px!important;padding:8px 10px!important;margin-bottom:8px!important}.ff-cart-select-all strong{font-size:10px;font-weight:600}.ff-cart-select-all [data-ff-selected-count]{font-size:9px;color:#7b8680}.ff-cart-shipping-note{margin:6px 0 11px;padding:8px 9px;border-radius:6px;background:#f4f1e8;color:#69736d;font-size:9px;line-height:1.45}
@media(max-width:719px){.woocommerce-cart .ff-woocommerce-shell{padding-top:8px!important}.ff-cart-minihead{margin-bottom:4px}.ff-cart-minihead strong{font-size:17px}.ff-cart-select-all{padding:7px 8px!important}.woocommerce-cart table.shop_table.cart tr.cart_item{margin-left:8px!important}.woocommerce-cart .ff-cart-select{left:-5px!important}}

/* ---------- Concentrated ambient label refinement ---------- */
.ff-concentrated-section{border-radius:0;background:linear-gradient(135deg,#efe8db 0%,#f8f5ed 50%,#e7e1d4 100%)!important}
.ff-concentrated-section .ff-rail-heading h2{color:#2a3b32}

/* ---------- Responsiveness + motion safety ---------- */
@media(max-width:719px){
  .ff-category-tabs{overscroll-behavior-inline:contain}
  .ff-mini-rail__track{overscroll-behavior-inline:contain}
  .ff-payment-methods__list{overscroll-behavior-inline:contain}
}
@media(prefers-reduced-motion:reduce){
  .ff-topbar-v31,.ff-header-v31,.ff-gallery-viewer *, .ff-quick-access__card{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
