
:root{--rose:#c96b8a;--rose-dark:#8b3a56;--rose-light:#fdf0f4;--rose-mid:#f0a0b8;--text:#3d2030;--bg:#fff9fb;--border:#f0d8e2;--muted:#9b6070;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Nunito',sans-serif;background:var(--bg);color:var(--text);}

.hdr-socials{display:flex;align-items:center;gap:.35rem;flex-shrink:0;}
.hdr-socials a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--rose-light);color:var(--rose-dark);text-decoration:none;transition:.2s;border:1.5px solid var(--border);}
.hdr-socials a:hover{background:var(--rose);border-color:var(--rose);}
.hdr-socials a svg{fill:var(--rose-dark);transition:.2s;}
.hdr-socials a:hover svg{fill:white;}
.hdr-socials a.stroke-icon svg{fill:none;stroke:var(--rose-dark);transition:.2s;}
.hdr-socials a.stroke-icon:hover svg{stroke:white;}

/* HEADER */
header{background:white;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(201,107,138,.08);}
.hdr{max-width:1920px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:1rem;height:64px;flex-wrap:nowrap;}

.logo{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:700;color:var(--rose-dark);text-decoration:none;white-space:nowrap;margin-right:0;}
.logo span{color:var(--rose);}

/* =============================================
   BLOCO ESQUERDO COMPARTILHADO (HOME + PRODUTO)
   min-width fixa para que busca, redes e
   carrinho nunca se desloquem entre páginas
============================================= */
.hdr-left{
  min-width:210px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  gap:.7rem;
}

/* Nome da loja — ocupa espaço sempre, revelado por opacity */
.hdr-brand-name{
  font-family:'Playfair Display',serif;
  font-size:1.1rem;
  font-weight:700;
  color:var(--rose-dark);
  white-space:nowrap;
  flex-shrink:0;
  /* invisível no topo: ocupa espaço mas não aparece */
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease, visibility 0s linear .25s;
  pointer-events:none;
}

/* Revelado pelo IntersectionObserver (HOME após scroll) */
header.hdr--scrolled .hdr-brand-name{
  opacity:1;
  visibility:visible;
  transition:opacity .25s ease, visibility 0s linear 0s;
  pointer-events:auto;
}

/* Seta de voltar — visível apenas na página de produto */
.search-bar{flex:1;max-width:500px;position:relative;min-width:0;}
.search-bar input{width:100%;padding:9px 40px 9px 36px;border:1.5px solid var(--border);border-radius:50px;font-family:'Nunito',sans-serif;font-size:.9rem;color:var(--text);background:var(--rose-light);transition:.2s;}
.search-bar input:focus{outline:none;border-color:var(--rose);background:white;}
/* lupa outline — wrapper posicionado */
.search-icon-wrap{position:relative;display:flex;align-items:center;}
.search-icon-wrap .search-lupa{position:absolute;left:11px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted);display:flex;align-items:center;}
.search-icon-wrap input{padding-left:34px!important;}
.hdr-right{display:flex;align-items:center;gap:.6rem;margin-left:auto;}
.admin-hdr-btn{background:none;border:1.5px solid var(--border);color:var(--muted);padding:7px 14px;border-radius:50px;font-family:'Nunito',sans-serif;font-weight:700;font-size:.8rem;cursor:pointer;transition:.2s;}
.admin-hdr-btn:hover{border-color:var(--rose);color:var(--rose);}
.cart-btn{background:none;color:var(--rose-dark);border:none;padding:4px 2px;border-radius:0;font-family:'Nunito',sans-serif;font-weight:700;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;gap:4px;transition:.2s;}
.cart-btn:hover{background:none;color:var(--rose);}
.cart-count{background:none;color:var(--rose-dark);font-size:.88rem;font-weight:800;width:auto;height:auto;border-radius:0;display:inline;}

