  * { box-sizing: border-box; margin:0; padding:0; }
    :root{
      --rojo:#b3001b;
      --rojo-osc:#7a0013;
      --dorado:#e4b34a;
      --dorado-claro:#f5d989;
      --verde-osc:#063b2d;
      --bg:#1b0a0a;
      --texto:#fff8e6;
    }
    body{
      font-family: "Georgia", "Times New Roman", serif;
      background: radial-gradient(circle at top, #3b0000 0%, #120304 55%, #050104 100%);
      color: var(--texto);
      line-height: 1.5;
    }
    a{ color: var(--dorado-claro); text-decoration: none; }
    a:hover{ text-decoration: underline; }
    .container{
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 16px 40px;
    }
    header{
      background: linear-gradient(135deg, var(--rojo) 0%, var(--rojo-osc) 40%, #240103 100%);
      border-bottom: 3px solid var(--dorado);
      box-shadow: 0 0 25px rgba(0,0,0,0.6);
      position: relative;
      overflow: hidden;
    }
    header::before, header::after{
      content:"";
      position:absolute;
      top:-120px;
      width:220px;
      height:220px;
      border-radius:50%;
      border:4px solid rgba(255,255,255,0.18);
      box-shadow:0 0 25px rgba(255,255,255,0.25);
    }
    header::before{ left:-60px; }
    header::after{ right:-60px; top:-80px; }
    .header-inner{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      justify-content:space-between;
      padding:20px 16px 26px;
      position:relative;
      z-index:1;
    }
    .logo-title{
      display:flex;
      align-items:center;
      gap:16px;
    }
    .logo-circle{
      width:64px;
      height:64px;
      border-radius:50%;
      border:3px solid var(--dorado);
      display:flex;
      align-items:center;
      justify-content:center;
      background: radial-gradient(circle at 30% 30%, #ffffffaa 0%, #ffe6c280 20%, #c30000 60%, #3d0000 100%);
      box-shadow:0 0 18px rgba(0,0,0,0.7);
      position:relative;
    }
    .logo-circle::after{
      content:"★";
      position:absolute;
      top:-10px;
      font-size:14px;
      color:var(--dorado-claro);
      text-shadow:0 0 6px rgba(0,0,0,0.7);
    }
    .logo-circle span{
      font-size:26px;
      color:#fffdf2;
      text-shadow:0 0 8px rgba(0,0,0,0.9);
    }
    h1{
      font-size:1.9rem;
      letter-spacing:1px;
      color:#fffdf5;
      text-shadow:0 0 10px rgba(0,0,0,0.8);
    }
    .header-subtitle{
      font-size:0.95rem;
      color:#ffe8c7;
      max-width:360px;
    }
    .header-badge{
      background:rgba(0,0,0,0.32);
      border-radius:999px;
      padding:8px 18px;
      border:1px solid rgba(255,215,128,0.6);
      color:var(--dorado-claro);
      font-size:0.9rem;
      display:flex;
      align-items:center;
      gap:8px;
      margin-top:8px;
    }
    .header-badge span{
      font-size:16px;
    }
    nav{
      border-top:1px solid rgba(255,215,128,0.35);
      background:rgba(0,0,0,0.35);
      backdrop-filter: blur(6px);
    }
    nav ul{
      list-style:none;
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:18px;
      padding:10px 8px;
    }
    nav a{
      padding:6px 14px;
      border-radius:999px;
      border:1px solid transparent;
      font-size:0.92rem;
      text-transform:uppercase;
      letter-spacing:0.06em;
    }
    nav a:hover{
      border-color:var(--dorado);
      background:rgba(0,0,0,0.35);
    }

    .hero{
      padding:26px 0 32px;
    }
    .hero-inner{
      display:grid;
      grid-template-columns:2.2fr 1.6fr;
      gap:26px;
      align-items:flex-start;
    }
    .hero-text h2{
      font-size:1.4rem;
      margin-bottom:8px;
      color:var(--dorado-claro);
    }
    .hero-text p{
      font-size:0.98rem;
      margin-bottom:10px;
      max-width:520px;
    }
    .hero-highlight{
      display:inline-block;
      margin-top:6px;
      padding:4px 10px;
      border-radius:999px;
      border:1px solid rgba(255,215,128,0.7);
      font-size:0.86rem;
      background:rgba(0,0,0,0.4);
    }

    .hero-card{
      background:linear-gradient(145deg, rgba(0,0,0,0.7), rgba(75,0,0,0.85));
      border-radius:18px;
      padding:16px 16px 14px;
      border:1px solid rgba(255,215,128,0.5);
      box-shadow:0 0 18px rgba(0,0,0,0.9);
      position:relative;
      overflow:hidden;
    }
    .hero-card::before{
      content:"";
      position:absolute;
      inset:-60px;
      background-image:
        radial-gradient(circle at 10% 10%, rgba(255,255,255,0.15) 0, transparent 40%),
        radial-gradient(circle at 90% 90%, rgba(255,215,128,0.2) 0, transparent 45%);
      opacity:0.2;
      pointer-events:none;
    }
    .hero-card-header{
      display:flex;
      align-items:center;
      justify-content:space-between;
      margin-bottom:10px;
      position:relative;
      z-index:1;
    }
    .hero-card-header h3{
      font-size:1rem;
      color:var(--dorado-claro);
    }
    .snow-label{
      font-size:0.8rem;
      padding:4px 10px;
      border-radius:999px;
      background:rgba(255,255,255,0.08);
      border:1px solid rgba(255,255,255,0.3);
    }
    .zen-form{
      position:relative;
      margin-bottom:8px;
      z-index:1;
    }
    .zen-form input[type="text"]{
      width:100%;
      padding:12px 110px 12px 14px;
      border-radius:999px;
      border:1px solid rgba(255,215,128,0.7);
      background:rgba(15,2,2,0.9);
      color:var(--texto);
      font-size:0.95rem;
      outline:none;
    }
    .zen-form input::placeholder{
      color:#d0b596;
    }
    .zen-form button{
      position:absolute;
      right:4px;
      top:50%;
      transform:translateY(-50%);
      padding:8px 16px;
      border-radius:999px;
      border:none;
      cursor:pointer;
      background:linear-gradient(135deg, var(--dorado) 0%, var(--dorado-claro) 100%);
      color:#2e1500;
      font-weight:bold;
      font-size:0.88rem;
      box-shadow:0 0 12px rgba(0,0,0,0.7);
    }
    .zen-form button:hover{
      filter:brightness(1.06);
    }
    .zen-note{
      font-size:0.8rem;
      color:#ffe8c0;
      margin-bottom:4px;
      position:relative;
      z-index:1;
    }
    .zen-status{
      font-size:0.82rem;
      color:#ffe8c0;
      min-height:18px;
      position:relative;
      z-index:1;
    }
    .zen-status.error{ color:#ffb3b3; }

    main{
      margin-top:4px;
    }
    section{
      margin-top:30px;
      padding:18px 16px 18px;
      border-radius:18px;
      border:1px solid rgba(255,215,128,0.45);
      background: radial-gradient(circle at top, rgba(90,0,0,0.75) 0%, rgba(5,0,0,0.92) 50%);
      box-shadow:0 0 18px rgba(0,0,0,0.85);
      position:relative;
      overflow:hidden;
    }
    section::before{
      content:"";
      position:absolute;
      width:180px;
      height:180px;
      border-radius:50%;
      border:1px dashed rgba(255,255,255,0.2);
      top:-90px;
      right:-60px;
      opacity:0.4;
      pointer-events:none;
    }
    section h2{
      font-size:1.25rem;
      color:var(--dorado-claro);
      margin-bottom:8px;
      text-shadow:0 0 6px rgba(0,0,0,0.7);
    }
    section > p{
      font-size:0.94rem;
      margin-bottom:10px;
      max-width:760px;
    }

    .events-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
      gap:14px;
      position:relative;
      z-index:1;
    }
    .event-card{
      background:rgba(0,0,0,0.6);
      border-radius:14px;
      padding:10px 11px 12px;
      border:1px solid rgba(255,215,128,0.55);
      box-shadow:0 0 12px rgba(0,0,0,0.8);
      position:relative;
      overflow:hidden;
    }
    .event-card::before{
      content:"❄";
      position:absolute;
      font-size:34px;
      color:rgba(255,255,255,0.08);
      right:-4px;
      bottom:-6px;
    }
    .event-title{
      font-size:0.98rem;
      margin-bottom:4px;
      color:#fff7df;
    }
    .event-meta{
      font-size:0.82rem;
      color:#ffe0a2;
      margin-bottom:4px;
    }
    .event-desc{
      font-size:0.86rem;
    }
    .event-tag{
      display:inline-block;
      font-size:0.8rem;
      padding:2px 8px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,0.4);
      margin-top:4px;
    }

    .stores-layout{
      display:grid;
      grid-template-columns: minmax(0, 1.3fr) minmax(0, 2fr);
      gap:18px;
      align-items:flex-start;
      position:relative;
      z-index:1;
    }
    .stores-filter{
      background:rgba(0,0,0,0.55);
      border-radius:14px;
      padding:10px 12px 12px;
      border:1px solid rgba(255,215,128,0.5);
    }
    .stores-filter h3{
      font-size:0.98rem;
      margin-bottom:8px;
      color:var(--dorado-claro);
    }
    .stores-filter label{
      font-size:0.88rem;
      display:block;
      margin-top:6px;
      margin-bottom:2px;
    }
    .stores-filter input,
    .stores-filter select{
      width:100%;
      padding:6px 8px;
      border-radius:8px;
      border:1px solid rgba(255,215,128,0.7);
      background:rgba(10,0,0,0.9);
      color:var(--texto);
      font-size:0.88rem;
      outline:none;
    }
    .stores-filter small{
      font-size:0.78rem;
      color:#ffe0b8;
    }
    .stores-list{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
      gap:10px;
    }
    .store-card{
      background:rgba(0,0,0,0.6);
      border-radius:12px;
      padding:8px 10px 9px;
      border:1px solid rgba(255,215,128,0.45);
      font-size:0.86rem;
      position:relative;
      overflow:hidden;
    }
    .store-card::before{
      content:"🎁";
      position:absolute;
      font-size:22px;
      right:4px;
      bottom:-2px;
      opacity:0.35;
    }
    .store-name{
      font-weight:bold;
      margin-bottom:3px;
      color:#fff7df;
    }
    .store-type{
      font-size:0.8rem;
      color:#ffe0a2;
      margin-bottom:2px;
    }

    .results-toolbar{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      align-items:center;
      justify-content:space-between;
      margin-bottom:8px;
      position:relative;
      z-index:1;
    }
    .results-toolbar span{
      font-size:0.86rem;
      color:#ffe8c0;
    }
    .order-select{
      padding:5px 8px;
      border-radius:999px;
      border:1px solid rgba(255,215,128,0.7);
      background:rgba(0,0,0,0.7);
      color:var(--texto);
      font-size:0.84rem;
      outline:none;
    }
    .results-list{
      list-style:none;
      display:flex;
      flex-direction:column;
      gap:7px;
      position:relative;
      z-index:1;
    }
    .result-item{
      background:rgba(0,0,0,0.6);
      border-radius:10px;
      padding:7px 9px;
      border:1px solid rgba(255,215,128,0.4);
      font-size:0.9rem;
    }
    .result-title{
      font-weight:bold;
      margin-bottom:2px;
    }
    .result-url{
      font-size:0.78rem;
      color:#ffe0b2;
      word-break:break-all;
    }
    .result-snippet{
      font-size:0.84rem;
      margin-top:2px;
    }

    .pagination{
      display:flex;
      justify-content:center;
      gap:6px;
      flex-wrap:wrap;
      margin-top:12px;
      position:relative;
      z-index:1;
    }
    .pagination button{
      padding:4px 10px;
      border-radius:999px;
      border:1px solid rgba(255,215,128,0.65);
      background:rgba(0,0,0,0.7);
      color:var(--texto);
      cursor:pointer;
      font-size:0.8rem;
    }
    .pagination button[disabled]{
      opacity:0.4;
      cursor:not-allowed;
    }
    .pagination .active{
      background:linear-gradient(135deg, var(--dorado) 0%, var(--dorado-claro) 100%);
      color:#2e1500;
      font-weight:bold;
    }

    .snow{
      position:fixed;
      top:0;
      left:0;
      width:100%;
      height:100%;
      pointer-events:none;
      overflow:hidden;
      z-index:0;
    }
    .snow span{
      position:absolute;
      top:-20px;
      color:#ffffff;
      font-size:14px;
      opacity:0.7;
      animation-name:fall;
      animation-iteration-count:infinite;
      animation-timing-function:linear;
    }
    @keyframes fall{
      to{
        transform:translateY(110vh);
        opacity:0.1;
      }
    }

    footer{
      border-top:1px solid rgba(255,215,128,0.4);
      padding:12px 16px 18px;
      text-align:center;
      font-size:0.84rem;
      background:rgba(0,0,0,0.8);
      color:#ffe8c0;
    }

    @media (max-width:900px){
      .hero-inner{ grid-template-columns:1fr; }
      .hero-card{ order:-1; }
      .stores-layout{ grid-template-columns:1fr; }
    }
    @media (max-width:600px){
      .header-inner{
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
      }
      nav ul{
        justify-content:flex-start;
        overflow-x:auto;
      }
      section{
        padding:14px 12px 14px;
      }
    }