/* ###########################################################################
#
#  PÁGINA DE DEMONSTRAÇÃO
#
#  Arquivo responsável pela página /demonstracao.
#
#  Aqui ficam:
#  • Apresentação da demonstração
#  • Celular/cardápio fictício
#  • Produtos fictícios
#  • Responsividade da demonstração
#
############################################################################ */

.pp-demo-page{
    background:
        radial-gradient(circle at 80% 15%, rgba(229,28,35,.14), transparent 32%),
        linear-gradient(180deg,#ffffff 0%,#fff6f7 55%,#ffffff 100%);
}

.pp-demo-page-hero{
    max-width:1180px;
    margin:0 auto;
    padding:46px 18px 70px;

    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:34px;
    align-items:center;
}

.pp-demo-page-copy{
    max-width:560px;
}

.pp-demo-page-logo{
    width:300px;
    max-width:82%;
    height:auto;
    display:block;
    margin:0 0 24px;
}

.pp-demo-page-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:9px 13px;
    margin-bottom:16px;

    border-radius:999px;
    background:#fff1f2;
    color:var(--pp-red);

    font-size:14px;
    font-weight:950;
}

.pp-demo-page h1{
    margin:0 0 14px;

    color:var(--pp-dark);

    font-size:46px;
    line-height:1.04;
    letter-spacing:-1.8px;
}

.pp-demo-page p{
    max-width:520px;
    margin:0 0 22px;

    color:var(--pp-muted);

    font-size:17px;
    line-height:1.55;
}

.pp-demo-page-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.pp-demo-page-phone{
    display:grid;
    place-items:center;
}

.pp-demo-page-screen{
    width:min(520px,100%);
    overflow:hidden;

    border:10px solid #111827;
    border-radius:34px;
    background:#ffffff;

    box-shadow:0 32px 90px rgba(16,21,27,.16);
}

.pp-demo-page-store{
    padding:24px;
    text-align:center;
    color:#ffffff;
    background:linear-gradient(135deg,#1a0b0e,#351014);
}

.pp-demo-page-avatar{
    width:96px;
    height:96px;
    margin:0 auto 12px;

    display:grid;
    place-items:center;
    overflow:hidden;

    border:5px solid #ffffff;
    border-radius:999px;
    background:#ffffff;
}

.pp-demo-page-avatar img{
    width:86%;
    height:auto;
}

.pp-demo-page-store h2{
    margin:0 0 4px;
    font-size:30px;
}

.pp-demo-page-store p{
    margin:0 0 12px;
    max-width:none;
    color:rgba(255,255,255,.78);
    font-size:14px;
}

.pp-demo-page-badges,
.pp-demo-page-cats{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
}

.pp-demo-page-badges span,
.pp-demo-page-cats span{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:8px 12px;

    border-radius:999px;
    background:#ffffff;
    color:#111827;

    font-size:13px;
    font-weight:900;
}

.pp-demo-page-cats{
    padding:18px;
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow:auto;
}

.pp-demo-page-list{
    display:grid;
    gap:12px;
    padding:0 18px 18px;
}

.pp-demo-page-product{
    display:grid;
    grid-template-columns:86px 1fr auto;
    gap:14px;
    align-items:center;

    padding:12px;

    border:1px solid #edf0f5;
    border-radius:22px;
    background:#ffffff;
}

.pp-demo-page-product img{
    width:86px;
    height:86px;
    object-fit:cover;
    border-radius:18px;
}

.pp-demo-page-product b{
    display:block;
    margin-bottom:4px;
    color:#111827;
    font-size:18px;
}

.pp-demo-page-product p{
    margin:0 0 4px;
    color:#6b7280;
    font-size:13px;
    line-height:1.3;
}

.pp-demo-page-product span{
    display:block;
    margin-bottom:3px;
    color:var(--pp-red);
    font-size:12px;
    font-weight:900;
}

.pp-demo-page-product strong{
    display:block;
color:#111827;
font-size:19px;
}

.pp-demo-page-product button{
    border:0;
    border-radius:16px;
    background:var(--pp-grad);
    color:#ffffff;
    padding:11px 13px;
    font-weight:950;
    cursor:pointer;
}

.pp-demo-page-cart{
    margin:0 18px 18px;
    padding:16px;

    border-radius:22px;
    background:var(--pp-grad);
    color:#ffffff;

    text-align:center;
    font-weight:950;
    box-shadow:var(--pp-shadow-red);
}

@media(max-width:780px){

    .pp-demo-page-hero{
        padding:28px 16px 52px;
        display:flex;
        flex-direction:column;
        gap:26px;
        text-align:center;
    }

    .pp-demo-page-copy{
        max-width:390px;
        display:flex;
        flex-direction:column;
        align-items:center;
    }

    .pp-demo-page-logo{
        width:260px;
        margin:0 auto 18px;
    }

    .pp-demo-page h1{
        max-width:360px;
        font-size:34px;
        line-height:1.06;
        letter-spacing:-1.1px;
    }

    .pp-demo-page p{
        max-width:350px;
        font-size:15px;
        line-height:1.45;
    }

    .pp-demo-page-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }

    .pp-demo-page-actions .pp-btn{
        width:100%;
        min-height:58px;
    }

    .pp-demo-page-screen{
        border-width:8px;
        border-radius:30px;
    }

    .pp-demo-page-store{
        padding:18px;
    }

    .pp-demo-page-avatar{
        width:74px;
        height:74px;
    }

    .pp-demo-page-store h2{
        font-size:24px;
    }

    .pp-demo-page-product{
        grid-template-columns:72px 1fr;
    }

    .pp-demo-page-product img{
        width:72px;
        height:72px;
    }

    .pp-demo-page-product button{
        grid-column:1 / -1;
        width:100%;
    }

}