/* HERO BANNER */
.hero-banner{width:100%;max-width:1920px;margin:0 auto;height:268px;background:linear-gradient(135deg,#fce4ed,#f9d0e4);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;cursor:pointer;}
.hero-banner img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-banner img.loaded{display:block;}

/* CARROSSEL DE BANNERS */
.banner-slides{display:flex;width:100%;height:100%;min-height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1);}
.banner-slide{flex:0 0 100%;width:100%;height:100%;min-height:100%;position:relative;overflow:hidden;}
.banner-slide img{width:100%;height:100%;min-height:100%;object-fit:cover;display:block;}
#bannerSlidesWrap{width:100%;height:100%;position:relative;overflow:hidden;}
.banner-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.75);border:none;width:36px;height:36px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;transition:.2s;backdrop-filter:blur(3px);}
.banner-arrow:hover{background:rgba(255,255,255,.95);}
.banner-arrow.prev{left:10px;}
.banner-arrow.next{right:10px;}
.banner-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:3;}
.banner-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.55);border:none;cursor:pointer;transition:.2s;padding:0;}
.banner-dot.active{background:white;transform:scale(1.2);}
@media(max-width:768px){
  .banner-arrow{width:30px;height:30px;font-size:.9rem;}
  .banner-slide-titulo{font-size:.78rem;}
}
.hero-placeholder{text-align:center;color:var(--rose-dark);pointer-events:none;}
.hero-placeholder h1{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:700;margin-bottom:.5rem;}
.hero-placeholder p{font-size:1rem;color:#7a4460;}
.hero-edit-hint{position:absolute;bottom:10px;right:14px;background:rgba(255,255,255,.75);color:var(--rose-dark);font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:50px;backdrop-filter:blur(4px);}

/* CATEGORIAS */
.cats-outer{
  background:white;
  border-bottom:1px solid var(--border);
  padding:.2rem 0 .5rem;
  overflow:visible;
}

.cats-inner{
  max-width:1920px;
  margin:0 auto;
  padding:0 1rem;
  display:flex;
  align-items:center;
  gap:.5rem;
  position:relative;
}

.cats-arrow{
  background:white;
  border:1.5px solid var(--border);
  width:38px;
  height:38px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:1.2rem;
  flex-shrink:0;
  transition:.2s;
  color:var(--rose-dark);
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  z-index:2;
  position:relative;
}

.cats-arrow:hover{
  border-color:var(--rose);
  color:var(--rose);
}

.cats-scroll{
  display:flex;
  gap:1rem;
  overflow-x:auto;
  scrollbar-width:none;
  scroll-behavior:smooth;
  flex:1;
  padding:6px 4px 8px;
  scroll-snap-type:x proximity;
}
.cats-scroll::-webkit-scrollbar{display:none;}
.cat-pill{scroll-snap-align:start;}

.cat-pill{
  flex-shrink:0;
  width:82px;
  text-align:center;
  background:none;
  border:none;
  cursor:pointer;
  transition:.2s;
  white-space:normal;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.4rem;
  font-size:.72rem;
  font-weight:700;
  color:var(--text);
  padding:2px 2px 0;
}

.cat-pill:hover{
  transform:translateY(-2px);
}

.cat-pill.active{
  color:var(--rose-dark);
}



/* PERFIL ARTESÃ */
.artesa-wrap{
  max-width:1920px;
  margin:0 auto;
  padding:1rem 1.2rem .5rem;
}

.artesa-card{
  background:white;
  border:1px solid var(--border);
  border-radius:24px;
  padding:1rem 1.3rem;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1.2rem;
}

.artesa-left{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  flex:1;
}

.artesa-foto{
  width:145px;
  height:145px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  border:4px solid white;
  box-shadow:0 0 0 2px var(--rose-mid);
}

.artesa-foto img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.artesa-info{
  padding-top:.2rem;
}

.artesa-info h2{
  font-family:'Playfair Display',serif;
  font-size:2.2rem;
  color:var(--rose-dark);
  margin-bottom:.35rem;
}

.artesa-info p{
  font-size:.96rem;
  color:#7a4460;
  line-height:1.6;
  max-width:760px;
}

.artesa-actions{
  width:210px;
  display:flex;
  flex-direction:column;
  gap:.8rem;
  flex-shrink:0;
}

.artesa-btn{
  width:100%;
  border:1.5px solid var(--border);
  background:white;
  color:var(--rose-dark);
  border-radius:14px;
  padding:.68rem .85rem;
  font-family:'Nunito',sans-serif;
  font-size:.8rem;
  font-weight:700;
  cursor:pointer;
  text-align:left;
}

.artesa-btn.rose{
  background:var(--rose);
  color:white;
  border-color:var(--rose);
}

@media(max-width:900px){
  .artesa-card{
    flex-direction:column;
  }

  .artesa-actions{
    width:100%;
  }
}

@media(max-width:768px){
  .artesa-actions{
    flex-direction:row;
    flex-wrap:wrap;
    gap:.5rem;
  }
  .artesa-btn{
    flex:1;
    min-width:0;
    text-align:center;
    padding:.55rem .5rem;
    font-size:.72rem;
    border-radius:50px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* PRODUTOS */
.section{max-width:100%;margin:0 auto;padding:1.5rem 1.2rem 1.5rem;}
.section-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.1rem;}
.section-title{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--rose-dark);}
.prod-count{font-size:.82rem;color:var(--muted);}
.products-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;align-items:stretch;}
@media(max-width:1400px){.products-grid{grid-template-columns:repeat(4,1fr);}}
@media(max-width:1024px){.products-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:700px){.products-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:420px){
  .products-grid{grid-template-columns:repeat(2,1fr);}
  #cardPerfilLoja{grid-column:1 / -1;height:auto!important;min-height:unset!important;}
}

.product-card{background:white;border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:.22s;cursor:pointer;}
.product-card:hover{box-shadow:0 6px 24px rgba(201,107,138,.14);transform:translateY(-3px);border-color:var(--rose-mid);}
/* Card de perfil */
#cardPerfilLoja{transform:none!important;cursor:default!important;}
#cardPerfilLoja:hover{transform:none!important;box-shadow:none!important;border-color:var(--border)!important;}
/* Desktop: estica com a grade, min-height de segurança */
@media(min-width:701px){
  #cardPerfilLoja{min-height:350px;}
  #cardPerfilLoja>div{height:100%;min-height:350px;}
}
/* Mobile: ocupa todas as colunas, altura automática */
@media(max-width:700px){
  .products-grid{align-items:stretch;}
  #cardPerfilLoja{grid-column:1 / -1;height:auto!important;min-height:unset!important;}
  #cardPerfilLoja>div{min-height:unset!important;height:auto!important;}
}
.prod-img-wrap{width:100%;aspect-ratio:1;background:var(--rose-light);display:flex;align-items:center;justify-content:center;font-size:3rem;position:relative;overflow:hidden;}
.prod-img-wrap img{width:100%;height:100%;object-fit:cover;}
.prod-badge{position:absolute;top:8px;left:8px;background:var(--rose);color:white;font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:50px;text-transform:uppercase;}
.prod-info{padding:.85rem .95rem;}
.prod-name{font-family:'Playfair Display',serif;font-weight:700;font-size:.95rem;color:var(--rose-dark);margin-bottom:.2rem;line-height:1.3;}
.prod-desc{font-size:.77rem;color:var(--muted);margin-bottom:.5rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.prod-price{font-size:1.1rem;font-weight:800;color:var(--rose);margin-bottom:.15rem;}
.prod-min{font-size:.72rem;color:var(--muted);margin-bottom:0;}
/* btn-comprar removido da grade — card inteiro é clicável */

.load-more-wrap{text-align:center;margin:1.5rem 0 2rem;}
.btn-load-more{background:white;border:2px solid var(--rose);color:var(--rose);padding:12px 36px;border-radius:50px;font-family:'Nunito',sans-serif;font-weight:700;font-size:.95rem;cursor:pointer;transition:.2s;}
.btn-load-more:hover{background:var(--rose);color:white;}

/* PÁGINA DE PRODUTO (substituiu modal) */
.prod-page{display:none;position:fixed;inset:0;background:var(--bg);z-index:2000;overflow-y:auto;scrollbar-gutter:stable;}
.prod-page.open{display:block;}
.prod-page-header{background:white;border-bottom:1px solid var(--border);padding:0 2rem;height:64px;display:flex;align-items:center;gap:1rem;position:sticky;top:0;z-index:10;}
.prod-page-header .search-bar{max-width:500px;}
.prod-page-body{max-width:1100px;margin:0 auto;padding:2rem 1.5rem;display:grid;grid-template-columns:420px 1fr;gap:3rem;}
@media(max-width:900px){.prod-page-body{grid-template-columns:1fr;gap:1.5rem;padding:1.2rem;}}
.prod-page-gallery{position:sticky;top:80px;align-self:start;}
#ppMiniGaleria{display:flex;flex-wrap:nowrap;gap:.65rem;margin-top:1rem;overflow-x:auto;padding:.5rem 0 6px;justify-content:center;scrollbar-width:thin;scrollbar-color:var(--rose-mid) transparent;}
#ppMiniGaleria::-webkit-scrollbar{height:3px;}
#ppMiniGaleria::-webkit-scrollbar-thumb{background:var(--rose-mid);border-radius:50px;}
#ppMiniGaleria > div{width:62px!important;height:62px!important;flex-shrink:0;}
.prod-page-img{width:100%;max-width:420px;aspect-ratio:1;background:var(--rose-light);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:5rem;overflow:hidden;}
.prod-page-img img{width:100%;height:100%;object-fit:cover;border-radius:18px;}

/* PROD-PAGE seções abaixo do form */

/* Frete — desktop: resultado ao lado do CEP no wrap; mobile: balão absoluto */
#mFreteResultWrap{flex:0 0 240px;min-width:240px;} /* mantém espaço no desktop */
#mFreteResult{flex:0 0 240px;min-width:0;font-size:.78rem;color:var(--rose-dark);min-height:72px;}
.pp-section{max-width:100%;padding:2rem 1.5rem;border-top:1px solid var(--border);}
.pp-section-title{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--rose-dark);margin-bottom:1.2rem;}

