@charset "utf-8";
/* CSS Document */
 :root{
      --bg:#0f1115;
      --card:#12151b;
      --text:#f5f7fb;
      --muted:#a7b0bf;
      --line:rgba(255,255,255,0.08);
      --shadow:0 16px 60px rgba(0,0,0,.45);

      --r:18px;
      --r2:24px;
      --max:1220px;

      /* Category Colors */
      --c-beach:#4dd0e1;
      --c-family:#ffca28;
      --c-hangout:#a78bfa;   /* leisure / nightlife */
      --c-city:#8ab4f8;
      --c-movies:#38bdf8;    /* cinema/stream */
      --c-wildlife:#7ee787;
      --c-news:#fbbf24;
      --c-space:#a7f3d0;
      --c-ski:#93c5fd;
      --c-new:#fb7185;
      --c-picks:#f472b6;
      --c-airports:#fca5a5;
      --c-myimage:#ff6f61; /* New color for your image card */


      --safe-t: env(safe-area-inset-top, 0px);
      --safe-b: env(safe-area-inset-bottom, 0px);
    }

    *{ box-sizing:border-box; }
    html,body{ max-width:100%; overflow-x:hidden; }
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      color:var(--text);
      background:
        radial-gradient(1200px 520px at 18% -10%, rgba(79,209,197,0.10), transparent 55%),
        radial-gradient(900px 420px at 82% 0%, rgba(244,114,182,0.10), transparent 60%),
        radial-gradient(1000px 460px at 50% 110%, rgba(251,191,36,0.08), transparent 55%),
        var(--bg);
      -webkit-font-smoothing:antialiased;
    }
    a{ color:inherit; text-decoration:none; }
    img{ max-width:100%; display:block; }
    button{ font:inherit; cursor:pointer; border:none; background:none; }

    /* Topbar */
    .topbar{
      position: sticky;
      top: 0;
      z-index: 1000;
      background: rgba(15,17,21,0.90);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--line);
      padding-top: var(--safe-t);
    }
    .navwrap{
      max-width: var(--max);
      margin: 0 auto;
      padding: 12px 16px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }
    .nav-left{
      display:flex;
      align-items:center;
      gap:10px;
      min-width:0;
      flex: 1 1 auto;
    }
    .navbtn{
      background: rgba(255,255,255,0.06);
      border: 1px solid var(--line);
      color:#fff;
      padding: 10px 16px;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 600;
      display:inline-flex;
      align-items:center;
      gap:10px;
      user-select:none;
      white-space:nowrap;
      transition: .2s;
    }
    .navbtn:hover{ background: rgba(255,255,255,0.10); }
    .navbtn span{ display:inline-flex; line-height:1; }

    .logo-container{
      display:flex;
      align-items:center;
      gap:10px;
      white-space:nowrap;
      flex: 0 0 auto;
    }
    .logo-container img{ border-radius:10px; }
    .brand{
      font-weight: 950;
      font-size: 20px;
      letter-spacing: -0.6px;
    }
    .brand span{ color: #8ab4f8; }

    /* Dropdown */
    .dropdown{ position:relative; }
    .menu{
      position:absolute;
      top: calc(100% + 10px);
      left: 0;
      min-width: 270px;
      max-width: min(92vw, 320px);
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 8px;
      box-shadow: var(--shadow);
      display:none;
      z-index: 9999;
    }
    .menu.open{ display:block; }
    .menu a{
      padding: 12px 12px;
      border-radius: 12px;
      display:flex;
      align-items:center;
      gap:10px;
      font-weight: 600;
      font-size: 14px;
      color:#fff;
      transition:.15s;
    }
    .menu a:hover{ background: rgba(255,255,255,0.06); }
    .dot{
      width:10px; height:10px; border-radius:50%;
      flex: 0 0 10px;
      box-shadow: 0 0 18px rgba(255,255,255,0.10);
    }

    /* Hero */
    header.hero{
      max-width: var(--max);
      margin: 0 auto;
      padding: 26px 16px 10px;
    }
    header.hero h1{
      margin:0 0 10px;
      font-size: 34px;
      letter-spacing: -1px;
      line-height: 1.05;
    }
    header.hero p{
      margin:0;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.65;
      max-width: 860px;
    }

    /* Main */
    main{
      max-width: var(--max);
      margin: 0 auto;
      padding: 16px 16px 0;
    }
    .sectionhead{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:16px;
      margin: 16px 0 14px;
    }
    .sectionhead h2{
      margin:0;
      font-size: 18px;
      font-weight: 950;
      letter-spacing: -0.2px;
    }
    .sectionhead .hint{
      font-size: 12px;
      color: var(--muted);
      font-weight: 800;
      white-space: nowrap;
    }

    /* Grid cards */
    .grid{
      display:grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
    }
    .card{
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--r2);
      overflow:hidden;
      box-shadow: var(--shadow);
      transition: .18s;
      position:relative;
    }
    .card:hover{ transform: translateY(-2px); }
    .thumb{
      position:relative;
      aspect-ratio: 16/9;
      background:#000;
      overflow:hidden;
    }
    .thumb img{
      width:100%; height:100%;
      object-fit:cover;
      opacity:.92;
      transform: scale(1.02);
    }

    /* Badge */
    .badge{
      position:absolute;
      top: 12px;
      left: 12px;
      z-index: 2;
      background: rgba(0, 0, 0, 0.85);
      color: #ffffff;
      padding: 8px 12px;
      border-radius: 999px;
      font-size: 9.5px;
      font-weight: 900;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      border: 1px solid rgba(255, 255, 255, 0.35);
      box-shadow: 0 4px 12px rgba(0,0,0,0.6);
      text-shadow: 0 2px 4px rgba(0,0,0,0.8);
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
    }

    .body{
      padding: 14px 14px 16px;
      display:grid;
      gap: 10px;
    }
    .kicker{
      font-size: 12px;
      font-weight: 950;
      color: var(--muted);
      display:flex;
      align-items:center;
      gap: 8px;
      text-transform: uppercase;
      letter-spacing: .6px;
    }
    .title{
      margin:0;
      font-size: 16px;
      font-weight: 950;
      letter-spacing: -0.4px;
      line-height: 1.15;
    }
    .desc{
      margin:0;
      color: var(--muted);
      font-size: 13.5px;
      line-height: 1.6;
      min-height: 44px;
    }
    .cta{
      margin-top: 2px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding: 11px 12px;
      border-radius: 14px;
      font-weight: 950;
      font-size: 13px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,0.06);
      transition: .18s;
    }
    .card:hover .cta{ background: rgba(255,255,255,0.10); }

    /* Below / boxes */
    section.below{
      max-width: var(--max);
      margin: 0 auto;
      padding: 18px 16px 0;
      display:grid;
      gap: 16px;
    }
    .box{
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--r2);
      box-shadow: var(--shadow);
      padding: 26px;
    }
    .box h3{
      margin:0 0 12px;
      font-size: 18px;
      font-weight: 950;
      letter-spacing: -0.3px;
    }
    .box p, .box li{
      margin:0 0 12px;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.85;
    }
    .box b, .box strong{ color: var(--text); font-weight: 900; }
    .box ul{ padding-left: 18px; margin: 10px 0 0; display:grid; gap: 8px; }

    details{ border-bottom: 1px solid var(--line); padding: 14px 0; cursor:pointer; }
    summary{
      font-weight: 900;
      font-size: 15px;
      list-style:none;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap: 12px;
    }
    summary::-webkit-details-marker{ display:none; }
    summary:after{ content:"+"; font-size: 18px; color: #8ab4f8; }
    details[open] summary:after{ content:"−"; }
    .ans{ color: var(--muted); padding: 10px 0 0; line-height: 1.75; }

    /* Tags inside details */
    .pills{ display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
    .pilltag{
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,0.05);
      font-weight: 850;
      font-size: 11px;
      color: var(--text);
    }
	  

    /* Footer */
    .footer{
      background:#0b0d12;
      border-top: 1px solid var(--line);
      padding: 70px 16px calc(70px + var(--safe-b));
      margin-top: 22px;
    }
    .footgrid{
      max-width: var(--max);
      margin: 0 auto;
      display:grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 60px;
    }
    .footgrid b{ font-size: 20px; display:block; margin-bottom: 12px; color: var(--text); }
    .footgrid p{ color: var(--muted); font-size: 15px; line-height: 1.7; margin: 0 0 14px; }
    .links{ display:flex; gap: 18px; flex-wrap:wrap; }
    .links a{ color: var(--text); opacity: .92; }
    .links a:hover{ opacity: 1; text-decoration: underline; }

    /* Responsive */
    @media (max-width: 1050px){
      .grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }
    @media (max-width: 820px){
      .grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
      section.below { grid-template-columns: 1fr; } 
      /* Ensures boxes stack if needed, though they were already stacking mostly by default block layout */
    }
    @media (max-width: 560px){
      .navwrap{ padding: 10px 12px; gap:10px; }
      .navbtn{ padding: 8px 10px; font-size: 12px; gap: 8px; }
      #catBtn{ max-width: 132px; overflow:hidden; text-overflow: ellipsis; }
      .logo-container{ gap: 8px; }
      .logo-container img{ width: 28px; height: 28px; }
      .brand{ font-size: 16px; letter-spacing: -0.4px; }

      header.hero h1{ font-size: 26px; }
      header.hero p{ font-size: 15px; }

      .grid{ grid-template-columns: 1fr; }
      .desc{ min-height: 0; }
    }
    @media (prefers-reduced-motion: reduce){
      *{ scroll-behavior:auto !important; transition:none !important; }
    }