/* Samuelito Bakery · panadería de barrio en Laureles
   Paleta: harina, miga, corteza dorada, guayaba y kraft */
:root{
  --harina:#fffaf1;
  --miga:#fbf1df;
  --dorado:#c8782e;
  --corteza:#7a3e17;
  --guayaba:#d84a5f;
  --kraft:#dcbb8c;
  --tinta:#2a1b10;
  --gris:#7a6a5c;
  --display:"Young Serif", Georgia, serif;
  --texto:"Work Sans", system-ui, sans-serif;
  --mano:"Kalam", "Comic Sans MS", cursive;
  --r:20px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--harina);color:var(--tinta);font:400 17px/1.6 var(--texto);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--guayaba);outline-offset:3px;border-radius:6px}
.saltar{position:absolute;left:-999px;top:8px;background:var(--corteza);color:#fff;padding:8px 14px;z-index:99}
.saltar:focus{left:8px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:-.02em;margin:0;text-wrap:balance}
em{font-style:normal;color:var(--guayaba)}
p{text-wrap:pretty}
.etiqueta{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--corteza);margin:0 0 14px}
.etiqueta-clara{color:var(--kraft)}
.h2{font-size:clamp(2.3rem,5.6vw,4.2rem)}
.sec-cabeza{max-width:1180px;margin:0 auto 40px;padding:0 22px}
.sec-sub{max-width:56ch;color:var(--gris);margin:14px 0 0}