/* SUGERIDOS — faixa de ponta a ponta */
.sugeridos-wrap{background:white;border-top:1px solid var(--border);padding:1.5rem 1.5rem;}
.sugeridos-title{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--rose-dark);margin-bottom:1rem;}
.sugeridos-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;padding:0;}
@media(max-width:900px){.sugeridos-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.sugeridos-grid{grid-template-columns:repeat(2,1fr);}}
.sug-card{cursor:pointer;border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:.18s;background:white;}
.sug-card:hover{box-shadow:0 4px 16px rgba(201,107,138,.13);transform:translateY(-2px);border-color:var(--rose-mid);}
.sug-img{width:100%;aspect-ratio:1;background:var(--rose-light);display:flex;align-items:center;justify-content:center;font-size:2.2rem;overflow:hidden;position:relative;}
.sug-img img{width:100%;height:100%;object-fit:cover;}
.sug-info{padding:.5rem .7rem .7rem;}
.sug-name{font-family:'Playfair Display',serif;font-size:.8rem;font-weight:700;color:var(--rose-dark);line-height:1.3;margin-bottom:.2rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sug-price{font-size:.88rem;font-weight:800;color:var(--rose);}

/* AVALIAÇÕES */
.aval-wrap{background:var(--bg);padding:2rem 1.5rem;}
.aval-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:var(--rose-dark);margin-bottom:1rem;}
.aval-resumo{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;background:white;padding:1.2rem 1.5rem;border-radius:16px;border:1px solid var(--border);}
.aval-nota-grande{font-size:3rem;font-weight:800;color:var(--rose-dark);line-height:1;}
.aval-estrelas-big{font-size:1.4rem;margin:.2rem 0 .1rem;}
.aval-total{font-size:.82rem;color:var(--muted);}
.aval-lista{display:grid;gap:.8rem;}
.aval-item{background:white;border:1px solid var(--border);border-radius:14px;padding:1rem 1.2rem;}
.aval-item-topo{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem;}
.aval-nome{font-weight:700;font-size:.88rem;color:var(--rose-dark);}
.aval-data{font-size:.75rem;color:var(--muted);}
.aval-estrelas{font-size:.95rem;margin-bottom:.35rem;}
.aval-texto{font-size:.85rem;color:#7a4460;line-height:1.6;}
#avalHomeList{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
#avalLista{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
@media(max-width:780px){#avalHomeList,#avalLista{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){#avalHomeList,#avalLista{grid-template-columns:1fr;}}
.prod-page-info{}
.prod-page-cat{font-size:.78rem;font-weight:700;color:var(--rose);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem;}
.prod-page-title{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--rose-dark);line-height:1.2;margin-bottom:.5rem;}
.prod-page-price{font-size:2rem;font-weight:800;color:var(--rose);margin:.5rem 0 .3rem;}
.prod-page-min{font-size:.82rem;color:var(--muted);margin-bottom:1rem;}
.prod-page-desc{font-size:.92rem;color:#7a4460;line-height:1.7;margin-bottom:1.2rem;}
.pp-aviso-artesanal{background:#fff8e1;border:1px solid #ffe082;border-radius:7px;padding:.3rem .65rem;font-size:.82rem;color:#7a5c00;line-height:1.3;text-align:center;}
.prod-page-divider{border:none;border-top:1px solid var(--border);margin:.6rem 0;}
.prod-page-form{}
.modal-title{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--rose-dark);margin-bottom:.3rem;}
.modal-price{font-size:1.4rem;font-weight:800;color:var(--rose);margin:.3rem 0;}
.modal-desc{font-size:.86rem;color:#7a4460;line-height:1.6;margin-bottom:.75rem;}
.form-group{margin-bottom:.75rem;}
.form-group label{display:block;font-weight:700;font-size:.8rem;color:var(--rose-dark);margin-bottom:3px;}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px 12px;border:1.5px solid var(--border);border-radius:10px;font-family:'Nunito',sans-serif;font-size:.86rem;color:var(--text);}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--rose);}
.agenda-status{font-size:.75rem;font-weight:700;padding:3px 8px;border-radius:6px;margin-top:4px;min-height:22px;visibility:hidden;line-height:1.3;align-self:start;width:fit-content;max-width:100%;}
.agenda-status.ok{background:#d4edda;color:#155724;}
.agenda-status.nok{background:#f8d7da;color:#721c24;}
.agenda-status.warn{background:#fff3cd;color:#856404;}
.btn-primary{background:var(--rose);color:white;border:none;padding:11px 22px;border-radius:50px;font-family:'Nunito',sans-serif;font-weight:700;font-size:.92rem;cursor:pointer;transition:.2s;width:100%;}
.btn-primary:hover{background:var(--rose-dark);}

/* CARRINHO */
.cart-overlay{display:none;position:fixed;inset:0;background:rgba(60,20,40,.5);z-index:3000;}
.cart-overlay.open{display:block;}
.cart-drawer{position:fixed;top:0;right:-420px;width:390px;max-width:100vw;height:100%;background:white;z-index:3001;padding:1.4rem;display:flex;flex-direction:column;transition:right .3s ease;box-shadow:-4px 0 24px rgba(60,20,40,.12);}
.cart-drawer.open{right:0;}
.cart-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border);}
.cart-hdr h2{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--rose-dark);}
.cart-items{flex:1;overflow-y:auto;}
.cart-item{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid #f9e8f0;align-items:flex-start;}
.ci-icon{width:50px;height:50px;background:var(--rose-light);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;overflow:hidden;}
.ci-icon img{width:100%;height:100%;object-fit:cover;border-radius:9px;}
.ci-info{flex:1;}
.ci-name{font-weight:700;font-size:.83rem;color:var(--rose-dark);}
.ci-detail{font-size:.73rem;color:var(--muted);margin:1px 0;}
.ci-price{font-weight:800;color:var(--rose);font-size:.9rem;}
.ci-remove{background:none;border:none;cursor:pointer;color:#ccc;font-size:.95rem;transition:color .2s;padding:2px;}
.ci-remove:hover{color:#e24b4a;}
.cart-empty{text-align:center;padding:3rem 1rem;color:var(--rose-mid);}
.cart-empty div{font-size:2.8rem;margin-bottom:.7rem;}
.cart-footer{padding-top:.85rem;border-top:1px solid var(--border);margin-top:.5rem;}
.frete-sec{background:var(--rose-light);border-radius:11px;padding:.85rem;margin-bottom:.85rem;}
.frete-sec h4{font-size:.83rem;font-weight:700;color:var(--rose-dark);margin-bottom:.45rem;}
.frete-row{display:flex;gap:6px;}
.frete-row input{flex:1;padding:7px 11px;border:1.5px solid var(--border);border-radius:50px;font-family:'Nunito',sans-serif;font-size:.81rem;color:var(--text);}
.frete-row input:focus{outline:none;border-color:var(--rose);}
.frete-row button{background:var(--rose-dark);color:white;border:none;padding:7px 13px;border-radius:50px;font-family:'Nunito',sans-serif;font-weight:700;font-size:.78rem;cursor:pointer;}
.frete-opts{margin-top:8px;display:none;}
.frete-opt{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border:1.5px solid var(--border);border-radius:9px;margin-bottom:5px;cursor:pointer;transition:.2s;font-size:.8rem;}
.frete-opt:hover,.frete-opt.sel{border-color:var(--rose);background:#fff5f8;}
.frete-opt label{cursor:pointer;font-weight:600;color:var(--rose-dark);}
.frete-opt span{color:var(--rose);font-weight:700;}
.cart-total{display:flex;justify-content:space-between;font-size:1rem;font-weight:800;color:var(--rose-dark);margin-bottom:.85rem;}

/* SOBRE / FOOTER */
.sobre-section{background:white;border-top:1px solid var(--border);padding:3rem 2rem;}
.sobre-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;}
@media(max-width:700px){.sobre-inner{grid-template-columns:1fr;}}
.sobre-title{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--rose-dark);margin-bottom:.85rem;}
.sobre-text{font-size:.88rem;color:#7a4460;line-height:1.8;}
.pol-list{list-style:none;}
.pol-list li{font-size:.81rem;color:#7a4460;padding:6px 0;border-bottom:1px dashed var(--border);line-height:1.5;display:flex;gap:7px;}
.pol-list li::before{content:'✦';color:var(--rose);flex-shrink:0;margin-top:1px;}
footer{background:var(--rose-dark);color:white;text-align:center;padding:1rem 1.5rem;}
.footer-logo{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;margin-bottom:.5rem;}
.footer-links{display:flex;justify-content:center;gap:1.2rem;margin:.5rem 0;flex-wrap:wrap;align-items:center;}
.footer-links a{color:rgba(255,255,255,.85);text-decoration:none;font-size:.82rem;transition:.2s;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18);}
.footer-links a:hover{background:rgba(255,255,255,.28);transform:scale(1.1);}
@media(max-width:768px){
  .footer-links{gap:.8rem;}
  .footer-links a{width:48px;height:48px;}
}
.wa-fab{position:fixed;bottom:24px;right:24px;background:#25d366;color:white;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;text-decoration:none;box-shadow:0 4px 16px rgba(37,211,102,.4);z-index:999;transition:.2s;}
.wa-fab:hover{transform:scale(1.1);}
.toast{position:fixed;bottom:88px;right:24px;background:var(--rose-dark);color:white;padding:9px 17px;border-radius:50px;font-size:.83rem;font-weight:700;z-index:9999;transform:translateY(20px);opacity:0;transition:.3s;pointer-events:none;}
.toast.show{transform:translateY(0);opacity:1;}

/* ADMIN */
.adm-overlay{display:none;position:fixed;inset:0;background:rgba(60,20,40,.7);z-index:9000;overflow-y:auto;}
.adm-overlay.open{display:block;}
.adm-box{background:white;border-radius:20px;max-width:1000px;width:calc(100% - 2rem);margin:2rem auto;padding:2rem;}
.adm-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem;}
.adm-hdr h2{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--rose-dark);}
.adm-tabs{display:flex;gap:7px;margin-bottom:1.4rem;flex-wrap:wrap;}
.adm-tab{padding:7px 15px;border:1.5px solid var(--border);border-radius:50px;background:white;font-family:'Nunito',sans-serif;font-weight:700;font-size:.81rem;cursor:pointer;color:var(--text);transition:.2s;}
.adm-tab.active{background:var(--rose);color:white;border-color:var(--rose);}
.adm-panel{display:none;}
.adm-panel.active{display:block;}
.adm-toolbar{display:flex;gap:7px;margin-bottom:1rem;flex-wrap:wrap;align-items:center;}
.adm-toolbar input,.adm-toolbar select{padding:7px 12px;border:1.5px solid var(--border);border-radius:50px;font-family:'Nunito',sans-serif;font-size:.81rem;color:var(--text);}
.adm-toolbar input:focus,.adm-toolbar select:focus{outline:none;border-color:var(--rose);}
.adm-btn{padding:7px 15px;border-radius:50px;font-family:'Nunito',sans-serif;font-weight:700;font-size:.8rem;cursor:pointer;border:none;transition:.2s;}
.adm-btn.rose{background:var(--rose);color:white;}
.adm-btn.rose:hover{background:var(--rose-dark);}
.adm-btn.dark{background:var(--rose-dark);color:white;}
.adm-btn.outline{background:white;border:1.5px solid var(--border);color:var(--text);}
.adm-btn.outline:hover{border-color:var(--rose);color:var(--rose);}
.adm-btn.danger{background:#e24b4a;color:white;}
.massa-bar{background:#fff5f8;border:1.5px solid var(--rose-mid);border-radius:12px;padding:.9rem;margin-bottom:1rem;display:none;}
.massa-bar.open{display:block;}
.massa-bar h4{font-size:.86rem;font-weight:700;color:var(--rose-dark);margin-bottom:.65rem;}
.massa-row{display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
.massa-row select,.massa-row input{padding:7px 12px;border:1.5px solid var(--border);border-radius:50px;font-family:'Nunito',sans-serif;font-size:.8rem;color:var(--text);}
.prod-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;}
.prod-table{width:100%;border-collapse:collapse;font-size:.8rem;}
.prod-table th{background:var(--rose-light);padding:8px 11px;text-align:left;font-weight:700;color:var(--rose-dark);white-space:nowrap;border-bottom:1px solid var(--border);}
.prod-table td{padding:7px 11px;border-bottom:1px solid #fdf0f4;vertical-align:middle;white-space:nowrap;}
.prod-table tr:last-child td{border-bottom:none;}
.prod-table tr:hover td{background:#fffbfc;}
.prod-table input{width:100%;padding:4px 7px;border:1.5px solid var(--border);border-radius:7px;font-family:'Nunito',sans-serif;font-size:.78rem;color:var(--text);}
.prod-table input:focus{outline:none;border-color:var(--rose);}
.prod-table select{padding:4px 7px;border:1.5px solid var(--border);border-radius:7px;font-family:'Nunito',sans-serif;font-size:.78rem;color:var(--text);}
.chk-col{width:34px;text-align:center;}
.sel-count{font-size:.8rem;color:var(--muted);margin-left:.4rem;}
.dates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin-bottom:.9rem;}
.date-tag{background:var(--rose-light);border:1px solid var(--rose-mid);border-radius:8px;padding:5px 9px;font-size:.78rem;font-weight:700;color:var(--rose-dark);display:flex;justify-content:space-between;align-items:center;}
.date-tag button{background:none;border:none;cursor:pointer;color:#e24b4a;font-size:.85rem;line-height:1;}
.import-drop{border:2px dashed var(--rose-mid);border-radius:14px;padding:2rem;text-align:center;cursor:pointer;transition:.2s;background:var(--rose-light);}
.import-drop:hover{border-color:var(--rose);}
.import-drop p{color:var(--muted);font-size:.88rem;margin-top:.4rem;}
.import-drop span{font-size:2.2rem;}
.import-result{margin-top:.9rem;font-size:.84rem;color:var(--rose-dark);display:none;}
.form-group-adm{margin-bottom:.85rem;}
.form-group-adm label{display:block;font-weight:700;font-size:.83rem;color:var(--rose-dark);margin-bottom:3px;}
.form-group-adm input,.form-group-adm textarea{width:100%;padding:8px 12px;border:1.5px solid var(--border);border-radius:10px;font-family:'Nunito',sans-serif;font-size:.86rem;color:var(--text);}
.form-group-adm input:focus,.form-group-adm textarea:focus{outline:none;border-color:var(--rose);}
/* Banner upload na admin */
.banner-preview{width:100%;height:120px;border:2px dashed var(--rose-mid);border-radius:12px;background:var(--rose-light);display:flex;align-items:center;justify-content:center;margin-bottom:.8rem;overflow:hidden;cursor:pointer;}
.banner-preview img{width:100%;height:100%;object-fit:cover;}
@media(max-width:768px){
  /* .hero-banner mobile controlado pelo bloco consolidado (PRIORIDADE 1c) */
  .hero-placeholder h1{font-size:1.4rem;}
  .hero-placeholder p{font-size:.82rem;}
  .cart-btn{padding:8px 12px;font-size:.8rem;}
  .section{padding:1rem 1rem 1.5rem;}
  .cats-inner{padding:0 .75rem;}
  .prod-page-body{grid-template-columns:1fr!important;gap:1rem;padding:.75rem;}
  .prod-page-gallery{position:static!important;top:auto!important;}
  /* prod-page-img — controlado pelo bloco PRIORIDADE 1b no final do arquivo */
  .prod-page-title{font-size:1.35rem;}
  .prod-page-price{font-size:1.5rem;}
  .prod-page-header{padding:0 .75rem;height:auto!important;flex-wrap:wrap!important;gap:.4rem;padding:.5rem .75rem!important;}
  #ppHeaderActions{display:contents;}
  #btnEditarProdAdmin{order:2;}
  .prod-page-header .cart-btn{order:3;margin-left:auto!important;}
  .prod-page-header .search-bar{order:4;width:100%!important;max-width:100%!important;flex:none!important;}
  .prod-page-header .search-bar input{height:38px;}
  .artesa-card{flex-direction:column;}
  .artesa-foto{width:90px;height:90px;}
  .artesa-info h2{font-size:1.5rem;}
  .sobre-title{font-size:.95rem !important;}
  .adm-box{padding:1.2rem;margin:.75rem auto;}
  .adm-tabs{gap:4px;}
  .adm-tab{font-size:.73rem;padding:5px 10px;}
  #cardPerfilLoja{grid-column:1 / -1;}
  .adm-box [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important;}
  .adm-box [style*="grid-template-columns:repeat(4"]{grid-template-columns:repeat(2,1fr)!important;}
  #siteFooterProd{margin-top:1.2rem;}
}

@media(max-width:768px){

  .prod-page-header{
    gap:.5rem !important;
    flex-wrap:wrap !important;
    align-items:center !important;
  }

  .prod-page-header>a,
  .prod-page-header div>a{
    min-width:0;
  }

  #logoHeaderProd{
    width:44px !important;
    height:44px !important;
    order:1 !important;
    flex-shrink:0 !important;
  }

  /* Nome da loja no produto — linha 1, ao lado do logo */
  #nomeLojaProd{
    order:1 !important;
    flex-shrink:1 !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    max-width:120px !important;
    font-size:.9rem !important;
  }

  /* Redes sociais — linha 1, visíveis, lado direito */
  #hdrSocialsProd{
    order:2 !important;
    display:flex !important;
    flex:1 1 auto !important;
    justify-content:flex-end !important;
    gap:4px !important;
    width:auto !important;
    margin-top:0 !important;
  }
  #hdrSocialsProd a{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    font-size:.75rem !important;
  }

  /* Carrinho + botão editar — linha 1, extrema direita */
  #ppHeaderActions{
    order:3 !important;
    flex-shrink:0 !important;
    margin-left:0 !important;
    gap:4px !important;
  }

  /* Busca — linha 2, largura total */
  .prod-page-header .search-bar{
    order:10 !important;
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
    margin-top:4px !important;
    margin-bottom:0 !important;
    padding-right:0 !important;
  }

  .prod-page-header .search-bar input{
    height:42px !important;
    font-size:.92rem !important;
    /* padding-left controlado pela regra global .search-icon-wrap input (34px) */
  }

  /* botão editar dentro do header do produto — escondido (flutuante assume) */
  #btnEditarProdAdmin{
    display:none !important;
  }

}





