/* =========================
   UNION SPORTS & CULTURE
   Base styles (Blade site)
   ========================= */

@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');

   :root{
    --bg-0:#050712;
    --bg-1:#070c1c;
    --bg-2:#0b1631;
  
    --line:rgba(255,255,255,.10);
    --line2:rgba(255,255,255,.16);
  
    --text:#e7eaf1;
    --muted:rgba(231,234,241,.72);
    --muted2:rgba(231,234,241,.55);
  
    --gold:#d6b24a;
    --gold-2:#b6912f;
  
    --radius:18px;
    --shadow: 0 18px 55px rgba(0,0,0,.55);
    --shadow2: 0 10px 30px rgba(0,0,0,.35);
  
    --container: 1180px;
  }
  
  *{ box-sizing:border-box; }
  html,body{ height:100%; }
  body{
    margin:0;
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color:var(--text);
    background:
      radial-gradient(900px 420px at 20% 0%, rgba(214,178,74,.08), transparent 60%),
      radial-gradient(900px 480px at 85% 20%, rgba(84,148,255,.08), transparent 60%),
      linear-gradient(180deg, var(--bg-0), var(--bg-1) 40%, #03040b 100%);
  }
  
  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  p{ margin:0 0 12px; color:var(--muted); line-height:1.6; }
  
  h1,h2,h3{
    margin:0 0 10px;
    font-family: Oswald, Inter, system-ui, sans-serif;
    letter-spacing:.02em;
    color:var(--text);
  }
  h1{ font-size: clamp(44px, 5.6vw, 78px); line-height: .95; }
  h2{ font-size: clamp(30px, 3.2vw, 44px); line-height:1.05; }
  h3{ font-size: 20px; line-height:1.15; }
  
  .uc-container{
    width:min(var(--container), calc(100% - 40px));
    margin:0 auto;
  }
  
  .uc-section{
    padding: clamp(54px, 7vw, 92px) 0;
    position:relative;
  }
  .uc-section-alt{
    background:
      radial-gradient(1100px 520px at 25% 0%, rgba(214,178,74,.08), transparent 60%),
      radial-gradient(900px 520px at 85% 10%, rgba(84,148,255,.08), transparent 55%),
      linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  
  .uc-kicker{
    font-family: Inter, system-ui, sans-serif;
    color: var(--gold);
    font-weight: 600;
    letter-spacing: .02em;
    margin-bottom: 8px;
    font-size: 14px;
  }
  
  .uc-section-intro{
    max-width: 780px;
    margin-bottom: 26px;
  }
  
  /* =========================
     HEADER / NAV (ALINHADO COM O TEU HTML)
     ========================= */
  
  .uc-header{
    position:sticky;
    top:0;
    z-index:50;
    backdrop-filter: blur(14px);
    background: rgba(0,0,0,.55);
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .uc-header .uc-container{
    position:relative;
  }
  
  .uc-nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding: 14px 0;
  }
  
  /* Brand */
  .uc-brand{
    display:flex;
    align-items:center;
    gap:12px;
    min-width: 240px;
  }
  .uc-logo{
    width:44px;
    height:44px;
    object-fit:contain;
    filter: drop-shadow(0 6px 18px rgba(0,0,0,.45));
  }
  .uc-brand-text{ line-height:1; }
  .uc-brand-title{
    font-family: Oswald, Inter, system-ui, sans-serif;
    letter-spacing:.22em;
    font-size:16px;
  }
  .uc-brand-sub{
    display:block;
    font-size:12px;
    color: var(--gold);
    letter-spacing:.18em;
    margin-top:4px;
  }
  
  /* Desktop links */
  .uc-links{
    display:flex;
    align-items:center;
    gap:22px;
  }
  .uc-links a{
    font-size: 14px;
    color: var(--muted);
    padding: 10px 2px;
    position: relative;
  }
  .uc-links a:hover{ color: var(--text); }
  .uc-links a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:6px;
    height:2px;
    width:0;
    background: var(--gold);
    transition: width .25s ease;
  }
  .uc-links a:hover::after{ width:100%; }
  
  /* Right actions */
  .uc-nav-actions{
    display:flex;
    align-items:center;
    gap:12px;
  }

  .uc-suggestion-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(214,178,74,.45);
    background: rgba(214,178,74,.12);
    color: var(--text);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 11px;
  }
  .uc-suggestion-btn:hover{
    border-color: rgba(214,178,74,.75);
    box-shadow: 0 10px 24px rgba(214,178,74,.18);
  }
  
  /* Social */
  .uc-social{
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.02);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color: rgba(231,234,241,.85);
    transition: .18s ease;
  }
  .uc-social:hover{
    border-color: rgba(214,178,74,.55);
    color: rgba(214,178,74,.95);
  }
  
  /* Burger */
  .uc-burger{
    display:none;
    width:44px;
    height:44px;
    border-radius: 12px;
    border:1px solid var(--line);
    background: rgba(255,255,255,.02);
    align-items:center;
    justify-content:center;
    flex-direction: column;
    gap:6px;
    cursor:pointer;
  }
  .uc-burger span{
    display:block;
    width:18px;
    height:2px;
    background: rgba(231,234,241,.8);
    border-radius: 2px;
  }
  
  /* Mobile nav */
  .uc-mobile-nav{
    display:none;
    position:absolute;
    right:0;
    top:100%;
    margin-top: 10px;
    width: min(280px, 82vw);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 14px;
    background: rgba(12,13,20,.98);
    padding: 12px 18px 16px;
    box-shadow: 0 18px 48px rgba(0,0,0,.35);
    z-index:60;
  }
  .uc-mobile-nav a{
    display:block;
    padding: 10px 0;
    color: var(--muted);
  }
  .uc-mobile-nav a:hover{ color: var(--text); }
  .uc-mobile-nav button{
    display:block;
    width:100%;
    padding: 10px 0;
    color: var(--muted);
    background: transparent;
    border: 0;
    text-align: left;
    cursor: pointer;
    font: inherit;
  }
  .uc-mobile-nav button:hover{ color: var(--text); }
  .uc-mobile-nav.is-open{ display:block; }
  
  /* =========================
     HERO
     ========================= */
  
  .uc-hero{
    position:relative;
    min-height: 640px;
    padding: 54px 0 26px;
    overflow:hidden;
  }
  
  /* fundo */
  .uc-hero-bg{
    position:absolute;
    inset:0;
    z-index:0;
  }
  .uc-hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    filter: saturate(.95) contrast(1.05);
    transform: scale(1.02);
  }
  
  /* overlay */
  .uc-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
      radial-gradient(
        900px 460px at 18% 22%,
        rgba(0,0,0,.22),
        rgba(0,0,0,.55) 60%
      ),
      linear-gradient(
        90deg,
        rgba(0,0,0,.75) 0%,
        rgba(0,0,0,.55) 35%,
        rgba(0,0,0,.22) 65%,
        rgba(0,0,0,.10) 100%
      );
  }   
  
  /* conteúdo acima */
  .uc-hero .uc-container{
    position:relative;
    z-index:2;
  }
  
  .uc-hero-inner{
    display:grid;
    grid-template-columns: 1fr;
    gap: 28px;
    align-items:center;
    padding-top: 28px;
  }
  
  .uc-hero-copy .uc-kicker{
    color: rgba(214,178,74,.95);
    letter-spacing:.08em;
    text-transform: uppercase;
    font-size: 12px;
  }
  
  /* ✅ trava o texto “até ao centro” */
  .uc-hero-copy{
    max-width: 620px;
  }

  .uc-weekend-alert{
    display:grid;
    gap:8px;
    margin-bottom: 18px;
    padding: 16px 18px;
    max-width: 560px;
    border-radius: 20px;
    border: 1px solid rgba(214,178,74,.26);
    background:
      linear-gradient(135deg, rgba(214,178,74,.16), rgba(214,178,74,.05)),
      rgba(4,6,14,.48);
    box-shadow: 0 18px 34px rgba(0,0,0,.24);
    backdrop-filter: blur(10px);
  }
  .uc-weekend-alert strong{
    font-family: Oswald, Inter, system-ui, sans-serif;
    font-size: 24px;
    letter-spacing: .03em;
    color: var(--text);
  }
  .uc-weekend-alert p{
    margin:0;
    color: rgba(231,234,241,.84);
  }
  .uc-weekend-alert-tag{
    display:inline-flex;
    width: fit-content;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.16);
    color: var(--gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  
  .uc-hero-title .uc-accent{ color: var(--gold); }
  
  .uc-hero-text{
    max-width: 620px;
    font-size: 16px;
    color: rgba(231,234,241,.78);
    margin-top: 14px;
  }
  
  .uc-hero-actions{
    display:flex;
    gap: 12px;
    margin-top: 20px;
    flex-wrap:wrap;
  }

  .uc-birthday-spotlight{
    margin-top: -148px;
    position: relative;
    z-index: 3;
  }
  .uc-birthday-panel{
    display:grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 22px;
    align-items: stretch;
    padding: clamp(22px, 3vw, 30px);
    border-radius: 28px;
    border: 1px solid rgba(214,178,74,.24);
    background:
      radial-gradient(900px 280px at 0% 0%, rgba(214,178,74,.14), transparent 58%),
      linear-gradient(135deg, rgba(8,12,27,.95), rgba(4,6,14,.92));
    box-shadow: var(--shadow);
  }
  .uc-birthday-copy p:last-of-type{
    margin-bottom: 0;
  }
  .uc-birthday-tags{
    display:flex;
    flex-wrap:wrap;
    gap: 10px;
    margin: 18px 0 22px;
  }
  .uc-birthday-tags span{
    display:inline-flex;
    align-items:center;
    padding: 9px 13px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.04);
    color: rgba(231,234,241,.86);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .uc-birthday-side{
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.04);
    padding: 20px;
    display:grid;
    gap: 14px;
    align-content: start;
  }
  .uc-birthday-side strong{
    display:block;
    color: var(--text);
    font-size: 18px;
    line-height: 1.35;
  }
  .uc-birthday-side p{
    margin:0;
  }
  .uc-birthday-note{
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px dashed rgba(214,178,74,.35);
    background: rgba(214,178,74,.08);
    color: rgba(231,234,241,.78);
  }

  
  /* botões (se não tiveres noutro sítio, aqui fica) */
  .uc-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding: 12px 18px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--gold), var(--gold-2));
    color: #0b0d16;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 12px;
    border: 1px solid rgba(0,0,0,.25);
    box-shadow: 0 14px 34px rgba(214,178,74,.18);
  }
  .uc-btn:hover{ transform: translateY(-1px); }

  .uc-btn-reservation{
    background: linear-gradient(180deg, #183a66, #102846);
    color: #f7f1df;
    border-color: rgba(7,14,28,.34);
    box-shadow: 0 14px 34px rgba(16,40,70,.24);
  }
  .uc-btn-reservation:hover{
    transform: translateY(-1px);
    box-shadow: 0 18px 36px rgba(16,40,70,.30);
  }

  .uc-btn-sbk{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding: 12px 18px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: var(--text);
    border: 1px solid rgba(255,255,255,.18);
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 12px;
  }
  .uc-btn-sbk:hover{
    border-color: rgba(214,178,74,.55);
    background: rgba(214,178,74,.10);
  }
  
  .uc-btn-ghost{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding: 12px 18px;
    border-radius: 999px;
    background: rgba(0,0,0,.25);
    color: var(--text);
    border: 1px solid var(--line);
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 12px;
  }
  .uc-btn-ghost:hover{
    border-color: rgba(214,178,74,.55);
  }
  
  .uc-hero-tags{
    display:flex;
    gap: 10px;
    margin-top: 18px;
    flex-wrap:wrap;
  }
  .uc-hero-tags span{
    padding: 8px 12px;
    border-radius: 999px;
    border:1px solid rgba(255,255,255,.12);
    color: rgba(231,234,241,.68);
    background: rgba(0,0,0,.22);
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  
  /* =========================
     GRIDS / CARDS
     ========================= */
  
  .uc-grid-2{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
    align-items:center;
  }
  .uc-grid-3{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
  }
  
  .uc-image-card{
    border-radius: 22px;
    overflow:hidden;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.02);
    box-shadow: var(--shadow2);
  }
  .uc-image-card img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  
  .uc-card{
    border-radius: 22px;
    overflow:hidden;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(0,0,0,.28);
    box-shadow: var(--shadow2);
    padding: 16px;
  }
  .uc-card-img{
    border-radius: 16px;
    height: 180px;
    width:100%;
    object-fit:cover;
    border: 1px solid rgba(255,255,255,.08);
    margin-bottom: 12px;
  }
  .uc-card p{ margin: 0; }

  .uc-feature-grid{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
  .uc-feature-card{
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(0,0,0,.24);
    box-shadow: var(--shadow2);
    padding: 20px;
    text-align: center;
  }
  .uc-plan-price{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width: 138px;
    margin: 8px 0 18px;
    padding: 10px 18px;
    border-radius: 999px;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.24);
    color: #101522;
    font-family: Oswald, Inter, system-ui, sans-serif;
    font-size: 32px;
    line-height: 1;
    letter-spacing: .01em;
  }
  .uc-plan-list{
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
    text-align: center;
  }
  .uc-plan-list li{
    margin: 10px 0;
    color: #fff;
    font-size: 18px;
    line-height: 1.35;
  }
  .uc-feature-card-bronze{
    border-color: rgba(205,127,50,.38);
    background:
      radial-gradient(240px 120px at 20% 0%, rgba(255,214,170,.28), transparent 60%),
      linear-gradient(180deg, rgba(123,72,30,.95), rgba(74,42,18,.96));
  }
  .uc-feature-card-prata{
    border-color: rgba(192,192,192,.34);
    background:
      radial-gradient(240px 120px at 20% 0%, rgba(255,255,255,.24), transparent 60%),
      linear-gradient(180deg, rgba(136,144,156,.95), rgba(84,92,104,.96));
  }
  .uc-feature-card-ouro{
    border-color: rgba(255,215,0,.34);
    background:
      radial-gradient(240px 120px at 20% 0%, rgba(255,249,196,.24), transparent 60%),
      linear-gradient(180deg, rgba(190,142,22,.95), rgba(138,96,10,.96));
  }
  .uc-feature-card-bronze h3,
  .uc-feature-card-prata h3,
  .uc-feature-card-ouro h3,
  .uc-feature-card-bronze p,
  .uc-feature-card-prata p,
  .uc-feature-card-ouro p{
    color: #fff;
  }
  .uc-feature-card-bronze .uc-plan-price{
    background: linear-gradient(180deg, #f6d36a, #e3a92d);
  }
  .uc-feature-card-prata .uc-plan-price{
    background: linear-gradient(180deg, #f2f4f7, #cdd3dc);
  }
  .uc-feature-card-ouro .uc-plan-price{
    background: linear-gradient(180deg, #ffe37c, #f0bd24);
  }
  .uc-feature-card p:last-child{
    margin-bottom: 0;
  }

  .uc-info-panel{
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.10);
    background:
      radial-gradient(700px 220px at 0% 0%, rgba(214,178,74,.12), transparent 60%),
      rgba(0,0,0,.28);
    box-shadow: var(--shadow2);
    padding: clamp(22px, 3vw, 32px);
  }
  .uc-info-actions{
    display:flex;
    gap: 12px;
    flex-wrap:wrap;
    margin-top: 18px;
  }

  .uc-sbk-spotlight{
    display:grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 24px;
    align-items: stretch;
  }
  .uc-sbk-copy{
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.10);
    background:
      radial-gradient(700px 280px at 0% 0%, rgba(214,178,74,.12), transparent 60%),
      rgba(0,0,0,.26);
    box-shadow: var(--shadow2);
    padding: clamp(22px, 3vw, 32px);
  }
  .uc-sbk-points{
    display:flex;
    flex-wrap:wrap;
    gap: 10px;
    margin: 22px 0 18px;
  }
  .uc-sbk-points span{
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.04);
    color: rgba(231,234,241,.84);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .uc-sbk-schedule{
    display:grid;
    gap: 12px;
    margin-bottom: 24px;
  }
  .uc-sbk-schedule-item{
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.03);
  }
  .uc-sbk-schedule-item span{
    display:block;
    margin-bottom: 6px;
    color: var(--gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .uc-sbk-schedule-item strong{
    color: rgba(231,234,241,.88);
    font-size: 15px;
    line-height: 1.45;
  }
  .uc-sbk-card{
    border-radius: 24px;
    overflow:hidden;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(0,0,0,.30);
    box-shadow: var(--shadow2);
  }
  .uc-sbk-card img{
    width:100%;
    height: 360px;
    object-fit: contain;
    background: rgba(0,0,0,.18);
  }
  .uc-sbk-card-body{
    padding: 18px;
  }
  .uc-sbk-card-body p{ margin:0; }
  .uc-sbk-badge{
    display:inline-flex;
    margin-bottom: 10px;
    padding: 7px 11px;
    border-radius: 999px;
    border: 1px solid rgba(214,178,74,.28);
    background: rgba(214,178,74,.10);
    color: var(--gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  
  /* List */
  .uc-list{
    margin: 14px 0 0;
    padding-left: 18px;
  }
  .uc-list li{
    margin: 8px 0;
    color: rgba(231,234,241,.72);
    line-height:1.55;
  }
  
  /* =========================
     MENU cards
     ========================= */
  
  .uc-menu-card{
    border-radius: 22px;
    overflow:hidden;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(0,0,0,.30);
    box-shadow: var(--shadow2);
    padding: 16px;
    position:relative;
  }
  .uc-menu-img{
    border-radius: 16px;
    height: 220px;
    width:100%;
    object-fit:cover;
    border: 1px solid rgba(255,255,255,.08);
    margin-bottom: 12px;
  }
  .uc-menu-note{
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px dashed rgba(214,178,74,.35);
    background: rgba(214,178,74,.06);
    color: rgba(231,234,241,.75);
  }
  
  /* =========================
     EVENTS
     ========================= */
  
  .uc-events-grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 10px;
  }
  
  .uc-event-card{
    border-radius: 22px;
    overflow:hidden;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(0,0,0,.30);
    box-shadow: var(--shadow2);
    padding: 16px;
  }
  .uc-event-card img{
    border-radius: 16px;
    height: 220px;
    width:100%;
    object-fit:cover;
    border: 1px solid rgba(255,255,255,.08);
    margin-bottom: 12px;
  }
  
  .uc-upcoming{
    margin-top: 26px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(0,0,0,.22);
  }
  .uc-upcoming h3{ margin-bottom: 10px; }
  .uc-upcoming ul{ margin: 0; padding-left: 18px; }
  .uc-upcoming li{ margin: 8px 0; color: rgba(231,234,241,.72); }
  
  /* =========================
     FOOTER
     ========================= */
  
  .uc-footer{
    border-top: 1px solid rgba(255,255,255,.08);
    background: rgba(0,0,0,.55);
    padding: 42px 0 0;
  }
  .uc-footer-grid{
    display:grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 26px;
    padding-bottom: 28px;
  }
  .uc-footer-logo{
    display:flex;
    align-items:center;
    gap: 12px;
  }
  .uc-footer-logo img{
    width:46px;
    height:46px;
    object-fit:contain;
  }
  .uc-footer-title{
    font-family: Oswald, Inter, system-ui, sans-serif;
    letter-spacing:.22em;
    font-size: 16px;
  }
  .uc-footer-subtitle{
    font-size: 12px;
    letter-spacing:.18em;
    color: var(--muted2);
    margin-top:4px;
  }
  .uc-footer-heading{
    font-family: Oswald, Inter, system-ui, sans-serif;
    letter-spacing:.18em;
    font-size: 16px;
    text-transform: uppercase;
    margin-bottom: 10px;
  }
  .uc-footer-text{ color: rgba(231,234,241,.68); }
  .uc-footer-text-top{ margin-top: 12px; }
  .uc-footer-text-tight{ margin-bottom: 8px; }
  .uc-footer-text-last{ margin-bottom: 0; }
  .uc-footer-link{ text-decoration: underline; }
  
  .uc-footer-bottom{
    border-top: 1px solid rgba(255,255,255,.08);
    padding: 14px 0;
  }
  .uc-footer-bottom-inner{
    display:flex;
    justify-content:space-between;
    gap: 16px;
    color: rgba(231,234,241,.55);
    font-size: 12px;
  }
  
  /* =========================
     RESERVAS (FORM)
     ========================= */
  
  .uc-page-head{ margin-bottom: 22px; }
  
  .uc-form-wrap{
    display:grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 18px;
    align-items:start;
  }
  
  .uc-form-card,
  .uc-side-card{
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(0,0,0,.28);
    box-shadow: var(--shadow2);
  }
  .uc-form-card{
    padding: 18px;
    border-color: rgba(182,145,47,.34);
    background:
      radial-gradient(520px 220px at 0% 0%, rgba(255,230,140,.28), transparent 58%),
      linear-gradient(180deg, rgba(214,178,74,.98), rgba(182,145,47,.98));
    box-shadow: 0 22px 45px rgba(0,0,0,.24);
  }
  .uc-side-card{ padding: 18px; }
  
  .uc-form-grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  
  .uc-field{ display:flex; flex-direction:column; gap: 8px; }
  .uc-field-full{ grid-column: 1 / -1; }
  
  .uc-field label{
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(11,13,22,.78);
    font-weight: 800;
  }
  
  .uc-field input,
  .uc-field textarea,
  .uc-select{
    width:100%;
    border-radius: 16px;
    border: 1px solid rgba(182,145,47,.20);
    background: rgba(255,248,228,.96);
    color: #101522;
    padding: 12px 12px;
    outline: none;
  }
  
  .uc-field textarea{ resize: vertical; min-height: 110px; }
  
  .uc-field input:focus,
  .uc-field textarea:focus,
  .uc-select:focus{
    border-color: rgba(214,178,74,.55);
    box-shadow: 0 0 0 4px rgba(214,178,74,.10);
  }
  
  .uc-hint{
    font-size: 12px;
    color: rgba(231,234,241,.55);
    margin-top: -2px;
  }
  
  .is-invalid{
    border-color: rgba(255, 90, 90, .65) !important;
    box-shadow: 0 0 0 4px rgba(255, 90, 90, .12) !important;
  }
  
  .uc-error{
    font-size: 12px;
    color: rgba(255, 140, 140, .95);
  }
  
  .uc-form-actions{
    display:flex;
    gap: 12px;
    flex-wrap:wrap;
    margin-top: 16px;
    align-items:center;
  }
  
  .uc-alert{
    border-radius: 18px;
    padding: 14px 16px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(0,0,0,.22);
    margin: 0 0 14px;
    color: rgba(231,234,241,.82);
  }
  .uc-alert strong{ color: var(--text); }
  
  .uc-alert-success{
    border-color: rgba(214,178,74,.30);
    background: rgba(214,178,74,.08);
  }
  .uc-alert-danger{
    border-color: rgba(255,90,90,.30);
    background: rgba(255,90,90,.08);
  }

  .uc-checkbox-card{
    display:flex;
    align-items:flex-start;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(16,21,34,.14);
    background: rgba(255,248,228,.72);
    cursor: pointer;
  }
  .uc-checkbox-card input{
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--gold);
    flex: 0 0 auto;
  }
  .uc-checkbox-card strong{
    display:block;
    color: #101522;
    font-size: 16px;
    line-height: 1.3;
  }
  .uc-checkbox-card small{
    display:block;
    margin-top: 4px;
    color: rgba(16,21,34,.72);
    font-size: 14px;
    line-height: 1.5;
  }

  /* =========================
     SUGESTOES (MODAL + TOAST)
     ========================= */

  .uc-modal{
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(2, 6, 23, 0.75);
    backdrop-filter: blur(6px);
    z-index: 80;
  }
  .uc-modal.is-open{ display:flex; }

  .uc-modal-card{
    position: relative;
    width: min(560px, 92vw);
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(5,7,18,.96);
    box-shadow: var(--shadow);
    padding: 22px;
  }
  .uc-modal-wide{
    width: min(1100px, 96vw);
  }
  .uc-modal-card h2{
    margin-bottom: 6px;
    font-size: 26px;
  }
  .uc-modal-sub{
    margin-bottom: 16px;
    color: var(--muted);
  }

  .uc-zoom-toolbar{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom: 12px;
    flex-wrap: wrap;
  }
  .uc-zoom-toolbar .uc-btn-ghost{
    padding: 8px 12px;
    font-size: 11px;
  }
  .uc-zoom-label{
    font-size: 12px;
    color: var(--muted);
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .uc-zoom-frame{
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(0,0,0,.25);
    max-height: 78vh;
    overflow: auto;
  }
  .uc-zoom-frame img{
    width: 100%;
    height: auto;
    display: block;
    transform-origin: top left;
  }

  .uc-modal-close{
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.04);
    color: var(--text);
    font-size: 18px;
    cursor: pointer;
  }

  .uc-toast{
    position: fixed;
    right: 18px;
    top: 90px;
    z-index: 70;
    border-radius: 16px;
    border: 1px solid rgba(214,178,74,.35);
    background: rgba(214,178,74,.12);
    color: var(--text);
    padding: 12px 16px;
    box-shadow: var(--shadow2);
    font-size: 13px;
    transition: opacity .3s ease;
  }
  
  /* SUCCESS / SUMMARY */
  .uc-success-card{
    border-radius: 22px;
    border: 1px solid rgba(214,178,74,.28);
    background: rgba(214,178,74,.08);
    box-shadow: var(--shadow2);
    padding: 22px;
    max-width: 980px;
  }
  .uc-success-text{
    margin-top: 10px;
    max-width: 740px;
    color: rgba(231,234,241,.78);
  }
  .uc-success-actions{
    display:flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 16px;
  }
  
  .uc-summary-card{
    margin-top: 14px;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(0,0,0,.18);
  }
  .uc-summary-title{
    font-family: Oswald, Inter, system-ui, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: 14px;
    margin-bottom: 10px;
    color: rgba(231,234,241,.9);
  }
  .uc-summary-grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 14px;
  }
  .uc-summary-grid span{
    display:block;
    font-size: 12px;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: rgba(231,234,241,.55);
    margin-bottom: 4px;
  }
  .uc-summary-grid strong{
    display:block;
    color: rgba(231,234,241,.88);
    font-weight: 700;
  }
  .uc-summary-full{ grid-column: 1 / -1; }
  
  /* =========================
     RESPONSIVE (geral)
     ========================= */
  
  @media (max-width: 980px){
    .uc-links{ display:none; }
    .uc-burger{ display:flex; }
  
    .uc-grid-2{ grid-template-columns: 1fr; }
    .uc-grid-3{ grid-template-columns: 1fr; }
    .uc-feature-grid{ grid-template-columns: 1fr; }
    .uc-events-grid{ grid-template-columns: 1fr; }
    .uc-sbk-spotlight{ grid-template-columns: 1fr; }
    .uc-birthday-panel{ grid-template-columns: 1fr; }
    .uc-footer-grid{ grid-template-columns: 1fr; }
  
    .uc-form-wrap{ grid-template-columns: 1fr; }
    .uc-form-grid{ grid-template-columns: 1fr; }

    .uc-hero-copy{ max-width: 680px; } /* ligeiramente mais largo em tablet */
  }
  
  @media (max-width: 520px){
    .uc-brand{ min-width:auto; }
    .uc-brand-title{ font-size: 14px; }
    .uc-brand-sub{ font-size: 11px; }
    .uc-weekend-alert strong{ font-size: 20px; }
    .uc-birthday-spotlight{ margin-top: -148px; }
  
    .uc-summary-grid{ grid-template-columns: 1fr; }
  }
  
