:root{
    --bg: #F6F2E7;
    --bg-soft: #EFE9D8;
    --ink: #21301C;
    --ink-soft: #566450;
    --green-900: #1F3A24;
    --green-700: #35502B;
    --green-500: #5C8442;
    --green-300: #A9C48B;
    --tomato: #D85A2C;
    --tomato-dark: #B4471F;
    --citrus: #EFA928;
    --card: #FFFDF8;
    --line: #E2DAC2;
    --shadow: 0 18px 40px -22px rgba(33,48,28,0.45);
    --radius-lg: 22px;
    --radius-md: 14px;
    --radius-sm: 9px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Public Sans', sans-serif;
    -webkit-font-smoothing:antialiased;
    padding-top:96px;
    padding-bottom:84px;
  }
  h1,h2,h3,.display{
    font-family:'Fraunces', serif;
    color:var(--green-900);
    margin:0;
    letter-spacing:-0.01em;
  }
  img{max-width:100%;display:block;}
  button{font-family:inherit;}

  /* ---------- TOPBAR ---------- */
  .topbar{
    position:fixed;
    top:0;left:0;right:0;
    z-index:40;
    background:rgba(246,242,231,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .topbar-inner{
    max-width:1400px;
    margin:0 auto;
    padding:14px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .brand-logo-link{
    text-decoration:none;
    flex:0 0 auto;
  }
  .brand-logo{
    display:block;
    width:170px;
    height:auto;
    max-height:58px;
    object-fit:contain;
    object-position:left center;
  }
  .brand-mark{
    width:38px;height:38px;
    border-radius:50%;
    background:radial-gradient(circle at 32% 28%, var(--green-300), var(--green-700) 72%);
    flex-shrink:0;
    position:relative;
  }
  .brand-mark::after{
    content:"";
    position:absolute;inset:0;
    border-radius:50%;
    box-shadow:inset 0 -6px 10px rgba(0,0,0,0.18);
  }
  .brand-name{
    font-family:'Fraunces', serif;
    font-size:1.28rem;
    font-weight:600;
    color:var(--green-900);
    line-height:1;
  }
  .brand-tag{
    display:block;
    font-family:'Public Sans', sans-serif;
    font-size:0.68rem;
    color:var(--ink-soft);
    margin-top:2px;
  }
  .cart-block{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:4px;
  }
  .cart-btn{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;height:44px;
    border-radius:50%;
    background:var(--green-900);
    border:none;
    cursor:pointer;
    transition:transform .18s ease;
  }
  .cart-btn:hover{transform:translateY(-2px);}
  .cart-btn svg{width:20px;height:20px;stroke:#F6F2E7;}
  .cart-badge{
    position:absolute;
    top:-5px;right:-5px;
    min-width:19px;height:19px;
    padding:0 4px;
    border-radius:50%;
    background:var(--tomato);
    color:#fff;
    font-size:0.66rem;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid var(--bg);
    transition:transform .2s ease;
  }
  .cart-total{
    font-size:0.82rem;
    color:var(--green-900);
    font-weight:700;
  }
  .cart-total span{color:var(--ink-soft); font-weight:500; margin-right:3px;}

  /* ---------- MAISFOOD SLIDER ---------- */
  .mf-slider{
    width:100%;
    margin:0 0 30px;
    padding:0;
  }
  .mf-slider__viewport{
    position:relative;
    width:100%;
    height:360px;
    overflow:hidden;
    background:var(--green-900);
    isolation:isolate;
  }
  .mf-slider__slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .65s ease, visibility .65s ease;
  }
  .mf-slider__slide.is-active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    z-index:1;
  }
  .mf-slider__image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    user-select:none;
    -webkit-user-drag:none;
  }
  .mf-slider__slide::after{display:none;}
  .mf-slider__copy{
    display:none !important;
    position:absolute;
    z-index:2;
    left:clamp(18px,4vw,56px);
    top:50%;
    transform:translateY(-50%);
    width:min(42vw, 430px);
    padding:16px 18px 15px;
    border-radius:18px;
    background:rgba(17,48,27,.56);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 14px 34px rgba(0,0,0,.12);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
    color:#F7F4E8;
  }
  .mf-slider__eyebrow{
    display:block;
    margin:0 0 5px;
    color:#F5D77E;
    font-size:.62rem;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.07em;
    text-transform:uppercase;
  }
  .mf-slider__copy h2{
    margin:0 0 7px;
    color:#FFFDF4;
    font-family:'Fraunces', serif;
    font-size:clamp(1.3rem,2.2vw,1.8rem);
    font-weight:600;
    line-height:1.08;
    letter-spacing:-.01em;
  }
  .mf-slider__copy p{
    margin:0;
    color:rgba(255,255,255,.88);
    font-size:.86rem;
    line-height:1.42;
  }
  .mf-slider__copy small{
    display:block;
    margin-top:8px;
    color:rgba(255,247,214,.78);
    font-size:.62rem;
    font-weight:600;
    line-height:1.35;
  }
  .mf-slider__controls{
    position:absolute;
    z-index:4;
    left:50%;
    bottom:12px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
  }
  .mf-slider__control{
    width:34px;
    height:34px;
    padding:0;
    border:1px solid rgba(255,255,255,.48);
    border-radius:50%;
    background:rgba(12,41,22,.54);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 4px 14px rgba(0,0,0,.12);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    transition:background .16s ease, transform .16s ease, border-color .16s ease;
  }
  .mf-slider__control:hover,
  .mf-slider__control:focus-visible{
    background:rgba(12,41,22,.78);
    border-color:rgba(255,255,255,.78);
    transform:translateY(-1px);
    outline:none;
  }
  .mf-slider__control svg{
    width:15px;
    height:15px;
    display:block;
  }
  .mf-slider__control .mf-icon-play{display:none;}
  .mf-slider__control.is-paused .mf-icon-pause{display:none;}
  .mf-slider__control.is-paused .mf-icon-play{display:block;}

  /* ---------- CATEGORIAS + DESTAQUES ---------- */
  .mf-catalog{
    max-width:1400px;
    margin:0 auto 18px;
    padding:0 24px;
  }
  .mf-categories{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    align-items:start;
    gap:10px;
    margin:0 0 22px;
  }
  .mf-category{
    appearance:none;
    border:0;
    padding:0 2px 8px;
    margin:0;
    background:transparent;
    color:var(--green-900);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    min-width:0;
    cursor:pointer;
    position:relative;
  }
  .mf-category::after{
    content:"";
    position:absolute;
    left:22%; right:22%; bottom:0;
    height:3px;
    border-radius:999px;
    background:transparent;
  }
  .mf-category.is-active::after{background:var(--green-900);}
  .mf-category__icon{
    width:62px;
    height:62px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F3EEE2;
    border:1px solid #E7DECB;
    box-shadow:0 7px 18px -14px rgba(33,48,28,.5);
    transition:transform .15s ease, background .15s ease, border-color .15s ease;
  }
  .mf-category__icon svg{width:40px;height:40px;display:block;}
  .mf-category__icon--all{
    background:var(--green-900);
    color:#fff;
    border-color:var(--green-900);
  }
  .mf-category:hover .mf-category__icon{transform:translateY(-1px);}
  .mf-category.is-active:not([data-filter="todos"]) .mf-category__icon{
    background:#EDF3E7;
    border-color:#BFD0AD;
  }
  .mf-category__label{
    font-size:.78rem;
    line-height:1.1;
    font-weight:650;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
  }
  .mf-featured-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 12px;
  }
  .mf-featured-head h2{
    font-size:clamp(1.45rem,2.4vw,2rem);
    line-height:1.1;
    color:var(--green-900);
    font-weight:600;
  }
  .mf-featured-all{
    border:0;
    background:transparent;
    color:var(--green-900);
    font-size:.9rem;
    font-weight:650;
    padding:6px 0;
    cursor:pointer;
    white-space:nowrap;
  }
  .mf-featured-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:20px;
  }
  .mf-featured-card{
    min-width:0;
    background:#FFFDF8;
    border:1px solid #E9E1D1;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 12px 30px -24px rgba(33,48,28,.55);
    display:flex;
    flex-direction:column;
  }
  .mf-featured-card__media{
    aspect-ratio:1.08/1;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F7F3EA;
    overflow:hidden;
  }
  .mf-featured-card__media img{
    width:100%; height:100%; object-fit:cover;
  }
  .mf-featured-card:nth-child(4) .mf-featured-card__media img{
    object-fit:contain;
    padding:4px;
  }
  .mf-featured-card__body{
    padding:10px 10px 11px;
    display:flex;
    flex-direction:column;
    gap:3px;
    flex:1;
  }
  .mf-featured-card__body h3{
    font-family:'Public Sans',sans-serif;
    color:#1D2A1B;
    font-size:.9rem;
    font-weight:750;
    line-height:1.18;
    margin:0;
  }
  .mf-featured-card__unit{
    color:#74806F;
    font-size:.66rem;
    line-height:1.2;
  }
  .mf-featured-card__body strong{
    color:#182218;
    font-size:1.04rem;
    line-height:1.2;
    margin:2px 0 5px;
  }
  .mf-featured-buy{
    margin-top:auto;
    width:100%;
    min-height:34px;
    border:0;
    border-radius:999px;
    background:var(--green-900);
    color:#fff;
    font-size:.78rem;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    cursor:pointer;
    transition:transform .15s ease, background .15s ease;
  }
  .mf-featured-buy:hover{background:var(--green-700);transform:translateY(-1px);}
  .mf-main-grid{margin-top:4px;}

  /* ---------- PRODUCT GRID ---------- */
  .grid{
    max-width:1400px;
    margin:0 auto;
    padding:0 24px;
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
    gap:20px;
  }
  .card{
    background:var(--card);
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid var(--line);
    display:flex;
    flex-direction:column;
    box-shadow:var(--shadow);
  }
  .card-media{
    position:relative;
    aspect-ratio:1/1;
    overflow:hidden;
    background:var(--bg-soft);
  }
  .card-media img{
    width:100%;height:100%;object-fit:cover;
    transform:scale(1.0);
    transition:transform .55s cubic-bezier(.2,.7,.3,1);
  }
  .card:hover .card-media img{transform:scale(1.12);}
  .card-tag{
    position:absolute;
    top:12px;left:12px;
    background:rgba(31,58,36,0.88);
    color:#F5F1E2;
    font-size:0.68rem;
    font-weight:700;
    padding:5px 10px;
    border-radius:999px;
  }
  .card-body{
    padding:16px 18px 18px;
    display:flex;
    flex-direction:column;
    gap:10px;
    flex:1;
  }
  .card-body h3{
    font-size:1.08rem;
    font-weight:500;
    color:var(--green-900);
  }
  .card-body .unit{
    font-size:0.78rem;
    color:var(--ink-soft);
    margin-top:-6px;
  }
  .card-foot{
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
  .price{
    font-family:'Fraunces', serif;
    font-size:1.22rem;
    font-weight:600;
    color:var(--green-900);
  }
  .price small{
    font-family:'Public Sans', sans-serif;
    font-size:0.7rem;
    color:var(--ink-soft);
    font-weight:500;
    display:block;
  }
  .buy-btn{
    border:none;
    background:var(--tomato);
    color:#FFF6EE;
    padding:10px 18px;
    border-radius:999px;
    font-weight:700;
    font-size:0.84rem;
    cursor:pointer;
    transition:background .15s ease, transform .15s ease;
  }
  .buy-btn:hover{background:var(--tomato-dark); transform:translateY(-1px);}
  .buy-btn:active{transform:translateY(0);}

  /* ---------- CART ADDED FEEDBACK ---------- */
  .mf-cart-added-feedback{
    position:fixed;
    z-index:95;
    transform:translate(-50%, calc(-100% - 4px)) translateY(6px) scale(.97);
    opacity:0;
    pointer-events:none;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    max-width:300px;
    padding:9px 13px;
    border-radius:999px;
    background:rgba(31,58,36,.96);
    color:#FFFDF8;
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 12px 28px -12px rgba(17,38,21,.55);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    font-size:.76rem;
    line-height:1;
    font-weight:750;
    white-space:nowrap;
    transition:opacity .18s ease, transform .18s ease;
  }
  .mf-cart-added-feedback::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-5px;
    width:10px;
    height:10px;
    background:rgba(31,58,36,.96);
    transform:translateX(-50%) rotate(45deg);
    border-right:1px solid rgba(255,255,255,.10);
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .mf-cart-added-feedback.is-visible{
    opacity:1;
    transform:translate(-50%, calc(-100% - 4px)) translateY(0) scale(1);
  }
  .mf-cart-added-feedback__icon{
    width:18px;
    height:18px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 18px;
    background:#F2C35B;
    color:#1F3A24;
    font-size:.66rem;
    font-weight:900;
  }


  /* ---------- BOTTOM NAV · APP STYLE ---------- */
  .bottom-nav{
    position:fixed;
    left:0; right:0; bottom:0;
    z-index:60;
    pointer-events:none;
    padding:0 14px calc(10px + env(safe-area-inset-bottom));
  }
  .bottom-nav-shell{
    max-width:560px;
    margin:0 auto;
    pointer-events:auto;
    filter:drop-shadow(0 14px 24px rgba(31,58,36,.16));
  }
  .bottom-nav-inner{
    height:64px;
    padding:0 10px;
    border:1px solid rgba(226,218,194,.92);
    border-radius:26px;
    background:rgba(255,253,248,.96);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    display:grid;
    grid-template-columns:1fr 1.12fr 1fr;
    align-items:stretch;
    position:relative;
  }
  .bottom-nav-inner::before{
    content:"";
    position:absolute;
    left:50%; top:-22px;
    width:70px; height:38px;
    transform:translateX(-50%);
    background:var(--bg);
    border-radius:0 0 44px 44px;
    border-left:1px solid rgba(226,218,194,.7);
    border-right:1px solid rgba(226,218,194,.7);
    border-bottom:1px solid rgba(226,218,194,.5);
    pointer-events:none;
  }
  .nav-item{
    position:relative;
    text-decoration:none;
    color:#788271;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-width:0;
    padding:6px 3px 5px;
    border-radius:20px;
    -webkit-tap-highlight-color:transparent;
    transition:color .18s ease, transform .18s ease, background .18s ease;
  }
  .nav-item:hover{
    color:var(--green-900);
    background:rgba(239,233,216,.55);
  }
  .nav-item:focus-visible{
    outline:3px solid rgba(239,169,40,.45);
    outline-offset:2px;
  }
  .nav-icon-wrap{
    width:32px; height:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    transition:background .18s ease, transform .18s ease;
  }
  .nav-svg{width:21px;height:21px;display:block;}
  .nav-label{
    font-size:.62rem;
    line-height:1;
    font-weight:700;
    white-space:nowrap;
    letter-spacing:-.01em;
  }
  .nav-item.active{
    color:var(--green-900);
  }
  .nav-item.active:not(.nav-item--featured) .nav-icon-wrap{
    background:var(--bg-soft);
    transform:translateY(-1px);
  }
  .nav-item--featured{
    padding-top:25px;
    color:var(--green-900);
  }
  .nav-item--featured:hover{
    background:transparent;
    transform:translateY(-1px);
  }
  .offer-float{
    position:absolute;
    top:-26px; left:50%;
    transform:translateX(-50%);
    width:56px; height:56px;
    border-radius:50%;
    background:linear-gradient(145deg, var(--green-700), var(--green-900));
    color:#FFF9EA;
    border:5px solid var(--bg);
    box-shadow:0 13px 25px -13px rgba(31,58,36,.72), inset 0 1px 0 rgba(255,255,255,.14);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .nav-item--featured:hover .offer-float{
    transform:translateX(-50%) translateY(-2px) scale(1.025);
    box-shadow:0 16px 28px -13px rgba(31,58,36,.8), inset 0 1px 0 rgba(255,255,255,.14);
  }
  .offer-basket{width:34px;height:34px;display:block;}
  .offer-save-badge{
    position:absolute;
    top:-3px; right:-4px;
    width:20px; height:20px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--citrus);
    color:#362504;
    border:2px solid var(--bg);
    font-size:.6rem;
    font-weight:900;
    line-height:1;
    box-shadow:0 6px 12px -7px rgba(0,0,0,.55);
  }
  .nav-item--featured .nav-label{
    color:var(--green-900);
    font-size:.66rem;
  }
  @media (max-width:520px){
    body{padding-bottom:82px;}
    .bottom-nav{padding-left:0;padding-right:0;padding-bottom:env(safe-area-inset-bottom);}
    .bottom-nav-shell{max-width:none;}
    .bottom-nav-inner{
      height:64px;
      border-left:0;border-right:0;border-bottom:0;
      border-radius:20px 20px 0 0;
      padding-left:12px;padding-right:12px;
    }
    .bottom-nav-inner::before{top:-21px;}
    .offer-float{top:-26px;}
    .nav-label{font-size:.6rem;}
  }

  /* ---------- MODAL ---------- */
  .overlay{
    position:fixed;inset:0;
    background:rgba(23,32,18,0.55);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:100;
    padding:18px;
  }
  .overlay.open{display:flex;}
  .modal{
    width:100%;
    max-width:440px;
    max-height:92vh;
    overflow-y:auto;
    background:var(--card);
    border-radius:24px;
    box-shadow:0 30px 60px -20px rgba(0,0,0,0.4);
    padding:28px 26px 26px;
    position:relative;
    animation:pop .28s cubic-bezier(.2,.8,.3,1);
  }
  @keyframes pop{
    from{opacity:0; transform:translateY(14px) scale(.97);}
    to{opacity:1; transform:translateY(0) scale(1);}
  }
  .modal-close{
    position:absolute;
    top:18px;right:18px;
    width:30px;height:30px;
    border-radius:50%;
    border:none;
    background:var(--bg-soft);
    color:var(--ink);
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
  }
  .modal-close svg{width:14px;height:14px;}

  .steps{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:22px;
  }
  .steps .dot{
    width:9px;height:9px;
    border-radius:50%;
    background:var(--line);
  }
  .steps .bar{
    flex:1;
    height:2px;
    background:var(--line);
    border-radius:2px;
  }
  .steps .dot.done, .steps .bar.done{background:var(--green-500);}
  .steps .dot.current{background:var(--tomato); width:11px; height:11px;}

  .step-label{
    font-size:0.74rem;
    font-weight:700;
    color:var(--tomato);
    margin-bottom:6px;
  }
  .modal h3.title{
    font-size:1.35rem;
    margin-bottom:6px;
  }
  .modal p.sub{
    color:var(--ink-soft);
    font-size:0.88rem;
    margin:0 0 20px;
    line-height:1.5;
  }

  /* ---------- CART REVIEW BEFORE CEP ---------- */
  .cart-review-step{
    padding-top:2px;
  }
  .cart-review-sub{
    margin-bottom:14px !important;
  }
  .cart-review-list{
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    background:#FCFAF3;
  }
  .cart-review-row{
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 62px 72px;
    align-items:center;
    column-gap:9px;
    min-height:64px;
    padding:8px 11px;
    border-bottom:1px solid var(--line);
  }
  .cart-review-row:last-child{
    border-bottom:none;
  }
  .cart-review-thumb{
    width:36px;
    height:36px;
    border-radius:50%;
    overflow:hidden;
    background:var(--bg-soft);
    border:1px solid rgba(31,58,36,.10);
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
  }
  .cart-review-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .cart-review-product{
    min-width:0;
    display:flex;
    align-items:baseline;
    gap:3px;
    overflow:hidden;
    white-space:nowrap;
  }
  .cart-review-name{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--green-900);
    font-size:.78rem;
    font-weight:700;
  }
  .cart-review-desc{
    flex:0 0 auto;
    color:var(--ink-soft);
    font-size:.62rem;
    font-weight:500;
  }
  .cart-review-qty-control{
    height:34px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 20px;
    align-items:stretch;
    border:1px solid var(--line);
    border-radius:9px;
    overflow:hidden;
    background:#fff;
  }
  .cart-review-qty-input{
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:var(--green-900);
    text-align:center;
    font-family:'Public Sans', sans-serif;
    font-size:.66rem;
    font-weight:800;
    padding:0 2px;
    appearance:textfield;
    -moz-appearance:textfield;
  }
  .cart-review-qty-input::-webkit-outer-spin-button,
  .cart-review-qty-input::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
  }
  .cart-review-qty-arrows{
    display:grid;
    grid-template-rows:1fr 1fr;
    border-left:1px solid var(--line);
  }
  .cart-review-qty-arrow{
    border:0;
    margin:0;
    padding:0;
    min-width:0;
    background:#F3EFDF;
    color:var(--green-900);
    font-size:.48rem;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .cart-review-qty-arrow:first-child{
    border-bottom:1px solid var(--line);
  }
  .cart-review-qty-arrow:hover{
    background:#E8E0C9;
  }
  .cart-review-qty-arrow:disabled{
    opacity:.28;
    cursor:default;
  }
  .cart-review-unit{
    color:var(--green-900);
    font-size:.76rem;
    font-weight:800;
    white-space:nowrap;
    text-align:right;
    line-height:1.05;
  }
  .cart-review-prices{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:flex-start;
    gap:2px;
    text-align:right;
    align-self:stretch;
    padding-top:1px;
  }
  .cart-review-remove{
    width:20px;
    height:20px;
    border:0;
    border-radius:6px;
    margin:0 0 1px auto;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#D84A38;
    color:#FFF8F2;
    font-family:Arial, sans-serif;
    font-size:1rem;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    box-shadow:0 3px 8px rgba(216,74,56,.20);
    transition:transform .15s ease, background .15s ease;
  }
  .cart-review-remove:hover{
    background:#BE392B;
    transform:translateY(-1px);
  }
  .cart-review-remove:active{
    transform:translateY(0);
  }
  .cart-review-line-total{
    display:flex;
    align-items:baseline;
    justify-content:flex-end;
    gap:3px;
    white-space:nowrap;
    font-size:.60rem;
    line-height:1.05;
  }
  .cart-review-line-label{
    color:var(--ink-soft);
    font-weight:800;
    letter-spacing:.01em;
  }
  .cart-review-line-total strong{
    color:#C83E2B;
    font-size:.62rem;
    font-weight:800;
  }
  .cart-review-empty{
    padding:22px 14px;
    text-align:center;
    color:var(--ink-soft);
    font-size:.82rem;
    font-weight:600;
  }
  .cart-review-actions .btn:disabled{
    opacity:.45;
    cursor:not-allowed;
    transform:none;
  }
  .cart-review-total{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-top:16px;
    padding:14px 2px 2px;
    border-top:1px solid var(--line);
    color:var(--green-900);
  }
  .cart-review-total span{
    font-size:.88rem;
    font-weight:700;
  }
  .cart-review-total strong{
    font-family:'Fraunces', serif;
    font-size:1.28rem;
    font-weight:700;
  }
  .cart-review-actions{
    margin-top:16px;
  }
  .cart-review-actions .btn{
    width:100%;
  }

  @media (max-width:520px){
    .cart-review-row{
      grid-template-columns:32px minmax(0,1fr) 56px 74px;
      column-gap:6px;
      padding:8px 8px;
      min-height:60px;
    }
    .cart-review-thumb{
      width:32px;
      height:32px;
    }
    .cart-review-product{
      gap:3px;
    }
    .cart-review-name{
      font-size:.62rem;
    }
    .cart-review-desc{
      font-size:.52rem;
    }
    .cart-review-qty-control{
      height:31px;
      grid-template-columns:minmax(0,1fr) 18px;
      border-radius:8px;
    }
    .cart-review-qty-input{
      font-size:.66rem;
    }
    .cart-review-qty-arrow{
      font-size:.43rem;
    }
    .cart-review-prices{
      padding-top:0;
      gap:1px;
    }
    .cart-review-remove{
      width:18px;
      height:18px;
      border-radius:5px;
      font-size:.9rem;
      margin-bottom:1px;
    }
    .cart-review-unit{
      font-size:.64rem;
    }
    .cart-review-line-total{
      font-size:.50rem;
      gap:2px;
    }
    .cart-review-line-total strong{
      font-size:.58rem;
    }
  }


  /* ---------- DELIVERY CHECK ---------- */
  .delivery-status{
    display:none;
    margin-top:8px;
    padding:9px 11px;
    border-radius:10px;
    font-size:.66rem;
    font-weight:700;
    line-height:1.35;
  }
  .delivery-status.is-checking{
    display:block;
    background:#F3EFDF;
    color:var(--ink-soft);
  }
  .delivery-status.is-success{
    display:block;
    background:#E8F2E0;
    color:#35502B;
  }
  .delivery-status.is-error{
    display:block;
    background:#FBE6DF;
    color:#A53C27;
  }

  /* ---------- PAYMENT CHOICE ---------- */
  .payment-choice-step .sub{margin-bottom:14px;}
  .payment-options{
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .payment-option-card{
    width:100%;
    min-height:92px;
    border:1.5px solid var(--line);
    border-radius:16px;
    background:#FCFAF3;
    padding:13px 14px;
    display:grid;
    grid-template-columns:54px minmax(0,1fr) 22px;
    align-items:center;
    gap:12px;
    color:var(--ink);
    text-align:left;
    cursor:pointer;
    transition:border-color .16s ease, transform .16s ease, box-shadow .16s ease, background .16s ease;
  }
  .payment-option-card:hover,
  .payment-option-card:focus-visible{
    border-color:var(--green-500);
    background:#FFFDF8;
    box-shadow:0 10px 24px -18px rgba(31,58,36,.55);
    transform:translateY(-1px);
    outline:none;
  }
  .payment-option-card.is-selected{
    border-color:var(--green-700);
    background:#F4F7EF;
    box-shadow:0 0 0 2px rgba(92,132,66,.12);
  }
  .payment-option-icon{
    width:52px;
    height:52px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:1px solid rgba(31,58,36,.10);
    overflow:hidden;
  }
  .payment-option-icon--pix img{
    width:43px;
    height:43px;
    object-fit:contain;
    display:block;
  }
  .payment-option-icon--delivery{
    background:#EEF3E8;
    color:var(--green-900);
  }
  .payment-option-icon--delivery svg{width:38px;height:38px;}
  .payment-option-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
  }
  .payment-option-copy strong{
    color:var(--green-900);
    font-size:.88rem;
    font-weight:800;
  }
  .payment-option-copy > span:not(.payment-option-topline){
    color:var(--ink-soft);
    font-size:.73rem;
    line-height:1.35;
  }
  .payment-option-copy small{
    color:var(--green-700);
    font-size:.66rem;
    font-weight:700;
    line-height:1.3;
  }
  .payment-option-topline{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
  }
  .payment-recommended{
    display:inline-flex;
    align-items:center;
    padding:3px 7px;
    border-radius:999px;
    background:#E8F2E0;
    color:#35502B;
    font-size:.56rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.03em;
  }
  .payment-option-radio{
    width:19px;
    height:19px;
    border-radius:50%;
    border:2px solid #BFC7B8;
    background:#fff;
    position:relative;
  }
  .payment-option-card.is-selected .payment-option-radio{
    border-color:var(--green-700);
  }
  .payment-option-card.is-selected .payment-option-radio::after{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:50%;
    background:var(--green-700);
  }
  .payment-choice-actions{margin-top:16px;}
  .success-payment-method{
    display:none;
    margin:12px 0 2px;
    padding:10px 12px;
    border-radius:12px;
    background:var(--bg-soft);
    color:var(--green-900);
    font-size:.75rem;
    font-weight:700;
  }
  .success-payment-method.is-visible{display:block;}

  @media (max-width:520px){
    .payment-option-card{
      min-height:84px;
      grid-template-columns:46px minmax(0,1fr) 18px;
      gap:9px;
      padding:11px 10px;
      border-radius:14px;
    }
    .payment-option-icon{width:44px;height:44px;border-radius:12px;}
    .payment-option-icon--pix img{width:37px;height:37px;}
    .payment-option-icon--delivery svg{width:33px;height:33px;}
    .payment-option-copy strong{font-size:.80rem;}
    .payment-option-copy > span:not(.payment-option-topline){font-size:.66rem;}
    .payment-option-copy small{font-size:.60rem;}
    .payment-recommended{font-size:.50rem;padding:2px 5px;}
    .payment-option-radio{width:17px;height:17px;}
  }

  .field{
    margin-bottom:16px;
  }
  .field label{
    display:block;
    font-size:0.78rem;
    font-weight:600;
    color:var(--green-900);
    margin-bottom:6px;
  }
  .field input{
    width:100%;
    padding:12px 14px;
    border-radius:12px;
    border:1.5px solid var(--line);
    background:#FCFAF3;
    font-size:0.95rem;
    color:var(--ink);
    font-family:inherit;
    outline:none;
    transition:border-color .15s ease;
  }
  .field input:focus{border-color:var(--green-500);}
  .field .error{
    display:none;
    color:var(--tomato-dark);
    font-size:0.72rem;
    margin-top:5px;
    font-weight:600;
  }
  .field.invalid input{border-color:var(--tomato-dark);}
  .field.invalid .error{display:block;}


  .mf-address-grid{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:10px;}
  .field input[readonly]{background:#f1eddf;color:#5f6c5a;cursor:default;}
  .field label small{font-weight:500;color:var(--ink-soft);font-size:.62rem;}
  @media(max-width:520px){.mf-address-grid{grid-template-columns:110px minmax(0,1fr);gap:8px;}}
  .modal-actions{
    display:flex;
    gap:10px;
    margin-top:22px;
  }
  .btn{
    flex:1;
    border:none;
    padding:14px 16px;
    border-radius:14px;
    font-weight:700;
    font-size:0.92rem;
    cursor:pointer;
    transition:transform .15s ease, background .15s ease;
  }
  .btn-primary{background:var(--green-900); color:#F5F1E2;}
  .btn-primary:hover{background:var(--green-700); transform:translateY(-1px);}
  .btn-ghost{background:var(--bg-soft); color:var(--ink);}
  .btn-ghost:hover{background:var(--line);}

  .order-summary{
    background:var(--bg-soft);
    border-radius:14px;
    padding:14px 16px;
    margin-bottom:18px;
    font-size:0.86rem;
  }
  .order-summary .row{
    display:flex;
    justify-content:space-between;
    padding:4px 0;
    color:var(--ink-soft);
  }
  .order-summary .row.total{
    color:var(--green-900);
    font-weight:700;
    border-top:1px solid var(--line);
    margin-top:6px;
    padding-top:9px;
  }

  .qr-wrap{
    display:flex;
    justify-content:center;
    margin-bottom:16px;
  }
  #qrCanvas,
  .pix-qr-image{
    width:220px;
    height:220px;
    max-width:100%;
    object-fit:contain;
    border-radius:16px;
    border:1px solid var(--line);
    background:#fff;
    padding:10px;
  }
  .pix-qr-image:not([src]),
  .pix-qr-image[src=""]{opacity:.18;}
  .pix-payment-status{
    margin:-8px 0 14px;
    text-align:center;
    font-size:.78rem;
    line-height:1.35;
    font-weight:700;
    color:var(--ink-soft);
  }
  .pix-payment-status.is-waiting{color:#8A6210;}
  .pix-payment-status.is-paid{color:var(--green-700);}
  .pix-payment-status.is-error{color:var(--tomato-dark);}
  .pix-amount{
    text-align:center;
    font-family:'Fraunces', serif;
    font-size:1.6rem;
    font-weight:600;
    color:var(--green-900);
    margin-bottom:4px;
  }
  .pix-hint{
    text-align:center;
    font-size:0.8rem;
    color:var(--ink-soft);
    margin-bottom:18px;
  }
  .pix-code-box{
    background:var(--bg-soft);
    border:1px dashed var(--green-500);
    border-radius:12px;
    padding:12px 14px;
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
  }
  .pix-code-box code{
    flex:1;
    font-family:'SFMono-Regular', Consolas, monospace;
    font-size:0.72rem;
    line-height:1.4;
    color:var(--ink-soft);
    word-break:break-all;
  }
  .copy-btn{
    flex-shrink:0;
    border:none;
    background:var(--green-900);
    color:#F5F1E2;
    padding:8px 12px;
    border-radius:10px;
    font-size:0.72rem;
    font-weight:700;
    cursor:pointer;
    white-space:nowrap;
  }
  .copy-btn.copied{background:var(--green-500);}

  .success-wrap{
    text-align:center;
    padding:6px 0 4px;
  }
  .success-icon{
    width:64px;height:64px;
    border-radius:50%;
    background:var(--green-300);
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 18px;
  }
  .success-icon svg{width:30px;height:30px; stroke:var(--green-900);}
  .order-code{
    background:var(--green-900);
    color:#F5F1E2;
    border-radius:14px;
    padding:16px;
    margin:16px 0 20px;
    letter-spacing:0.06em;
    font-family:'Fraunces', serif;
    font-size:1.35rem;
    font-weight:600;
  }
  .order-code span{
    display:block;
    font-family:'Public Sans', sans-serif;
    font-size:0.66rem;
    letter-spacing:0.08em;
    color:#B9C2A4;
    font-weight:700;
    margin-bottom:6px;
  }

  @media (max-width: 860px){
    .mf-slider__viewport{height:310px;}
    .mf-slider__copy{width:min(48vw, 360px);}
  }
  @media (max-width: 520px){
    body{padding-top:82px;}
    .topbar-inner{padding:10px 16px;}
    .brand-logo{width:165px;max-height:55px;}
    .mf-slider{margin-bottom:22px;}
    .mf-slider__viewport{height:270px;}
    .mf-slider__copy{
      left:16px;
      width:min(57vw, 252px);
      padding:12px 13px 11px;
      border-radius:14px;
      background:rgba(17,48,27,.50);
    }
    .mf-slider__eyebrow{font-size:.58rem;margin-bottom:4px;}
    .mf-slider__copy h2{font-size:1.02rem;line-height:1.08;margin-bottom:5px;}
    .mf-slider__copy p{font-size:.69rem;line-height:1.34;}
    .mf-slider__copy small{font-size:.58rem;line-height:1.28;margin-top:6px;}
    .mf-slider__controls{bottom:9px;gap:6px;}
    .mf-slider__control{width:30px;height:30px;}
    .mf-slider__control svg{width:13px;height:13px;}
    .mf-catalog{padding:0 10px;margin-bottom:12px;}
    .mf-categories{gap:3px;margin-bottom:17px;}
    .mf-category{gap:4px;padding:0 0 7px;}
    .mf-category::after{left:24%;right:24%;height:2px;}
    .mf-category__icon{width:48px;height:48px;}
    .mf-category__icon svg{width:31px;height:31px;}
    .mf-category__label{font-size:.60rem;font-weight:650;letter-spacing:-.01em;}
    .mf-featured-head{margin-bottom:9px;padding:0 2px;}
    .mf-featured-head h2{font-size:1.32rem;}
    .mf-featured-all{font-size:.66rem;}
    .mf-featured-grid{gap:3px;margin-bottom:14px;}
    .mf-featured-card{border-radius:12px;}
    .mf-featured-card__media{aspect-ratio:1/1;}
    .mf-featured-card__body{padding:7px 6px 7px;gap:2px;}
    .mf-featured-card__body h3{font-size:.65rem;line-height:1.08;min-height:1.4em;}
    .mf-featured-card__unit{font-size:.56rem;}
    .mf-featured-card__body strong{font-size:.66rem;margin:1px 0 4px;}
    .mf-featured-buy{min-height:28px;font-size:.59rem;gap:2px;padding:0 4px;}
    .mf-featured-buy span{font-size:.62rem;}
    .grid{padding:0 16px; gap:14px; grid-template-columns:repeat(2, minmax(0,1fr));}
    .card{min-width:0;}
    .card-body{padding:12px 13px 14px;min-width:0;}
    .card-body h3{font-size:1rem;line-height:1.15;}
    .card-foot{
      flex-direction:column;
      align-items:stretch;
      justify-content:flex-start;
      gap:8px;
      width:100%;
      min-width:0;
    }
    .price{font-size:1.08rem;line-height:1.05;}
    .price small{font-size:.66rem;margin-top:3px;}
    .mf-cart-added-feedback{
      max-width:calc(100vw - 20px);
      padding:8px 11px;
      font-size:.70rem;
    }
    .buy-btn{
      width:100%;
      max-width:100%;
      min-width:0;
      padding:9px 8px;
      font-size:.78rem;
      line-height:1;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .modal{padding:24px 18px 20px; border-radius:20px;}
  }

/* ---------- WORDPRESS COMPAT ---------- */
body.admin-bar .topbar{top:32px;}
@media (max-width:782px){body.admin-bar .topbar{top:46px;}}
.screen-reader-text{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;}


/* CEP: Continuar somente após validação automática positiva */
#toStep2:disabled{
  opacity:.48;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}


/* ---------- MINHA CONTA / LOGIN ---------- */
.maisfood-account-page{
  max-width:100%;
  padding:18px 14px 110px;
}
.maisfood-account-shell{
  width:min(100%, 560px);
  margin:0 auto;
}
.maisfood-account-header{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:-8px 0 12px;
}
.maisfood-account-subtitle{
  margin:2px 0 0;
  color:#ee7b24;
  font-size:1rem;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  letter-spacing:.01em;
}

.maisfood-account-logo{
  width:min(100%, 265px);
  height:auto;
  object-fit:contain;
}
.maisfood-account-card{
  background:rgba(255,253,248,.86);
  border:1px solid rgba(214,205,180,.9);
  border-radius:24px;
  box-shadow:0 18px 40px -30px rgba(31,58,36,.22);
  padding:16px 16px 14px;
  backdrop-filter:blur(8px);
}
.maisfood-account-content .woocommerce{
  width:100%;
}
.maisfood-account-content .woocommerce form,
.maisfood-account-content .woocommerce-form-login,
.maisfood-account-content .woocommerce-ResetPassword{
  border:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.maisfood-account-content .woocommerce h2,
.maisfood-account-content .woocommerce > h2,
.maisfood-account-content .woocommerce-account .woocommerce-MyAccount-content h2,
.maisfood-account-heading{display:none !important;}
.maisfood-account-content .woocommerce-form-login{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.maisfood-account-content .form-row,
.maisfood-account-content .woocommerce-form-row,
.maisfood-account-content p.form-row{
  margin:0 !important;
  width:100%;
}
.maisfood-account-content label{
  display:block;
  margin-bottom:7px;
  color:var(--green-900);
  font-size:.93rem;
  font-weight:700;
  line-height:1.3;
}
.maisfood-account-content .required{
  color:var(--tomato);
  text-decoration:none;
  font-weight:800;
}
.maisfood-account-content input[type="text"],
.maisfood-account-content input[type="email"],
.maisfood-account-content input[type="password"],
.maisfood-account-content input[type="tel"],
.maisfood-account-content input[type="search"],
.maisfood-account-content textarea,
.maisfood-account-content select{
  width:100%;
  min-height:48px;
  padding:0 15px;
  border:1.5px solid #d7cfbc;
  border-radius:14px;
  background:#fffef9;
  color:var(--ink);
  font-size:.96rem;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  transition:border-color .18s ease, box-shadow .18s ease;
}
.maisfood-account-content input:focus,
.maisfood-account-content textarea:focus,
.maisfood-account-content select:focus{
  border-color:#7daa56;
  box-shadow:0 0 0 4px rgba(124,170,86,.12);
}
.maisfood-login-utility-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin:0 0 2px;
  width:100%;
}
.maisfood-account-content .woocommerce-form-login__rememberme{
  margin:0;
  display:inline-flex !important;
  align-items:flex-start;
  gap:8px;
  color:var(--ink-soft);
  font-weight:600;
  font-size:.84rem;
  line-height:1.15;
  flex:1 1 auto;
}
.maisfood-account-content .woocommerce-form-login__rememberme input{
  width:15px;
  height:15px;
  min-height:15px;
  margin:1px 0 0;
  accent-color:var(--green-700);
  transform:none;
}
.maisfood-login-utility-row .lost_password,
.maisfood-account-content .lost_password{
  margin:0 !important;
  text-align:right;
  flex:0 0 auto;
  align-self:flex-start;
}
.maisfood-login-utility-row a,
.maisfood-account-content .lost_password a,
.maisfood-account-content .woocommerce-LostPassword a{
  color:var(--green-700);
  text-decoration:none;
  font-weight:700;
  font-size:.84rem;
  line-height:1.15;
}
.maisfood-login-utility-row a:hover,
.maisfood-account-content .lost_password a:hover{color:var(--tomato-dark);}
.maisfood-login-submit-row{
  display:flex;
  justify-content:center;
  margin-top:2px;
  width:100%;
}
.maisfood-account-content button.button,
.maisfood-account-content .button,
.maisfood-login-submit-row button.button,
.maisfood-login-submit-row .button{
  min-width:188px;
  height:48px;
  padding:0 22px;
  border:none;
  border-radius:999px;
  background:linear-gradient(180deg, #f28c2a, #df6a22);
  color:#fff !important;
  font-size:.98rem;
  font-weight:800;
  letter-spacing:.01em;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 14px 24px -18px rgba(223,106,34,.7);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.maisfood-account-content button.button:hover,
.maisfood-account-content .button:hover{
  transform:translateY(-1px);
  filter:brightness(1.02);
  box-shadow:0 16px 24px -16px rgba(223,106,34,.82);
}
.maisfood-account-content .woocommerce-error,
.maisfood-account-content .woocommerce-message,
.maisfood-account-content .woocommerce-info{
  border:none;
  border-radius:14px;
  padding:12px 14px !important;
  margin:0 0 14px !important;
  font-size:.9rem;
}
.maisfood-account-content .woocommerce-error{background:#fff0ea;color:#a43f1c;}
.maisfood-account-content .woocommerce-message,
.maisfood-account-content .woocommerce-info{background:#eff6e9;color:var(--green-900);}
.maisfood-account-content .woocommerce-error::before,
.maisfood-account-content .woocommerce-message::before,
.maisfood-account-content .woocommerce-info::before{display:none;}
.maisfood-account-content .woocommerce-MyAccount-navigation,
.maisfood-account-content .woocommerce-MyAccount-content{width:100%;float:none;}
.maisfood-account-content .woocommerce-MyAccount-navigation ul{
  list-style:none;
  padding:0;
  margin:0 0 18px;
  display:grid;
  gap:10px;
}
.maisfood-account-content .woocommerce-MyAccount-navigation a{
  display:block;
  padding:12px 14px;
  border-radius:14px;
  background:#fffef9;
  border:1px solid #e4dbc7;
  color:var(--green-900);
  text-decoration:none;
  font-weight:700;
}
.maisfood-account-content .woocommerce-MyAccount-navigation .is-active a{
  background:var(--green-900);
  color:#fff;
  border-color:var(--green-900);
}
@media (min-width: 900px){
  .maisfood-account-content .woocommerce-account{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:22px;
    align-items:start;
  }
}
@media (max-width: 640px){
  .maisfood-account-page{padding:14px 12px 105px;}
  .maisfood-account-shell{width:min(100%, 500px);}
  .maisfood-account-header{margin:-8px 0 10px;}
  .maisfood-account-logo{width:min(100%, 245px);}
  .maisfood-account-card{padding:16px 14px 14px;border-radius:22px;}
  .maisfood-account-content .woocommerce-form-login{gap:12px;}
  .maisfood-account-content label{font-size:.9rem;margin-bottom:6px;}
  .maisfood-account-content input[type="text"],
  .maisfood-account-content input[type="email"],
  .maisfood-account-content input[type="password"],
  .maisfood-account-content input[type="tel"],
  .maisfood-account-content input[type="search"],
  .maisfood-account-content textarea,
  .maisfood-account-content select{min-height:46px;border-radius:13px;font-size:.94rem;padding:0 14px;}
  .maisfood-login-utility-row{align-items:flex-start;gap:10px;}
  .maisfood-account-content .woocommerce-form-login__rememberme{font-size:.8rem;gap:7px;}
  .maisfood-account-content .woocommerce-form-login__rememberme input{width:14px;height:14px;min-height:14px;margin-top:1px;}
  .maisfood-login-utility-row a,
  .maisfood-account-content .lost_password a,
  .maisfood-account-content .woocommerce-LostPassword a{font-size:.79rem;}
  .maisfood-login-submit-row button.button,
  .maisfood-login-submit-row .button,
  .maisfood-account-content button.button,
  .maisfood-account-content .button{width:100%;min-width:100%;height:48px;}
  .maisfood-account-subtitle{font-size:.96rem;}
}

/* Catálogo dinâmico vindo do /myapp */
.mf-category__icon img{width:72%;height:72%;object-fit:contain;border-radius:12px}.mf-category__fallback{font-size:26px;line-height:1;font-weight:800}.mf-grid-empty{grid-column:1/-1;padding:30px 18px;text-align:center;border:1px dashed var(--line);border-radius:18px;color:var(--ink-soft);background:rgba(255,255,255,.45)}.mf-old-price{display:block!important;text-decoration:line-through;color:#9c8f78!important;font-size:.66rem!important;margin-bottom:1px}
@media(max-width:520px){.mf-category__fallback{font-size:21px}}


/* ---------- CATEGORIAS PAUSADAS / SINCRONIZAÇÃO GERENCIAL ---------- */
.mf-category.is-unavailable{
  cursor:not-allowed;
  opacity:.58;
  filter:grayscale(1);
}
.mf-category.is-unavailable::after{background:transparent!important;}
.mf-category.is-unavailable .mf-category__icon{
  background:#ecebe7!important;
  border-color:#d9d7d0!important;
  color:#777!important;
  box-shadow:none!important;
  transform:none!important;
}
.mf-category.is-unavailable .mf-category__icon img{filter:grayscale(1);opacity:.72;}
.mf-category.is-unavailable .mf-category__label{color:#777!important;}
.mf-category__availability{
  display:block;
  max-width:105px;
  margin-top:2px;
  color:#8a8a84;
  font-size:.55rem;
  font-weight:700;
  line-height:1.05;
  text-align:center;
}
@media(max-width:520px){
  .mf-category__availability{max-width:70px;font-size:.44rem;line-height:1.05;}
}


/* ---------- CUPOM NO CARRINHO ---------- */
.cart-coupon-card{
  margin-top:14px;
  padding:13px;
  border:1px solid #DED5BE;
  border-radius:15px;
  background:linear-gradient(180deg,#FFFEFA 0%,#F8F4E8 100%);
  box-shadow:0 10px 24px -22px rgba(31,58,36,.55);
}
.cart-coupon-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.cart-coupon-icon{
  width:34px;height:34px;border-radius:11px;flex:0 0 34px;
  display:flex;align-items:center;justify-content:center;
  background:#EFA928;color:#25321E;font-size:1rem;font-weight:900;
  box-shadow:0 8px 16px -11px rgba(239,169,40,.8);
}
.cart-coupon-head div{min-width:0;display:flex;flex-direction:column;gap:2px;}
.cart-coupon-head strong{font-size:.76rem;color:var(--green-900);line-height:1.2;}
.cart-coupon-head small{font-size:.60rem;color:var(--ink-soft);line-height:1.3;}
.cart-coupon-form{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:8px;align-items:center;}
.cart-coupon-form input{
  width:100%;height:40px;min-width:0;border:1.5px solid #D9D0B8;border-radius:11px;
  background:#fff;color:var(--green-900);padding:0 12px;outline:0;
  font-family:'Public Sans',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;transition:border-color .15s ease,box-shadow .15s ease;
}
.cart-coupon-form input:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(92,132,66,.10);}
.cart-coupon-form button{
  height:40px;border:0;border-radius:11px;background:var(--green-900);color:#fff;
  font-size:.68rem;font-weight:800;cursor:pointer;transition:transform .15s ease,opacity .15s ease,background .15s ease;
}
.cart-coupon-form button:hover{transform:translateY(-1px);}
.cart-coupon-form button:disabled{opacity:.55;cursor:wait;transform:none;}
.cart-coupon-form button.is-remove{background:#D84A38;}
.cart-coupon-status{display:none;margin-top:8px;padding:8px 10px;border-radius:10px;font-size:.62rem;line-height:1.35;}
.cart-coupon-status.is-checking{display:block;background:#F2ECDD;color:var(--ink-soft);}
.cart-coupon-status.is-success{display:flex;flex-direction:column;gap:2px;background:#E8F2E0;color:#35502B;}
.cart-coupon-status.is-error{display:block;background:#FBE4DC;color:#A7402C;font-weight:700;}
.cart-coupon-status strong{font-size:.64rem;}.cart-coupon-status span{font-size:.58rem;opacity:.9;}
.cart-review-totals{margin-top:13px;padding-top:10px;border-top:1px solid var(--line);display:grid;gap:7px;}
.cart-review-total-line{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--ink-soft);padding:0 2px;}
.cart-review-total-line span{font-size:.68rem;font-weight:700;}.cart-review-total-line strong{font-size:.72rem;color:var(--green-900);}
.cart-review-total-line.is-discount span,.cart-review-total-line.is-discount strong{color:#C83E2B;}
.cart-review-total-line.is-discount b{font-size:.58rem;font-weight:800;}
.cart-review-total.cart-review-total-line.is-grand{margin-top:2px;padding:10px 2px 0;border-top:1px dashed #D7CEB7;}
.cart-review-total.cart-review-total-line.is-grand span{font-size:.86rem;color:var(--green-900);}
.cart-review-total.cart-review-total-line.is-grand strong{font-family:'Fraunces',serif;font-size:1.22rem;color:var(--green-900);}
.order-summary .row.discount{color:#B83F2D;font-weight:700;}
@media(max-width:520px){
  .cart-coupon-card{padding:11px;border-radius:13px;}
  .cart-coupon-icon{width:31px;height:31px;flex-basis:31px;border-radius:10px;font-size:.9rem;}
  .cart-coupon-head strong{font-size:.69rem;}.cart-coupon-head small{font-size:.55rem;}
  .cart-coupon-form{grid-template-columns:minmax(0,1fr) 72px;gap:7px;}
  .cart-coupon-form input,.cart-coupon-form button{height:37px;border-radius:10px;}
  .cart-coupon-form input{font-size:.66rem;padding:0 10px;}.cart-coupon-form button{font-size:.62rem;}
}


/* ================= 1.0.30 · checkout inteligente / cliente cadastrado ================= */
.checkout-account-card{display:block;margin:0 0 12px;border:1px solid #e1d8c4;border-radius:16px;background:#fffdf8;padding:12px;color:var(--green-900);box-shadow:0 12px 30px -28px rgba(24,61,38,.35)}.checkout-account-card:empty{display:none}.checkout-account-head{display:flex;align-items:flex-start;gap:10px}.checkout-account-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#edf3e7;color:var(--green-900);font-size:.82rem;font-weight:900}.checkout-account-head>div{min-width:0}.checkout-account-head small{display:block;color:#ef7f22;font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.checkout-account-head strong{display:block;margin:2px 0;color:var(--green-900);font-size:.76rem;line-height:1.25}.checkout-account-head span{display:block;color:var(--ink-soft);font-size:.61rem;line-height:1.4}.checkout-saved-address{margin-top:9px;padding:9px 10px;border-radius:12px;background:#f3f0e6;border:1px solid #e4dcc9}.checkout-saved-address small{display:block;color:var(--ink-soft);font-size:.54rem;text-transform:uppercase;font-weight:900}.checkout-saved-address strong{display:block;margin:3px 0 8px;color:var(--green-900);font-size:.63rem;line-height:1.4}.checkout-saved-address button,.checkout-login-open,.checkout-quick-login button{height:36px;border:0;border-radius:10px;background:var(--green-900);color:#fff;font-size:.59rem;font-weight:900;padding:0 12px;cursor:pointer}.checkout-account-link{display:inline-block;margin-top:8px;color:var(--green-700);font-size:.57rem;font-weight:800;text-decoration:none}.checkout-login-open{margin-top:9px;width:100%;background:linear-gradient(180deg,#f28c2a,#df6a22)}.checkout-quick-login{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid #eee5d4}.checkout-quick-login[hidden]{display:none}.checkout-quick-login label{display:block;color:var(--green-900);font-size:.55rem;font-weight:800}.checkout-quick-login input{display:block;width:100%;height:38px;margin-top:4px;border:1.5px solid #d7cfbd;border-radius:10px;background:#fff;padding:0 9px;font-size:.64rem;outline:none}.checkout-quick-login input:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(92,132,66,.10)}.checkout-quick-login button{align-self:end;background:var(--green-900)}.checkout-login-feedback{grid-column:1/-1;font-size:.58rem;font-weight:800}.checkout-login-feedback.is-error{padding:7px 9px;border-radius:9px;background:#fbe4dc;color:#a7402c}.checkout-guest-note{display:block;margin-top:7px;color:var(--ink-soft);font-size:.55rem}.checkout-profile-loaded{display:flex;align-items:center;gap:9px;margin:0 0 10px;padding:9px 10px;border:1px solid #d8e3cd;border-radius:12px;background:#f1f6ed}.checkout-profile-loaded[hidden]{display:none}.checkout-profile-loaded>span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:var(--green-900);color:#fff;font-size:.66rem;font-weight:900}.checkout-profile-loaded strong{display:block;color:var(--green-900);font-size:.64rem}.checkout-profile-loaded small{display:block;margin-top:1px;color:var(--ink-soft);font-size:.54rem}.checkout-save-profile{display:flex;align-items:flex-start;gap:8px;margin:7px 0 11px;padding:9px 10px;border-radius:12px;background:#f6f1e6;cursor:pointer}.checkout-save-profile[hidden]{display:none}.checkout-save-profile input{width:15px;height:15px;flex:0 0 15px;margin:1px 0 0;accent-color:var(--green-900)}.checkout-save-profile strong{display:block;color:var(--green-900);font-size:.61rem}.checkout-save-profile small{display:block;margin-top:1px;color:var(--ink-soft);font-size:.53rem;line-height:1.35}
@media(max-width:620px){.checkout-account-card{padding:10px;border-radius:14px}.checkout-quick-login{grid-template-columns:1fr}.checkout-quick-login button{height:38px}.checkout-account-head strong{font-size:.7rem}.checkout-account-head span{font-size:.57rem}.checkout-saved-address strong{font-size:.59rem}}


/* ================= 1.0.32 · compartilhamento de produtos ================= */
.mf-featured-card__media,.card-media{position:relative;cursor:pointer}
.mf-product-share{
  position:absolute;z-index:4;top:10px;right:10px;width:36px;height:36px;border:1px solid rgba(255,255,255,.88);border-radius:12px;
  display:grid;place-items:center;background:rgba(255,253,248,.94);color:var(--green-900);box-shadow:0 8px 22px -12px rgba(24,61,38,.55);
  cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .15s ease,background .15s ease,box-shadow .15s ease
}
.mf-product-share svg{width:17px;height:17px}.mf-product-share:hover,.mf-product-share:focus-visible{transform:translateY(-1px);background:#fff;box-shadow:0 10px 24px -11px rgba(24,61,38,.62);outline:none}
.mf-featured-card__media .mf-product-share{top:8px;right:8px;width:32px;height:32px;border-radius:11px}.mf-featured-card__media .mf-product-share svg{width:15px;height:15px}
.mf-share-overlay{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(20,33,23,.55);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.mf-share-overlay[hidden]{display:none}.mf-share-open{overflow:hidden}
.mf-share-modal{position:relative;width:min(440px,100%);max-height:min(760px,calc(100vh - 30px));overflow:auto;border:1px solid #e8dfcc;border-radius:24px;background:#fffdf8;box-shadow:0 28px 80px -26px rgba(20,33,23,.72)}
.mf-share-close{position:absolute;z-index:3;top:11px;right:11px;width:38px;height:38px;border:1px solid rgba(228,220,202,.9);border-radius:13px;display:grid;place-items:center;background:rgba(255,253,248,.94);color:var(--green-900);cursor:pointer;box-shadow:0 7px 20px -14px rgba(24,61,38,.5)}
.mf-share-close svg{width:17px;height:17px}.mf-share-image-wrap{height:280px;background:#f4f0e6;overflow:hidden;border-radius:23px 23px 0 0}.mf-share-image-wrap img{display:block;width:100%;height:100%;object-fit:cover}.mf-share-image-wrap.has-no-image{height:150px;background:linear-gradient(135deg,#edf3e7,#f7f1df)}
.mf-share-content{padding:18px}.mf-share-eyebrow{display:block;color:var(--tomato);font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.mf-share-content h3{margin:4px 0 5px;font-family:'Fraunces',serif;color:var(--green-900);font-size:1.62rem;line-height:1.05;font-weight:650}.mf-share-product-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mf-share-product-meta span{font-size:.72rem;color:var(--ink-soft);font-weight:600}.mf-share-product-meta strong{font-family:'Fraunces',serif;color:var(--green-900);font-size:1.24rem}
.mf-share-affiliate{margin:0 0 13px;padding:10px 11px;border:1px solid #d9e4cd;border-radius:13px;background:#eff5ea;color:#3c5830;font-size:.66rem;line-height:1.45;font-weight:650}.mf-share-affiliate[hidden]{display:none}
.mf-share-link-label{display:block;margin:0 0 6px;color:var(--green-900);font-size:.62rem;font-weight:850}.mf-share-link-row{display:grid;grid-template-columns:minmax(0,1fr) 74px;gap:7px}.mf-share-link-row input{min-width:0;height:42px;border:1.5px solid #d9d0bb;border-radius:12px;background:#fff;padding:0 11px;color:#556050;font-family:'Public Sans',sans-serif;font-size:.64rem;outline:none}.mf-share-link-row input:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(92,132,66,.1)}.mf-share-link-row button{height:42px;border:0;border-radius:12px;background:var(--green-900);color:#fff;font-size:.64rem;font-weight:850;cursor:pointer}
.mf-share-actions{display:grid;grid-template-columns:1.2fr .8fr;gap:8px;margin-top:10px}.mf-share-actions button{height:44px;border-radius:13px;font-size:.68rem;font-weight:850;cursor:pointer}.mf-share-native{border:0;background:linear-gradient(180deg,#ef8728,#df6b20);color:#fff;display:flex;align-items:center;justify-content:center;gap:7px}.mf-share-native svg{width:16px;height:16px}.mf-share-copy-secondary{border:1.5px solid #d8d0bd;background:#f8f4e9;color:var(--green-900)}.mf-share-feedback{min-height:18px;margin-top:8px;font-size:.6rem;font-weight:750;text-align:center}.mf-share-feedback.is-success{color:#3d6a31}.mf-share-feedback.is-error{color:#b44631}
.mf-shared-product-target{animation:mfSharedProductPulse 1.15s ease 0s 2;box-shadow:0 0 0 4px rgba(239,127,34,.2),0 18px 45px -28px rgba(24,61,38,.7)!important}@keyframes mfSharedProductPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:520px){.mf-product-share{top:7px;right:7px;width:31px;height:31px;border-radius:10px}.mf-product-share svg{width:14px;height:14px}.mf-featured-card__media .mf-product-share{top:5px;right:5px;width:27px;height:27px;border-radius:9px}.mf-featured-card__media .mf-product-share svg{width:13px;height:13px}.mf-share-overlay{padding:11px;align-items:flex-end}.mf-share-modal{width:100%;max-height:88vh;border-radius:22px 22px 16px 16px}.mf-share-image-wrap{height:230px;border-radius:21px 21px 0 0}.mf-share-content{padding:15px}.mf-share-content h3{font-size:1.42rem}.mf-share-product-meta strong{font-size:1.12rem}.mf-share-actions{grid-template-columns:1fr}.mf-share-actions button{height:42px}.mf-share-link-row{grid-template-columns:minmax(0,1fr) 68px}.mf-share-link-row input,.mf-share-link-row button{height:40px}}