@media(max-width:768px){

  /* =========================
     HEADER HOME
  ========================= */

  .hdr{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:8px !important;
    padding:10px 12px !important;
    height:auto !important;
  }

  #logoHeaderLink{
    width:44px !important;
    height:44px !important;
    flex-shrink:0 !important;
  }

  .hdr-right{
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    margin-left:auto !important;
    flex-shrink:0 !important;
  }

  .hdr-socials{
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    /* width, order e justify-content controlados pelo bloco consolidado final */
  }

  .hdr-socials a{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
  }

  .hdr .search-bar{
    width:100% !important;
    max-width:100% !important;
    order:10 !important;
    flex:0 0 100% !important;
  }

  .hdr .search-bar input{
    height:42px !important;
  }

  .admin-hdr-btn{
    min-width:38px !important;
    height:38px !important;
    padding:0 12px !important;
    border-radius:50px !important;
    font-size:.78rem !important;
  }

  .cart-btn{
    padding:4px 2px !important;
    border-radius:0 !important;
    font-size:1.1rem !important;
    position:relative !important;
  }

  .cart-btn .cart-count{
    font-size:.88rem !important;
    font-weight:800 !important;
  }

  /* =========================
     HEADER PRODUTO
  ========================= */

  .prod-page-header{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:8px !important;
    padding:10px 12px !important;
    height:auto !important;
  }

  #logoHeaderProd{
    width:42px !important;
    height:42px !important;
    border-radius:50% !important;
    flex-shrink:0 !important;
  }

  .prod-page-header span,
  .prod-page-title{
    flex:1 !important;
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    font-size:1rem !important;
  }

  /* #hdrSocialsProd — controlado pelo bloco consolidado acima */

  /* busca produto — linha 2, controlada pelo bloco consolidado acima */

}