.pp-demo-page-cart-link{
    display:block;
    text-decoration:none;
}
.pp-demo-page-cart-link small{
    display:block;
    margin-top:4px;
    font-size:11px;
    opacity:.9;
}


/* ===== Demonstração premium consolidada ===== */
/* ###########################################################################
# PedidoPop - Demonstração compatível com a loja pública premium
# Substitui o visual antigo da demo sem empilhar layout sobre layout.
############################################################################ */

.pp-demo-premium .pp-demo-screen,
.pp-demo-page-screen-premium{
  background:
    radial-gradient(circle at 15% 0%, rgba(255,80,80,.16), transparent 32%),
    linear-gradient(180deg,#1b1114 0%,#100d10 42%,#ffffff 43%,#ffffff 100%);
}

.pp-demo-store-premium,
.pp-demo-page-store-premium{
  padding:22px 18px 18px;
  text-align:center;
  color:#fff;
  background:transparent;
}

.pp-demo-avatar-premium,
.pp-demo-page-avatar-premium{
  width:112px;
  height:112px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,80,80,.45);
  border-radius:30px;
  background:#fff;
  box-shadow:0 0 8px rgba(255,80,80,.24),0 0 18px rgba(255,80,80,.10);
}

.pp-demo-avatar-premium img,
.pp-demo-page-avatar-premium img{
  width:86%;
  height:auto;
  display:block;
}

.pp-demo-store-copy h2,
.pp-demo-page-store-premium h2{
  margin:0 0 4px;
  font-size:25px;
  line-height:1.05;
  letter-spacing:-.7px;
  color:#fff;
}

.pp-demo-store-copy p,
.pp-demo-page-store-premium p{
  margin:0 0 12px;
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.35;
}

.pp-demo-meta-row,
.pp-demo-page-badges-premium{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.pp-demo-meta-row span,
.pp-demo-page-badges-premium span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:12px;
  font-weight:800;
  backdrop-filter:blur(8px);
}

