/* =========================================================
   D'Pâtisserie — V2.9.0
   Restauração e refinamento da identidade visual original.
   Esta camada é somente visual e preserva toda a lógica.
========================================================= */
:root{
  --dp-background:#faf7f3;
  --dp-background-soft:#fdfbf8;
  --dp-surface:#ffffff;
  --dp-primary:#7b4c43;
  --dp-primary-dark:#56342f;
  --dp-primary-deep:#422824;
  --dp-primary-soft:#f3e4df;
  --dp-gold:#b79262;
  --dp-gold-soft:#eadbc3;
  --dp-text:#342a28;
  --dp-text-soft:#756763;
  --dp-border:rgba(86,52,47,.12);
  --dp-shadow-soft:0 10px 28px rgba(70,43,38,.065);
  --dp-shadow:0 20px 52px rgba(70,43,38,.09);
  --dp-radius-sm:10px;
  --dp-radius:16px;
  --dp-radius-lg:24px;

  /* Compatibilidade com as páginas existentes */
  --background:var(--dp-background);
  --background-soft:var(--dp-background-soft);
  --surface:var(--dp-surface);
  --surface-soft:#fffdfa;
  --primary:var(--dp-primary);
  --primary-dark:var(--dp-primary-dark);
  --primary-soft:var(--dp-primary-soft);
  --accent:var(--dp-gold);
  --accent-soft:#f4eadb;
  --text:var(--dp-text);
  --text-soft:var(--dp-text-soft);
  --border:var(--dp-border);
}

html{scroll-behavior:smooth}
body{
  color:var(--dp-text);
  background-color:var(--dp-background)!important;
}
a,button,.btn,input,select,textarea{transition:.2s ease}
button,.btn,a.button,input[type="submit"]{transition-property:transform,box-shadow,background-color,border-color,color}
button:hover,.btn:hover,a.button:hover,input[type="submit"]:hover{transform:translateY(-1px)}

/* Fundo claro e leve, sem véus coloridos sobre o layout original */
main,.page,.page-shell,.checkout-page,.tracking-page,.about-page,.adminContent{
  background-color:transparent;
}

/* Cabeçalhos públicos: claros, delicados e próximos ao visual original */
.topbar,.site-header,.top-header{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid rgba(86,52,47,.09)!important;
  box-shadow:0 5px 20px rgba(70,43,38,.045)!important;
  backdrop-filter:blur(13px);
  -webkit-backdrop-filter:blur(13px);
}
.topbar a,.site-header a,.top-header a{color:var(--dp-primary-dark)}
.topbar a:hover,.site-header a:hover,.top-header a:hover{color:var(--dp-gold)}

/* Componentes claros */
.card,.summary-card,.checkout-card,.tracking-card,.about-card,.portfolio-item,
.panel,.admin-card,.metricCard,.dashPanel,.modal-content,.order-card{
  border-color:var(--dp-border)!important;
  box-shadow:var(--dp-shadow-soft)!important;
}

/* Campos */
input,select,textarea{
  background:#fff!important;
  color:var(--dp-text)!important;
  border-color:rgba(86,52,47,.16)!important;
}
input:focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:var(--dp-gold)!important;
  box-shadow:0 0 0 3px rgba(183,146,98,.14)!important;
}

/* Botões principais preservam o marrom elegante original */
.btn-primary,.primary-btn,.checkout-btn,.submit-btn,
button.primary,button.save,.header-button.primary,.topbar-button.primary,
.hero-button.primary,.cta .primary,.product-card button,.floating-cart{
  background:linear-gradient(135deg,var(--dp-primary),var(--dp-primary-dark))!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 9px 22px rgba(86,52,47,.17)!important;
}
.btn-primary:hover,.primary-btn:hover,.checkout-btn:hover,.submit-btn:hover,
button.primary:hover,button.save:hover,.header-button.primary:hover,.topbar-button.primary:hover,
.hero-button.primary:hover,.product-card button:hover{
  background:linear-gradient(135deg,var(--dp-primary-dark),var(--dp-primary-deep))!important;
  box-shadow:0 12px 27px rgba(86,52,47,.22)!important;
}
.btn-secondary,.secondary-btn,.back-link,.hero-button.secondary{
  background:#fff!important;
  color:var(--dp-primary-dark)!important;
  border-color:rgba(86,52,47,.16)!important;
}