/* =========================
   PADRONIZAÇÃO GLOBAL
========================= */

html{
  overflow-x:clip;
}

body{
  max-width:100%;
  /* Reserva espaço para a scrollbar mesmo quando não visível.
     Evita que o header da HOME e o header do PRODUTO tenham larguras
     diferentes por causa do aparecimento/desaparecimento da scrollbar. */
  scrollbar-gutter:stable;
}

/* =========================
   REDES SOCIAIS
========================= */

.hdr-socials,
#hdrSocialsProd{
  display:flex;
  align-items:center;
  gap:.35rem;
}

.hdr-socials a,
#hdrSocialsProd a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  transition:.2s;
}

/* =========================
   SEARCH BAR
========================= */

.search-bar{
  position:relative;
  min-width:0;
}

.search-bar input{
  width:100%;
}

/* =========================
   BOTÕES HEADER
========================= */

.hdr-right{
  display:flex;
  align-items:center;
  gap:.6rem;
}

.cart-btn,
.admin-hdr-btn{
  transition:.2s;
}

/* =========================
   MOBILE GLOBAL
========================= */

@media(max-width:768px){

  .section{
    padding:1rem 1rem 1.5rem;
  }

  /* .hero-banner mobile controlado pelo bloco consolidado (PRIORIDADE 1c) */

  .prod-page-body{
    grid-template-columns:1fr !important;
    gap:1rem;
    padding:.9rem;
  }

  .prod-page-gallery{
    position:static !important;
  }

  /* prod-page-img — controlado pelo bloco PRIORIDADE 1b no final do arquivo */

  .products-grid{
    grid-template-columns:repeat(2,1fr);
  }

  #cardPerfilLoja{
    grid-column:auto !important;  /* mobile: ocupa 1 coluna — sobrescreve blocos anteriores incluindo 420px */
    min-height:unset !important;
    height:auto !important;
  }

  /* Conteúdo interno do card artesão — compacto no mobile */
  #cardPerfilLoja > div{
    padding:.8rem .7rem !important;
    gap:.5rem !important;
  }
  /* Foto do artesão — tamanho razoável */
  #cardPerfilLoja > div > div:first-child{
    width:90px !important;
    height:90px !important;
  }
  /* Nome compacto */
  #nomeLoja{
    font-size:.85rem !important;
    margin:0 !important;
  }
  /* Texto bio — fonte menor, texto completo sem corte */
  #textoLoja{
    font-size:.73rem !important;
    line-height:1.45 !important;
    display:block !important;
    overflow:visible !important;
    margin:0 !important;
  }

}