.pp-demo-cats-premium,
.pp-demo-page-cats-premium{
  display:flex;
  gap:9px;
  padding:14px 16px 12px;
  overflow:auto;
  justify-content:flex-start;
  flex-wrap:nowrap;
  scrollbar-width:none;
}

.pp-demo-cats-premium::-webkit-scrollbar,
.pp-demo-page-cats-premium::-webkit-scrollbar{display:none;}

.pp-demo-cats-premium span,
.pp-demo-page-cats-premium span{
  flex:0 0 auto;
  min-height:34px;
  padding:0 13px;
  border:1px solid #eceff4;
  border-radius:999px;
  background:#fff;
  color:#20242b;
  font-size:13px;
  font-weight:850;
  box-shadow:0 8px 18px rgba(16,21,27,.06);
}

.pp-demo-cats-premium span.is-active,
.pp-demo-page-cats-premium span.is-active{
  color:#fff;
  border-color:rgba(255,80,80,.55);
  background:linear-gradient(135deg,#ff3b3b,#c70f17);
  box-shadow:0 0 8px rgba(255,80,80,.18);
}

.pp-demo-product-premium,
.pp-demo-page-product-premium{
  display:grid;
  grid-template-columns:94px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  margin:0 14px 12px;
  padding:10px;
  border:1px solid rgba(255,80,80,.26);
  border-radius:22px;
  background:#fff;
  box-shadow:0 0 6px rgba(255,80,80,.10),0 12px 28px rgba(16,21,27,.08);
}

.pp-demo-product-premium img,
.pp-demo-page-product-premium img{
  width:94px;
  height:94px;
  object-fit:cover;
  border-radius:18px;
  box-shadow:0 8px 20px rgba(16,21,27,.10);
}

.pp-demo-product-info,
.pp-demo-page-product-info{
  min-width:0;
  display:block;
}

.pp-demo-product-info b,
.pp-demo-page-product-info b{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0 0 4px;
  color:#161b22;
  font-size:15px;
  font-weight:900;
  line-height:1.13;
  letter-spacing:-.2px;
}

.pp-demo-product-info p,
.pp-demo-page-product-info p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0 0 5px;
  color:#707782;
  font-size:12px;
  line-height:1.28;
}

.pp-demo-product-info em,
.pp-demo-page-product-info em{
  display:block;
  margin:0 0 5px;
  color:#8b929d;
  font-style:normal;
  font-size:11px;
  font-weight:750;
}

.pp-demo-product-info span,
.pp-demo-page-product-info span{
  display:block;
  margin:0 0 2px;
  color:#14181f;
  font-size:13px;
  font-weight:900;
}

.pp-demo-product-info span s,
.pp-demo-page-product-info span s{
  margin-right:5px;
  color:#9aa2ad;
  font-weight:750;
}

.pp-demo-product-info small,
.pp-demo-page-product-info small{
  display:block;
  color:#d51b26;
  font-size:11px;
  font-weight:850;
}

.pp-demo-product-info strong,
.pp-demo-page-product-info strong{
  display:block;
  color:#121820;
  font-size:16px;
  font-weight:950;
  letter-spacing:-.25px;
}

.pp-demo-add,
.pp-demo-page-product-premium button{
  min-width:106px;
  height:40px;
  padding:0 15px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#ff3434,#c30e17);
  color:#fff;
  cursor:pointer;
  white-space:nowrap;
  font-size:13px;
  font-weight:850;
  box-shadow:0 9px 18px rgba(229,28,35,.18);
}

.pp-demo-qty,
.pp-demo-page-qty{
  width:106px;
  height:38px;
  display:grid;
  grid-template-columns:34px 1fr 34px;
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(255,80,80,.36);
  border-radius:999px;
  background:#fff;
  color:#151a21;
  box-shadow:0 8px 18px rgba(16,21,27,.07);
}