/* Regra de contraste: toda área escura usa textos claros */
.cta__card,.cta-card,.dark-section,.section-dark,
.adminSidebar,.sidebar,.admin-sidebar,.dp-footer{
  color:#fff!important;
}
.cta__card h1,.cta__card h2,.cta__card h3,.cta__card p,.cta__card span,.cta__card strong,
.cta-card h1,.cta-card h2,.cta-card h3,.cta-card p,.cta-card span,.cta-card strong,
.dark-section h1,.dark-section h2,.dark-section h3,.dark-section p,
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark p{
  color:#fff!important;
}

/* Admin mantém a identidade, sem transformar a estrutura original */
body.admin-page,.adminLayout,.admin-layout,.admin-shell{background:#f8f5f1!important}
.adminSidebar,.sidebar,.admin-sidebar{
  background:linear-gradient(180deg,#2f201e 0%,#4b2f2b 100%)!important;
}
.adminSidebar,.adminSidebar *, .sidebar,.sidebar *, .admin-sidebar,.admin-sidebar *{color:rgba(255,255,255,.88)}
.adminSidebar button.active,.adminSidebar button:hover,
.sidebar a.active,.sidebar a:hover,.admin-sidebar a.active,.admin-sidebar a:hover{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border-color:rgba(234,219,195,.42)!important;
}
.adminTopbar,.admin-topbar{background:rgba(255,255,255,.95)!important;border-bottom-color:var(--dp-border)!important}
.metricCard strong,.dashboardHeader h2,.panelTitle h2,.adminContent h1,.adminContent h2{color:var(--dp-primary-dark)!important}
.eyebrow{color:var(--dp-gold)!important}
.dashBar span{background:var(--dp-gold)!important}

/* Rodapé fiel ao vídeo: escuro, refinado e equilibrado */
.dp-footer{
  margin-top:64px;
  padding:48px 7vw 0;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#4b2f2b 0%,#56342f 58%,#422824 100%)!important;
  border-top:1px solid rgba(183,146,98,.28);
}
.dp-footer:before{
  content:"DP";
  position:absolute;
  right:4%;
  top:-40px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:170px;
  font-weight:700;
  line-height:1;
  color:rgba(255,255,255,.025);
  pointer-events:none;
}
.dp-footer__grid{
  max-width:1260px;
  margin:auto;
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr;
  gap:60px;
  position:relative;
  z-index:1;
}
.dp-footer__brand,.dp-footer__title{font-family:Georgia,"Times New Roman",serif;color:#fff!important}
.dp-footer__brand{font-size:29px;font-weight:700;margin:0 0 12px}
.dp-footer__title{font-size:17px;margin:0 0 16px}
.dp-footer__tagline{max-width:430px;margin:0;color:rgba(255,255,255,.72)!important;font-size:14px;line-height:1.75}
.dp-footer__links{display:grid;gap:11px}
.dp-footer__links a,.dp-footer__instagram,.dp-footer__whatsapp{
  color:rgba(255,255,255,.76)!important;
  text-decoration:none!important;
  font-size:14px;
  font-weight:500;
  width:max-content;
}
.dp-footer__links a:hover,.dp-footer__instagram:hover,.dp-footer__whatsapp:hover{
  color:#fff!important;
  transform:translateX(2px);
}
/* WhatsApp propositalmente igual ao Instagram: sem verde, caixa ou destaque excessivo */
.dp-footer__whatsapp,.dp-footer__instagram{
  display:inline-flex!important;
  align-items:center;
  gap:9px;
  margin:0;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.dp-footer__icon{width:17px;height:17px;display:inline-grid;place-items:center;flex:0 0 auto;color:var(--dp-gold-soft)}
.dp-footer__icon svg{width:100%;height:100%;fill:currentColor}
.dp-footer__bottom{
  max-width:1260px;
  margin:38px auto 0;
  padding:17px 0 20px;
  border-top:1px solid rgba(255,255,255,.11);
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.52)!important;
  font-size:11px;
  letter-spacing:.04em;
}

@media(max-width:860px){
  .dp-footer{padding:42px 24px 0}
  .dp-footer__grid{grid-template-columns:1fr;gap:30px}
  .dp-footer__bottom{margin-top:30px}
  .dp-footer:before{font-size:112px}
}

/* =========================================================
   D'Pâtisserie — V2.9.1
   Lapidação visual final e auditoria de consistência.
   Nenhuma regra de negócio é alterada nesta camada.
========================================================= */

/* Escala visual compartilhada */
:root{
  --dp-container:1260px;
  --dp-section-space:76px;
  --dp-control-height:46px;
  --dp-line:1px solid rgba(86,52,47,.11);
  --dp-focus:0 0 0 3px rgba(183,146,98,.14);
}

*{box-sizing:border-box}
body{
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}

/* Hierarquia tipográfica e ritmo geral */
h1,h2,h3,.brand-name,.brand__name,.hero-title,.hero__title,
.section-heading h2,.card-heading h2,.panelTitle h2{
  text-wrap:balance;
}
p,.hero-description,.hero__description,.section-heading p{
  text-wrap:pretty;
}
.section-eyebrow,.hero-eyebrow,.hero__eyebrow,.eyebrow,.delivery-kicker{
  color:var(--dp-gold)!important;
  letter-spacing:.14em!important;
  font-weight:700!important;
}

/* Navegação pública */
.topbar,.site-header,.top-header{
  min-height:76px;
}
.topbar-content,.topbar__content,.site-header__content{
  width:min(var(--dp-container),calc(100% - 40px));
  margin-inline:auto;
}
.brand-logo,.brand__logo{
  filter:drop-shadow(0 3px 8px rgba(66,40,36,.10));
}
.brand-name,.brand__name{
  color:var(--dp-primary-dark)!important;
  letter-spacing:.015em;
}
.brand-subtitle,.brand__subtitle{
  color:var(--dp-text-soft)!important;
  letter-spacing:.08em;
}
.header-button,.topbar-button,.back-link{
  border-radius:999px!important;
  min-height:42px;
  font-weight:650;
}
.header-button:not(.primary),.topbar-button:not(.primary),.back-link{
  background:rgba(255,255,255,.72)!important;
  border:var(--dp-line)!important;
  color:var(--dp-primary-dark)!important;
  box-shadow:0 5px 16px rgba(70,43,38,.04)!important;
}
.header-button:not(.primary):hover,.topbar-button:not(.primary):hover,.back-link:hover{
  background:#fff!important;
  border-color:rgba(183,146,98,.48)!important;
}

/* Áreas principais e containers */
.main-content,.section,.menu-intro,.catalog-wrapper,.benefits-section,
.hero-header,.hero,.checkout-shell,.checkout-container,.tracking-container{
  position:relative;
}
.section,.menu-intro,.benefits-section{
  margin-block:var(--dp-section-space);
}
.section-heading{
  margin-bottom:34px!important;
}
.section-heading h2{
  color:var(--dp-primary-dark)!important;
  line-height:1.14;
}
.section-heading p{
  color:var(--dp-text-soft)!important;
  line-height:1.75;
}

/* Hero: mantém a identidade original, com acabamento mais leve */
.hero-card,.hero__card{
  border:1px solid rgba(183,146,98,.18)!important;
  box-shadow:0 26px 70px rgba(70,43,38,.10)!important;
}
.hero-title,.hero__title{
  line-height:1.04!important;
  letter-spacing:-.025em;
}
.hero-description,.hero__description{
  line-height:1.72!important;
}
.hero-button,.button,.search-button,.checkout-button{
  min-height:46px;
  border-radius:999px!important;
  font-weight:700!important;
  letter-spacing:.01em;
}
.hero-feature,.status-badge{
  border-color:rgba(183,146,98,.22)!important;
}
.hero-logo-frame,.founder-photo-frame{
  box-shadow:0 24px 58px rgba(66,40,36,.15)!important;
}

/* Cards — uma única linguagem em todo o site */
.card,.checkout-card,.search-card,.order-card,.content-card,
.value-card,.flavor-card,.feature-card,.benefit-card,.portfolio-item,
.metricCard,.dashPanel,.delivery-card,.delivery-summary-card{
  background:rgba(255,255,255,.97)!important;
  border:var(--dp-line)!important;
  border-radius:var(--dp-radius)!important;
  box-shadow:var(--dp-shadow-soft)!important;
}
.benefit-card,.value-card,.flavor-card,.feature-card,.portfolio-item{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.benefit-card:hover,.value-card:hover,.flavor-card:hover,.feature-card:hover,.portfolio-item:hover{
  transform:translateY(-3px);
  border-color:rgba(183,146,98,.30)!important;
  box-shadow:0 18px 42px rgba(70,43,38,.09)!important;
}
.card-heading,.section-heading,.panelTitle{
  border-color:rgba(86,52,47,.09)!important;
}
.card-heading__icon,.section-heading__icon,.benefit-icon,.value-icon{
  color:var(--dp-primary-dark)!important;
  background:var(--dp-primary-soft)!important;
  border-color:rgba(183,146,98,.20)!important;
}

/* Formulários — alturas, foco e legibilidade padronizados */
.form-group,.field{gap:8px}
.form-label,.field label,label{
  color:var(--dp-primary-dark);
  font-weight:650;
}
.form-input,.form-select,input:not([type="checkbox"]):not([type="radio"]),select,textarea{
  min-height:var(--dp-control-height);
  border-radius:12px!important;
  font-size:15px;
}
textarea{min-height:110px;resize:vertical}
input::placeholder,textarea::placeholder{color:#a39793!important;opacity:1}
input:disabled,select:disabled,textarea:disabled{
  background:#f5f1ed!important;
  color:#8c817d!important;
  cursor:not-allowed;
}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{
  outline:none!important;
  box-shadow:var(--dp-focus)!important;
}

/* Botões secundários e destrutivos */
button,.btn,.button,.header-button,.topbar-button,.search-button{
  font-family:inherit;
}
.btn-secondary,.secondary-btn,.secondary-delivery-btn,button.secondary,.button:not(.primary){
  border:1px solid rgba(86,52,47,.17)!important;
  background:#fff!important;
  color:var(--dp-primary-dark)!important;
  box-shadow:0 5px 15px rgba(70,43,38,.035)!important;
}
.btn-secondary:hover,.secondary-btn:hover,.secondary-delivery-btn:hover,button.secondary:hover,.button:not(.primary):hover{
  border-color:rgba(183,146,98,.48)!important;
  color:var(--dp-primary-deep)!important;
  background:#fffdfa!important;
}
button.danger,.danger-btn,.delete-btn{
  background:#fff7f5!important;
  color:#8f3f35!important;
  border-color:rgba(143,63,53,.22)!important;
}

/* Carrinho e modais */
.cart-panel,.modal-content{
  background:#fffdfa!important;
  border:1px solid rgba(86,52,47,.12)!important;
  box-shadow:0 30px 90px rgba(45,28,25,.22)!important;
}
.cart-header{
  background:var(--dp-primary-dark)!important;
  color:#fff!important;
}
.cart-header,.cart-header *{color:#fff!important}
.cart-footer{
  border-top:1px solid rgba(86,52,47,.10)!important;
  background:#fff!important;
}
.floating-cart{
  border:1px solid rgba(255,255,255,.26)!important;
}

/* Página de acompanhamento */
.order-header{
  background:linear-gradient(135deg,var(--dp-primary-dark),var(--dp-primary-deep))!important;
  color:#fff!important;
}
.order-header,.order-header *{color:#fff!important}
.timeline-step__circle{
  border-color:rgba(183,146,98,.36)!important;
}
.timeline-step.completed .timeline-step__circle,
.timeline-step.active .timeline-step__circle{
  background:var(--dp-primary)!important;
  color:#fff!important;
  border-color:var(--dp-primary)!important;
}
.timeline-step__title{color:var(--dp-primary-dark)!important}

/* Quem Somos */
.story-year,.experience-block{
  background:linear-gradient(135deg,var(--dp-primary-dark),var(--dp-primary-deep))!important;
  color:#fff!important;
}
.story-year *,.experience-block *{color:#fff!important}
.story-highlight,.founder-role,.founder-signature{
  border-color:rgba(183,146,98,.30)!important;
}
.flavor-label{
  background:var(--dp-primary-soft)!important;
  color:var(--dp-primary-dark)!important;
  border-color:rgba(183,146,98,.24)!important;
}

/* Admin — acabamento consistente sem alterar estrutura */
.adminTopbar{
  min-height:68px;
  box-shadow:0 4px 18px rgba(70,43,38,.05)!important;
}
.adminSidebar{
  box-shadow:12px 0 35px rgba(35,22,20,.10);
}
.adminSidebar button{
  border-radius:10px!important;
  min-height:43px;
  margin-block:2px;
  font-weight:600;
}
.adminContent{
  padding:30px!important;
}
.adminContent > .section > h2,
.adminContent > .section > h3{
  color:var(--dp-primary-dark)!important;
}
.metricCard{
  padding:22px!important;
  min-height:142px;
}
.metricCard span,.metricCard small{color:var(--dp-text-soft)!important}
.metricCard strong{letter-spacing:-.025em}
.dashboardGrid{gap:16px!important}
.dashboardDetails{gap:18px!important}
.adminContent table{
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
}
.adminContent th{
  color:var(--dp-primary-dark)!important;
  background:#f8f4ef!important;
  border-bottom:1px solid rgba(86,52,47,.11)!important;
  font-weight:700!important;
}
.adminContent td{
  border-bottom-color:rgba(86,52,47,.075)!important;
}
.adminContent tr:hover td{background:#fdfaf7!important}
.delivery-step{
  background:var(--dp-primary-dark)!important;
  color:#fff!important;
}
.delivery-save-state,.dashUpdated{
  border-color:rgba(183,146,98,.24)!important;
  background:#fffaf3!important;
  color:var(--dp-primary-dark)!important;
}

/* Login */
body:has(.box){
  background:var(--dp-background)!important;
}
.box{
  border:var(--dp-line)!important;
  border-radius:var(--dp-radius-lg)!important;
  box-shadow:var(--dp-shadow)!important;
  background:#fff!important;
}
.box h1,.box h2{color:var(--dp-primary-dark)!important}

/* Rodapé: discreto, equilibrado e legível */
.dp-footer__grid{align-items:start}
.dp-footer__title{
  font-weight:600;
  letter-spacing:.015em;
}
.dp-footer__links a,.dp-footer__instagram,.dp-footer__whatsapp{
  min-height:24px;
  line-height:1.6;
}
.dp-footer__whatsapp:hover,.dp-footer__instagram:hover{
  color:var(--dp-gold-soft)!important;
}
.dp-footer__bottom{align-items:center}

/* Responsividade auditada */
@media(max-width:1024px){
  :root{--dp-section-space:62px}
  .adminContent{padding:24px!important}
  .dashboardGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  :root{--dp-section-space:48px;--dp-control-height:48px}
  .topbar,.site-header,.top-header{min-height:68px}
  .topbar-content,.topbar__content,.site-header__content{width:min(100% - 24px,var(--dp-container))}
  .brand-subtitle,.brand__subtitle{display:none}
  .header-button,.topbar-button,.back-link{min-height:40px;padding-inline:13px!important}
  .hero-card,.hero__card{border-radius:20px!important}
  .section-heading{margin-bottom:25px!important}
  .adminContent{padding:18px!important}
  .dashboardGrid{grid-template-columns:1fr!important}
  .dashboardDetails{grid-template-columns:1fr!important}
  .metricCard{min-height:auto}
  .dp-footer{margin-top:48px}
}
@media(max-width:480px){
  .topbar-actions,.topbar__actions{gap:7px!important}
  .header-button,.topbar-button{font-size:12px!important}
  .hero-actions{gap:10px!important}
  .hero-button,.button{width:100%;justify-content:center}
  .card,.checkout-card,.search-card,.order-card,.content-card{border-radius:14px!important}
  .dp-footer__bottom{display:grid;gap:7px;text-align:left}
}

/* Respeito a usuários que reduzem movimento */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* =========================================================
   D'Pâtisserie — V3.3.1
   Ajuste pontual da galeria Quem Somos.
========================================================= */
/* O texto fica sobre fotografias: contraste branco obrigatório. */
.portfolio-item .portfolio-copy,
.portfolio-item .portfolio-copy h3,
.portfolio-item .portfolio-copy p{
  color:#fff!important;
}
.portfolio-item .portfolio-copy h3{
  text-shadow:0 2px 14px rgba(20,12,10,.55);
}
.portfolio-item .portfolio-copy p{
  text-shadow:0 1px 8px rgba(20,12,10,.58);
}
.portfolio-item::after{
  background:linear-gradient(180deg,rgba(35,22,20,.01) 24%,rgba(35,22,20,.34) 58%,rgba(35,22,20,.92) 100%)!important;
}