/* =========================
   ESTRUTURA MOBILE FINAL
========================= */

@media(max-width:768px){

  /* Header home estabilizado */
  .hdr{
    position:relative;
    z-index:20;
  }

  .hdr-socials{
    flex-wrap:wrap;
  }

  /* Header produto estabilizado */
  .prod-page-header{
    position:sticky;
    top:0;
    z-index:25;
    background:#fff;
  }

  .prod-page-header .search-bar{
    margin-top:2px;
  }

  /* Produtos */
  .product-card{
    min-width:0;
  }

  .prod-info{
    overflow:hidden;
    padding:.6rem .7rem !important; /* menos padding lateral no mobile */
  }

  .prod-name,
  .prod-desc{
    word-break:break-word;
  }

  /* Carrinho */
  .cart-drawer{
    width:100%;
    max-width:390px;
  }

  /* Footer */
  .footer-links{
    justify-content:center;
  }

}




@media(max-width:768px){

  /* aumenta levemente a busca do produto sem afetar redes sociais */
  .prod-page-header .search-bar{
    width:100% !important;
    max-width:100% !important;

    margin-top:2px !important;
    margin-bottom:0 !important;

    padding-right:0 !important;
  }

  .prod-page-header .search-bar input{
    height:44px !important;
    font-size:.92rem !important;
    /* padding-left controlado pela regra global .search-icon-wrap input (34px) */
    padding-right:42px !important;
  }

  /* aproxima visualmente do botão editar */
  /* #btnEditarProdAdmin controlado pelo bloco consolidado */

}