/* Botones con borde de galleta: se hunden al pulsarlos */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:14px;font-weight:700;text-decoration:none;border:2px solid var(--tinta);box-shadow:0 4px 0 var(--tinta);transition:transform .15s,box-shadow .15s,background .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--tinta)}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--tinta)}
.btn-dorado{background:var(--dorado);color:#fff}
.btn-linea{background:var(--harina)}
.btn-linea:hover{background:var(--miga)}
.btn-tinta{background:var(--tinta);color:var(--harina)}
.btn-chico{min-height:42px;padding:0 16px;font-size:.92rem}

/* Barra */
.barra{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:10px max(18px,env(safe-area-inset-left)) 10px max(18px,env(safe-area-inset-right));background:rgba(255,250,241,.92);backdrop-filter:blur(10px);border-bottom:1px dashed rgba(122,62,23,.25)}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none}
.marca-sello{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--dorado);color:var(--harina);font-family:var(--display);font-size:1.4rem;box-shadow:inset 0 0 0 3px var(--harina),0 0 0 2px var(--dorado)}
.marca-nombre{font-family:var(--display);font-size:1.3rem;line-height:1}
.marca-nombre span{font-family:var(--mano);color:var(--guayaba);font-size:1.05rem}
.barra-nav{display:none;gap:26px;margin-left:auto;font-weight:500}
.barra-nav a{text-decoration:none}
.barra-nav a:hover{color:var(--guayaba)}
.estado{margin-left:auto;font-size:.8rem;font-weight:700;padding:6px 10px;border-radius:999px;background:var(--miga);white-space:nowrap}
.estado.abierto{background:#dff0d6;color:#2b5a1a}
.estado.cerrado{background:#f6dcd6;color:#8b2a1a}
@media (min-width:900px){.barra-nav{display:flex}.estado{margin-left:0}}
@media (max-width:440px){.estado{display:none}.barra .btn-chico{margin-left:auto}}

/* Hero */
.hero{position:relative;max-width:1260px;margin:0 auto;padding:36px 22px 56px;display:grid;gap:34px;align-items:center}
.harina{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.titular{font-size:clamp(2.4rem,7vw,5.2rem)}
.titular>span{display:block}
.reloj{display:flex!important;align-items:flex-end;font-size:clamp(5.6rem,19vw,12.5rem);line-height:1;color:var(--dorado);letter-spacing:-.04em;margin:.04em 0 .02em;font-variant-numeric:tabular-nums}
.dig{display:inline-block;height:1em;overflow:hidden}
.rollo{display:block;line-height:1em}
.rollo[data-n="5"]{transform:translateY(-5em)}
.dos{display:inline-block;margin:0 .02em;animation:parpadeo 1.6s steps(2) infinite}
@keyframes parpadeo{50%{opacity:.25}}
.subrayado{position:relative;display:inline-block;color:var(--corteza)}
.subrayado svg{position:absolute;left:0;bottom:-.12em;width:100%;height:.28em;overflow:visible}
.subrayado path{fill:none;stroke:var(--guayaba);stroke-width:5;stroke-linecap:round}
.hero-sub{font-size:1.08rem;max-width:46ch;margin:24px 0 26px;color:#4a3a2c}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.nota-google{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:30px 0 0;font-size:.95rem}
.nota-num{font-family:var(--display);font-size:2.2rem;line-height:1;color:var(--corteza)}
.estrellas{position:relative;color:#e6d6bd;letter-spacing:2px;font-size:1.1rem;line-height:1}
.estrellas span{position:absolute;inset:0;width:calc(var(--nota)*100%);overflow:hidden;color:var(--dorado);white-space:nowrap}

/* La bolsa de papel kraft con el pan */
.bolsa{position:relative;margin:0 auto;width:min(100%,520px)}
.bolsa-papel{position:relative;padding:34px 18px 18px;background:var(--kraft);border-radius:6px 6px 18px 18px;clip-path:polygon(0 14px,4% 0,8% 14px,12% 0,16% 14px,20% 0,24% 14px,28% 0,32% 14px,36% 0,40% 14px,44% 0,48% 14px,52% 0,56% 14px,60% 0,64% 14px,68% 0,72% 14px,76% 0,80% 14px,84% 0,88% 14px,92% 0,96% 14px,100% 0,100% 100%,0 100%);box-shadow:0 30px 50px -30px rgba(122,62,23,.6)}
.bolsa-papel::before{content:"";position:absolute;left:18px;right:18px;top:20px;border-top:2px dashed rgba(42,27,16,.25)}
.bolsa-papel img{width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:10px}
.tag{display:inline-block;font-family:var(--mano);font-weight:700;background:var(--harina);color:var(--corteza);border:1.5px solid var(--corteza);padding:4px 14px 4px 22px;border-radius:4px 14px 14px 4px;position:relative;transform-origin:8px 50%}
.tag::before{content:"";position:absolute;left:7px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;border:1.5px solid var(--corteza)}
.tag-hero{position:absolute;left:-6px;bottom:30px;line-height:1.1;font-size:1.1rem;transform:rotate(-8deg)}
.tag-hero small{font-family:var(--texto);font-weight:500;font-size:.62rem;color:var(--gris)}
@media (min-width:900px){.hero{grid-template-columns:1.15fr .85fr;padding-top:56px;min-height:calc(100svh - 64px)}.tag-hero{left:-40px}}

/* Cinta */
.cinta{background:var(--corteza);color:var(--miga);overflow:hidden;padding:12px 0;font-family:var(--mano);font-size:1.25rem;transform:rotate(-1.2deg);margin:10px -10px}
.cinta-pista{display:flex;gap:22px;width:max-content;animation:cinta 28s linear infinite;white-space:nowrap}
@keyframes cinta{to{transform:translateX(-50%)}}

/* Vitrina */
.vitrina{padding:90px 0 70px}
.estante{list-style:none;margin:0 auto;padding:0 22px;max-width:1180px;display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;-webkit-overflow-scrolling:touch}
.producto{scroll-snap-align:start;position:relative;background:var(--miga);border-radius:var(--r);padding:12px 12px 20px}
.producto:nth-child(even){transform:translateY(16px)}
.p-foto{border-radius:14px;overflow:hidden;aspect-ratio:4/3.4;background:var(--kraft)}
.p-foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.producto:hover .p-foto img{transform:scale(1.05)}
.producto .tag{position:absolute;top:24px;right:-6px;font-size:1rem}
.producto:hover .tag{animation:mecer 1.4s ease-in-out}
@keyframes mecer{20%{transform:rotate(9deg)}45%{transform:rotate(-6deg)}70%{transform:rotate(3deg)}100%{transform:rotate(0)}}
.producto h3{font-size:1.6rem;margin:16px 6px 4px}
.producto p{margin:0 6px;color:#5a4a3c}
.vitrina-nota{max-width:1180px;margin:26px auto 0;padding:0 22px;font-size:.85rem;color:var(--gris)}
@media (min-width:760px){.estante{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}}

/* El horno */
.horno{background:var(--tinta);color:var(--miga);padding:90px 22px;display:grid;gap:40px;align-items:center}
.horno-fotos{position:relative;min-height:380px}
.hf{position:absolute;border-radius:var(--r);overflow:hidden;box-shadow:0 30px 60px -30px #000}
.hf img{width:100%;height:100%;object-fit:cover}
.hf-1{left:0;top:0;width:72%;aspect-ratio:4/3}
.hf-2{right:0;bottom:0;width:58%;aspect-ratio:1/1;border:6px solid var(--tinta)}
.horno-texto{max-width:520px}
.horno-texto p{font-size:1.08rem;opacity:.9}
.horno em{color:#ffb35c}
@media (min-width:900px){.horno{grid-template-columns:1.1fr .9fr;gap:80px;padding:120px max(22px,calc((100vw - 1180px)/2))}.horno-fotos{min-height:520px}}

/* Opiniones */
.opiniones{max-width:1180px;margin:0 auto;padding:90px 22px;display:grid;gap:26px;justify-items:start}
.op-sello{display:flex;align-items:center;gap:20px}
.op-num{font-family:var(--display);font-size:clamp(4.6rem,13vw,7.5rem);line-height:1;color:var(--dorado);margin:0}
.op-num small{font-size:.35em;color:var(--gris)}
.op-lista{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-family:var(--display);font-size:clamp(1.4rem,3.2vw,2.1rem)}
.op-lista li{display:flex;align-items:center;gap:14px}
.op-check{flex:none;width:28px;height:28px;border-radius:50%;background:var(--guayaba);position:relative}
.op-check::after{content:"";position:absolute;left:9px;top:5px;width:8px;height:14px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
@media (min-width:900px){.opiniones{grid-template-columns:1fr 1.3fr;align-items:center;column-gap:80px}.opiniones .btn{grid-column:2}}

/* Pedido en papel kraft */
.pedido{padding:0 22px 90px}
.kraft{max-width:1000px;margin:0 auto;background:var(--kraft);border-radius:var(--r);padding:clamp(30px,6vw,64px);position:relative;background-image:radial-gradient(rgba(122,62,23,.12) 1px,transparent 1.4px);background-size:7px 7px}
.kraft p{max-width:52ch;font-size:1.08rem}

/* Visita */
.visita{max-width:1240px;margin:0 auto;padding:10px 22px 90px;display:grid;gap:30px}
.direccion{font-size:1.1rem;margin:8px 0 22px}
.horario{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;margin-bottom:26px}
.horario th,.horario td{text-align:left;padding:10px 6px;border-bottom:1px dashed rgba(122,62,23,.3)}
.horario th{font-weight:500}
.horario tr.hoy{background:var(--miga);font-weight:700}
.horario tr.hoy th::after{content:" · hoy";color:var(--guayaba)}
.visita-cta{display:flex;flex-wrap:wrap;gap:12px}
.visita-mapa{min-height:340px;border-radius:var(--r);overflow:hidden;border:2px solid var(--tinta)}
.visita-mapa iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
@media (min-width:900px){.visita{grid-template-columns:1fr 1fr;gap:56px}}

/* Pie */
.pie{background:var(--corteza);color:var(--miga);text-align:center;padding:48px 22px calc(110px + env(safe-area-inset-bottom))}
.pie p{margin:6px 0}
.pie-marca{font-family:var(--display);font-size:2rem}
.pie-marca span{font-family:var(--mano);color:var(--kraft)}
.pie-chico{font-size:.82rem;opacity:.75}
.pie-rdw{margin-top:22px!important;font-size:.85rem}

.wa-flotante{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:40;width:60px;height:60px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 12px 30px -10px rgba(0,0,0,.45);transition:transform .3s}
.wa-flotante:hover{transform:scale(1.08)}
.wa-flotante svg{width:32px;height:32px;fill:#fff}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
