/* Filó Rendeira — Boutique mobile 2.2 | foco em legibilidade, compra e descoberta */
@media (max-width:820px) {
  :root { --filo-ink:#3a2630; --filo-berry:#81344e; --filo-muted:#785f69; --filo-cream:#fffaf6; --filo-rose:#f8ecec; --filo-border:#ecdae0; }
  html { scroll-padding-top:86px; }
  body:not(.admin-body) { overflow-x:clip; background:var(--filo-cream); color:var(--filo-ink); -webkit-tap-highlight-color:transparent; }
  body:not(.admin-body) :where(a, button, input, select, textarea, summary):focus-visible { outline:3px solid #b7637c; outline-offset:3px; }
  body:not(.admin-body) :where(button, input, select, textarea) { font-size:max(16px, 1rem); }
  body:not(.admin-body) :where(h1,h2,h3) { text-wrap:balance; }
  body:not(.admin-body) :where(p, li) { overflow-wrap:break-word; }
  .commerce-promo-strip { min-height:32px; background:#78344d; padding:0 12px; color:#fff8f9; }
  .commerce-promo-strip > div:first-child { justify-content:center; gap:8px; padding:7px 0; }
  .commerce-promo-strip .filo-icon { background:#ffeff3; width:17px; height:17px; }
  .commerce-promo-strip strong { color:#fff9f9; font-size:10px; font-weight:750; letter-spacing:.045em; }
  .commerce-promo-strip small { color:#ffe4eb; font-size:10px; }
  .site-header.commerce-header {
    position:sticky; top:0; z-index:98; min-height:72px; padding:9px 16px; gap:10px;
    grid-template-columns:45px minmax(0,1fr) 45px; grid-template-areas:"menu brand actions";
    background:rgba(255,250,247,.97); border-bottom:1px solid #eee0e2; box-shadow:0 6px 24px rgba(68,37,48,.065);
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  }
  .commerce-header .brand { justify-self:center; gap:7px; min-width:0; }
  .commerce-header .brand img { width:45px; height:45px; object-fit:contain; }
  .commerce-header .brand strong { font-family:Georgia,serif; font-size:20px; letter-spacing:-.035em; line-height:1.05; color:#81344e; white-space:nowrap; }
  .commerce-header .brand small { font-size:9px; line-height:1.15; letter-spacing:.14em; font-weight:600; text-align:left; text-transform:uppercase; }
  .commerce-header .menu-button { display:grid; place-items:center; width:44px; height:44px; min-height:44px; border:1px solid var(--filo-border); border-radius:15px; background:#fff; box-shadow:0 3px 9px rgba(78,43,53,.04); }
  .commerce-header .menu-button img { width:20px; height:20px; }
  .commerce-header .menu-button[aria-expanded="true"] { background:#f8e5eb; border-color:#d9adb9; }
  .commerce-header .commerce-cart-button { position:relative; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--filo-border); border-radius:15px; background:#fff; }
  .commerce-header .commerce-cart-button>img { width:21px; height:21px; }
  .commerce-header .commerce-cart-button .cart-count { position:absolute; right:-4px; top:-5px; border:2px solid #fff; width:21px; height:21px; min-width:21px; background:#8b3a54; font-size:10px; }
  .commerce-main-nav { top:calc(100% + 7px); left:12px; right:12px; gap:0; padding:8px; border:1px solid var(--filo-border); border-radius:22px; background:#fffaf8; box-shadow:0 18px 50px rgba(45,24,32,.18); }
  .commerce-main-nav.open { display:flex; }
  .commerce-main-nav a { min-height:49px; display:flex; align-items:center; padding:13px 15px; border-radius:11px; border-bottom:1px solid #f4e9eb; font-size:14px; font-weight:600; color:#604250; }
  .commerce-main-nav a:hover,.commerce-main-nav a:focus-visible { background:#f9edf0; color:#78334b; }
  .commerce-main-nav a:last-child { border:0; }
  .mobile-quick-links { display:none; }
  .filo-mobile-dock {
    position:fixed; left:10px; right:10px; bottom:max(9px,env(safe-area-inset-bottom)); z-index:120;
    height:66px; padding:5px 6px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:stretch; gap:1px; background:rgba(255,252,250,.965); border:1px solid #eddde0;
    border-radius:22px; box-shadow:0 9px 34px rgba(71,35,48,.19); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  }
  .filo-mobile-dock>a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-width:0; color:#735b64; font-size:10px; font-weight:650; line-height:1.2; text-decoration:none; border-radius:16px; }
  .filo-mobile-dock__icon { width:33px; height:31px; display:grid; place-items:center; border-radius:12px; }
  .filo-mobile-dock img { width:20px; height:20px; object-fit:contain; opacity:.84; }
  .filo-mobile-dock>a.is-active { color:#8f3953; font-weight:800; }
  .filo-mobile-dock>a.is-active .filo-mobile-dock__icon { background:#f5e3e8; }
  .filo-mobile-dock>a.is-active img { opacity:1; }
  body:not(.admin-body):has(.filo-mobile-dock) { padding-bottom:calc(79px + env(safe-area-inset-bottom)); }
  /* Home / editorial */
  .commerce-home { padding:0 0 38px; background:var(--filo-cream); }
  .commerce-mobile-occasions { width:100%; gap:17px; padding:16px 17px 14px; margin:0; overscroll-behavior-x:contain; scroll-padding:17px; background:#fff9f6; border-bottom:1px solid #f3e7e8; }
  .commerce-mobile-occasions a { flex:0 0 66px; gap:7px; color:#654550; font-weight:700; text-decoration:none; }
  .commerce-mobile-occasions a>span { width:59px; height:59px; background:linear-gradient(150deg,#fff5f5,#f2dfe6); border:1px solid #ead3da; box-shadow:0 4px 12px rgba(105,61,75,.06); }
  .commerce-mobile-occasions .filo-icon { width:27px; height:27px; background:#9b4960; }
  .commerce-mobile-occasions small { font-size:11px; line-height:1.1; }
  .commerce-hero-grid { width:calc(100% - 24px); margin:15px auto 0; display:grid; grid-template-columns:1fr; gap:12px; }
  .commerce-hero-card { min-height:450px; border-radius:27px; border:1px solid #e6cad3; background:#e9d4d5; box-shadow:0 16px 32px rgba(95,54,66,.12); isolation:isolate; }
  .commerce-hero-media { inset:0; }
  .commerce-hero-media img { object-fit:cover; object-position:59% 34%; }
  .commerce-hero-media::after { background:linear-gradient(180deg,rgba(44,16,28,0) 21%,rgba(58,23,37,.03) 43%,rgba(36,16,29,.43) 63%,rgba(36,16,29,.86) 100%); }
  .commerce-hero-copy { position:absolute; left:0; right:0; bottom:0; width:100%; padding:124px 23px 24px; }
  .commerce-hero-copy .commerce-kicker { color:#f9d8e5; font-family:Arial,sans-serif; font-size:11px; font-weight:800; letter-spacing:.19em; text-transform:uppercase; text-shadow:0 1px 7px rgba(34,22,25,.25); }
  .commerce-hero-copy h1 { max-width:310px; margin:8px 0 10px; color:#fffaf7; font-family:Georgia,serif; font-weight:500; font-size:clamp(39px,10vw,52px); line-height:.96; letter-spacing:-.052em; text-shadow:0 2px 15px rgba(28,14,22,.25); }
  .commerce-hero-copy>p:not(.commerce-kicker) { max-width:310px; margin:0 0 18px; color:#fff9f9; font-size:14px; font-weight:450; line-height:1.52; text-shadow:0 1px 6px rgba(35,15,24,.3); }
  .commerce-button { display:inline-flex; min-height:49px; padding:0 24px; border:1px solid rgba(255,255,255,.7); border-radius:14px; color:#733148; background:#fff8f6; font-size:12px; font-weight:800; letter-spacing:.04em; box-shadow:0 6px 20px rgba(40,17,26,.14); }
  .commerce-button:hover { color:#fff; background:#8e4058; }
  .commerce-hero-side { grid-template-columns:1fr 1fr; gap:9px; }
  .commerce-promo-card,.commerce-help-card { min-height:177px; grid-template-columns:1fr; grid-template-rows:1fr auto; align-items:start; gap:9px; padding:18px 15px; border-radius:21px; box-shadow:none; }
  .commerce-promo-card { background:#f9e6eb; }
  .commerce-help-card { background:#f2eae5; }
  .commerce-promo-card div>span,.commerce-help-card div>span { font-size:12px; font-family:Arial,sans-serif; font-weight:750; }
  .commerce-promo-card strong,.commerce-help-card strong { font-size:21px; line-height:1.07; }
  .commerce-promo-card small,.commerce-help-card small { font-size:11px; line-height:1.45; }
  .commerce-promo-card>.filo-icon,.commerce-help-card>img { display:none; }
  .commerce-promo-card>a,.commerce-help-card>a { min-height:40px; width:100%; text-align:center; justify-content:center; padding:9px 7px; border-radius:11px; font-size:10px; }
  .filo-mobile-assurance { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 9px; width:calc(100% - 24px); margin:14px auto 0; padding:12px 10px; border:1px solid #f0e0e0; border-radius:15px; background:#fff; }
  .filo-mobile-assurance span { display:flex; align-items:center; gap:5px; font-size:10.5px; font-weight:650; color:#765660; }
  .filo-mobile-assurance .filo-icon { width:16px; height:16px; flex:0 0 16px; background:#a25a72; }
  .commerce-featured { width:100%; padding-top:31px; }
  .commerce-featured>header { margin:0 0 16px; padding:0 18px; align-items:end; }
  .commerce-featured>header>div { text-align:left; }
  .commerce-featured h2 { font:normal clamp(31px,8.4vw,39px)/1.08 Georgia,serif; letter-spacing:-.04em; color:#533040; }
  .commerce-featured header p { font-size:13px; line-height:1.4; margin:7px 0 0; color:#866f76; }
  .commerce-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; overflow:visible; padding:0 12px; scroll-snap-type:none; }
  .commerce-product-card { flex:none; min-width:0; overflow:hidden; border:1px solid #eadce0; border-radius:20px; background:#fff; box-shadow:0 7px 16px rgba(71,34,47,.055); }
  .commerce-product-media { aspect-ratio:3/4; background:#f3e8e8; border-radius:0; }
  .commerce-product-media img { display:block; width:100%; height:100%; object-fit:cover; }
  .commerce-product-badge { top:9px; left:8px; max-width:calc(100% - 16px); padding:6px 7px; border-radius:7px; font-size:9px; line-height:1; box-shadow:none; }
  .commerce-product-info { min-height:188px; display:flex; flex-direction:column; align-items:stretch; padding:12px 11px 11px; }
  .commerce-product-info h3 { min-height:37px; margin:0 0 6px; font-size:14px; font-weight:700; line-height:1.25; color:#503940; }
  .commerce-product-pricing { gap:5px; min-height:28px; }
  .commerce-product-pricing strong { font:normal 21px/1.15 Georgia,serif; color:#8e3a54; }
  .commerce-old-price { font-size:11px; }
  .commerce-product-info>p { min-height:0; margin:5px 0; font-size:11px; line-height:1.35; color:#735f66; }
  .commerce-product-info>.commerce-product-installments { font-size:10.5px; }
  .commerce-product-action { margin-top:auto; width:100%; min-height:44px; padding:10px 7px; border-radius:11px; background:#8b3d56; font-size:10.5px; line-height:1.15; letter-spacing:0; }
  .filo-home-story { width:calc(100% - 24px); margin:31px auto 0; padding:25px 20px 19px; display:grid; grid-template-columns:minmax(0,1fr); gap:22px; background:#f6eae6; border:1px solid #e9d7d9; border-radius:25px; }
  .filo-home-story__eyebrow { margin:0 0 7px; color:#94526a; font-weight:800; text-transform:uppercase; letter-spacing:.15em; font-size:10px; }
  .filo-home-story h2 { margin:0 0 12px; color:#563644; font:normal clamp(29px,8vw,37px)/1.1 Georgia,serif; letter-spacing:-.038em; }
  .filo-home-story h2 em { color:#a34d6a; }
  .filo-home-story__copy>p:not(.filo-home-story__eyebrow) { margin:0 0 14px; color:#6c545d; font-size:13px; line-height:1.65; }
  .filo-home-story__copy>a { color:#84334f; font-size:12px; line-height:1.5; font-weight:750; text-decoration:underline; text-underline-offset:4px; }
  .filo-home-story__steps { display:grid; gap:9px; }
  .filo-home-story__steps>div { display:grid; grid-template-columns:35px minmax(0,1fr); gap:2px 10px; padding:11px 13px; background:rgba(255,255,255,.8); border:1px solid #f0e0e2; border-radius:14px; }
  .filo-home-story__steps>div>span { grid-row:1/3; display:grid; place-items:center; width:31px; height:31px; border-radius:12px; background:#f4e3e7; color:#9b536a; font:normal 16px Georgia,serif; }
  .filo-home-story__steps strong { color:#51323e; font-size:13px; line-height:1.15; }
  .filo-home-story__steps small { color:#76616a; font-size:11px; line-height:1.45; }
  .filo-home-story__steps>a { display:flex; justify-content:center; gap:10px; align-items:center; min-height:44px; border-radius:13px; background:#77334b; color:white; font-size:12px; font-weight:750; text-decoration:none; }
  .commerce-search-discovery { width:calc(100% - 24px); margin:28px auto 25px; padding:23px 15px; gap:17px; border-radius:22px; background:#fff; }
  .commerce-search-discovery>header { gap:8px; }
  .commerce-search-discovery>header h2 { font:normal 29px/1.13 Georgia,serif; letter-spacing:-.03em; }
  .commerce-search-discovery>header p:not(.commerce-kicker) { color:#78636b; font-size:13px; line-height:1.55; }
  .commerce-search-discovery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .commerce-search-discovery-grid a { align-content:start; min-height:122px; padding:14px 12px; gap:7px; border-radius:16px; background:#fff9f8; }
  .commerce-search-discovery-grid strong { font:normal 16px/1.2 Georgia,serif; color:#674251; }
  .commerce-search-discovery-grid span { font-size:11px; line-height:1.45; color:#7b666f; }
  .commerce-help-strip { width:calc(100% - 24px); grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; margin:24px auto 0; gap:8px; border:0; background:transparent; }
  .commerce-help-strip a { min-width:0; display:flex; justify-content:flex-start; text-align:left; padding:13px; gap:9px; border:1px solid var(--filo-border); border-radius:15px; background:#fff; }
  .commerce-help-strip .filo-icon { width:23px; height:23px; }
  .commerce-help-strip strong { font-size:12px; }
  .commerce-help-strip small { display:block; font-size:10px; line-height:1.35; }
  .commerce-occasion-showcase { width:calc(100% - 24px); margin:24px auto; padding:15px; gap:11px; border-radius:22px; }
  .commerce-occasion-intro { padding:5px 2px; }
  .commerce-occasion-intro h2 { font:normal 29px Georgia,serif; }
  .commerce-occasion-intro p { margin:5px 0 12px; font-size:13px; line-height:1.5; }
  .commerce-occasion-intro a { display:inline-block; padding:5px 0; font-size:12px; }
  .commerce-occasion-card { min-height:155px; border-radius:15px; }
  .commerce-occasion-card span { font-size:13px; }
  /* Collection page / search demand */
  .shop-mobile-default>.page-hero { padding:26px 20px 15px; text-align:left; background:linear-gradient(165deg,#fff7f5,#f6e9e9 96%); }
  .shop-mobile-default>.page-hero .eyebrow { margin:0 0 8px; color:#92526a; font-size:11px; font-weight:750; letter-spacing:.12em; }
  .shop-mobile-default>.page-hero h1 { margin:0 0 10px; color:#633d4e; font:normal clamp(33px,9vw,43px)/1.09 Georgia,serif; letter-spacing:-.045em; }
  .shop-mobile-default>.page-hero>p:last-child { width:100%; margin:0; color:#745d66; font-size:13px; line-height:1.6; }
  .shop-mobile-default .catalog-shell { padding:16px 13px 40px; }
  .shop-mobile-default .filters { display:flex; flex-wrap:nowrap; gap:8px; width:100%; overflow:auto; padding:0 0 10px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .shop-mobile-default .filters::-webkit-scrollbar { display:none; }
  .shop-mobile-default .filters a { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 16px; border:1px solid #e5cfd6; border-radius:99px; background:#fff; color:#794e5c; font-size:12px; font-weight:700; }
  .shop-mobile-default .filters a.active { color:white; background:#813b54; border-color:#813b54; }
  .shop-mobile-default .results-count { margin:6px 0 12px; color:#74616a; font-size:12px; }
  .shop-mobile-default .product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .shop-mobile-default .product-card { min-width:0; border:1px solid #e9d8de; border-radius:19px; overflow:hidden; background:white; box-shadow:0 8px 19px rgba(66,27,44,.04); }
  .shop-mobile-default .product-card .product-image { display:block; aspect-ratio:3/4; width:100%; overflow:hidden; }
  .shop-mobile-default .product-card .product-image img { display:block; width:100%; height:100%; object-fit:cover; }
  .shop-mobile-default .product-card .product-badge { max-width:calc(100% - 14px); left:7px; top:8px; padding:5px 6px; border-radius:7px; font-size:9px; box-shadow:none; }
  .shop-mobile-default .product-copy { display:flex; flex-direction:column; min-height:220px; padding:11px 10px 12px; }
  .shop-mobile-default .product-copy .eyebrow { font-size:10px; margin:0 0 5px; color:#96717f; text-transform:none; letter-spacing:0; }
  .shop-mobile-default .product-copy h2 { font-family:Arial,Helvetica,sans-serif; font-size:14px; line-height:1.26; font-weight:700; min-height:35px; margin:0 0 5px; color:#45313a; }
  .shop-mobile-default .product-copy .product-summary { display:none; }
  .shop-mobile-default .product-bottom { margin-top:auto; display:grid; gap:4px; }
  .shop-mobile-default .catalog-price strong { font:normal 21px Georgia,serif; color:#943e5a; }
  .shop-mobile-default .product-card-meta-line,.shop-mobile-default .product-card-pix-line,.shop-mobile-default .product-card-installment-line { font-size:10.5px; line-height:1.35; margin:2px 0; }
  .shop-mobile-default .text-link--button { display:grid; place-items:center; min-height:44px; margin-top:9px; padding:9px 7px; border-radius:11px; color:white; background:#82384f; font-size:11px; text-transform:none; font-weight:750; text-decoration:none; }
  /* Product details: mobile-first legibility while preserving checkout interactions */
  .breadcrumbs { font-size:11px; line-height:1.5; }
  .product-page-new .product-gallery-main { border-radius:21px; }
  .product-page-new .product-gallery-main img { border-radius:21px; }
  .product-page-new .product-thumbs button { min-width:60px; min-height:60px; }
  .product-page-new .product-buy-card { border-radius:23px; overflow:hidden; }
  .product-page-new .product-buy-heading { padding:20px 17px 16px; }
  .product-page-new .product-buy-card h1 { font:normal clamp(30px,8vw,39px)/1.1 Georgia,serif; letter-spacing:-.03em; }
  .product-page-new .product-price-prominent { font-size:33px; }
  .product-page-new .product-buy-summary { font-size:13px; line-height:1.65; }
  .product-page-new .product-purchase-form { margin:0 12px; padding:16px 13px; gap:12px; }
  .product-page-new .product-purchase-form .field-help { font-size:12px; line-height:1.55; }
  .product-page-new .size-option span { min-height:45px; font-size:13px; }
  .product-page-new .purchase-fields-row { grid-template-columns:minmax(0,1fr) 92px; }
  .product-page-new .purchase-fields-row small { font-size:11px; line-height:1.45; }
  .product-page-new .buy-now-button { min-height:55px; font-size:17px; border-radius:12px; }
  .product-page-new .add-to-bag-button { min-height:46px; font-size:12px; border-radius:12px; }
  .product-page-new .secure-microcopy { font-size:11px; line-height:1.5; }
  .product-page-new .whatsapp-product-button { min-height:47px; font-size:13px; }
  .product-info-hub__heading>p:last-child { font-size:13px; line-height:1.65; }
  .product-info-hub__accordions summary { font-size:13px; }
  .product-info-hub__panel { font-size:12px; line-height:1.6; }
  /* Help pages, forms & editorial content */
  .page-hero:not(.shop-mobile-default .page-hero) { padding:40px 20px 30px; }
  .page-hero h1 { font:normal clamp(32px,9vw,43px)/1.09 Georgia,serif; letter-spacing:-.04em; }
  .page-hero>p:last-child { font-size:14px; line-height:1.7; }
  .prose-page { width:calc(100% - 22px); padding:25px 18px; border-radius:20px; }
  .prose-page :where(p,li) { font-size:14px; line-height:1.7; }
  .prose-page :where(h2,h3) { line-height:1.17; }
  .service-strip { gap:10px; padding:20px 16px; }
  .service-strip strong { font-size:13px; }
  .service-strip span { font-size:12px; }
  footer:not(.admin-footer) { padding:26px 18px 34px; gap:23px; }
  footer:not(.admin-footer) :where(a,span,p) { font-size:12px; line-height:1.7; }
  footer:not(.admin-footer) strong { font-size:14px; }
}
@media (max-width:365px) {
  .commerce-header .brand strong { font-size:17px; }
  .commerce-header .brand img { width:38px; height:38px; }
  .commerce-mobile-occasions { gap:12px; }
  .commerce-hero-card { min-height:420px; }
  .commerce-hero-copy h1 { font-size:37px; }
  .commerce-hero-side { grid-template-columns:1fr; }
  .commerce-promo-card,.commerce-help-card { min-height:134px; }
  .commerce-product-grid,.shop-mobile-default .product-grid { gap:8px; }
  .commerce-product-info { padding:10px 8px; }
  .commerce-product-info h3 { font-size:13px; }
  .commerce-product-pricing strong,.shop-mobile-default .catalog-price strong { font-size:19px; }
  .commerce-product-action,.shop-mobile-default .text-link--button { font-size:10px; }
  .filo-mobile-dock>a { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) {
  .filo-mobile-dock *, .commerce-product-media img { transition-duration:.01ms; animation-duration:.01ms; }
}
@media(max-width:820px){
 .site-header.commerce-header .brand{gap:6px}
 .site-header.commerce-header .brand span{display:grid;gap:0}
 .site-header.commerce-header .brand strong{font-size:19px;line-height:1.1;white-space:nowrap}
 .site-header.commerce-header .brand small{display:block;font-size:8px;letter-spacing:.13em;line-height:1.3;text-align:center}
 .site-header.commerce-header .cart-button .cart-label{display:none}
 .shop-mobile-default .product-copy{min-height:0}
 .shop-mobile-default .product-bottom{margin-top:8px}
 .shop-mobile-default .product-card{display:flex;flex-direction:column}
 .shop-mobile-default .product-copy{flex:1}
}
@media(max-width:355px){
 .site-header.commerce-header .brand strong{font-size:16px}
 .site-header.commerce-header .brand small{font-size:7px}
 .site-header.commerce-header .brand img{width:36px;height:36px}
}