.pp-demo-qty i,
.pp-demo-page-qty i,
.pp-demo-qty b,
.pp-demo-page-qty b{
  display:grid;
  place-items:center;
  min-width:0;
  font-style:normal;
  font-size:15px;
  font-weight:900;
}

.pp-demo-qty i,
.pp-demo-page-qty i{color:#d71924;}

.pp-demo-cart-premium,
.pp-demo-page-cart-premium{
  margin:4px 14px 14px;
  min-height:52px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-radius:20px;
  background:linear-gradient(135deg,#ff3434,#b90c14);
  color:#fff;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(229,28,35,.24);
}

.pp-demo-cart-premium span,
.pp-demo-page-cart-premium span{
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:850;
}

.pp-demo-cart-premium b,
.pp-demo-page-cart-premium b{
  color:#fff;
  font-size:14px;
  font-weight:950;
  line-height:1.15;
}

.pp-demo-page-cart-premium small{
  display:none;
}

@media(max-width:780px){
  .pp-demo-product-premium,
  .pp-demo-page-product-premium{
    grid-template-columns:84px minmax(0,1fr) auto;
    gap:10px;
    margin-left:12px;
    margin-right:12px;
    padding:9px;
  }
  .pp-demo-product-premium img,
  .pp-demo-page-product-premium img{
    width:84px;
    height:84px;
    border-radius:16px;
  }
  .pp-demo-add,
  .pp-demo-page-product-premium button,
  .pp-demo-qty,
  .pp-demo-page-qty{
    min-width:94px;
    width:94px;
    font-size:12px;
  }
  .pp-demo-avatar-premium,
  .pp-demo-page-avatar-premium{
    width:104px;
    height:104px;
  }
}

@media(max-width:390px){
  .pp-demo-product-premium,
  .pp-demo-page-product-premium{
    grid-template-columns:76px minmax(0,1fr);
  }
  .pp-demo-product-premium img,
  .pp-demo-page-product-premium img{
    width:76px;
    height:76px;
  }
  .pp-demo-add,
  .pp-demo-page-product-premium button,
  .pp-demo-qty,
  .pp-demo-page-qty{
    grid-column:2;
    justify-self:start;
    margin-top:4px;
  }
}


/* Parte 2/compat produção teste: demo sem imagens externas críticas. */
.pp-demo-page-food{
  width:94px;
  height:94px;
  display:grid;
  place-items:center;
  flex:0 0 94px;
  border-radius:18px;
  border:1px solid rgba(255,80,80,.18);
  box-shadow:0 8px 20px rgba(16,21,27,.10);
  background:
    radial-gradient(circle at 25% 20%,rgba(255,255,255,.95),transparent 24%),
    linear-gradient(135deg,#fff1f1,#ffe1e1 48%,#ffffff);
}
.pp-demo-page-food span{font-size:40px;line-height:1;filter:drop-shadow(0 8px 10px rgba(16,21,27,.10));}
.pp-demo-food-combo{background:linear-gradient(135deg,#fff7e6,#ffe6a8 48%,#fff);}
.pp-demo-food-drink{background:linear-gradient(135deg,#eef8ff,#d9efff 48%,#fff);}
.pp-demo-page-hero{align-items:center;gap:clamp(28px,5vw,72px);}
.pp-demo-page-copy h1{max-width:680px;}
.pp-demo-page-copy p{max-width:620px;}
@media(min-width:981px){
  .pp-demo-page{padding-top:clamp(42px,5vw,76px);}
  .pp-demo-page-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);min-height:calc(100vh - 160px);}
  .pp-demo-page-phone{justify-self:center;}
}
@media(max-width:780px){
  .pp-demo-page-food{width:84px;height:84px;border-radius:16px;}
  .pp-demo-page-food span{font-size:34px;}
}
@media(max-width:390px){
  .pp-demo-page-food{width:76px;height:76px;}
  .pp-demo-page-food span{font-size:30px;}
}