/* =========================
   AJUSTES MOBILE — PRIORIDADES 1-5
   Bloco único adicionado ao final.
   Não duplicar — todas as regras novas aqui.
========================= */

@media(max-width:768px){

  /* --- PRIORIDADE 1a: Página de produto --- */
  .prod-page-body{padding:.75rem !important;}
  /* prod-page-info: sem overflow oculto para não cortar elementos do form */
  .prod-page-info{overflow-x:visible;}
  .prod-page-title{font-size:1.25rem !important;}
  .prod-page-price{font-size:1.4rem !important;}

  /* Preço nos cards da vitrine — evita quebra com preços longos (ex: R$ 149,90) */
  .prod-price{
    font-size:.92rem !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:baseline !important;
    gap:2px 4px !important;
    white-space:nowrap !important;
  }
  .prod-price span{
    font-size:.78rem !important;
    white-space:nowrap !important;
  }

  /* Formulário — campos não transbordam e evitam zoom no iOS */
  .form-group input,.form-group textarea,.form-group select{font-size:16px !important;}

  #ppWrapPersonalizacao,#ppWrapObs{max-width:100% !important;}

  /* Botão WhatsApp + compartilhar — cresce para preencher o container sem forçar 100% */
  #btnAcaoProduto{flex:1 1 auto !important;width:auto !important;}
  #btnAcaoProduto + button{flex-shrink:0 !important;}

  /* Container do botão — respeita largura da tela */
  .prod-page-info > div[style*="max-width:344px"],
  #ppWrapPersonalizacao,
  #ppWrapObs{max-width:100% !important;}

  /* Layout Data/Qtd/CEP/Frete — mobile: 2 linhas (Data+Qtd / CEP+Frete) */
  #ppLinhaDataCepFrete{
    flex-wrap:wrap !important;
    gap:.5rem !important;
  }

  /* Linha 1: Data + Qtd (tamanhos naturais, sem expandir) */
  #ppWrapData{flex:0 0 auto !important;width:auto !important;max-width:none !important;min-width:0 !important;}
  #ppWrapData input{width:130px !important;}
  #ppWrapQtd{flex:0 0 58px !important;min-width:0 !important;}

  /* Linha 2: CEP + Frete — quebra para nova linha */
  #ppWrapCep{flex:0 0 108px !important;min-width:0 !important;}
  #ppWrapCep input{width:100% !important;}
  #ppWrapFrete{
    flex:1 1 100px !important;
    min-width:0 !important;
    overflow:visible !important;
  }
  #mFreteResult{
    position:static !important;
    width:auto !important;
    max-width:none !important;
    min-height:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }

  /* --- PRIORIDADE 1b: Galeria — visual quadrado igual ao desktop --- */
  .prod-page-img{
    width:100% !important;
    aspect-ratio:1 !important;
    height:auto !important;
    max-height:none !important;
    overflow:hidden !important;
    background:var(--rose-light) !important;
    border-radius:18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .prod-page-img img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:0 !important;
  }

  /* Vídeo (iframe) — quando vídeo ativo, container muda para aspect-ratio 9/16 */
  .prod-page-img.has-video{
    height:auto !important;
    max-height:none !important;
    aspect-ratio:9/16 !important;
    overflow:hidden !important;
    position:relative !important;
  }
  .prod-page-img.has-video iframe{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    border:none !important;
    border-radius:14px !important;
  }

  /* Galeria miniaturas — centralizada, com scroll quando necessário (ex: com vídeo) */
  #ppMiniGaleria{flex-wrap:nowrap !important;overflow-x:auto !important;overflow-y:hidden !important;justify-content:safe center !important;}
  #ppMiniGaleria > div{width:54px !important;height:54px !important;flex:0 0 54px !important;}

  /* --- PRIORIDADE 1c: Banner — cover sem distorção --- */
  .hero-banner{height:90px !important;aspect-ratio:unset !important;overflow:hidden !important;background:linear-gradient(135deg,#fce4ed,#f9d0e4) !important;}
  #bannerSlidesWrap{height:90px !important;}
  .banner-slides{height:90px !important;}
  .banner-slide{height:90px !important;width:100% !important;}
  .banner-slide img{width:100% !important;height:90px !important;object-fit:cover !important;display:block !important;background:transparent !important;}
  .banner-slide a{display:block !important;width:100% !important;}

  /* --- PRIORIDADE 3a: Dots do banner mais discretos --- */
  .banner-dots{bottom:5px !important;}
  .banner-arrow{width:26px !important;height:26px !important;font-size:.85rem !important;opacity:.7 !important;}
  .banner-dot{width:6px !important;height:6px !important;}

  /* Políticas — coluna única no mobile (inline style columns:2 sobrescrito) */
  #listaPoliticas{columns:1 !important;}

  /* Avaliações — grid responsivo no mobile */
  #avalHomeList,#avalLista{grid-template-columns:1fr !important;}

  /* Sobre — padding menor */
  .sobre-section{padding:1.5rem 1rem !important;}
  .prod-page-desc{padding:0 !important;}

  /* Descrição e aviso artesanal — largura total */
  #prodPage > div[style*="max-width:1100px"]{padding:.75rem !important;}

  /* WhatsApp FAB — não sobrepor botão de ação no produto */
  .wa-fab{bottom:16px;right:16px;width:48px;height:48px;}
  #waFabProd{bottom:16px;right:16px;width:48px;height:48px;}
  .cats-arrow{width:30px !important;height:30px !important;font-size:1rem !important;opacity:.75;}

  /* Coleções mobile — bolinhas menores para mostrar ~5 visíveis */
  .cat-pill{width:62px !important;font-size:.65rem !important;gap:.25rem !important;}
  .cat-pill > div{width:48px !important;height:48px !important;font-size:1.4rem !important;}
  .cats-scroll{gap:.5rem !important;padding:4px 2px 6px !important;}

}

/* --- HEADER MOBILE: Linha 1 = Logo | Redes | ⚙️✏️; Linha 2 = [Busca...] [🛒] --- */
.hdr-break{display:none;}
@media(max-width:768px){
  /* Container principal — flexbox wrappável */
  .hdr{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:0 6px !important;
    padding:8px 12px !important;
    height:auto !important;
  }

  /* hdr-left: zera min-width desktop para não empurrar elementos */
  .hdr-left{
    min-width:0 !important;
    flex-shrink:0 !important;
    order:1 !important;
  }

  /* Logo dentro do hdr-left */
  #logoHeaderLink{
    flex-shrink:0 !important;
  }

  /* Nome da loja — invisível por padrão no mobile (ocupa zero espaço) */
  .hdr-brand-name{
    opacity:0 !important;
    visibility:hidden !important;
    width:0 !important;
    max-width:0 !important;
    overflow:hidden !important;
    padding:0 !important;
    margin:0 !important;
    flex-shrink:1 !important;
  }
  /* Revelado pelo IntersectionObserver quando banner sai da viewport */
  header.hdr--scrolled .hdr-brand-name{
    opacity:1 !important;
    visibility:visible !important;
    width:auto !important;
    max-width:90px !important;
    font-size:.88rem !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* Redes sociais — linha 1, alinhadas à direita (igual ao header de produto) */
  .hdr-socials{
    order:2 !important;
    flex:1 1 auto !important;
    width:auto !important;
    justify-content:flex-end !important;
    margin-left:4px !important;
    gap:4px !important;
  }
  .hdr-socials a{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
  }

  /* Carrinho — ainda linha 1, extrema direita (antes da quebra) */
  .hdr-right{
    order:3 !important;
    flex-shrink:0 !important;
    margin-left:0 !important;
    margin-top:0 !important;
    gap:4px !important;
  }

  /* Admin some do header — vira flutuante */
  #btnAdminHdr{display:none !important;}

  /* Quebra forçada de linha (invisível) — APÓS carrinho */
  .hdr-break{
    display:block !important;
    order:4 !important;
    flex:0 0 100% !important;
    width:100% !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* Busca — linha 2, largura total */
  .hdr .search-bar{
    order:5 !important;
    flex:0 0 100% !important;
    max-width:100% !important;
    margin-top:6px !important;
    margin-bottom:4px !important;
  }
}

/* --- BOTÕES FLUTUANTES Admin/Editar (só mobile, só quando admin ativo) --- */
#adminFloatBtns{
  display:none; /* JS controla — nunca visível sem admin */
  position:fixed;
  top:8px;right:8px;
  z-index:2100;
  gap:6px;
  pointer-events:auto;
}
@media(max-width:768px){
  #btnAdminHdrFloat,#btnEditarProdAdminFloat{
    width:auto;height:auto;border-radius:0;
    background:none;border:none;
    color:var(--rose-dark);font-size:1.2rem;
    display:none;align-items:center;justify-content:center;
    cursor:pointer;box-shadow:none;
    flex-shrink:0;
  }
  /* Esconder botão editar original no header do produto */
  .prod-page-header #btnEditarProdAdmin{display:none !important;}
}
