/* Octubre en La Oveja: la misma casa cálida, vestida de Halloween. */
:root {
    --cream: #f5ecdf;
    --paper: #fffaf2;
    --coffee: #302333;
    --coffee-soft: #68546c;
    --terracotta: #a84b19;
    --sage: #766080;
    --line: rgba(70, 42, 79, .18);
    --shadow: 0 18px 50px rgba(40, 24, 45, .14);
}
body {
    background-color: var(--cream);
    background-image: radial-gradient(ellipse at 12% 18%, #e8d5ed66, transparent 32%), radial-gradient(ellipse at 90% 65%, #f4b87533, transparent 30%);
}
header { background: rgba(245, 236, 223, .95); }
.nav-links .nav-menu-link, .button.primary { background: #51355e; border-color: #51355e; }
.nav-links .nav-menu-link:hover, .button.primary:hover { background: #714881; color: var(--paper); }
.eyebrow { color: #a84b19; }
.coffee-scene {
    background: radial-gradient(ellipse at 50% 35%, #765382, #382440 85%);
    border: 1px solid #92739b;
}
.coffee-scene::before { background: rgba(255, 215, 161, .12); }
.mascot-sticker { border: 1px solid #d9c4df; }
.mascot-sticker img { object-fit: contain; object-position: center bottom; background: #eee2f0; }
.halloween-webs { position: absolute; inset: 0; pointer-events: none; }
.halloween-web { position: absolute; top: 0; width: clamp(110px, 17vw, 220px); color: #795581; opacity: .55; }
.halloween-web.left { left: 0; }
.halloween-web.right { right: 0; transform: scaleX(-1); }
.halloween-still-life {
    position: absolute; bottom: 34px; left: 22px; z-index: 2;
    display: flex; align-items: flex-end; gap: 14px; pointer-events: none;
}
.halloween-pumpkin {
    display: block; width: 94px; height: auto; flex: 0 0 auto;
    overflow: visible; filter: drop-shadow(0 7px 7px #160f2733);
}
.halloween-candle {
    position: relative; width: 23px; height: 66px; border-radius: 4px 4px 2px 2px;
    background: linear-gradient(90deg, #d8bea5, #fff0cf 50%, #dfc5ac);
    border-bottom: 5px solid #211924;
}
.halloween-candle.small { height: 43px; width: 19px; }
.halloween-candle span {
    position: absolute; width: 12px; height: 22px; left: calc(50% - 6px); top: -26px;
    border-radius: 75% 25% 65% 35%; background: #ffcc73;
    box-shadow: 0 0 20px 7px #ffb35a44; transform: rotate(-8deg);
    animation: candle-glow 3s ease-in-out infinite alternate;
}
@keyframes candle-glow { to { transform: rotate(8deg) scale(.9); box-shadow: 0 0 25px 9px #ffb35a55; } }
.about-photo p, .gallery-item figcaption { background: rgba(48, 35, 51, .94); }
.gallery-item:nth-child(2) figcaption, .location-badge { background: #a84b19; }
.gallery-item:nth-child(3) { background: #e7d8eb; }
.gallery-item:nth-child(3) img { object-fit: contain; object-position: center bottom; padding: 18px 18px 0; }
.gallery-item:nth-child(3) figcaption { background: #51355e; }
.stars { color: #a84b19; }
footer { background: #241c29; }
.halloween-season-banner {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    gap: 22px;
    grid-column: 1 / -1;
    width: 100%;
    overflow: hidden;
    border: 1px solid #98739f;
    border-radius: 22px;
    padding: 24px 30px;
    color: #fff2dc;
    background: radial-gradient(ellipse at 5% 100%, #bc622c66, transparent 50%), #382440;
    box-shadow: 0 12px 32px #38244022;
}
.halloween-season-banner::after {
    position: absolute;
    z-index: -1;
    top: -75px;
    right: -75px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, transparent 0 28px, #c5a5cd44 29px 30px), repeating-conic-gradient(#c5a5cd44 0deg 1deg, transparent 1deg 30deg);
    content: "";
}
.halloween-banner-pumpkin { flex: 0 0 auto; width: 92px; filter: drop-shadow(0 0 14px #ef963d55); }
.halloween-season-banner span { color: #ffc581; font: 800 10px Inter, Arial, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.halloween-season-banner strong { display: block; margin-top: 4px; font: 500 clamp(24px, 4vw, 38px)/1.15 "Source Serif 4", Georgia, serif; }
.halloween-season-banner p { margin: 7px 0 0; color: #ead4ed; font-size: 15px; }
.halloween-bats { display: flex; gap: 10px; margin-left: auto; align-self: flex-start; color: #d2b4da; }
.halloween-bats svg { width: 48px; transform: rotate(-12deg); }
.halloween-bats svg:nth-child(2) { width: 32px; margin-top: 28px; transform: rotate(15deg); }
.halloween-bats svg:nth-child(3) { width: 38px; margin-top: 8px; }
@media (max-width: 760px) {
    .halloween-web { width: 100px; opacity: .4; }
    .halloween-season-banner { gap: 14px; padding: 20px 16px; }
    .halloween-banner-pumpkin { width: 62px; }
    .halloween-bats { position: absolute; top: 8px; right: 12px; opacity: .45; }
    .halloween-bats svg { width: 26px; }
    .halloween-bats svg:nth-child(n + 2) { display: none; }
    .halloween-season-banner p { font-size: 13px; }
    .halloween-still-life { left: 16px; bottom: 25px; gap: 10px; }
    .halloween-pumpkin { width: 76px; }
}
@media (prefers-reduced-motion: reduce) {
    .halloween-candle span { animation: none; }
}
