
:root{--red:#c92f42;--deep:#8f1e2d;--cream:#fff8ed;--paper:#fffdf8;--ink:#30251f;--muted:#75665c;--gold:#f4c66e;--green:#237a4b}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.55}
a{color:inherit}.topline{background:#70202a;color:#fff4e7;text-align:center;padding:8px 14px;font-size:.78rem;letter-spacing:.08em;font-weight:700}
header{color:white;background:radial-gradient(circle at 85% 20%,#f45c68 0 2px,transparent 3px),radial-gradient(circle at 90% 28%,#f4c66e 0 3px,transparent 4px),linear-gradient(125deg,#a91f32,#d73b4c 60%,#b82337);position:relative;overflow:hidden;padding:0 5vw 75px}
header:before,header:after{content:"✦  ❋  ✦  ❋  ✦";position:absolute;color:#ffffff26;font-size:3.2rem;letter-spacing:18px;pointer-events:none;transform:rotate(-12deg)}header:before{left:-30px;top:150px}header:after{right:-30px;bottom:18px;transform:rotate(12deg)}
.nav{max-width:1180px;margin:auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff40;position:relative;z-index:2}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.035em}.brand-mark{width:43px;height:43px;border:2px solid #ffe8b2;border-radius:50%;display:grid;place-items:center;font-size:1.45rem;color:#ffe8b2}
.nav nav{display:flex;gap:24px}.nav nav a{text-decoration:none;font-size:.9rem;font-weight:800}.nav nav a:hover{color:#ffe3a3}
.hero{max-width:1180px;margin:46px auto 0;display:grid;grid-template-columns:1.05fr .95fr;gap:45px;align-items:center;position:relative;z-index:1}
.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.19em;font-weight:900;color:var(--gold)}h1,h2,h3{font-family:'Playfair Display',Georgia,serif}
h1{font-size:clamp(3.1rem,6.2vw,6rem);line-height:.98;letter-spacing:-.045em;margin:15px 0 20px;max-width:700px}h1 em{font-style:normal;color:#ffe0a0}.hero p{font-size:1.08rem;max-width:520px;color:#fff2ed}
.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;padding:13px 21px;border-radius:999px;background:var(--gold);color:#48231d;font-weight:900;box-shadow:0 6px 0 #74202b55;transition:transform .2s}.btn:hover{transform:translateY(-3px)}.btn.outline{background:transparent;border:1.5px solid #fff;color:white;box-shadow:none}
.hero-photo-wrap{position:relative;padding:12px}.hero-photo-wrap:before{content:"";position:absolute;inset:0;border:2px dashed #ffe0a0;border-radius:45% 45% 18px 18px;transform:rotate(4deg)}
.hero-photo{width:100%;height:390px;object-fit:cover;border:7px solid #fff8ed;border-radius:45% 45% 18px 18px;box-shadow:0 22px 50px #62142355;position:relative;display:block}
.stamp{position:absolute;right:-10px;bottom:22px;background:var(--gold);color:#58252a;width:112px;height:112px;border-radius:50%;border:3px solid #fff8ed;display:grid;place-content:center;text-align:center;font-size:.77rem;line-height:1.2;font-weight:900;transform:rotate(9deg);box-shadow:0 8px 18px #4c142b33}.stamp strong{font-family:'Playfair Display',serif;font-size:1.6rem}
main{max-width:1180px;margin:auto;padding:58px 5vw 76px}.section-head{text-align:center;margin:0 0 32px}.section-head .eyebrow{color:var(--red)}h2{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.1;margin:9px 0 10px;letter-spacing:-.03em}.section-head p{color:var(--muted);margin:0 auto;max-width:650px}
.ribbon{display:flex;justify-content:center;margin:0 0 25px}.ribbon span{background:var(--red);color:white;padding:8px 18px;border-radius:999px;font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.item{background:var(--paper);border:1px solid #eadac7;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #5c35100b;transition:transform .22s,box-shadow .22s;position:relative}
.item:hover{transform:translateY(-5px);box-shadow:0 15px 30px #5c35101a}.item-photo{width:100%;height:155px;object-fit:cover;display:block;background:#f0e2cf}.item-body{padding:17px 18px 20px}.item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.item h3{font-size:1.18rem;line-height:1.15;margin:0;text-transform:uppercase}.price{white-space:nowrap;color:var(--red);font-size:1.15rem;font-weight:900}.item p{margin:0;color:var(--muted);font-size:.91rem}.mini-label{display:inline-block;margin-top:13px;color:var(--red);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}
.note{margin:32px 0 68px;background:#f7e9d3;border:1px solid #edcf9c;border-radius:20px;padding:26px 30px;display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;align-items:center;position:relative;overflow:hidden}.note:after{content:"✿";position:absolute;right:8px;bottom:-45px;font-size:9rem;color:#d7a34b22}.note h3{font-size:1.7rem;margin:0 0 7px}.note p{margin:5px 0;color:#5d4a3b}.note strong{color:#392a22}.note .note-intro{font-size:.95rem;color:#78604c}
.specials-section{background:#fff1e3;border-radius:28px;padding:38px 28px 30px;position:relative;overflow:hidden}.specials-section:before{content:"✦";position:absolute;top:-20px;right:25px;color:#e7c18b;font-size:8rem;opacity:.35}.specials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;position:relative}.special{background:var(--red);color:white;border-radius:18px;overflow:hidden;box-shadow:0 10px 25px #77202b1c}.special img{width:100%;height:190px;object-fit:cover;display:block;border-bottom:4px solid var(--gold)}.special .item-body{padding:18px}.special .item-top{border-bottom:1px solid #ffffff40;padding-bottom:11px}.special .price{color:#ffe0a0}.special h3{font-size:1.3rem}.special p{margin:0;color:#fff4ed;font-size:.9rem}
.callout{margin:60px 0 0;background:var(--green);color:white;border-radius:20px;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:22px}.callout h3{font-size:1.6rem;margin:0}.callout p{margin:4px 0 0;color:#e2f4e7}.callout .btn{background:white;color:#155a36;white-space:nowrap}
footer{background:#2f2520;color:white;padding:48px 5vw 25px;text-align:center;position:relative;overflow:hidden}footer:before{content:"❋";position:absolute;left:3%;top:-35px;color:#ffffff0c;font-size:11rem}footer .brand{justify-content:center;margin-bottom:18px}footer h2{color:#ffe0a0}footer p{margin:8px auto;max-width:700px;color:#e4d8cd}.contact{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px 0}.contact a{background:#fff8ed;color:#30251f;text-decoration:none;font-weight:900;padding:13px 18px;border-radius:999px}.contact a:hover{background:var(--gold)}.social-note{font-size:.78rem;color:#bcaea1;margin-top:25px}
@media(max-width:850px){.hero{grid-template-columns:1fr;gap:28px}.hero-photo-wrap{max-width:560px;margin:auto;width:100%}.hero-photo{height:340px}.menu-grid,.specials{grid-template-columns:repeat(2,minmax(0,1fr))}.specials .special:last-child{grid-column:1/-1}.specials .special:last-child img{height:220px}.note{grid-template-columns:1fr;gap:8px}.callout{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.topline{font-size:.68rem}.nav{padding:13px 0;align-items:flex-start;flex-direction:column}.nav nav{gap:14px;flex-wrap:wrap}.nav nav a{font-size:.82rem}.hero{margin-top:32px}h1{font-size:3.25rem}.hero-photo{height:280px}.stamp{width:90px;height:90px;font-size:.66rem}.stamp strong{font-size:1.3rem}main{padding:42px 5vw 55px}.menu-grid,.specials{grid-template-columns:1fr}.specials .special:last-child{grid-column:auto}.item-photo{height:190px}.special img,.specials .special:last-child img{height:205px}.note{padding:22px}.specials-section{padding:30px 16px}.callout{padding:23px}.contact a{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.callout{background:#c92f42}.callout p{color:#fff4ed}.callout .btn{color:#9e2637}

/* Cabecera de desayunos: título en dos líneas, horario y sello legible. */
.breakfast-title{font-size:clamp(2.2rem,4.1vw,4.35rem);line-height:1.08;letter-spacing:-.035em}.breakfast-title span,.breakfast-title em{display:block;white-space:nowrap}.hero .breakfast-hours{display:inline-block;font-size:1rem;background:#ffffff15;border:1px solid #ffffff45;border-radius:9px;padding:10px 14px;margin:16px 0 0;color:#fff8ed}.stamp{font-family:Arial,sans-serif;font-weight:900;font-size:.91rem;line-height:1.15;width:128px;height:128px}.stamp strong{font-family:Arial,sans-serif;font-size:2.05rem;font-weight:900}@media(max-width:850px){.breakfast-title{font-size:clamp(2.1rem,7.2vw,4.35rem)}}@media(max-width:560px){.breakfast-title{font-size:clamp(1.65rem,7.5vw,2.65rem)}.stamp{width:108px;height:108px;font-size:.8rem;right:0}.stamp strong{font-size:1.8rem}.hero .breakfast-hours{font-size:.88rem}}

/* Horario destacado y centrado dentro de la columna de presentación. */
.hero .breakfast-hours{display:block;width:100%;max-width:510px;margin:22px auto 0;padding:17px 20px;font-size:1.14rem;line-height:1.5;font-weight:800;text-align:center;border-radius:12px}.hero .breakfast-hours strong{font-weight:900}@media(max-width:560px){.hero .breakfast-hours{max-width:100%;padding:15px 16px;font-size:1rem;margin:20px auto 0}}

/* Mostrar completa la fotografía de la plantilla Desayunos Estilo 1. */
.item-photo[src$="-estilo-1.png"]{height:auto;aspect-ratio:4/5;object-fit:contain}

/* Logo principal a color en la esquina inferior izquierda de cada tarjeta. */
.card-photo-brand{position:relative;isolation:isolate}.card-photo-brand .card-brand-logo{position:absolute;left:12px;bottom:12px;width:clamp(64px,24%,94px);height:auto;aspect-ratio:1;object-fit:contain;border:0;border-radius:0;background:transparent;box-shadow:none;z-index:1;display:block}

/* Marca de agua discreta en las fotografías de las tarjetas. */
.card-photo-brand .card-brand-logo{opacity:.25;pointer-events:none}

/* Encuadre completo de especialidades en Estilo 1. */
.specials .special .card-photo-brand .special-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;display:block;border:0}

/* Especialidades en formato horizontal. */
.specials .special .card-photo-brand .special-photo{aspect-ratio:4/3;height:auto;object-fit:contain}

/* Ajustes de presentación de la cabecera. */
.hero .eyebrow{font-size:calc(.76rem + 1pt)}
.hero .breakfast-intro{text-align:justify;text-align-last:left}

/* Mayor legibilidad en la introducción y los cambios del desayuno. */
.section-head .breakfast-selection-intro{font-size:1.15rem;line-height:1.6}
.note .eyebrow{font-size:calc(.76rem + 1pt);color:#714019}
.note h3{font-weight:900}
.note .breakfast-extras p{font-size:1.08rem;line-height:1.65;text-align:justify;text-align-last:left}

/* Descripciones justificadas y leyendas consistentes en todas las tarjetas. */
.item .item-body p,.special .item-body p{text-align:justify;text-align-last:left}
.special .mini-label{display:block;margin-top:13px;color:#ffe0a0;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}
