@media(min-width:900px){
  *{
    margin:0;
    padding:0;
    box-sizing:border-box;
  }

  body{
    font-family:'Poppins', sans-serif;
    background:#f5f5f5;
  }

  a{
    text-decoration:none;
  }

  ul{
    list-style:none;
  }

  .hero{
    width:100%;
    height:100vh;
    background:
    linear-gradient(to bottom,
    rgba(0,0,0,0.35),
    rgba(0,0,0,0.45),
    rgba(255,255,255,0.2),
    rgba(255,255,255,1)),
    url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?q=80&w=1974&auto=format&fit=crop');
    background-size:cover;
    background-position:center;
    position:relative;
    overflow:hidden;
  }

  header{
    width:100%;
    position:absolute;
    top:0;
    left:0;
    z-index:10;
    padding:0.938vw 2.604vw;
  }

  .logo-header-prim{
    width:2.344vw;
    height:2.344vw;
    object-fit:cover;
    margin-right:0.625vw;
  }

  .navbar{
    width:100%;
    background:#ffffff;
    border-radius:0.938vw;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0.938vw 1.250vw;
    box-shadow:0 0.521vw 1.563vw rgba(0,0,0,0.08);
  }

  .logo{
    font-size:1.458vw;
    font-weight:700;
    color:#008c95;
    display:flex;
    flex-direction:row;
    align-items:center;
  }

  .nav-right{
    display:flex;
    align-items:center;
    gap:1.042vw;
  }

  .nav-icons{
    display:flex;
    align-items:center;
    gap:0.938vw;
  }

  .nav-icons i{
    color:#333;
    font-size:1.458vw;
    cursor:pointer;
    transition:0.3s;
  }

  .nav-icons a {
    display: flex;
    flex-direction: column;
    align-items: center;
    
  }

  .nav-icons i:hover{
    color:#008c95;
  }

  .contact-btn{
    background:#00B0B9;
    color:#fff;
    padding:0.625vw 1.146vw;
    border-radius:2.083vw;
    font-size:0.729vw;
    font-weight:600;
    transition:0.3s;
  }

  .contact-btn:hover{
    background:#008c95;
  }

  .hero-content{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:0 1.042vw;
  }

  .hero-content h1{
    color:#fff;
    font-size:3.646vw;
    font-weight:800;
    margin-bottom:0.938vw;
    line-height:1.1;
    max-width:46.875vw;
    text-shadow:0 0.521vw 1.563vw rgba(0,0,0,0.3);
  }

  .hero-content p{
    color:#fff;
    font-size:1.146vw;
    font-weight:400;
    max-width:46.875vw;
    line-height:1.7;
    margin-bottom:2.083vw;
    text-shadow:0 0.521vw 1.042vw rgba(0,0,0,0.2);
  }

  .search-box{
    width:100%;
    max-width:44.271vw;
    background:rgba(120,120,120,0.45);
    backdrop-filter:blur(0.729vw);
    border:0.052vw solid rgba(255,255,255,0.2);
    border-radius:3.646vw;
    padding:0.625vw;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:0.781vw;
    margin-bottom:2.604vw;
    box-shadow:0 1.042vw 2.604vw rgba(0,0,0,0.2);
  }

  .search-left{
    display:flex;
    align-items:center;
    flex:1;
    padding-left:0.938vw;
    gap:0.781vw;
  }

  .search-left i{
    color:#fff;
    font-size:0.938vw;
  }

  .search-left input{
    width:100%;
    background:transparent;
    border:none;
    outline:none;
    color:#fff;
    font-size:0.833vw;
    font-family:'Poppins', sans-serif;
  }

  .search-left input::placeholder{
    color:rgba(255,255,255,0.85);
  }

  .search-btn{
    background:#efb443;
    color:#fff;
    border:none;
    border-radius:2.604vw;
    padding:0.938vw 2.083vw;
    font-size:0.833vw;
    font-weight:600;
    cursor:pointer;
    transition:0.3s;
  }

  .search-btn:hover{
    background:#db9d22;
    transform:translateY(-0.104vw);
  }

  .categories{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1.563vw;
    flex-wrap:wrap;
  }

  .category-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0.625vw;
    cursor:pointer;
    transition:0.3s;
  }

  .category-item:hover{
    transform:translateY(-0.313vw);
  }

  .category-icon{
    width:4.063vw;
    height:4.063vw;
    border-radius:50%;
    background:rgba(255,255,255,0.25);
    backdrop-filter:blur(0.625vw);
    border:0.052vw solid rgba(255,255,255,0.2);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:1.250vw;
    transition:0.3s;
  }

  .category-item:hover .category-icon{
    background:#008c95;
  }

  .category-item span{
    color:#fff;
    font-size:0.781vw;
    font-weight:500;
    text-shadow:0 0.260vw 0.781vw rgba(0,0,0,0.3);
  }

  .ads-section{
    width:100%;
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .ads-header{
    margin-bottom:1.823vw;
  }

  .ads-header h2{
    font-size:2.396vw;
    font-weight:700;
    color:#1E3A5F;
    margin-bottom:0.938vw;
    line-height:1.1;
  }

  .ads-header p{
    max-width:36.458vw;
    color:#5f6b7a;
    font-size:0.885vw;
    line-height:1.9;
  }

  .ads-slider{
    position:relative;
    width:100%;
    overflow:hidden;
    border-radius:1.458vw;
  }

  .ads-track{
    position:relative;
    width:100%;
    height:14.583vw;
  }

  .ad-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transform:translateX(4.167vw);
    transition:
    opacity 0.8s ease,
    transform 0.8s ease,
    visibility 0.8s;
  }

  .ad-slide.active{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
  }

  .ad-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:1.458vw;
  }

  .ad-overlay{
    position:absolute;
    inset:0;
    border-radius:1.458vw;
    background:
    linear-gradient(
      to right,
      rgba(0,0,0,0.75),
      rgba(0,0,0,0.35),
      rgba(0,0,0,0.15)
    );
  }

  .ad-content{
    position:absolute;
    top:50%;
    left:3.125vw;
    transform:translateY(-50%);
    z-index:2;
    max-width:88.542vw;
  }

  .ad-badge{
    display:inline-flex;
    align-items:center;
    padding:0.417vw 0.781vw;
    border-radius:2.083vw;
    background:rgba(255,255,255,0.18);
    backdrop-filter:blur(0.625vw);
    border:0.052vw solid rgba(255,255,255,0.15);
    color:#fff;
    font-size:0.677vw;
    margin-bottom:0.938vw;
  }

  .ad-content h3{
    font-size:2.188vw;
    color:#fff;
    line-height:1.15;
    font-weight:700;
    margin-bottom:0.938vw;
  }

  .ad-content p{
    color:rgba(255,255,255,0.92);
    font-size:0.833vw;
    line-height:1.8;
    margin-bottom:1.458vw;
  }

  .ad-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.781vw 1.458vw;
    border-radius:2.604vw;
    background:#efb443;
    color:#fff;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .ad-btn:hover{
    background:#db9d22;
    transform:translateY(-0.104vw);
  }

  .slider-dots{
    position:absolute;
    left:50%;
    bottom:1.302vw;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:0.625vw;
    z-index:3;
  }

  .dot{
    width:0.625vw;
    height:0.625vw;
    border-radius:50%;
    background:rgba(255,255,255,0.4);
    cursor:pointer;
    transition:0.3s ease;
  }

  .dot.active{
    width:1.771vw;
    border-radius:1.042vw;
    background:#fff;
  }

  .discover-section{
    width:100%;
    padding:5.729vw 5%;
    background:#F8FAFB;
  }

  .discover-header{
    text-align:center;
    margin-bottom:2.604vw;
  }

  .discover-badge{
    display:inline-flex;
    padding:0.521vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(0,176,185,0.12);
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:600;
    margin-bottom:0.938vw;
  }

  .discover-header h2{
    font-size:2.708vw;
    line-height:1.1;
    color:#1E3A5F;
    margin-bottom:0.938vw;
  }

  .discover-header p{
    max-width:39.583vw;
    margin:auto;
    color:#5f6b7a;
    font-size:0.885vw;
    line-height:1.9;
  }

  .discover-tabs{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:0.729vw;
    margin-bottom:2.604vw;
  }

  .discover-tab{
    border:none;
    outline:none;
    padding:0.833vw 1.250vw;
    border-radius:2.604vw;
    background:#fff;
    color:#1E3A5F;
    font-size:0.781vw;
    font-weight:600;
    cursor:pointer;
    box-shadow:0 0.521vw 1.563vw rgba(0,0,0,0.05);
    transition:0.3s ease;
  }

  .discover-tab.active{
    background:#00B0B9;
    color:#fff;
  }

  .discover-panel{
    display:none;
  }

  .discover-panel.active{
    display:block;
    animation:fadeDiscover 0.4s ease;
  }

  .discover-list{
    display:flex;
    flex-direction:column;
    gap:1.458vw;
  }

  .discover-item{
    display:grid;
    grid-template-columns:21.875vw 1fr;
    background:#fff;
    border-radius:1.771vw;
    overflow:hidden;
    box-shadow:0 0.938vw 2.604vw rgba(0,0,0,0.06);
    transition:0.4s ease;
  }

  .discover-item:hover{
    transform:translateY(-0.313vw);
  }

  .discover-image{
    position:relative;
    min-height:16.667vw;
    overflow:hidden;
    height:18.125vw;
  }

  .discover-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.5s ease;
  }

  .discover-item:hover img{
    transform:scale(1.05);
  }

  .discover-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
      to top,
      rgba(0,0,0,0.45),
      rgba(0,0,0,0.05)
    );
  }

  .discover-type{
    position:absolute;
    top:1.042vw;
    left:1.042vw;
    padding:0.469vw 0.833vw;
    border-radius:2.604vw;
    background:rgba(255,255,255,0.18);
    backdrop-filter:blur(0.521vw);
    color:#fff;
    font-size:0.677vw;
    font-weight:600;
  }

  .discover-content{
    padding:1.979vw;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }

  .discover-top{
    display:flex;
    justify-content:space-between;
    gap:1.042vw;
    margin-bottom:0.781vw;
  }

  .discover-top h3{
    font-size:1.771vw;
    line-height:1.1;
    color:#1E3A5F;
    margin-bottom:0.625vw;
  }

  .discover-stars{
    color:#D69B2D;
    font-size:0.781vw;
  }

  .discover-stars span{
    color:#7a8794;
  }

  .discover-location{
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:600;
  }

  .discover-content p{
    color:#5f6b7a;
    font-size:0.833vw;
    line-height:1.9;
    margin-bottom:0.781vw;
  }

  .discover-tags{
    display:flex;
    flex-wrap:wrap;
    gap:0.625vw;
    margin-bottom:0.781vw;
  }

  .discover-tags span{
    padding:0.521vw 0.833vw;
    border-radius:2.604vw;
    background:#eef6f7;
    color:#00B0B9;
    font-size:0.677vw;
    font-weight:600;
  }

  .discover-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1.042vw;
  }

  .discover-extra{
    color:#7a8794;
    font-size:0.729vw;
  }

  .discover-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.781vw 1.458vw;
    border-radius:0.833vw;
    background:#1E3A5F;
    color:#fff;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .discover-btn:hover{
    background:#152a44;
  }

  .discover-more{
    width:100%;
    display:flex;
    justify-content:center;
    margin-top:2.604vw;
  }

  .discover-more-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.938vw 1.875vw;
    border-radius:2.604vw;
    background:#D69B2D;
    color:#fff;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .discover-more-btn:hover{
    background:#bf861e;
    transform:translateY(-0.156vw);
  }

  @keyframes fadeDiscover{
    from{
      opacity:0;
      transform:translateY(0.521vw);
    }
    to{
      opacity:1;
      transform:translateY(0);
    }
  }

  .main-categories{
    width:100%;
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .section-header{
    width:100%;
    margin-bottom:2.344vw;
  }

  .title-area h2{
    font-size:2.396vw;
    font-weight:700;
    color:#1E3A5F;
    margin-bottom:0.938vw;
    line-height:1.1;
  }

  .title-area p{
    max-width:36.458vw;
    font-size:0.885vw;
    color:#5f6b7a;
    line-height:1.9;
  }

  .categories-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    grid-auto-rows:13.542vw;
    gap:1.250vw;
  }

  .category-card{
    position:relative;
    overflow:hidden;
    border-radius:1.250vw;
    cursor:pointer;
    box-shadow:0 0.781vw 2.344vw rgba(0,0,0,0.08);
    transition:0.45s ease;
  }

  .category-card:hover{
    transform:translateY(-0.417vw);
  }

  .category-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.6s ease;
  }

  .category-card:hover img{
    transform:scale(1.08);
  }

  .overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
      to top,
      rgba(0,0,0,0.78),
      rgba(0,0,0,0.28),
      rgba(0,0,0,0.02)
    );
  }

  .category-content{
    position:absolute;
    bottom:1.302vw;
    left:1.302vw;
    right:1.302vw;
    z-index:2;
  }

  .category-badge{
    display:inline-flex;
    align-items:center;
    gap:0.417vw;
    padding:0.417vw 0.781vw;
    background:rgba(255,255,255,0.18);
    backdrop-filter:blur(0.625vw);
    border:0.052vw solid rgba(255,255,255,0.15);
    border-radius:2.083vw;
    color:#fff;
    font-size:0.677vw;
    margin-bottom:0.833vw;
  }

  .category-content h3{
    color:#fff;
    font-size:1.771vw;
    font-weight:700;
    margin-bottom:0.625vw;
    line-height:1.1;
  }

  .category-content p{
    color:rgba(255,255,255,0.92);
    font-size:0.781vw;
    line-height:1.7;
    max-width:90%;
  }

  .large{
    grid-column:span 2;
  }

  .medium{
    grid-column:span 1;
  }

  .popular-places{
    width:100%;
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .popular-header{
    margin-bottom:2.083vw;
  }

  .popular-title h2{
    font-size:2.396vw;
    font-weight:700;
    color:#1E3A5F;
    margin-bottom:0.938vw;
    line-height:1.1;
  }

  .popular-title p{
    max-width:36.458vw;
    color:#5f6b7a;
    font-size:0.885vw;
    line-height:1.9;
  }

  .places-grid{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:1.146vw;
  }

  .place-card{
    background:#fff;
    border-radius:1.250vw;
    overflow:hidden;
    box-shadow:0 0.781vw 2.083vw rgba(0,0,0,0.08);
    transition:0.4s ease;
  }

  .place-card:hover{
    transform:translateY(-0.417vw);
  }

  .place-slider{
    position:relative;
    width:100%;
    height:11.458vw;
    overflow:hidden;
  }

  .slides{
    position:relative;
    width:100%;
    height:100%;
  }

  .slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity 0.8s ease;
  }

  .slide.active{
    opacity:1;
  }

  .place-content{
    padding:1.146vw;
  }

  .place-content h3{
    font-size:1.146vw;
    color:#111827;
    margin-bottom:0.625vw;
    font-weight:700;
    line-height:1.3;
  }

  .stars{
    color:#efb443;
    font-size:0.833vw;
    margin-bottom:0.938vw;
  }

  .stars span{
    color:#6b7280;
    font-size:0.729vw;
    margin-left:0.313vw;
  }

  .tags{
    display:flex;
    flex-wrap:wrap;
    gap:0.521vw;
    margin-bottom:1.146vw;
  }

  .tags span{
    background:#eef2f5;
    color:#374151;
    padding:0.417vw 0.729vw;
    border-radius:1.563vw;
    font-size:0.677vw;
    font-weight:500;
  }

  .place-btn{
    width:100%;
    height:2.708vw;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:0.729vw;
    background:#1E3A5F;
    color:#fff;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .place-btn:hover{
    background:#152a44;
  }

  .view-more-wrapper{
    width:100%;
    display:flex;
    justify-content:center;
    margin-top:2.344vw;
  }

  .view-more-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.938vw 1.667vw;
    border-radius:2.604vw;
    background:#D69B2D;
    color:#fff;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .view-more-btn:hover{
    background:#bf861e;
    transform:translateY(-0.156vw);
  }

  .events-section{
    width:100%;
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .events-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:1.563vw;
    margin-bottom:2.344vw;
  }

  .events-badge{
    display:inline-flex;
    align-items:center;
    padding:0.521vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(0,176,185,0.12);
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:600;
    margin-bottom:0.938vw;
  }

  .events-title h2{
    font-size:2.396vw;
    line-height:1.1;
    color:#1E3A5F;
    margin-bottom:0.938vw;
    font-weight:700;
  }

  .events-title p{
    max-width:36.458vw;
    color:#5f6b7a;
    font-size:0.885vw;
    line-height:1.9;
  }

  .events-all-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.833vw 1.458vw;
    border-radius:2.604vw;
    background:#D69B2D;
    color:#fff;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .events-all-btn:hover{
    background:#bf861e;
    transform:translateY(-0.156vw);
  }

  .events-grid{
    display:grid;
    grid-template-columns:1.2fr 0.8fr;
    gap:1.458vw;
  }

  .large-event{
    position:relative;
    min-height:36.458vw;
    border-radius:1.667vw;
    overflow:hidden;
    box-shadow:0 1.042vw 2.865vw rgba(0,0,0,0.08);
  }

  .large-event img{
    width:100%;
    object-fit:cover;
    height:36.458vw;
    transition:0.5s ease;
  }

  .large-event:hover img{
    transform:scale(1.05);
  }

  .event-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
      to top,
      rgba(0,0,0,0.82),
      rgba(0,0,0,0.25),
      rgba(0,0,0,0.05)
    );
  }

  .event-date{
    position:absolute;
    top:1.563vw;
    left:1.563vw;
    width:4.688vw;
    height:4.688vw;
    border-radius:1.250vw;
    background:rgba(255,255,255,0.15);
    backdrop-filter:blur(0.781vw);
    border:0.052vw solid rgba(255,255,255,0.15);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:0.781vw;
    font-weight:600;
    z-index:2;
  }

  .event-date span{
    font-size:1.771vw;
    font-weight:700;
  }

  .event-content{
    position:absolute;
    left:1.823vw;
    right:1.823vw;
    bottom:1.823vw;
    z-index:2;
  }

  .event-tags{
    display:flex;
    gap:0.521vw;
    margin-bottom:0.938vw;
  }

  .event-tags span{
    padding:0.417vw 0.781vw;
    border-radius:2.604vw;
    background:rgba(255,255,255,0.15);
    backdrop-filter:blur(0.521vw);
    color:#fff;
    font-size:0.677vw;
  }

  .event-content h3{
    font-size:2.188vw;
    line-height:1.15;
    color:#fff;
    margin-bottom:0.938vw;
    font-weight:700;
  }

  .event-content p{
    color:rgba(255,255,255,0.9);
    font-size:0.833vw;
    line-height:1.8;
    margin-bottom:1.146vw;
    max-width:33.854vw;
  }

  .event-info{
    display:flex;
    gap:1.042vw;
    flex-wrap:wrap;
    margin-bottom:1.458vw;
  }

  .info-item{
    color:#fff;
    font-size:0.781vw;
  }

  .event-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.833vw 1.563vw;
    border-radius:2.604vw;
    background:#D69B2D;
    color:#fff;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .event-btn:hover{
    background:#bf861e;
    transform:translateY(-0.156vw);
  }

  .events-side{
    display:flex;
    flex-direction:column;
    gap:1.146vw;
  }

  .small-event-card{
    display:flex;
    gap:0.938vw;
    background:#fff;
    border-radius:1.354vw;
    overflow:hidden;
    padding:0.938vw;
    box-shadow:0 0.781vw 2.344vw rgba(0,0,0,0.06);
    transition:0.3s ease;
  }

  .small-event-card:hover{
    transform:translateY(-0.260vw);
  }

  .small-event-image{
    width:9.375vw;
    min-width:9.375vw;
    border-radius:1.042vw;
    overflow:hidden;
  }

  .small-event-image img{
    width:9.479vw;
    height:9.479vw;
    object-fit:cover;
  }

  .small-event-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .mini-date{
    color:#00B0B9;
    font-size:0.677vw;
    font-weight:700;
    margin-bottom:0.625vw;
  }

  .small-event-content h4{
    font-size:1.250vw;
    line-height:1.2;
    color:#1E3A5F;
    margin-bottom:0.625vw;
  }

  .small-event-content p{
    color:#5f6b7a;
    font-size:0.781vw;
    line-height:1.7;
    margin-bottom:0.729vw;
  }

  .event-location{
    color:#D69B2D;
    font-size:0.729vw;
    font-weight:600;
  }

  .small-event-card{
    text-decoration:none;
    color:inherit;
    display:flex;
  }

  .sponsors-section{
    width:100%;
    padding:4.688vw 0;
    background:#F8FAFB;
    overflow:hidden;
  }

  .sponsors-header{
    text-align:center;
    margin-bottom:2.604vw;
    padding:0 5%;
  }

  .sponsors-header h2{
    font-size:2.188vw;
    font-weight:700;
    color:#111827;
    margin-bottom:0.729vw;
  }

  .sponsors-header p{
    max-width:36.458vw;
    margin:auto;
    color:#6b7280;
    font-size:0.885vw;
    line-height:1.8;
  }

  .sponsors-marquee{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:1.458vw 0 1.042vw;
  }

  .sponsors-marquee::before,
  .sponsors-marquee::after{
    content:"";
    position:absolute;
    top:0;
    width:9.375vw;
    height:100%;
    z-index:2;
    pointer-events:none;
  }

  .sponsors-marquee::before{
    left:0;
    background:linear-gradient(to right,#f6f8fa,transparent);
  }

  .sponsors-marquee::after{
    right:0;
    background:linear-gradient(to left,#f6f8fa,transparent);
  }

  .marquee-track{
    display:flex;
    align-items:center;
    gap:2.083vw;
    width:max-content;
    animation:scrollSponsors 28s linear infinite;
  }

  .sponsor-logo{
    width:11.458vw;
    height:6.250vw;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border-radius:1.458vw;
    transition:0.4s ease;
    position:relative;
  }

  .sponsor-logo:hover{
    transform:translateY(-0.521vw);
  }

  .sponsor-logo{
    animation:logoBounce 4s ease-in-out infinite;
  }

  .sponsor-logo:nth-child(2){
    animation-delay:0.3s;
  }

  .sponsor-logo:nth-child(3){
    animation-delay:0.6s;
  }

  .sponsor-logo:nth-child(4){
    animation-delay:0.9s;
  }

  .sponsor-logo:nth-child(5){
    animation-delay:1.2s;
  }

  .sponsor-logo:nth-child(6){
    animation-delay:1.5s;
  }

  .sponsor-logo img{
    width:6.250vw;
    height:3.646vw;
    object-fit:contain;
    filter:grayscale(100%);
    opacity:0.8;
    transition:0.4s ease;
  }

  .sponsor-logo:hover img{
    filter:grayscale(0%);
    opacity:1;
  }

  @keyframes scrollSponsors{
    from{
      transform:translateX(0);
    }
    to{
      transform:translateX(-50%);
    }
  }

  @keyframes logoBounce{
    0%{
      transform:translateY(0);
    }
    50%{
      transform:translateY(-0.625vw);
    }
    100%{
      transform:translateY(0);
    }
  }

  .business-cta{
    width:100%;
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .cta-container{
    width:100%;
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:2.083vw;
    background:#fff;
    border-radius:1.667vw;
    overflow:hidden;
    box-shadow:0 0.938vw 2.604vw rgba(0,0,0,0.08);
  }

  .cta-content{
    padding:3.646vw;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .cta-badge{
    width:max-content;
    padding:0.521vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(0,176,185,0.12);
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:600;
    margin-bottom:1.250vw;
  }

  .cta-content h2{
    font-size:2.708vw;
    line-height:1.1;
    color:#1E3A5F;
    margin-bottom:1.250vw;
    font-weight:700;
  }

  .cta-content p{
    color:#5f6b7a;
    font-size:0.885vw;
    line-height:1.9;
    margin-bottom:0.938vw;
  }

  .cta-features{
    display:flex;
    flex-direction:column;
    gap:0.729vw;
    margin-top:0.938vw;
    margin-bottom:1.823vw;
  }

  .feature-item{
    display:flex;
    align-items:center;
    gap:0.521vw;
    color:#1E3A5F;
    font-size:0.781vw;
    font-weight:500;
  }

  .cta-btn{
    width:max-content;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.938vw 1.771vw;
    background:#D69B2D;
    color:#fff;
    border-radius:2.604vw;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .cta-btn:hover{
    background:#bf861e;
    transform:translateY(-0.156vw);
  }

  .cta-image{
    position:relative;
    min-height:100%;
  }

  .cta-image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .image-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
      to left,
      rgba(0,0,0,0.08),
      rgba(0,0,0,0.18)
    );
  }

  .main-footer{
    width:100%;
    background:#1E3A5F;
    color:#F8FAFB;
    padding:4.167vw 5% 1.823vw;
  }

  .footer-top{
    display:flex;
    justify-content:space-between;
    gap:3.646vw;
    margin-bottom:2.604vw;
  }

  .footer-brand{
    max-width:16.406vw;
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .footer-brand img{
    width:9.375vw;
    margin-bottom:1.250vw;
  }

  .footer-brand p{
    color:rgba(248,250,251,0.78);
    line-height:1.9;
    font-size:0.781vw;
  }

  .footer-links{
    flex:1;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.823vw;
  }

  .footer-column h4{
    font-size:0.938vw;
    margin-bottom:1.146vw;
    color:#D69B2D;
    font-weight:700;
  }

  .footer-column ul{
    display:flex;
    flex-direction:column;
    gap:0.729vw;
    width:15.104vw;
  }

  .footer-column ul li{
    list-style:none;
  }

  .footer-column ul li a{
    color:rgba(248,250,251,0.78);
    font-size:0.781vw;
    transition:0.3s ease;
  }

  .footer-column ul li a:hover{
    color:#00B0B9;
    padding-left:0.208vw;
  }

  .footer-divider{
    width:100%;
    height:0.052vw;
    background:rgba(255,255,255,0.08);
    margin-bottom:1.823vw;
  }

  .footer-bottom{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }

  .footer-bottom img{
    width:6.250vw;
    margin-bottom:1.042vw;
  }

  .footer-bottom p{
    color:rgba(248,250,251,0.65);
    font-size:0.729vw;
    letter-spacing:0.021vw;
  }

  .category-hero-parent{
    position:relative;
    width:100%;
    height:31.250vw;
    overflow:hidden;
    background:#1E3A5F;
  }

  .category-bg{
    position:absolute;
    inset:0;
    height:inherit;
  }

  .category-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .category-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
      to bottom,
      rgba(30,58,95,0.88),
      rgba(30,58,95,0.72),
      rgba(30,58,95,0.94)
    );
  }

  .category-hero-content{
    position:relative;
    z-index:5;
    width:100%;
    padding:7.292vw 5% 0;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .breadcrumb{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:0.521vw;
    margin-bottom:1.250vw;
    color:rgba(255,255,255,0.72);
    font-size:0.729vw;
  }

  .breadcrumb a{
    color:rgba(255,255,255,0.72);
    transition:0.3s ease;
  }

  .breadcrumb a:hover{
    color:#00B0B9;
  }

  .breadcrumb strong{
    color:#D69B2D;
    font-weight:600;
  }

  .category-hero-content h1{
    max-width:80.729vw;
    font-size:3.750vw;
    line-height:1.05;
    color:#fff;
    margin-bottom:1.250vw;
    font-weight:700;
    width:80.729vw;
  }

  .category-hero-content p{
    max-width:39.583vw;
    color:rgba(255,255,255,0.86);
    font-size:0.938vw;
    line-height:1.9;
    margin-bottom:2.083vw;
  }

  .hero-stats{
    display:flex;
    flex-wrap:wrap;
    gap:0.938vw;
  }

  .hero-stat{
    min-width:10.417vw;
    padding:1.042vw 1.250vw;
    border-radius:1.250vw;
    background:rgba(255,255,255,0.10);
    backdrop-filter:blur(0.729vw);
    border:0.052vw solid rgba(255,255,255,0.08);
    color:rgba(255,255,255,0.82);
    font-size:0.729vw;
  }

  .hero-stat span{
    display:block;
    color:#fff;
    font-size:1.667vw;
    font-weight:700;
    margin-bottom:0.417vw;
  }

  .listing-section{
    width:100%;
    padding:4.167vw 5%;
    background:#F8FAFB;
  }

  .listing-tags{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:0.729vw;
    margin-bottom:2.083vw;
  }

  .tag-label{
    color:#1E3A5F;
    font-size:0.729vw;
    font-weight:600;
  }

  .listing-tag{
    border:none;
    outline:none;
    padding:0.625vw 0.938vw;
    border-radius:2.604vw;
    background:#fff;
    color:#1E3A5F;
    font-size:0.729vw;
    font-weight:600;
    cursor:pointer;
    transition:0.3s ease;
    box-shadow:0 0.521vw 1.302vw rgba(0,0,0,0.04);
  }

  .listing-tag.active{
    background:#00B0B9;
    color:#fff;
  }

  .listing-layout{
    display:grid;
    grid-template-columns:16.667vw 1fr;
    gap:1.771vw;
  }

  .sidebar-card{
    position:sticky;
    top:1.563vw;
    background:#fff;
    border-radius:1.563vw;
    padding:1.667vw;
    box-shadow:0 0.938vw 2.604vw rgba(0,0,0,0.05);
  }

  .sidebar-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:1.771vw;
  }

  .sidebar-title h3{
    font-size:1.667vw;
    color:#1E3A5F;
  }

  .sidebar-title i{
    color:#00B0B9;
    font-size:1.042vw;
  }

  .filter-group{
    margin-bottom:1.771vw;
  }

  .filter-group h4{
    font-size:0.833vw;
    color:#1E3A5F;
    margin-bottom:0.938vw;
  }

  .filter-group label{
    display:flex;
    align-items:center;
    gap:0.625vw;
    margin-bottom:0.729vw;
    color:#5f6b7a;
    font-size:0.729vw;
    cursor:pointer;
  }

  .filter-group input{
    accent-color:#00B0B9;
  }

  .price-buttons{
    display:flex;
    gap:0.521vw;
  }

  .price-buttons button{
    width:3.229vw;
    height:2.292vw;
    border:none;
    border-radius:0.729vw;
    background:#eef6f7;
    color:#1E3A5F;
    font-weight:600;
    cursor:pointer;
  }

  .price-buttons button.active{
    background:#00B0B9;
    color:#fff;
  }

  .clear-filters{
    width:100%;
    height:2.917vw;
    border:none;
    border-radius:0.938vw;
    background:#1E3A5F;
    color:#fff;
    font-size:0.781vw;
    font-weight:600;
    cursor:pointer;
    transition:0.3s ease;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .clear-filters:hover{
    background:#152a44;
  }

  .clear-filters-mrg{
    margin-bottom:0.938vw;
  }

  .sort-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:0.521vw;
    margin-top:0.781vw;
  }

  .sort-btn{
    border:none;
    padding:0.625vw 0.938vw;
    border-radius:0.729vw;
    background:#f3f5f7;
    color:#1f2937;
    font-size:0.729vw;
    font-weight:600;
    cursor:pointer;
    transition:0.3s ease;
    font-family:'Poppins', sans-serif;
    width:100%;
    height:2.917vw;
  }

  .sort-btn:hover{
    background:#dbeafe;
    color:#0f172a;
  }

  .sort-btn.active{
    background:#1E3A5F;
    color:#fff;
    box-shadow:0 0.521vw 1.042vw rgba(15,23,42,.18);
  }

  .listing-topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:1.823vw;
  }

  .listing-topbar p{
    color:#5f6b7a;
    font-size:0.781vw;
  }

  .listing-sort{
    display:flex;
    align-items:center;
    gap:0.625vw;
    color:#1E3A5F;
    font-size:0.729vw;
    font-weight:600;
  }

  .listing-sort select{
    border:none;
    outline:none;
    background:transparent;
    color:#00B0B9;
    font-weight:600;
  }

  .business-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.250vw;
  }

  .business-card{
    background:#fff;
    border-radius:1.458vw;
    overflow:hidden;
    box-shadow:0 0.938vw 2.344vw rgba(0,0,0,0.05);
    transition:0.35s ease;
  }

  .business-card:hover{
    transform:translateY(-0.313vw);
  }

  .business-image{
    position:relative;
    height:11.979vw;
  }

  .business-image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .business-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
      to top,
      rgba(0,0,0,0.45),
      rgba(0,0,0,0.05)
    );
  }

  .business-status{
    position:absolute;
    bottom:0.833vw;
    left:0.833vw;
    padding:0.417vw 0.729vw;
    border-radius:2.604vw;
    background:rgba(255,255,255,0.15);
    backdrop-filter:blur(0.521vw);
    color:#fff;
    font-size:0.625vw;
    font-weight:600;
  }

  .favorite-btn{
    position:absolute;
    top:0.833vw;
    right:0.833vw;
    width:2.292vw;
    height:2.292vw;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,0.15);
    backdrop-filter:blur(0.521vw);
    color:#fff;
    cursor:pointer;
    transition:0.3s ease;
  }

  .favorite-btn:hover{
    background:#00B0B9;
  }

  .business-content{
    padding:1.250vw;
  }

  .business-header{
    display:flex;
    justify-content:space-between;
    gap:0.625vw;
    margin-bottom:0.625vw;
  }

  .business-header h3{
    font-size:1.250vw;
    line-height:1.2;
    color:#1E3A5F;
  }

  .business-price{
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:700;
  }

  .business-rating{
    color:#D69B2D;
    font-size:0.729vw;
    margin-bottom:0.938vw;
  }

  .business-rating span{
    color:#7a8794;
  }

  .business-content p{
    color:#5f6b7a;
    font-size:0.729vw;
    line-height:1.8;
    margin-bottom:1.146vw;
  }

  .business-tags{
    display:flex;
    flex-wrap:wrap;
    gap:0.521vw;
    margin-bottom:1.146vw;
  }

  .business-tags span{
    padding:0.417vw 0.625vw;
    border-radius:2.604vw;
    background:#eef6f7;
    color:#00B0B9;
    font-size:0.625vw;
    font-weight:600;
  }

  .business-btn{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    height:2.708vw;
    border-radius:0.833vw;
    background:#1E3A5F;
    color:#fff;
    font-size:0.729vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .business-btn:hover{
    background:#152a44;
  }

  .pagination{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:0.625vw;
    margin-top:3.125vw;
  }

  .page-btn{
    min-width:2.708vw;
    height:2.708vw;
    padding:0 0.938vw;
    border:none;
    border-radius:0.833vw;
    background:#fff;
    color:#1E3A5F;
    font-size:0.729vw;
    font-weight:600;
    cursor:pointer;
    transition:0.3s ease;
    box-shadow:0 0.521vw 1.302vw rgba(0,0,0,0.04);
  }

  .page-btn.active{
    background:#00B0B9;
    color:#fff;
  }

  .page-btn.next{
    padding:0 1.250vw;
  }

  .single-place-hero{
    padding-bottom:3.125vw;
  }

  .category-hero{
    height:10.677vw;
    min-height:auto;
  }

  .breadcrumb{
    margin-bottom:0;
  }

  .place-main-section{
    width:100%;
    padding:3.646vw 5%;
    background:#F8FAFB;
  }

  .place-main-grid{
    display:grid;
    grid-template-columns:1fr 19.792vw;
    gap:1.771vw;
  }

  .place-gallery{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:0.938vw;
    margin-bottom:2.083vw;
    align-items:stretch;
  }

  .gallery-main{
    height:27.083vw;
    overflow:hidden;
    border-radius:1.458vw;
  }

  .gallery-main img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .gallery-side{
    display:grid;
    grid-template-rows:1fr 1fr;
    gap:0.938vw;
    height:27.083vw;
  }

  .gallery-side-item{
    position:relative;
    overflow:hidden;
    border-radius:1.458vw;
  }

  .gallery-side-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .gallery-more button{
    position:absolute;
    left:50%;
    bottom:1.042vw;
    transform:translateX(-50%);
    border:none;
    padding:0.625vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(255,255,255,0.92);
    color:#1E3A5F;
    font-size:0.677vw;
    font-weight:600;
    backdrop-filter:blur(0.417vw);
    cursor:pointer;
    transition:0.3s ease;
  }

  .gallery-more button:hover{
    background:#00B0B9;
    color:#fff;
  }

  .place-header{
    margin-bottom:1.771vw;
  }

  .place-top-info{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1.042vw;
    margin-bottom:1.250vw;
  }

  .place-category{
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:700;
    margin-bottom:0.625vw;
  }

  .place-header h1{
    font-size:3.021vw;
    line-height:1.05;
    color:#1E3A5F;
  }

  .place-favorite{
    width:3.229vw;
    height:3.229vw;
    border:none;
    border-radius:50%;
    background:#fff;
    color:#1E3A5F;
    font-size:1.042vw;
    cursor:pointer;
    box-shadow:0 0.521vw 1.563vw rgba(0,0,0,0.06);
    transition:0.3s ease;
  }

  .place-favorite:hover{
    background:#00B0B9;
    color:#fff;
  }

  .place-meta{
    display:flex;
    flex-wrap:wrap;
    gap:0.729vw;
    margin-bottom:1.250vw;
  }

  .place-meta > div{
    padding:0.625vw 0.938vw;
    border-radius:2.604vw;
    background:#fff;
    font-size:0.729vw;
    font-weight:600;
    box-shadow:0 0.417vw 1.302vw rgba(0,0,0,0.04);
  }

  .meta-rating{
    color:#D69B2D;
  }

  .meta-rating span{
    color:#5f6b7a;
  }

  .meta-price{
    color:#00B0B9;
  }

  .meta-status.open{
    background:#dff7ef;
    color:#16a34a;
  }

  .meta-hours{
    color:#1E3A5F;
  }

  .place-tags{
    display:flex;
    flex-wrap:wrap;
    gap:0.625vw;
  }

  .place-tags span{
    padding:0.625vw 0.833vw;
    border-radius:2.604vw;
    background:#e8f7f8;
    color:#00B0B9;
    font-size:0.677vw;
    font-weight:600;
  }

  .place-box{
    background:#fff;
    border-radius:1.563vw;
    padding:1.771vw;
    margin-bottom:1.563vw;
    box-shadow:0 0.781vw 2.083vw rgba(0,0,0,0.04);
  }

  .section-title{
    margin-bottom:1.250vw;
  }

  .section-title h2{
    font-size:1.667vw;
    color:#1E3A5F;
  }

  .place-box p{
    color:#5f6b7a;
    font-size:0.833vw;
    line-height:1.9;
  }

  .reviews-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
  }

  .reviews-title a{
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:600;
  }

  .reviews-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.042vw;
  }

  .review-card{
    background:#F8FAFB;
    border-radius:1.146vw;
    padding:1.250vw;
  }

  .review-stars{
    color:#D69B2D;
    margin-bottom:0.729vw;
  }

  .review-card p{
    font-size:0.729vw;
    line-height:1.8;
    margin-bottom:0.833vw;
  }

  .review-card span{
    color:#1E3A5F;
    font-size:0.677vw;
    font-weight:600;
  }

  .sidebar-box{
    position:sticky;
    top:1.563vw;
    background:#fff;
    border-radius:1.563vw;
    padding:1.458vw;
    box-shadow:0 0.781vw 2.083vw rgba(0,0,0,0.05);
  }

  .sidebar-actions{
    display:flex;
    flex-direction:column;
    gap:0.729vw;
    margin-bottom:1.458vw;
  }

  .primary-action,
  .secondary-action{
    width:100%;
    height:3.021vw;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0.625vw;
    border-radius:0.938vw;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .primary-action{
    background:#00B0B9;
    color:#fff;
  }

  .primary-action:hover{
    background:#0097a0;
  }

  .secondary-action{
    background:#eef6f7;
    color:#1E3A5F;
  }

  .sidebar-info{
    margin-bottom:1.458vw;
  }

  .info-item{
    display:flex;
    flex-direction:column;
    gap:0.729vw;
    margin-bottom:1.146vw;
  }

  .info-item-2{
    display:flex;
    flex-direction:row;
    gap:0.729vw;
    margin-bottom:1.146vw;
  }

  .info-item i{
    color:#00B0B9;
    margin-top:0.260vw;
  }

  .info-item-2 i{
    color:#00B0B9;
    margin-top:0.260vw;
  }

  .info-item div{
    color:#5f6b7a;
    font-size:0.729vw;
    line-height:1.7;
  }

  .info-item-2 div{
    color:#5f6b7a;
    font-size:0.729vw;
    line-height:1.7;
  }

  .info-item-2{
    color:#fff;
    font-size:0.781vw;
  }

  .sidebar-map{
    position:relative;
    height:11.458vw;
    border-radius:1.250vw;
    overflow:hidden;
    margin-bottom:1.250vw;
  }

  .sidebar-map img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .sidebar-map button{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border:none;
    padding:0.729vw 1.146vw;
    border-radius:2.604vw;
    background:#fff;
    color:#1E3A5F;
    font-size:0.729vw;
    font-weight:600;
    cursor:pointer;
  }

  .sidebar-social{
    display:flex;
    justify-content:center;
    gap:0.729vw;
  }

  .sidebar-social a{
    width:2.396vw;
    height:2.396vw;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eef6f7;
    color:#1E3A5F;
    transition:0.3s ease;
  }

  .sidebar-social a:hover{
    background:#00B0B9;
    color:#fff;
  }

  .similar-business-section{
    width:100%;
    padding:1.042vw 5% 4.167vw;
    background:#F8FAFB;
  }

  .section-heading{
    display:flex;
    flex-direction:column;
  }

  .section-subtitle{
    display:inline-block;
    margin-bottom:0.625vw;
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.052vw;
  }

  .section-heading h2{
    font-size:2.188vw;
    color:#1E3A5F;
  }

  .section-heading p{
    max-width:26.042vw;
    color:#5f6b7a;
    font-size:0.781vw;
    line-height:1.8;
  }

  .similar-business-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:1.250vw;
  }

  .about-container{
    width:100%;
  }

  .section-mini{
    display:inline-block;
    margin-bottom:0.729vw;
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.052vw;
  }

  .section-mini.light{
    color:#D69B2D;
  }

  .section-heading.center{
    margin-bottom:3.125vw;
  }

  .section-heading.center h2{
    font-size:2.500vw;
    color:#1E3A5F;
    margin-bottom:0.938vw;
  }

  .section-heading.center p{
    max-width:81.250vw;
    color:#5f6b7a;
    line-height:1.9;
  }

  .about-hero{
    position:relative;
    width:100%;
    height:27.760vw;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }

  .about-hero-bg{
    position:absolute;
    inset:0;
  }

  .about-hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .about-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
      to bottom,
      rgba(15,23,42,0.55),
      rgba(15,23,42,0.72)
    );
  }

  .about-hero-content{
    position:relative;
    z-index:2;
    width:100%;
    text-align:center;
    padding:0 5vw;
  }

  .hero-label{
    display:inline-flex;
    padding:0.625vw 1.042vw;
    border-radius:2.604vw;
    background:rgba(255,255,255,0.12);
    backdrop-filter:blur(0.521vw);
    color:#fff;
    font-size:0.677vw;
    font-weight:700;
    margin-bottom:1.250vw;
  }

  .about-hero-content h1{
    font-size:3.750vw;
    line-height:1.05;
    color:#fff;
    margin-bottom:1.250vw;
  }

  .about-hero-content p{
    font-size:0.938vw;
    line-height:1.9;
    color:rgba(255,255,255,0.88);
    max-width:39.583vw;
    margin:auto;
  }

  .about-intro{
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .about-intro-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3.646vw;
    align-items:center;
  }

  .about-intro-text h2{
    font-size:2.813vw;
    line-height:1.1;
    color:#1E3A5F;
    margin-bottom:1.563vw;
  }

  .about-intro-text p{
    color:#5f6b7a;
    font-size:0.833vw;
    line-height:2;
    margin-bottom:1.250vw;
  }

  .about-intro-image{
    height:32.292vw;
    border-radius:1.771vw;
    overflow:hidden;
    box-shadow:0 1.042vw 3.125vw rgba(0,0,0,0.08);
  }

  .about-intro-image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .about-values{
    padding:5.208vw 5%;
    background:#fff;
  }

  .values-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.250vw;
  }

  .value-card{
    background:#F8FAFB;
    border-radius:1.667vw;
    padding:2.083vw 1.667vw;
    transition:0.35s ease;
  }

  .value-card:hover{
    transform:translateY(-0.417vw);
  }

  .value-icon{
    width:3.750vw;
    height:3.750vw;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:1.250vw;
    background:#00B0B9;
    color:#fff;
    font-size:1.354vw;
    margin-bottom:1.458vw;
  }

  .value-card h3{
    font-size:1.458vw;
    color:#1E3A5F;
    margin-bottom:0.938vw;
  }

  .value-card p{
    color:#5f6b7a;
    line-height:1.9;
  }

  .mission-section{
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .mission-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.458vw;
  }

  .mission-box{
    background:#fff;
    border-radius:1.875vw;
    padding:3.125vw;
    box-shadow:0 0.781vw 2.604vw rgba(0,0,0,0.05);
  }

  .mission-box.dark{
    background:#1E3A5F;
  }

  .mission-box h2{
    font-size:2.188vw;
    line-height:1.15;
    color:#1E3A5F;
    margin-bottom:1.250vw;
  }

  .mission-box.dark h2{
    color:#fff;
  }

  .mission-box p{
    color:#5f6b7a;
    font-size:0.833vw;
    line-height:2;
  }

  .mission-box.dark p{
    color:rgba(255,255,255,0.82);
  }

  .about-stats{
    padding:5.208vw 5%;
    background:#fff;
  }

  .stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.250vw;
  }

  .stat-card{
    background:#F8FAFB;
    border-radius:1.667vw;
    padding:2.604vw 1.563vw;
    text-align:center;
  }

  .stat-card h3{
    font-size:3.333vw;
    color:#00B0B9;
    margin-bottom:0.729vw;
  }

  .stat-card p{
    color:#5f6b7a;
    line-height:1.8;
  }

  .about-cta{
    padding:0 5% 5.208vw;
    background:#fff;
  }

  .cta-box{
    background:linear-gradient(135deg,#1E3A5F,#00B0B9);
    border-radius:2.083vw;
    padding:3.646vw;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:2.083vw;
  }

  .cta-text{
    max-width:36.458vw;
  }

  .cta-text h2{
    font-size:2.708vw;
    line-height:1.1;
    color:#fff;
    margin-bottom:1.250vw;
  }

  .cta-text p{
    color:rgba(255,255,255,0.88);
    line-height:1.9;
    font-size:0.833vw;
  }

  .cta-actions{
    display:flex;
    gap:0.938vw;
    flex-wrap:wrap;
  }

  .primary-btn,
  .secondary-btn{
    height:3.021vw;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 1.458vw;
    border-radius:0.938vw;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .primary-btn{
    background:#fff;
    color:#1E3A5F;
  }

  .primary-btn:hover{
    transform:translateY(-0.156vw);
  }

  .secondary-btn{
    border:0.052vw solid rgba(255,255,255,0.25);
    color:#fff;
    background:rgba(255,255,255,0.08);
    backdrop-filter:blur(0.521vw);
  }

  .contact-hero{
    position:relative;
    width:100%;
    height:32.292vw;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }

  .contact-hero-bg{
    position:absolute;
    inset:0;
  }

  .contact-hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .contact-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
      to bottom,
      rgba(15,23,42,0.55),
      rgba(15,23,42,0.78)
    );
  }

  .contact-hero-content{
    position:relative;
    z-index:2;
    width:100%;
    max-width:57.292vw;
    text-align:center;
    padding:0 2.083vw;
  }

  .contact-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.625vw 1.146vw;
    border-radius:2.604vw;
    background:rgba(255,255,255,0.12);
    backdrop-filter:blur(0.625vw);
    color:#fff;
    font-size:0.677vw;
    font-weight:700;
    letter-spacing:0.052vw;
    text-transform:uppercase;
    margin-bottom:1.458vw;
  }

  .contact-hero-content h1{
    font-size:4.063vw;
    line-height:1.05;
    color:#fff;
    margin-bottom:1.354vw;
  }

  .contact-hero-content p{
    max-width:39.583vw;
    margin:auto;
    color:rgba(255,255,255,0.88);
    font-size:0.938vw;
    line-height:1.9;
  }

  .contact-section{
    padding:5.729vw 5%;
    background:#F8FAFB;
  }

  .contact-container{
    width:100%;
    max-width:72.917vw;
    margin:auto;
    display:grid;
    grid-template-columns:21.875vw 1fr;
    gap:2.083vw;
  }

  .contact-info{
    display:flex;
    flex-direction:column;
    gap:1.250vw;
  }

  .contact-card{
    background:#fff;
    border-radius:1.667vw;
    padding:1.771vw 1.563vw;
    display:flex;
    align-items:flex-start;
    gap:1.146vw;
    box-shadow:0 0.781vw 2.604vw rgba(0,0,0,0.05);
    transition:0.35s ease;
  }

  .contact-card:hover{
    transform:translateY(-0.313vw);
  }

  .contact-icon{
    width:3.750vw;
    min-width:3.750vw;
    height:3.750vw;
    border-radius:1.250vw;
    background:#00B0B9;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:1.354vw;
  }

  .contact-text h3{
    font-size:1.250vw;
    color:#1E3A5F;
    margin-bottom:0.521vw;
  }

  .contact-text p{
    color:#5f6b7a;
    line-height:1.8;
    font-size:0.781vw;
  }

  .contact-form-wrapper{
    background:#fff;
    border-radius:2.083vw;
    padding:3.125vw;
    box-shadow:0 1.042vw 3.125vw rgba(0,0,0,0.06);
  }

  .contact-form-header{
    margin-bottom:2.083vw;
  }

  .form-badge{
    display:inline-flex;
    padding:0.521vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(0,176,185,0.12);
    color:#00B0B9;
    font-size:0.677vw;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.052vw;
    margin-bottom:1.146vw;
  }

  .contact-form-header h2{
    font-size:2.708vw;
    line-height:1.08;
    color:#1E3A5F;
    margin-bottom:0.938vw;
  }

  .contact-form-header p{
    color:#5f6b7a;
    line-height:1.9;
    max-width:36.458vw;
  }

  .contact-form{
    display:flex;
    flex-direction:column;
    gap:1.354vw;
  }

  .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.250vw;
  }

  .form-group{
    display:flex;
    flex-direction:column;
  }

  .form-group label{
    font-size:0.781vw;
    font-weight:600;
    color:#1E3A5F;
    margin-bottom:0.625vw;
  }

  .form-group input,
  .form-group select,
  .form-group textarea{
    width:100%;
    border:none;
    background:#F8FAFB;
    border-radius:1.042vw;
    padding:0.938vw 1.146vw;
    font-size:0.781vw;
    font-family:inherit;
    color:#1E3A5F;
    transition:0.3s ease;
  }

  .form-group textarea{
    resize:none;
  }

  .form-group input:focus,
  .form-group select:focus,
  .form-group textarea:focus{
    outline:none;
    background:#fff;
    box-shadow:
    0 0 0 0.104vw rgba(0,176,185,0.18),
    0 0.521vw 1.563vw rgba(0,176,185,0.10);
  }

  .form-group input::placeholder,
  .form-group textarea::placeholder{
    color:#8a94a6;
  }

  .contact-submit-btn{
    width:fit-content;
    height:3.125vw;
    border:none;
    padding:0 1.771vw;
    border-radius:1.042vw;
    background:#00B0B9;
    color:#fff;
    font-size:0.781vw;
    font-weight:700;
    cursor:pointer;
    transition:0.35s ease;
  }

  .contact-submit-btn:hover{
    transform:translateY(-0.208vw);
    box-shadow:0 0.938vw 2.083vw rgba(0,176,185,0.25);
  }

  .contact-faq{
    padding:5.729vw 5%;
    background:#F8FAFB;
  }

  .faq-header{
    text-align:center;
    margin-bottom:3.646vw;
  }

  .faq-badge{
    display:inline-flex;
    padding:0.521vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(214,155,45,0.12);
    color:#D69B2D;
    font-size:0.677vw;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.052vw;
    margin-bottom:1.250vw;
  }

  .faq-header h2{
    font-size:2.917vw;
    color:#1E3A5F;
  }

  .faq-grid{
    width:100%;
    max-width:72.917vw;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1.458vw;
  }

  .faq-card{
    background:#fff;
    border-radius:1.771vw;
    padding:2.188vw;
    transition:0.35s ease;
  }

  .faq-card:hover{
    transform:translateY(-0.313vw);
    background:#fff;
    box-shadow:0 0.781vw 2.604vw rgba(0,0,0,0.06);
  }

  .faq-card h3{
    font-size:1.458vw;
    line-height:1.3;
    color:#1E3A5F;
    margin-bottom:0.938vw;
  }

  .faq-card p{
    color:#5f6b7a;
    line-height:1.9;
    font-size:0.781vw;
  }

  .events-list-section{
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .events-list-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:1.563vw;
    margin-bottom:2.604vw;
  }

  .events-list-heading h2{
    font-size:2.708vw;
    line-height:1.1;
    color:#1E3A5F;
    margin-top:0.521vw;
  }

  .events-filter-box select{
    height:2.917vw;
    padding:0 1.146vw;
    border:none;
    outline:none;
    border-radius:0.938vw;
    background:#fff;
    color:#1E3A5F;
    font-size:0.781vw;
    font-weight:600;
    box-shadow:0 0.521vw 1.563vw rgba(0,0,0,0.05);
    cursor:pointer;
  }

  .events-list-grid{
    display:flex;
    flex-direction:column;
    gap:1.250vw;
  }

  .event-row-card{
    display:grid;
    grid-template-columns:16.667vw 1fr;
    background:#fff;
    border-radius:1.771vw;
    overflow:hidden;
    transition:0.35s ease;
    box-shadow:0 0.781vw 2.083vw rgba(0,0,0,0.04);
  }

  .event-row-card:hover{
    transform:translateY(-0.313vw);
    box-shadow:0 1.042vw 2.604vw rgba(0,0,0,0.08);
  }

  .event-row-image{
    position:relative;
  }

  .event-row-image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .event-date-badge{
    position:absolute;
    top:1.042vw;
    left:1.042vw;
    width:4.063vw;
    height:4.063vw;
    border-radius:1.250vw;
    background:#00B0B9;
    color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    font-size:0.729vw;
    font-weight:700;
    box-shadow:0 0.521vw 1.302vw rgba(0,176,185,0.35);
  }

  .event-date-badge span{
    font-size:1.458vw;
    line-height:1;
  }

  .event-row-content{
    padding:1.771vw 1.979vw;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .event-row-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1.042vw;
    margin-bottom:0.938vw;
  }

  .event-type{
    display:inline-flex;
    padding:0.521vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(0,176,185,0.12);
    color:#00B0B9;
    font-size:0.677vw;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.026vw;
  }

  .event-hour{
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:600;
  }

  .event-row-content h3{
    font-size:1.771vw;
    line-height:1.15;
    color:#1E3A5F;
    margin-bottom:0.938vw;
  }

  .event-row-content p{
    color:#5f6b7a;
    font-size:0.781vw;
    line-height:1.9;
    margin-bottom:1.458vw;
  }

  .event-row-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1.042vw;
  }

  .event-location{
    color:#00B0B9;
    font-size:0.781vw;
    font-weight:500;
  }

  .event-view-btn{
    height:2.708vw;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 1.354vw;
    border-radius:0.833vw;
    background:#1E3A5F;
    color:#fff;
    font-size:0.729vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .event-view-btn:hover{
    background:#00B0B9;
    transform:translateY(-0.104vw);
  }

  .events-pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:0.729vw;
    margin-top:3.125vw;
    flex-wrap:wrap;
  }

  .page-btn{
    width:2.708vw;
    height:2.708vw;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:0.833vw;
    background:#fff;
    color:#1E3A5F;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
    box-shadow:0 0.521vw 1.302vw rgba(0,0,0,0.04);
  }

  .page-btn:hover{
    background:#00B0B9;
    color:#fff;
    transform:translateY(-0.104vw);
  }

  .page-btn.active{
    background:#1E3A5F;
    color:#fff;
  }

  .next-btn{
    width:auto;
    padding:0 1.250vw;
  }

  .events-filter-box select{
    height:3.021vw;
    padding:0 2.604vw 0 1.146vw;
    border:none;
    border-radius:0.938vw;
    background:#fff;
    font-size:0.781vw;
    font-weight:600;
    color:#1E3A5F;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    box-shadow:0 0.521vw 1.563vw rgba(0,0,0,0.05);
    background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231E3A5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat:no-repeat;
    background-position:right 0.938vw center;
  }

  .hotel-rooms-section{
    padding:1.771vw 0;
  }

  .hotel-rooms-title{
    margin-bottom:2.344vw;
  }

  .hotel-rooms-title span{
    display:inline-flex;
    padding:0.521vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(0,176,185,0.12);
    color:#00B0B9;
    font-size:0.677vw;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.026vw;
  }

  .hotel-rooms-title h2{
    font-size:2.188vw;
    line-height:1.1;
    color:#1E3A5F;
    margin-top:0.833vw;
  }

  .hotel-rooms-grid{
    display:flex;
    flex-direction:column;
    gap:1.823vw;
  }

  .hotel-room-card{
    background:#fff;
    border-radius:1.771vw;
    overflow:hidden;
    box-shadow:0 0.781vw 2.083vw rgba(0,0,0,0.05);
    transition:0.35s ease;
    display:flex;
    flex-direction:row;
  }

  .hotel-room-content{
    padding:1.979vw 1.979vw 1.979vw 0;
  }

  .hotel-room-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1.302vw;
    margin-bottom:1.250vw;
  }

  .hotel-room-top h3{
    font-size:1.771vw;
    line-height:1.1;
    color:#1E3A5F;
    margin-bottom:0.729vw;
  }

  .hotel-room-top p{
    color:#5f6b7a;
    font-size:0.781vw;
    line-height:1.9;
  }

  .hotel-room-price{
    min-width:max-content;
    padding:0.729vw 1.146vw;
    border-radius:0.938vw;
    background:#1E3A5F;
    color:#fff;
    font-size:0.938vw;
    font-weight:700;
  }

  .hotel-room-meta{
    display:flex;
    flex-wrap:wrap;
    gap:0.729vw;
    margin-bottom:1.458vw;
  }

  .hotel-room-meta span{
    display:inline-flex;
    align-items:center;
    gap:0.417vw;
    padding:0.625vw 0.938vw;
    border-radius:0.833vw;
    background:#F4F7F8;
    color:#1E3A5F;
    font-size:0.729vw;
    font-weight:600;
  }

  .hotel-room-amenities{
    display:flex;
    flex-wrap:wrap;
    gap:0.625vw;
  }

  .hotel-room-amenities span{
    display:inline-flex;
    padding:0.625vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(0,176,185,0.10);
    color:#00B0B9;
    font-size:0.677vw;
    font-weight:700;
    transition:0.3s ease;
  }

  .hotel-room-amenities span:hover{
    background:#00B0B9;
    color:#fff;
  }


  .hotel-room-slider-wrapper{
    position:relative;
    width:24.976vw;
    margin:auto 2.917vw;
  }

  .hotel-room-slider{
    display:flex;
    overflow-x:auto;
    scroll-behavior:smooth;
    scrollbar-width:none;
    padding-bottom:0.260vw;
  }

  .hotel-room-slider::-webkit-scrollbar{
    display:none;
  }

  .hotel-room-slide{
    min-width:21.875vw;
    flex-shrink:0;
    border-radius:1.250vw;
    overflow:hidden;
  }

  .hotel-room-slide img{
    width:100%;
    height:16.667vw;
    object-fit:cover;
    display:block;
    transition:0.35s ease;
  }

  .hotel-room-slide:hover img{
    transform:scale(1.04);
  }

  .room-slider-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:2.500vw;
    height:2.500vw;
    border:none;
    border-radius:50%;
    background:#00B0B9;
    color:#1E3A5F;
    cursor:pointer;
    z-index:10;
    box-shadow:0 0.521vw 1.302vw rgba(0,0,0,0.12);
    transition:0.3s ease;
  }

  .room-slider-btn:hover{
    background:#00B0B9;
    color:#fff;
  }

  .room-slider-prev{
    left:0.833vw;
  }

  .room-slider-next{
    right:0.833vw;
  }

  .room-slider-btn svg{
    width:1.563vw;
    height:1.563vw;
  }

  .single-event-hero{
    position:relative;
    width:100%;
    height:36.927vw;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
  }

  .single-event-bg{
    position:absolute;
    inset:0;
  }

  .single-event-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .single-event-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
      to top,
      rgba(15,23,42,0.88),
      rgba(15,23,42,0.45)
    );
  }

  .single-event-content{
    position:relative;
    z-index:2;
    width:100%;
    padding:0 5% 0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    margin:0 0 2.344vw;
  }

  .event-hero-tags{
    display:flex;
    gap:0.625vw;
    margin-top:1.250vw;
    margin-bottom:1.250vw;
  }

  .event-hero-tags span{
    padding:0.521vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(255,255,255,0.12);
    backdrop-filter:blur(0.521vw);
    color:#fff;
    font-size:0.677vw;
    font-weight:700;
  }

  .single-event-content h1{
    font-size:4.063vw;
    line-height:1.05;
    color:#fff;
    margin-bottom:1.250vw;
  }

  .single-event-content p{
    max-width:40.625vw;
    color:rgba(255,255,255,0.88);
    font-size:0.938vw;
    line-height:1.9;
    margin-bottom:2.083vw;
  }

  .event-meta-grid{
    display:flex;
    gap:1.250vw;
    flex-wrap:wrap;
    margin-bottom:2.083vw;
  }

  .event-meta-item{
    min-width:12.500vw;
    display:flex;
    gap:0.938vw;
    padding:1.250vw;
    border-radius:1.250vw;
    background:rgba(255,255,255,0.08);
    backdrop-filter:blur(0.625vw);
  }

  .event-meta-item i{
    font-size:1.146vw;
    color:#00B0B9;
  }

  .event-meta-item strong{
    display:block;
    color:#fff;
    margin-bottom:0.313vw;
  }

  .event-meta-item span{
    color:rgba(255,255,255,0.8);
  }

  .event-hero-actions{
    display:flex;
    gap:0.938vw;
    flex-wrap:wrap;
  }

  .single-event-main{
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .single-event-grid{
    display:grid;
    grid-template-columns:1.7fr 1fr;
    gap:2.083vw;
  }

  .event-content-box,
  .event-map-box,
  .sidebar-card{
    background:#fff;
    border-radius:1.875vw;
    padding:2.604vw;
    box-shadow:0 0.781vw 2.604vw rgba(0,0,0,0.04);
  }

  .event-content-box{
    margin-bottom:1.667vw;
  }

  .event-content-box h2,
  .section-heading h2{
    font-size:2.188vw;
    color:#1E3A5F;
    margin-bottom:1.250vw;
  }

  .event-content-box p{
    color:#5f6b7a;
    line-height:2;
    margin-bottom:1.042vw;
  }

  .event-gallery-section{
    margin-bottom:1.667vw;
  }

  .event-gallery-grid{
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 0.938vw;
    width: 100%;
  }

  .gallery-large{
    grid-row:span 2;
    height:32.292vw;
  }

  .gallery-small{
    height:15.625vw;
  }

  .gallery-large,
  .gallery-small{
    border-radius:1.458vw;
    overflow:hidden;
  }

  .gallery-large img,
  .gallery-small img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.4s ease;
  }

  .gallery-large:hover img,
  .gallery-small:hover img{
    transform:scale(1.05);
  }

  .gallery-small{
    position:relative;
    cursor:pointer;
  }

  .gallery-large{
    cursor:pointer;
  }

  .gallery-more-overlay{
    position: absolute;
    left: 50%;
    bottom: 1.042vw;
    transform: translateX(-50%);
    border: none;
    padding: 0.625vw 0.938vw;
    border-radius: 2.604vw;
    background: rgba(255, 255, 255, 0.92);
    color: #1E3A5F;
    font-size: 0.677vw;
    font-weight: 600;
    backdrop-filter: blur(0.417vw);
    cursor: pointer;
    transition: 0.3s ease;
  }

  .gallery-popup{
    position:fixed;
    inset:0;
    background:rgba(7,10,20,0.92);
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    transition:0.3s ease;
  }

  .gallery-popup.active{
    opacity:1;
    visibility:visible;
  }

  .gallery-popup-image{
    width:90%;
    max-width:62.500vw;
    height:80vh;
  }

  .gallery-popup-image img{
    width:100%;
    height:100%;
    object-fit:contain;
  }

  .gallery-close,
  .gallery-prev,
  .gallery-next{
    position:absolute;
    border:none;
    background:rgba(255,255,255,0.12);
    backdrop-filter:blur(0.521vw);
    color:#fff;
    cursor:pointer;
    transition:0.3s ease;
  }

  .gallery-close:hover,
  .gallery-prev:hover,
  .gallery-next:hover{
    background:#00B0B9;
  }

  .gallery-close{
    top:1.563vw;
    right:1.563vw;
    width:2.708vw;
    height:2.708vw;
    border-radius:50%;
    font-size:1.146vw;
  }

  .gallery-prev{
    left:1.563vw;
    top:50%;
    transform:translateY(-50%);
    width:3.021vw;
    height:3.021vw;
    border-radius:50%;
    font-size:2.188vw;
  }

  .gallery-icon-prev{
    width:2.083vw;
    height:2.083vw;
    margin-left:0.729vw;
  }

  .gallery-icon-next{
    width:2.083vw;
    height:2.083vw;
  }

  .gallery-icon-close{
    width:2.188vw;
    height:2.188vw;
  }

  .gallery-next{
    right:1.563vw;
    top:50%;
    transform:translateY(-50%);
    width:3.021vw;
    height:3.021vw;
    border-radius:50%;
    font-size:2.188vw;
  }

  .event-map-placeholder{
    height:21.875vw;
    border-radius:1.458vw;
    background:#e9eef2;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#1E3A5F;
    font-size:1.146vw;
    font-weight:700;
  }

  .organizer-description{
    margin-bottom:1.198vw;
  }

  .single-event-sidebar{
    display:flex;
    flex-direction:column;
    gap:1.250vw;
  }

  .sidebar-card-info h3{
    font-size:1.563vw;
    color:#1E3A5F;
    margin-bottom:0.938vw;
  }

  .sidebar-card p{
    color:#5f6b7a;
    line-height:1.9;
  }

  .no-sticky{
    position:static;
  }

  .event-info-list{
    display:flex;
    flex-direction:column;
    gap:0.938vw;
    padding:0;
    margin:0;
    list-style:none;
  }

  .event-info-list li i{
    color:#00B0B9;
    font-size:0.729vw;
    flex-shrink:0;
  }

  .event-info-list li{
    color:#5f6b7a;
    line-height:1.8;
  }

  .event-share{
    display:flex;
    gap:0.729vw;
  }

  .event-share a{
    width:2.708vw;
    height:2.708vw;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:0.938vw;
    background:#F8FAFB;
    color:#1E3A5F;
    font-size:0.938vw;
    transition:0.3s ease;
  }

  .event-share a:hover{
    background:#00B0B9;
    color:#fff;
    transform:translateY(-0.208vw);
  }

  .event-map{
    width:57.083vw;
    height:21.875vw;
    border-radius:1.458vw;
  }

  .more-events-section{
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .more-events-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:1.250vw;
  }

  .more-event-card{
    background:#fff;
    border-radius:1.563vw;
    overflow:hidden;
    transition:0.35s ease;
    box-shadow:0 0.521vw 1.823vw rgba(0,0,0,0.04);
  }

  .more-event-card:hover{
    transform:translateY(-0.417vw);
  }

  .more-event-image{
    position:relative;
    display:block;
    height:13.542vw;
    overflow:hidden;
  }

  .more-event-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.5s ease;
  }

  .more-event-card:hover img{
    transform:scale(1.06);
  }

  .more-event-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
      to top,
      rgba(0,0,0,0.5),
      rgba(0,0,0,0.08)
    );
  }

  .more-event-date{
    position:absolute;
    top:0.938vw;
    left:0.938vw;
    width:3.229vw;
    height:3.750vw;
    border-radius:1.042vw;
    background:rgba(255,255,255,0.16);
    backdrop-filter:blur(0.521vw);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:0.625vw;
    font-weight:700;
  }

  .more-event-date span{
    font-size:1.250vw;
    line-height:1;
  }

  .more-event-content{
    padding:1.354vw;
  }

  .more-event-type{
    display:inline-block;
    margin-bottom:0.729vw;
    color:#00B0B9;
    font-size:0.677vw;
    font-weight:700;
  }

  .more-event-content h3{
    font-size:1.250vw;
    line-height:1.2;
    margin-bottom:0.729vw;
  }

  .more-event-content h3 a{
    color:#1E3A5F;
  }

  .more-event-content p{
    color:#5f6b7a;
    line-height:1.8;
    margin-bottom:1.042vw;
    font-size:0.781vw;
  }

  .more-event-location{
    display:flex;
    align-items:center;
    gap:0.521vw;
    color:#D69B2D;
    font-size:0.729vw;
    font-weight:600;
  }

  .more-event-location i{
    font-size:0.677vw;
  }

  .events-cta-section{
    padding:0 5% 5.208vw;
    background:#F8FAFB;
  }

  .events-cta-box{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg, #1E3A5F, #00B0B9);
    border-radius:2.188vw;
    display:grid;
    grid-template-columns:21.875vw 1fr;
    align-items:center;
    min-height:21.875vw;
  }

  .events-cta-box::before{
    content:"";
    position:absolute;
    width:21.875vw;
    height:21.875vw;
    border-radius:50%;
    background:rgba(255,255,255,0.05);
    top:-9.375vw;
    right:-6.250vw;
  }

  .events-cta-image{
    position:relative;
    height:100%;
  }

  .events-cta-image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .events-cta-content{
    position:relative;
    z-index:2;
    padding:3.646vw;
  }

  .events-cta-content h2{
    font-size:3.021vw;
    line-height:1.05;
    color:#fff;
    margin-bottom:1.250vw;
  }

  .events-cta-content p{
    max-width:37.500vw;
    color:rgba(255,255,255,0.88);
    font-size:0.885vw;
    line-height:1.9;
    margin-bottom:1.771vw;
  }

  .events-cta-actions{
    display:flex;
    align-items:center;
    gap:0.938vw;
  }

  .events-cta-actions .primary-btn{
    height:3.229vw;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 1.771vw;
    border-radius:1.042vw;
    background:#fff;
    color:#1E3A5F;
    font-size:0.781vw;
    font-weight:700;
    transition:0.3s ease;
  }

  .events-cta-actions .primary-btn:hover{
    transform:translateY(-0.208vw);
  }

  .horarios-item{
    align-items:flex-start;
  }

  .horarios-list{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:0.521vw;
  }

  .horario-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:0.781vw;
    padding:0.521vw 0.729vw;
    border-radius:0.729vw;
    background:#f7f7f7;
    transition:0.3s ease;
  }

  .horario-row.active-day{
    background:#00b0b91f;
    border:0.052vw solid #00b0b91f;
  }

  .horario-dia{
    font-weight:700;
    color:#666;
  }

  .horario-hora{
    font-size:0.729vw;
    color:#666;
    text-align:right;
  }

  .horario-row.active-day .horario-dia{
    color:#00B0B9;
  }

  .horario-row.active-day .horario-hora{
    color:#00B0B9;
    font-weight:600;
  }

  .sidebar-map-card{
    margin-top:1.250vw;
    margin-bottom:1.250vw;
    background:#fff;
    border-radius:1.042vw;
    overflow:hidden;
    border:0.052vw solid rgba(0,0,0,0.06);
    box-shadow:0 0.521vw 1.563vw rgba(0,0,0,0.04);
  }

  .sidebar-map-preview{
    width:100%;
    height:11.458vw;
    overflow:hidden;
  }

  .sidebar-map-preview iframe{
    width:100%;
    height:100%;
    border:0;
    filter:grayscale(0.1);
  }

  .sidebar-map-btn{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0.521vw;
    padding:0.833vw;
    background:#00B0B9;
    color:#fff;
    font-weight:700;
    text-decoration:none;
    transition:0.25s ease;
  }

  .sidebar-map-btn:hover{
    background:#008c95;
  }

  .sidebar-map-btn i{
    font-size:0.781vw;
  }

  .single-local-hero{
    height:10.417vw !important;
  }

  .title-info-slide-data{
    display:flex;
    flex-direction:row;
  }

  .sidebar-subtitle{
    color:#00B0B9;
    font-size:0.833vw;
    margin-left:0.469vw;
  }

  .login-btn{
    background:#00B0B9;
    color:#fff;
    padding:0.625vw 1.146vw;
    border-radius:2.083vw;
    font-size:0.729vw;
    font-weight:600;
    transition:0.3s;
    border:none;
  }

  .login-btn:hover{
    background:#008c95;
  }

  .profile-btn{
    width:2.188vw;
    height:2.188vw;
    border-radius:50%;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    border:0.104vw solid #e5e7eb;
    transition:.3s;
  }

  .profile-btn:hover{
    transform:scale(1.05);
  }

  .profile-btn img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .login-btn i{
    color:#fff;
  }

  .search-results-page{
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .search-results-top{
    padding: 0 5% 3.646vw;
    text-align: center;
    background: #F8FAFB;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .search-results-top h1{
    font-size:3.021vw;
    line-height:1.1;
    color:#1E3A5F;
    margin-bottom:1.042vw;
    font-weight:800;
  }

  .search-results-top h1 span{
    color:#00B0B9;
  }

  .search-results-top p{
    color:#5f6b7a;
    font-size:0.885vw;
    font-weight:500;
    line-height:1.8;
  }

  .discover-extra{
    display:inline-flex;
    align-items:center;
    gap:0.417vw;
    font-size:0.729vw;
    font-weight:700;
  }

  .discover-extra.open{
    background:#dff7ef;
    color:#16a34a;
    padding:0.625vw 0.938vw;
    border-radius:2.604vw;
    font-size:0.729vw;
    font-weight:600;
    box-shadow:0 0.417vw 1.302vw rgba(0,0,0,0.04);
  }

  .discover-extra.closed{
    background:#f7dfdf;
    color:#F04438;
    padding:0.625vw 0.938vw;
    border-radius:2.604vw;
    font-size:0.729vw;
    font-weight:600;
    box-shadow:0 0.417vw 1.302vw rgba(0,0,0,0.04);
  }

  .discover-extra.open::before{
    font-size:0.521vw;
  }

  .discover-extra.closed::before{
    font-size:0.521vw;
  }

  #auth-loader{
    position:fixed;
    inset:0;
    background:#fff;
    z-index:99999;
    display:flex;
    justify-content:center;
    align-items:center;
    transition:.4s;
  }

  #auth-loader.hidden{
    opacity:0;
    visibility:hidden;
  }

  .loader-box{
    text-align:center;
  }

  .loader-box img{
    width:4.167vw;
    margin-bottom:0.781vw;
  }

  .loader-box span{
    display:block;
    font-weight:600;
  }

  .profile-page{
    padding:6.250vw 5%;
    background:#F8FAFB;
    min-height:100vh;
  }

  .profile-cover{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    margin-bottom:2.604vw;
  }

  .profile-avatar{
    width:7.292vw;
    height:7.292vw;
    border-radius:50%;
    overflow:hidden;
    border:0.208vw solid #00B0B9;
    margin-bottom:1.042vw;
    background:#fff;
  }

  .profile-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .profile-cover h1{
    font-size:2.188vw;
    color:#1E3A5F;
    margin-bottom:0.521vw;
  }

  .profile-cover p{
    color:#7A8794;
    font-size:0.833vw;
  }

  .profile-layout{
    display:grid;
    grid-template-columns:14.583vw 1fr;
    gap:1.563vw;
  }

  .profile-sidebar{
    background:#fff;
    border-radius:1.458vw;
    padding:1.042vw;
    height:fit-content;
    box-shadow:0 0.781vw 2.083vw rgba(0,0,0,.05);
    display:flex;
    flex-direction:column;
    gap:0.521vw;
  }

  .profile-menu-item{
    width:100%;
    display:flex;
    align-items:center;
    gap:0.625vw;
    border:none;
    background:none;
    padding:0.833vw 0.938vw;
    border-radius:0.833vw;
    color:#1E3A5F;
    font-size:0.781vw;
    font-weight:600;
    cursor:pointer;
    transition:.3s ease;
  }

  .profile-menu-item:hover{
    background:#eef6f7;
  }

  .profile-menu-item.active{
    background:#00B0B9;
    color:#fff;
  }

  .profile-menu-item.logout{
    margin-top:1.042vw;
    color:#D9534F;
  }

  .profile-main{
    width:100%;
  }

  .profile-content{
    display:none;
  }

  .profile-content.active{
    display:block;
  }

  .profile-card{
    background:#fff;
    border-radius:1.458vw;
    padding:1.823vw;
    box-shadow:0 0.781vw 2.083vw rgba(0,0,0,.05);
  }

  .profile-card h2{
    font-size:1.667vw;
    color:#1E3A5F;
    margin-bottom:0.625vw;
  }

  .profile-card p{
    color:#7A8794;
    line-height:1.8;
    margin-bottom:1.042vw;
  }

  .empty-state{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-height:13.542vw;
  }

  .empty-state i{
    font-size:2.708vw;
    color:#00B0B9;
    margin-bottom:1.042vw;
  }

  .empty-state h3{
    font-size:1.458vw;
    color:#1E3A5F;
    margin-bottom:0.521vw;
  }

  .empty-state p{
    max-width:21.875vw;
  }

  .account-info{
    margin-top:1.563vw;
    display:flex;
    flex-direction:column;
    gap:1.042vw;
  }

  .account-info div{
    padding:1.042vw;
    border-radius:0.938vw;
    background:#F8FAFB;
  }

  .account-info strong{
    display:block;
    margin-bottom:0.417vw;
    color:#1E3A5F;
  }

  .account-info span{
    color:#7A8794;
  }

  .favorite-btn.active{
    background:#D69B2D !important;
  }

  .favorite-btn.active i{
    color:#fff;
  }

  .review-form-box{
    margin-top:1.563vw;
    padding-top:1.302vw;
    border-top:0.052vw solid #e5e5e5;

  }

  .review-form-box h3{
    margin-bottom:0.781vw;
  }

  .review-stars-selector{
    display:flex;
    gap:0.313vw;
    margin-bottom:0.781vw;
  }

  .review-stars-selector span{
    font-size:1.667vw;
    color:#d4d4d4;
    cursor:pointer;
    transition:.2s;
  }

  .review-stars-selector span.active{
    color:#f4b400;
  }

  #review-comment{
    width:100%;
    min-height:6.250vw;
    border:0.052vw solid #ddd;
    border-radius:0.625vw;
    padding:0.781vw;
    resize:vertical;
    margin-bottom:0.781vw;
  }

  #review-login-message{
    padding:0.781vw;
    border-radius:0.625vw;
    background:#f7f7f7;
  }

  .reviews-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    z-index:9999;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:1.042vw;
  }

  .reviews-modal-content{
    width:100%;
    max-width:46.875vw;
    max-height:85vh;
    overflow-y:auto;
    background:#111;
    border-radius:1.042vw;
    padding:1.302vw;
    border:0.052vw solid rgba(255,255,255,.08);
  }

  .reviews-modal-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:1.302vw;
  }

  .reviews-modal-header h2{
    margin:0;
    color:#fff;
  }

  #close-reviews-modal{
    background:transparent;
    border:none;
    font-size:1.667vw;
    color:#fff;
    cursor:pointer;
  }

  #all-reviews-list{
    display:grid;
    gap:1.042vw;
  }

  .login-required-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    z-index:10000;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:1.042vw;
  }

  .login-required-box{
    width:100%;
    max-width:23.438vw;
    background:#fff;
    border-radius:1.042vw;
    padding:1.823vw 1.563vw;
    text-align:center;
    position:relative;
    box-shadow:0 1.042vw 2.604vw rgba(0,0,0,.25);
  }

  .login-required-logo{
    width:6.250vw;
    height:auto;
    margin-bottom:1.042vw;
  }

  .login-required-box h2{
    margin-bottom:0.521vw;
  }

  .login-required-box p{
    color:#666;
    margin-bottom:1.302vw;
  }

  .login-required-btn{
    width:100%;
    border:none;
    border-radius:0.625vw;
    padding:0.729vw;
    cursor:pointer;
    font-weight:600;
    background:#f4b400;
    color:#111;
    transition:.2s;
  }

  .login-required-btn:hover{
    transform:translateY(-0.104vw);
  }

  .login-required-close{
    position:absolute;
    top:0.625vw;
    right:0.781vw;
    background:none;
    border:none;
    font-size:1.458vw;
    cursor:pointer;
    color:#888;
  }

  #profile-reviews-list{
    display:grid;
    gap:1.042vw;
    grid-template-columns:repeat(3,1fr);
  }

  .profile-review-card{
    background:#F8FAFB;
    border:0.052vw solid rgba(0,176,185,.12);
    border-radius:1.146vw;
    padding:1.250vw;
    box-shadow:0 0.521vw 1.563vw rgba(0,0,0,.04);
  }

  .profile-review-card h3{
    color:#1E3A5F;
    font-size:1.146vw;
    margin-bottom:0.521vw;
  }

  .profile-review-card .review-stars{
    color:#f4b400;
    font-size:0.938vw;
    margin-bottom:0.729vw;
  }

  .profile-review-card p{
    color:#5f6b7a;
    font-size:0.781vw;
    line-height:1.8;
    margin-bottom:0.938vw;
  }

  .profile-review-actions{
    display:flex;
    flex-direction:row;
    gap:0.521vw;
  }

  .profile-review-actions a,
  .profile-review-actions button{
    border:none;
    border-radius:0.625vw;
    padding:0.521vw 0.938vw;
    cursor:pointer;
    font-size:0.729vw;
    font-weight:600;
    text-decoration:none;
    transition:.25s ease;
    display:flex;
    align-items:center;
  }

  .profile-review-actions .business-btn{
    background:#1E3A5F;
    color:#fff;
  }

  .profile-review-edit{
    background:#F4B400;
    color:#111;
  }

  .profile-review-delete{
    background:#DC3545;
    color:#fff;
  }

  .profile-review-actions a:hover,
  .profile-review-actions button:hover{
    transform:translateY(-0.104vw);
  }

  .profile-review-actions .business-btn{
    padding:0.625vw 1.146vw;
    border-radius:0.729vw;
  }

  .todo-toast{
    position:fixed;
    right:1.250vw;
    bottom:1.250vw;
    background:#1E3A5F;
    color:#fff;
    padding:0.729vw 1.042vw;
    border-radius:0.833vw;
    box-shadow:0 0.938vw 2.083vw rgba(0,0,0,.18);
    font-size:0.729vw;
    font-weight:600;
    z-index:12000;
    opacity:0;
    pointer-events:none;
    transform:translateY(1.042vw);
    transition:.3s ease;
  }

  .todo-toast.show{
    opacity:1;
    transform:translateY(0);
  }

  .todo-toast.success{
    background:#1E3A5F;
  }

  .todo-toast.error{
    background:#D9534F;
  }

  .place-top-info .favorite-btn{
    position:relative;
    top:0.833vw;
    right:0.833vw;
    width:2.292vw;
    height:2.292vw;
    border:none;
    background:#00B0B9;
    border-radius:50%;
    backdrop-filter:blur(0.521vw);
    color:#fff;
    cursor:pointer;
    transition:0.3s ease;
  }

  .place-top-info .favorite-btn:hover{
    background:#00B0B9;
  }

  .div-footer-categories{
    display:flex;
    column-gap:3.438vw;
    flex-direction:row;
    width:33.542vw;
  }

  .about-page-hero{
    position:relative;
    min-height:27.083vw;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:6.250vw 5%;
    background:
    linear-gradient(rgba(30,58,95,.75), rgba(30,58,95,.75)),
    url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?q=80&w=2070&auto=format&fit=crop');
    background-size:cover;
    background-position:center;
  }

  .about-page-content{
    position:relative;
    max-width:46.875vw;
    z-index:2;
  }

  .about-page-content span,
  .section-mini{
    display:inline-flex;
    padding:0.521vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(0,176,185,.14);
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:700;
    margin-bottom:0.938vw;
    width: fit-content;
  }

  .section-mini.light{
    background:rgba(255,255,255,.16);
    color:#fff;
  }

  .about-page-content h1{
    color:#fff;
    font-size:3.333vw;
    line-height:1.05;
    margin-bottom:1.146vw;
  }

  .about-page-content p{
    color:rgba(255,255,255,.9);
    font-size:0.990vw;
    line-height:1.8;
  }

  .about-page-section,
  .about-goals-section,
  .about-final-section{
    padding:5.729vw 5%;
    background:#F8FAFB;
  }

  .about-page-container{
    max-width:62.500vw;
    margin:0 auto;
  }

  .about-page-section .about-page-container{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:2.604vw;
    align-items:center;
  }

  .about-page-text h2,
  .about-section-heading h2,
  .about-offer-text h2,
  .about-final-content h2{
    color:#1E3A5F;
    font-size:2.292vw;
    line-height:1.15;
    margin-bottom:1.250vw;
  }

  .about-page-text p,
  .about-offer-text p,
  .about-final-content p{
    color:#5f6b7a;
    font-size:0.833vw;
    line-height:1.9;
    margin-bottom:0.938vw;
  }

  .about-page-card{
    background:#fff;
    border-radius:1.458vw;
    padding:1.823vw;
    box-shadow:0 0.938vw 2.604vw rgba(0,0,0,.06);
  }

  .about-page-card h3{
    color:#1E3A5F;
    font-size:1.354vw;
    margin-bottom:1.042vw;
  }

  .about-page-card ul{
    display:flex;
    flex-direction:column;
    gap:0.833vw;
  }

  .about-page-card li{
    color:#5f6b7a;
    line-height:1.7;
  }

  .about-section-heading{
    text-align:center;
    max-width:44.271vw;
    margin:0 auto 2.865vw;
  }

  .about-goals-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.250vw;
  }

  .about-goal-card{
    background:#fff;
    border-radius:1.354vw;
    padding:1.667vw 1.354vw;
    box-shadow:0 0.729vw 2.083vw rgba(0,0,0,.05);
    transition:.3s ease;
  }

  .about-goal-card:hover{
    transform:translateY(-0.313vw);
  }

  .about-goal-card i{
    width:2.813vw;
    height:2.813vw;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:0.938vw;
    background:rgba(0,176,185,.12);
    color:#00B0B9;
    font-size:1.146vw;
    margin-bottom:1.146vw;
  }

  .about-goal-card h3{
    color:#1E3A5F;
    font-size:1.146vw;
    margin-bottom:0.729vw;
  }

  .about-goal-card p{
    color:#5f6b7a;
    font-size:0.781vw;
    line-height:1.8;
  }

  .about-offer-section{
    padding:5.729vw 5%;
    background:#1E3A5F;
  }

  .about-offer-box{
    display:grid;
    grid-template-columns:.8fr 1.1fr;
    gap:2.604vw;
    align-items:center;
  }

  .about-offer-text h2,
  .about-offer-text p{
    color:#fff;
  }

  .about-offer-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:0.833vw;
  }

  .about-offer-list span{
    background:rgba(255,255,255,.1);
    color:#fff;
    padding:0.833vw 0.938vw;
    border-radius:0.833vw;
    font-size:0.781vw;
    font-weight:600;
    border:0.052vw solid rgba(255,255,255,.08);
  }

  .about-final-section{
    background:#fff;
  }

  .about-final-content{
    max-width:46.875vw;
    margin:0 auto;
    text-align:center;
  }

  .about-final-content h2{
    font-size:2.396vw;
  }

  .legal-hero{
    width:100%;
    padding:6.771vw 5%;
    background:linear-gradient(135deg,#1E3A5F,#00B0B9);
    text-align:center;
  }

  .legal-hero-content{
    max-width:46.875vw;
    margin:auto;
  }

  .legal-hero-content span{
    display:inline-flex;
    padding:0.521vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(255,255,255,.16);
    color:#fff;
    font-size:0.729vw;
    font-weight:700;
    margin-bottom:0.938vw;
  }

  .legal-hero-content h1{
    color:#fff;
    font-size:2.813vw;
    line-height:1.1;
    margin-bottom:1.042vw;
  }

  .legal-hero-content p{
    color:rgba(255,255,255,.9);
    font-size:0.938vw;
    line-height:1.8;
  }

  .legal-section{
    padding:4.688vw 5%;
    background:#F8FAFB;
  }

  .legal-container{
    max-width:52.083vw;
    margin:auto;
  }

  .legal-card{
    background:#fff;
    border-radius:1.458vw;
    padding:2.865vw;
    box-shadow:0 0.938vw 2.604vw rgba(0,0,0,.06);
  }

  .legal-date{
    display:inline-flex;
    padding:0.521vw 0.833vw;
    border-radius:2.604vw;
    background:rgba(0,176,185,.12);
    color:#00B0B9;
    font-weight:700;
    margin-bottom:1.458vw;
  }

  .legal-card h2{
    color:#1E3A5F;
    font-size:1.354vw;
    margin:1.771vw 0 0.729vw;
  }

  .legal-card p{
    color:#5f6b7a;
    font-size:0.833vw;
    line-height:1.9;
    margin-bottom:0.729vw;
  }

  .back-to-top{
    position:fixed;
    right:1.250vw;
    bottom:1.823vw;
    width:2.708vw;
    height:2.708vw;
    border:none;
    border-radius:50%;
    background:#00B0B9;
    color:#fff;
    font-size:0.938vw;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 0.729vw 1.823vw rgba(0,0,0,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(0.781vw);
    transition:.3s ease;
    z-index:999998;
  }

  .back-to-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .back-to-top:hover{
    background:#1E3A5F;
    transform:translateY(-0.208vw);
  }

  .aside-movil {
    display: none;
  }

  .mobile-menu {
    display: none;
  }

  .slider-wrapper-movil {
    display: none;
  }

  .sect-gallery-event-mobil {
    display: none;
  }

  .notifications-toggle{
    position:relative;
    border:none;
    background:none;
    cursor:pointer;
  }

  .notifications-count{
    position:absolute;
    top:-8px;
    right:-8px;
    min-width:18px;
    height:18px;
    border-radius:50px;
    background:#D69B2D;
    color:#fff;
    font-size:11px;
    font-weight:700;
    display:none;
    align-items:center;
    justify-content:center;
  }

  .notifications-popup{
    position:fixed;
    top:90px;
    right:5%;
    width:500px;
    max-height:70vh;
    overflow-y:auto;
    background:#fff;
    border-radius:24px;
    padding:20px;
    z-index:999999;
    box-shadow:0 20px 60px rgba(0,0,0,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    transition:.3s ease;
  }

  .notifications-popup.active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .notifications-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:16px;
  }

  .notifications-header h3{
    color:#1E3A5F;
    font-size:22px;
  }

  #notifications-close{
    border:none;
    background:#eef6f7;
    width:34px;
    height:34px;
    border-radius:50%;
    cursor:pointer;
  }

  .notification-item{
    display:flex;
    gap:14px;
    padding:14px;
    border-radius:18px;
    background:#F8FAFB;
    margin-bottom:12px;
    text-decoration:none;
  }

  .notification-img{
    width:48px;
    min-width:48px;
    height:48px;
    border-radius:14px;
    overflow:hidden;
    background:#00B0B9;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
  }

  .notification-img img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .notification-info h4{
    color:#1E3A5F;
    font-size:15px;
    margin-bottom:4px;
  }

  .notification-info p{
    color:#5f6b7a;
    font-size:13px;
    line-height:1.4;
    margin-bottom:5px;
  }

  .notification-info span{
    color:#9ca3af;
    font-size:12px;
  }

  .notifications-unread-dot{
    position:absolute;
    top:0;
    right:0;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#D69B2D;
    display:none!important;
    box-shadow:0 0 0 3px #fff;
  }

  .notifications-unread-dot.show{
    display:block;
  }

  .notification-item.unread{
    border:1px solid rgba(214,155,45,.45);
    background:#fffaf0;
  }

  .notification-item.read{
    opacity:.75;
  }

  

}











/*
=========================================
SINGLE EVENTO / GALERÍA
=========================================
*/

.event-gallery-section{
    width:100%;
}

.gallery-large,
.gallery-small{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    cursor:pointer;
    background:#eef4f6;
}

.gallery-large{
    grid-column:1 / 2;
    grid-row:1 / 3;
}

.gallery-small{
    min-height:220px;
}

.gallery-large img,
.gallery-small img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .35s ease;
}

.gallery-large:hover img,
.gallery-small:hover img{
    transform:scale(1.05);
}



/*
=========================================
POPUP GALERÍA
=========================================
*/

.gallery-popup{
    position:fixed;
    inset:0;
    z-index:99999;
    background:rgba(5, 16, 28, .92);
    display:none;
    align-items:center;
    justify-content:center;
    padding:32px;
}

.gallery-popup.active{
    display:flex;
}

.gallery-popup-image{
    width:min(100%, 980px);
    height:min(80vh, 680px);
    display:flex;
    align-items:center;
    justify-content:center;
}

.gallery-popup-image img{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    border-radius:18px;
}

.gallery-close,
.gallery-prev,
.gallery-next{
    position:absolute;
    border:none;
    background:rgba(255,255,255,.12);
    width:54px;
    height:54px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:.25s ease;
}

.gallery-close:hover,
.gallery-prev:hover,
.gallery-next:hover{
    background:rgba(255,255,255,.24);
}

.gallery-close{
    top:24px;
    right:24px;
}

.gallery-prev{
    left:28px;
    top:50%;
    transform:translateY(-50%);
}

.gallery-next{
    right:28px;
    top:50%;
    transform:translateY(-50%);
}

.gallery-icon-close,
.gallery-icon-prev,
.gallery-icon-next{
    width:28px;
    height:28px;
}

/*
=========================================
GALERÍA MÓVIL
=========================================
*/

.event-gallery-mobile-slider{
    display:none;
}

@media(max-width:768px){

    .event-gallery-grid{
        display:none;
    }

    .event-gallery-mobile-slider{
        display:block;
        margin-top:22px;
        width:100%;
    }

    .event-gallery-mobile-track{
        display:flex;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        scroll-behavior:smooth;
        border-radius:22px;
        -webkit-overflow-scrolling:touch;
    }

    .event-gallery-mobile-track::-webkit-scrollbar{
        display:none;
    }

    .event-gallery-mobile-slide{
        min-width:100%;
        height:320px;
        scroll-snap-align:start;
        overflow:hidden;
        background:#eef4f6;
    }

    .event-gallery-mobile-slide img{
        width:100%;
        height:100%;
        object-fit:cover;
        display:block;
    }

    .event-gallery-mobile-dots{
        display:flex;
        justify-content:center;
        gap:8px;
        margin-top:14px;
    }

    .mobile-gallery-dot{
        width:8px;
        height:8px;
        border-radius:999px;
        border:none;
        background:#c6d5dc;
        padding:0;
        cursor:pointer;
    }

    .mobile-gallery-dot.active{
        width:22px;
        background:#00B0B9;
    }

    .gallery-prev,
    .gallery-next{
        display:none;
    }

    .gallery-popup{
        padding:18px;
    }

    .gallery-close{
        top:18px;
        right:18px;
    }

}
























@media(max-width:899px){

  *{
    margin:0;
    padding:0;
    box-sizing:border-box;
  }

  body{
    font-family:'Poppins', sans-serif;
    background:#f5f5f5;
  }

  a{
    text-decoration:none;
  }

  ul{
    list-style:none;
  }

  .hero{
    width:100%;
    height:100vh;
    background:
    linear-gradient(to bottom,
    rgba(0,0,0,0.35),
    rgba(0,0,0,0.45),
    rgba(255,255,255,0.2),
    rgba(255,255,255,1)),
    url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?q=80&w=1974&auto=format&fit=crop');
    background-size:cover;
    background-position:center;
    position:relative;
    overflow:hidden;
  }

  header{
    width:100%;
    position:absolute;
    top:0;
    left:0;
    z-index:10;
    padding:2.938vw 3.604vw;
  }

  .logo-header-prim{
    width: 9.344vw;
    height: 9.344vw;
    object-fit: cover;
    margin-right: 0.625vw;
  }

  .navbar{
    width: 100%;
    background: #ffffff;
    border-radius: 3.938vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.938vw 2.25vw;
    box-shadow: 0 0.521vw 1.563vw rgba(0, 0, 0, 0.08);
  }

  .logo{
    font-size:5.458vw;
    font-weight:700;
    color:#008c95;
    display:flex;
    flex-direction:row;
    align-items:center;
  }

  .nav-right{
    display:flex;
    align-items:center;
    gap:1.042vw;
  }

  .nav-icons{
    display:flex;
    align-items:center;
    gap: 2.938vw;
  }

  .nav-icons i{
    color: #008c95;
    font-size: 7.458vw;
    cursor: pointer;
    transition: 0.3s;
  }

  .nav-icons a .display-movil, .nav-icons a, .nav-icons .login-btn {
    display: none!important;
  }

  .nav-icons i:hover{
    color:#008c95;
  }

  .contact-btn{
    display: none;
    background: #00B0B9;
    color: #fff;
    padding: 2.938vw 5.083vw;
    border-radius: 6.604vw;
    font-size: 2.833vw;
    font-weight: 600;
    transition: 0.3s;
  }

  .contact-btn:hover{
    background:#008c95;
  }

  .hero-content{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:0 1.042vw;
  }

  .hero-content h1{
    color: #fff;
    font-size: 10.646vw;
    font-weight: 800;
    margin-bottom: 3.938vw;
    line-height: 1.1;
    max-width: 83.875vw;
    text-shadow: 0 0.521vw 1.563vw rgba(0, 0, 0, 0.3);
  }

  .hero-content p{
    color: #fff;
    font-size: 3.5vw;
    font-weight: 400;
    max-width: 84.875vw;
    line-height: 1.7;
    margin-bottom: 4.083vw;
    text-shadow: 0 0.521vw 1.042vw rgba(0, 0, 0, 0.2);
  }

  .search-box{
    width: 100%;
    max-width: 85.271vw;
    background: rgba(120, 120, 120, 0.45);
    backdrop-filter: blur(0.729vw);
    border: 0.052vw solid rgba(255, 255, 255, 0.2);
    border-radius: 9.646vw;
    padding: 2.625vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.781vw;
    margin-bottom: 8.604vw;
    box-shadow: 0 1.042vw 2.604vw rgba(0, 0, 0, 0.2);
  }

  .search-left{
    display: flex;
    align-items: center;
    flex: 1;
    padding-left: 2.938vw;
    gap: 1.781vw;
  }

  .search-left i{
    color:#fff;
    font-size:2.938vw;
  }

  .search-left input{
    width:100%;
    background:transparent;
    border:none;
    outline:none;
    color:#fff;
    font-size:3.26vw;
    font-family:'Poppins', sans-serif;
  }

  .search-left input::placeholder{
    color:rgba(255,255,255,0.85);
  }

  .search-btn{
    background: #efb443;
    color: #fff;
    border: none;
    border-radius: 6.604vw;
    padding: 2.938vw 5.083vw;
    font-size: 3.26vw;
    font-weight: 600;
    cursor: pointer;
    transition: 0.3s;
  }

  .search-btn:hover{
    background:#db9d22;
    transform:translateY(-0.104vw);
  }

  .categories{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.563vw 6vw;
    justify-items: center;
    align-items: center;
  }

  .category-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0.625vw;
    cursor:pointer;
    transition:0.3s;
  }

  .category-item:hover{
    transform:translateY(-0.313vw);
  }

  .category-icon{
    width: 17.063vw;
    height: 17.063vw;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(0.625vw);
    border: 0.052vw solid rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 9.25vw;
    transition: 0.3s;
  }

  .category-item:hover .category-icon{
    background:#008c95;
  }

  .category-item span{
    color: #fff;
    font-size: 3vw;
    font-weight: 500;
    text-shadow: 0 0.260vw 0.781vw rgba(0, 0, 0, 0.3);
  }

  .ads-section{
    width:100%;
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .ads-header{
    margin-bottom:2vw;
  }

  .ads-header h2{
    font-size: 5.885vw;
    font-weight: 700;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .ads-header p{
    max-width: max-content;
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .ads-slider{
    position:relative;
    width:100%;
    overflow:hidden;
    border-radius:2.458vw;
  }

  .ads-track{
    position:relative;
    width:100%;
    height:110.583vw;
  }

  .ad-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transform:translateX(4.167vw);
    transition:
    opacity 0.8s ease,
    transform 0.8s ease,
    visibility 0.8s;
  }

  .ad-slide.active{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
  }

  .ad-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:3.563vw;
  }

  .ad-overlay{
    position:absolute;
    inset:0;
    border-radius:3.563vw;
    background:
    linear-gradient(
      to right,
      rgba(0,0,0,0.75),
      rgba(0,0,0,0.35),
      rgba(0,0,0,0.15)
    );
  }

  .ad-content{
    position: absolute;
    top: 27%;
    left: 3.125vw;
    transform: translateY(-50%);
    z-index: 2;
    max-width: 88.542vw;
  }

  .ad-badge{
    display: inline-flex;
    align-items: center;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(0.625vw);
    border: 0.052vw solid rgba(255, 255, 255, 0.15);
    color: #fff;
    font-size: 3.729vw;
    margin-bottom: 2vw;
  }

  .ad-content h3{
    font-size: 5.885vw;
    color: #fff;
    line-height: 1.1;
    font-weight: 700;
    margin-bottom: 2vw;
  }

  .ad-content p{
    color: rgba(255, 255, 255, 0.92);
    font-size: 2.885vw;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .ad-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: #efb443;
    color: #fff;
    font-size: 3.729vw;
    font-weight: 600;
    transition: 0.3s ease;
  }

  .ad-btn:hover{
    background:#db9d22;
    transform:translateY(-0.104vw);
  }

  .slider-dots{
    position:absolute;
    left:50%;
    bottom:1.302vw;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:0.625vw;
    z-index:3;
  }

  .dot{
    width: 3.625vw;
    height: 3.625vw;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    transition: 0.3s ease;
  }

  .dot.active{
    width:5.771vw;
    border-radius:3.042vw;
    background:#fff;
  }

  .discover-section{
    width:100%;
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .discover-header{
    margin-bottom:2vw;
  }

  .discover-badge{
    display: inline-flex;
    align-items: center;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: rgba(0, 176, 185, 0.12);
    color: #00B0B9;
    font-size: 3.729vw;
    font-weight: 600;
    margin-bottom: 2vw;
  }

  .discover-header h2{
    font-size: 5.885vw;
    font-weight: 700;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .discover-header p{
    max-width: max-content;
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .discover-tabs{
    display: grid;
    justify-content: center;
    gap: 2vw;
    margin-bottom: 2vw;
    grid-template-columns: repeat(2, 1fr);
  }

  .discover-tab{
    border: none;
    outline: none;
    padding: 2.625vw 2.938vw;
    border-radius: 5.604vw;
    background: #fff;
    color: #1E3A5F;
    font-size: 3.729vw;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 0.521vw 1.563vw rgba(0, 0, 0, 0.05);
    transition: 0.3s ease;
  }

  .discover-tab.active{
    background:#00B0B9;
    color:#fff;
  }

  .discover-panel{
    display:none;
  }

  .discover-panel.active{
    display:block;
    animation:fadeDiscover 0.4s ease;
  }

  .discover-list{
    display: flex;
    grid-template-columns: none;
    gap: 5vw;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    flex-direction: row;
  }

  .discover-item{
    background: #fff;
    border-radius: 3.563vw;
    overflow: hidden;
    transition: 0.35s ease;
    flex: 0 0 70vw;
    scroll-snap-align: start;
  }

  .discover-item:hover{
    transform:translateY(-0.313vw);
  }

  .discover-image{
    position:relative;
    min-height:16.667vw;
    overflow:hidden;
    height:64.125vw;
  }

  .discover-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.5s ease;
  }

  .discover-item:hover img{
    transform:scale(1.05);
  }

  .discover-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
      to top,
      rgba(0,0,0,0.45),
      rgba(0,0,0,0.05)
    );
  }

  .discover-type{
    position: absolute;
    top: 2.042vw;
    left: 2.042vw;
    padding: 1.625vw 2.938vw;
    border-radius: 5.604vw;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(0.521vw);
    color: #fff;
    font-size: 3.729vw;
    font-weight: 600;
  }

  .discover-content{
    padding:2.771vw;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }

  .discover-top{
    display:flex;
    justify-content:space-between;
    flex-direction: column;
  }

  .discover-top h3{
    font-size: 5.885vw;
    line-height: 1.1;
    color: #1E3A5F;
    margin-bottom: 2vw;
  }

  .discover-stars{
    color: #D69B2D;
    font-size: 2.885vw;
    margin-bottom: 2vw;
  }

  .discover-stars span{
    color:#7a8794;
  }

  .discover-location{
    color:#00B0B9;
    font-size:2.885vw;
    font-weight:600;
    margin-bottom:2vw;
  }

  .discover-content p{
    color:#5f6b7a;
    font-size: 2.885vw;
    line-height:1.9;
    margin-bottom:2vw;
  }

  .discover-tags{
    display:flex;
    flex-wrap:wrap;
    gap:2.625vw;
    margin-bottom:2.625vw;
  }

  .discover-tags span{
    padding: 1.625vw 2.938vw;
    border-radius: 5.604vw;
    background: #eef6f7;
    color: #00B0B9;
    font-size: 3vw;
    font-weight: 600;
  }

  .discover-footer{
    display: flex;
    justify-content: space-between;
    gap: 1.042vw;
    flex-direction: column;
    align-items: flex-start;
  }

  .discover-extra{
    color:#7a8794;
    font-size:0.729vw;
  }

  .discover-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2.625vw 2.938vw;
    border-radius: 11.604vw;
    background: #1E3A5F;
    color: #fff;
    font-size: 4vw;
    font-weight: 600;
    transition: 0.3s ease;
    margin: 2vw auto 0vw;
    width: 100%;
  }

  .discover-btn:hover{
    background:#152a44;
  }

  .discover-more{
    width:100%;
    display:flex;
    justify-content:center;
    margin-top:2vw;
  }

  .discover-more-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2.625vw 2.938vw;
    border-radius: 11.604vw;
    background: #D69B2D;
    color: #fff;
    font-size: 4vw;
    font-weight: 600;
    transition: 0.3s ease;
    width: -webkit-fill-available;
  }

  .discover-more-btn:hover{
    background:#bf861e;
    transform:translateY(-0.156vw);
  }

  @keyframes fadeDiscover{
    from{
      opacity:0;
      transform:translateY(0.521vw);
    }
    to{
      opacity:1;
      transform:translateY(0);
    }
  }

  .main-categories{
    width:100%;
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .section-header{
    width:100%;
    margin-bottom:2.344vw;
  }

  .title-area h2{
    font-size: 5.885vw;
    font-weight: 700;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .title-area p{
    max-width: max-content;
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .categories-grid{
    display: flex;
    gap: 2.938vw;
    flex-direction: column;
  }

  .category-card{
    position: relative;
    overflow: hidden;
    border-radius: 3.563vw;
    cursor: pointer;
    box-shadow: 0 0.781vw 2.344vw rgba(0, 0, 0, 0.08);
    transition: 0.45s ease;
    height: 60vw;
  }

  .category-card:hover{
    transform:translateY(-0.417vw);
  }

  .category-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.6s ease;
  }

  .category-card:hover img{
    transform:scale(1.08);
  }

  .overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
      to top,
      rgba(0,0,0,0.78),
      rgba(0,0,0,0.28),
      rgba(0,0,0,0.02)
    );
  }

  .category-content{
    position: absolute;
    bottom: 12.302vw;
    left: 3.302vw;
    right: 1.302vw;
    z-index: 2;
  }

  .category-badge{
    display: inline-flex;
    align-items: center;
    gap: 0.417vw;
    padding: 1.625vw 2.938vw;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(0.625vw);
    border: 0.052vw solid rgba(255, 255, 255, 0.15);
    border-radius: 5.604vw;
    color: #fff;
    font-size: 3.729vw;
    margin-bottom: 2vw;
  }

  .category-content h3{
    color: #fff;
    font-size: 5.885vw;
    font-weight: 700;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .category-content p{
    color: rgba(255, 255, 255, 0.92);
    font-size: 2.885vw;
    line-height: 1.9;
    max-width: 90%;
  }

  .large{
    grid-column:span 2;
  }

  .medium{
    grid-column:span 1;
  }

  .popular-places{
    width:100%;
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .popular-header{
    margin-bottom:2.083vw;
  }

  .popular-title h2{
    font-size: 5.885vw;
    font-weight: 700;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .popular-title p{
    max-width: -webkit-fill-available;
    font-size: 2.885vw;
    color: #5f6b7a;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .places-grid{
    display:flex;
    grid-template-columns:none;
    gap:5vw;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    background: #F8FAFB;
  }

  .places-grid::-webkit-scrollbar{
    display:none;
  }

  .places-grid .business-card{
    flex: 0 0 70vw;
    scroll-snap-align: start;
    border-radius: 3.563vw;
  }

  .place-card{
    background:#fff;
    border-radius:1.250vw;
    overflow:hidden;
    box-shadow:0 0.781vw 2.083vw rgba(0,0,0,0.08);
    transition:0.4s ease;
  }

  .place-card:hover{
    transform:translateY(-0.417vw);
  }

  .place-slider{
    position:relative;
    width:100%;
    height:11.458vw;
    overflow:hidden;
  }

  .slides{
    position:relative;
    width:100%;
    height:100%;
  }

  .slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity 0.8s ease;
  }

  .slide.active{
    opacity:1;
  }

  .place-content{
    padding:1.146vw;
  }

  .place-content h3{
    font-size:1.146vw;
    color:#111827;
    margin-bottom:0.625vw;
    font-weight:700;
    line-height:1.3;
  }

  .stars{
    color:#efb443;
    font-size:0.833vw;
    margin-bottom:0.938vw;
  }

  .stars span{
    color:#6b7280;
    font-size:0.729vw;
    margin-left:0.313vw;
  }

  .tags{
    display:flex;
    flex-wrap:wrap;
    gap:0.521vw;
    margin-bottom:1.146vw;
  }

  .tags span{
    background:#eef2f5;
    color:#374151;
    padding:0.417vw 0.729vw;
    border-radius:1.563vw;
    font-size:0.677vw;
    font-weight:500;
  }

  .place-btn{
    width:100%;
    height:2.708vw;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:0.729vw;
    background:#1E3A5F;
    color:#fff;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .place-btn:hover{
    background:#152a44;
  }

  .view-more-wrapper{
    width:100%;
    display:flex;
    justify-content:center;
    margin-top: 2vw;
  }

  .view-more-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2.625vw 2.938vw;
    border-radius: 11.604vw;
    background: #D69B2D;
    color: #fff;
    font-size: 4vw;
    font-weight: 600;
    transition: 0.3s ease;
    width: -webkit-fill-available;
  }

  .view-more-btn:hover{
    background:#bf861e;
    transform:translateY(-0.156vw);
  }

  .events-section{
    width:100%;
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .events-header{
    display: flex;
    justify-content: space-between;
    gap: 2vw;
    margin-bottom: 2vw;
    flex-direction: column;
  }

  .events-badge{
    display: inline-flex;
    align-items: center;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: rgba(0, 176, 185, 0.12);
    color: #00B0B9;
    font-size: 3.729vw;
    font-weight: 600;
    margin-bottom: 2vw;
  }

  .events-title h2{
    font-size: 5.885vw;
    font-weight: 700;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .events-title p{
    max-width: -webkit-fill-available;
    font-size: 2.885vw;
    color: #5f6b7a;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .events-all-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2.625vw 2.938vw;
    border-radius: 11.604vw;
    background: #D69B2D;
    color: #fff;
    font-size: 4vw;
    font-weight: 600;
    transition: 0.3s ease;
    width: -webkit-fill-available;
  }

  .events-all-btn:hover{
    background:#bf861e;
    transform:translateY(-0.156vw);
  }

  .events-grid{
    display: flex;
    gap: 2vw;
    flex-direction: column;
  }

  .large-event{
    position: relative;
    min-height: 60.458vw;
    border-radius: 3.563vw;
    overflow: hidden;
    box-shadow: 0 1.042vw 2.865vw rgba(0, 0, 0, 0.08);
  }

  .large-event img{
    width:100%;
    object-fit:cover;
    height:60.458vw;
    transition:0.5s ease;
  }

  .large-event:hover img{
    transform:scale(1.05);
  }

  .event-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
      to top,
      rgba(0,0,0,0.82),
      rgba(0,0,0,0.25),
      rgba(0,0,0,0.05)
    );
  }

  .event-date{
    position: absolute;
    top: 3.563vw;
    left: 3.563vw;
    width: 13.688vw;
    height: 13.688vw;
    border-radius: 3.25vw;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(0.781vw);
    border: 0.052vw solid rgba(255, 255, 255, 0.15);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 3.885vw;
    font-weight: 600;
    z-index: 2;
  }

  .event-date span{
    font-size: 3.885vw;
    font-weight: 700;
  }

  .event-content{
    position: absolute;
    left: 2.823vw;
    right: 1.823vw;
    bottom: 2.823vw;
    z-index: 2;
  }

  .event-tags{
    display:flex;
    gap:0.521vw;
    margin-bottom:1.833vw;
  }

  .event-tags span{
    padding: 1.469vw 2.833vw;
    border-radius: 5.604vw;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(0.521vw);
    color: #fff;
    font-size: 3.885vw;
  }

  .event-content h3{
    font-size: 3.885vw;
    line-height: 1.15;
    color: #fff;
    margin-bottom: 1.833vw;
    font-weight: 700;
  }

  .event-content p{
    color: rgba(255, 255, 255, 0.9);
    font-size: 2.885vw;
    line-height: 1.8;
    margin-bottom: 1.146vw;
    max-width: -webkit-fill-available;
    display: none;
  }

  .event-info{
    display:flex;
    gap:1.042vw;
    flex-wrap:wrap;
    margin-bottom:1.458vw;
  }

  .info-item{
    color:#fff;
    font-size:0.781vw;
  }

  .event-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.833vw 4.563vw;
    border-radius: 7.604vw;
    background: #D69B2D;
    color: #fff;
    font-size: 2.781vw;
    font-weight: 600;
    transition: 0.3s ease;
  }

  .event-btn:hover{
    background:#bf861e;
    transform:translateY(-0.156vw);
  }

  .events-side{
    display:flex;
    flex-direction:column;
    gap:1.146vw;
  }

  .small-event-card{
    display:flex;
    gap:2vw;
    background:#fff;
    border-radius:3.563vw;
    overflow:hidden;
    padding:2.771vw;
    box-shadow:0 0.781vw 2.344vw rgba(0,0,0,0.06);
    transition:0.3s ease;
  }

  .small-event-card:hover{
    transform:translateY(-0.260vw);
  }

  .small-event-image{
    width: 34.375vw;
    min-width: 34.375vw;
    border-radius: 3.563vw;
    overflow: hidden;
    display: flex;
    align-items: center;
  }

  .small-event-image img{
    width: 34.375vw;
    height: 34.375vw;
    object-fit: cover;
    border-radius: 3.563vw;
  }

  .small-event-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .mini-date{
    color: #00B0B9;
    font-size: 3.285vw;
    font-weight: 700;
    margin-bottom: 1.233vw;
  }

  .small-event-content h4{
    font-size: 3.285vw;
    line-height: 1.2;
    color: #1E3A5F;
    margin-bottom: 1.233vw;
  }

  .small-event-content p{
    color:#5f6b7a;
    font-size: 2.885vw;
    line-height:1.7;
    margin-bottom: 1.233vw;
  }

  .event-location{
    color:#D69B2D;
    font-size:0.729vw;
    font-weight:600;
  }

  .small-event-card{
    text-decoration:none;
    color:inherit;
    display:flex;
  }

  .sponsors-section{
    width:100%;
    padding:14.688vw 0;
    background:#F8FAFB;
    overflow:hidden;
  }

  .sponsors-header{
    text-align:center;
    margin-bottom:2.604vw;
    padding:0 5%;
  }

  .sponsors-header h2{
    font-size: 5.885vw;
    font-weight: 700;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .sponsors-header p{
    max-width: max-content;
    margin: auto;
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .sponsors-marquee{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:3.458vw 0 4.042vw;
  }

  .sponsors-marquee::before,
  .sponsors-marquee::after{
    content:"";
    position:absolute;
    top:0;
    width:9.375vw;
    height:100%;
    z-index:2;
    pointer-events:none;
  }

  .sponsors-marquee::before{
    left:0;
    background:linear-gradient(to right,#f6f8fa,transparent);
  }

  .sponsors-marquee::after{
    right:0;
    background:linear-gradient(to left,#f6f8fa,transparent);
  }

  .marquee-track{
    display:flex;
    align-items:center;
    gap:2.083vw;
    width:max-content;
    animation:scrollSponsors 28s linear infinite;
  }

  .sponsor-logo{
    width: 23.458vw;
    height: 17.25vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 5.25vw;
    transition: 0.4s ease;
    position: relative;
  }

  .sponsor-logo:hover{
    transform:translateY(-0.521vw);
  }

  .sponsor-logo{
    animation:logoBounce 4s ease-in-out infinite;
  }

  .sponsor-logo:nth-child(2){
    animation-delay:0.3s;
  }

  .sponsor-logo:nth-child(3){
    animation-delay:0.6s;
  }

  .sponsor-logo:nth-child(4){
    animation-delay:0.9s;
  }

  .sponsor-logo:nth-child(5){
    animation-delay:1.2s;
  }

  .sponsor-logo:nth-child(6){
    animation-delay:1.5s;
  }

  .sponsor-logo img{
    width: 13.25vw;
    height: 9.646vw;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.8;
    transition: 0.4s ease;
  }

  .sponsor-logo:hover img{
    filter:grayscale(0%);
    opacity:1;
  }

  @keyframes scrollSponsors{
    from{
      transform:translateX(0);
    }
    to{
      transform:translateX(-50%);
    }
  }

  @keyframes logoBounce{
    0%{
      transform:translateY(0);
    }
    50%{
      transform:translateY(-0.625vw);
    }
    100%{
      transform:translateY(0);
    }
  }

  .business-cta{
    width:100%;
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .cta-container{
    width: 100%;
    display: flex;
    gap: 2.083vw;
    background: #fff;
    border-radius: 3.563vw;
    overflow: hidden;
    box-shadow: 0 0.938vw 2.604vw rgba(0, 0, 0, 0.08);
  }

  .cta-content{
    padding:2.771vw;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .cta-badge{
    width: max-content;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: rgba(0, 176, 185, 0.12);
    color: #00B0B9;
    font-size: 3.729vw;
    font-weight: 600;
    margin-bottom: 2vw;
  }

  .cta-content h2{
    font-size: 5.885vw;
    font-weight: 700;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .cta-content p{
    max-width: max-content;
    margin: auto;
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .cta-features{
    display: flex;
    flex-direction: column;
    gap: 2vw;
    margin-top: 2vw;
    margin-bottom: 2vw;
  }

  .feature-item{
    display: flex;
    align-items: center;
    gap: 2vw;
    color: #1E3A5F;
    font-size: 2.885vw;
    font-weight: 500;
  }

  .cta-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2.625vw 2.938vw;
    border-radius: 11.604vw;
    background: #D69B2D;
    color: #fff;
    font-size: 4vw;
    font-weight: 600;
    transition: 0.3s ease;
    width: -webkit-fill-available;
  }

  .cta-btn:hover{
    background:#bf861e;
    transform:translateY(-0.156vw);
  }

  .cta-image{
    position:relative;
    min-height:100%;
    display: none;
  }

  .cta-image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .image-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
      to left,
      rgba(0,0,0,0.08),
      rgba(0,0,0,0.18)
    );
  }

  .main-footer{
    width:100%;
    background:#1E3A5F;
    color:#F8FAFB;
    padding:15.208vw 5% 15.208vw;
  }

  .footer-top{
    display: flex;
    gap: 3.646vw;
    margin-bottom: 2.604vw;
    flex-direction: column-reverse;
  }

  .footer-brand{
    max-width: -webkit-fill-available;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .footer-brand img{
    width: 53.375vw;
    margin-bottom: 1.250vw;
  }

  .footer-brand p{
    color: rgba(248, 250, 251, 0.78);
    line-height: 1.9;
    font-size: 3vw;
    text-align: center;
  }

  .footer-links{
    flex: 1;
    display: flex;
    gap: 1.823vw;
    flex-direction: column;
  }

  .footer-column h4{
    font-size: 3.885vw;
    margin-bottom: 2.729vw;
    color: #D69B2D;
    font-weight: 700;
  }

  .footer-column ul{
    display: flex;
    flex-direction: column;
    gap: 2vw;
    width: 85.104vw;
  }

  .footer-column {
    margin-bottom: 5vw;
  }

  .footer-column ul li{
    list-style:none;
  }

  .footer-column ul li a{
    color:rgba(248,250,251,0.78);
    font-size:3vw;
    transition:0.3s ease;
  }

  .footer-column ul li a:hover{
    color:#00B0B9;
    padding-left:0.208vw;
  }

  .footer-divider{
    width: 100%;
    height: 0.052vw;
    background: rgba(255, 255, 255, 0.08);
    margin-bottom: 3.823vw;
  }

  .footer-bottom{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }

  .footer-bottom img{
    width:6.250vw;
    margin-bottom:1.042vw;
  }

  .footer-bottom p{
    color: rgba(248, 250, 251, 0.65);
    font-size: 3vw;
    letter-spacing: 0.021vw;
    margin-bottom: 5vw;
  }

  .category-hero-parent{
    position:relative;
    width:100%;
    height:90vw;
    overflow:hidden;
    background:#1E3A5F;
  }

  .category-bg{
    position:absolute;
    inset:0;
    height:inherit;
  }

  .category-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .category-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
      to bottom,
      rgba(30,58,95,0.88),
      rgba(30,58,95,0.72),
      rgba(30,58,95,0.94)
    );
  }

  .category-hero-content{
    position:relative;
    z-index:5;
    width:100%;
    padding:20vw 5% 0;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .breadcrumb{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.521vw;
    margin-bottom: 1.250vw;
    color: rgba(255, 255, 255, 0.72);
    font-size: 2.885vw;
  }

  .breadcrumb a{
    color:rgba(255,255,255,0.72);
    transition:0.3s ease;
  }

  .breadcrumb a:hover{
    color:#00B0B9;
  }

  .breadcrumb strong{
    color:#D69B2D;
    font-weight:600;
  }

  .category-hero-content h1{
    max-width: 89.729vw;
    font-size: 7.396vw;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 2.938vw;
    font-weight: 700;
    width: 89.729vw;
  }

  .category-hero-content p{
    max-width:-webkit-fill-available;
    color:rgba(255,255,255,0.86);
    font-size:3vw;
    line-height:1.9;
    margin-bottom:2.083vw;
  }

  .hero-stats{
    display: flex;
    gap: 0.938vw;
    flex-direction: row;
  }

  .hero-stat{
    min-width: 29vw;
    padding: 2.042vw 2.25vw;
    border-radius: 1.250vw;
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(0.729vw);
    border: 0.052vw solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.82);
    font-size: 3vw;
  }

  .hero-stat span{
    display:block;
    color:#fff;
    font-size:5.667vw;
    font-weight:700;
    margin-bottom:0.417vw;
  }

  .listing-section{
    width:100%;
    padding:4.167vw 5%;
    background:#F8FAFB;
  }

  .listing-tags{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:2.5vw;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 0 3vw;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    margin: 2vw 0vw;
  }

  .listing-tags::-webkit-scrollbar{
    display:none;
  }

  .tag-label{
    color:#1E3A5F;
    font-size:3.885vw;
    font-weight:600;
  }

  .tag-label{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .listing-tag{
    border: none;
    outline: none;
    padding: 1.469vw 2.833vw;
    border-radius: 5.604vw;
    background: #fff;
    color: #1E3A5F;
    font-size: 3.885vw;
    font-weight: 600;
    cursor: pointer;
    transition: 0.3s ease;
    box-shadow: 0 0.521vw 1.302vw rgba(0, 0, 0, 0.04);
  }

  .listing-tag{
    flex:0 0 auto;
    white-space:nowrap;
    scroll-snap-align:start;
  }

  .listing-tag.active{
    background:#00B0B9;
    color:#fff;
  }

  .listing-layout{
    display: flex;
    gap: 1.771vw;
    flex-direction: column;
  }

  .sidebar-card{
    position:sticky;
    top:1.563vw;
    background:#fff;
    border-radius:1.563vw;
    padding:1.667vw;
    box-shadow:0 0.938vw 2.604vw rgba(0,0,0,0.05);
  }

  .listing-sidebar {
    display: none;
  }

  .sidebar-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:1.771vw;
  }

  .sidebar-title h3{
    font-size:1.667vw;
    color:#1E3A5F;
  }

  .sidebar-title i{
    color:#00B0B9;
    font-size:1.042vw;
  }

  .filter-group{
    margin-bottom:1.771vw;
  }

  .filter-group h4{
    font-size:0.833vw;
    color:#1E3A5F;
    margin-bottom:0.938vw;
  }

  .filter-group label{
    display:flex;
    align-items:center;
    gap:0.625vw;
    margin-bottom:0.729vw;
    color:#5f6b7a;
    font-size:0.729vw;
    cursor:pointer;
  }

  .filter-group input{
    accent-color:#00B0B9;
  }

  .price-buttons{
    display:flex;
    gap:0.521vw;
  }

  .price-buttons button{
    width:3.229vw;
    height:2.292vw;
    border:none;
    border-radius:0.729vw;
    background:#eef6f7;
    color:#1E3A5F;
    font-weight:600;
    cursor:pointer;
  }

  .price-buttons button.active{
    background:#00B0B9;
    color:#fff;
  }

  .clear-filters{
    width:100%;
    height:2.917vw;
    border:none;
    border-radius:0.938vw;
    background:#1E3A5F;
    color:#fff;
    font-size:0.781vw;
    font-weight:600;
    cursor:pointer;
    transition:0.3s ease;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .clear-filters:hover{
    background:#152a44;
  }

  .clear-filters-mrg{
    margin-bottom:0.938vw;
  }

  .sort-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:0.521vw;
    margin-top:0.781vw;
  }

  .sort-btn{
    border:none;
    padding:0.625vw 0.938vw;
    border-radius:0.729vw;
    background:#f3f5f7;
    color:#1f2937;
    font-size:0.729vw;
    font-weight:600;
    cursor:pointer;
    transition:0.3s ease;
    font-family:'Poppins', sans-serif;
    width:100%;
    height:2.917vw;
  }

  .sort-btn:hover{
    background:#dbeafe;
    color:#0f172a;
  }

  .sort-btn.active{
    background:#1E3A5F;
    color:#fff;
    box-shadow:0 0.521vw 1.042vw rgba(15,23,42,.18);
  }

  .listing-topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:2.823vw;
  }

  .listing-topbar p{
    color:#5f6b7a;
    font-size:3.885vw;
  }

  .listing-sort{
    display:flex;
    align-items:center;
    gap:0.625vw;
    color:#1E3A5F;
    font-size:0.729vw;
    font-weight:600;
  }

  .listing-sort select{
    border:none;
    outline:none;
    background:transparent;
    color:#00B0B9;
    font-weight:600;
  }

  .business-grid{
    display: flex;
    gap: 5.25vw;
    flex-direction: column;
  }

  .business-card{
    background:#fff;
    border-radius:5.25vw;
    overflow:hidden;
    transition:0.35s ease;
  }

  .business-card:hover{
    transform:translateY(-0.313vw);
  }

  .business-image{
    position: relative;
    height: 64.125vw;
  }

  .business-image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .business-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
      to top,
      rgba(0,0,0,0.45),
      rgba(0,0,0,0.05)
    );
  }

  .business-status{
    position: absolute;
    top: 2.042vw;
    left: 2.042vw;
    padding: 1.625vw 2.938vw;
    border-radius: 5.604vw;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(0.521vw);
    color: #fff;
    font-size: 3.729vw;
    font-weight: 600;
  }

  .favorite-btn{
    position: absolute;
    top: 1.833vw;
    right: 1.833vw;
    width: 10.292vw;
    height: 10.292vw;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(0.521vw);
    color: #fff;
    cursor: pointer;
    transition: 0.3s ease;
  }

  .favorite-btn:hover{
    background:#00B0B9;
  }

  .business-content{
    padding: 2.771vw;
  }

  .business-header{
    display:flex;
    justify-content:space-between;
    gap:0.625vw;
    margin-bottom:0vw;
  }

  .business-header h3{
    font-size: 5.885vw;
    line-height: 1.1;
    color: #1E3A5F;
    margin-bottom: 2vw;
  }

  .business-price{
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:700;
    display: none;
  }

  .business-rating{
    color: #D69B2D;
    font-size: 2.885vw;
    margin-bottom: 2vw;
  }

  .business-rating span{
    color:#7a8794;
  }

  .business-content p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .business-tags{
    display: flex;
    flex-wrap: wrap;
    gap: 2vw;
    margin-bottom: 2vw;
  }

  .business-tags span{
    padding: 1.625vw 2.938vw;
    border-radius: 5.604vw;
    background: #eef6f7;
    color: #00B0B9;
    font-size: 3vw;
    font-weight: 600;
  }

  .business-btn{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6.938vw;
    background: #1E3A5F;
    color: #fff;
    font-size: 4vw;
    font-weight: 600;
    transition: 0.3s ease;
    padding: 2.625vw 2.938vw;
    border: none;
  }

  .business-btn:hover{
    background:#00B0B9;
  }

  .pagination{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:0.625vw;
    margin-top:3.125vw;
  }

  .page-btn{
    min-width:2.708vw;
    height:2.708vw;
    padding:0 0.938vw;
    border:none;
    border-radius:0.833vw;
    background:#fff;
    color:#1E3A5F;
    font-size:0.729vw;
    font-weight:600;
    cursor:pointer;
    transition:0.3s ease;
    box-shadow:0 0.521vw 1.302vw rgba(0,0,0,0.04);
  }

  .page-btn.active{
    background:#00B0B9;
    color:#fff;
  }

  .page-btn.next{
    padding:0 1.250vw;
  }

  .single-place-hero{
    padding-bottom:3.125vw;
  }

  .category-hero{
    height:10.677vw;
    min-height:auto;
  }

  .place-main-section{
    width:100%;
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .place-main-grid{
    display: flex;
    flex-direction: column;
  }

  .place-gallery{
    display: grid;
    grid-template-columns: 4fr 3fr;
    gap: 2vw;
    margin-bottom: 2vw;
    align-items: stretch;
  }

  .place-top-info .favorite-btn i {
    font-size: 4vw;
  }

  .favorite-btn i {
    font-size: 4vw;
  }

  .gallery-main{
    height: 64vw;
    overflow: hidden;
    border-radius: 3.563vw;
  }

  .gallery-main img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .gallery-side{
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 1.729vw;
    height: 64vw;
  }

  .gallery-side-item{
    position:relative;
    overflow:hidden;
    border-radius:3.563vw;
  }

  .gallery-side-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .gallery-more button{
    position: absolute;
    left: 50%;
    bottom: 1.042vw;
    transform: translateX(-50%);
    border: none;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: rgba(255, 255, 255, 0.92);
    color: #1E3A5F;
    font-size: 2.677vw;
    font-weight: 600;
    backdrop-filter: blur(0.417vw);
    cursor: pointer;
    transition: 0.3s ease;
    width: 27vw;
  }

  .gallery-more button:hover{
    background:#00B0B9;
    color:#fff;
  }

  .place-header{
    margin-bottom:1.771vw;
  }

  .place-top-info{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1.042vw;
    margin-bottom:1.250vw;
  }

  .place-category{
    color: #00B0B9;
    font-size: 2.885vw;
    font-weight: 700;
    margin-bottom: 2vw;
  }

  .place-header h1{
    font-size: 5.885vw;
    line-height: 1.1;
    color: #1E3A5F;
    margin-bottom: 2vw;
  }

  .place-favorite{
    width:3.229vw;
    height:3.229vw;
    border:none;
    border-radius:50%;
    background:#fff;
    color:#1E3A5F;
    font-size:1.042vw;
    cursor:pointer;
    box-shadow:0 0.521vw 1.563vw rgba(0,0,0,0.06);
    transition:0.3s ease;
  }

  .place-favorite:hover{
    background:#00B0B9;
    color:#fff;
  }

  .place-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 2vw;
    margin-bottom: 2vw;
  }

  .place-meta > div{
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: #fff;
    font-size: 3vw;
    font-weight: 600;
    box-shadow: 0 0.417vw 1.302vw rgba(0, 0, 0, 0.04);
  }

  .meta-rating{
    color:#D69B2D;
  }

  .meta-rating span{
    color:#5f6b7a;
  }

  .meta-price{
    color:#00B0B9;
  }

  .meta-status.open{
    background:#dff7ef;
    color:#16a34a;
  }

  .meta-hours{
    color:#1E3A5F;
  }

  .place-tags{
    display: flex;
    flex-wrap: wrap;
    gap: 2vw;
    margin-bottom: 2vw;
  }

  .place-tags span{
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: #e8f7f8;
    color: #00B0B9;
    font-size: 3vw;
    font-weight: 600;
  }

  .place-box{
    background:#fff;
    border-radius: 3.563vw;
    padding: 2.771vw;
    margin-bottom:2vw;
    box-shadow:0 0.781vw 2.083vw rgba(0,0,0,0.04);
  }

  .place-main-grid .place-sidebar {
    display: none;
  }

  .section-title{
    margin-bottom: 2vw;
  }

  .section-title h2{
    font-size: 4vw;
    color: #1E3A5F;
  }

  .place-box p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .reviews-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
  }

  .reviews-title a{
    color:#00B0B9;
    font-size:4vw;
    font-weight:600;
  }

  .reviews-grid{
    display: flex;
    gap: 1.042vw;
    flex-direction: column;
  }

  .aside-movil {
    margin-bottom: 5vw;
  }

  .review-card{
    background: #F8FAFB;
    border-radius: 3.563vw;
    padding: 2.25vw;
  }

  .review-stars{
    color: #D69B2D;
    margin-bottom: 0vw;
    font-size: 5vw;
  }

  .review-card p{
    font-size: 3vw;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .review-card span{
    color: #1E3A5F;
    font-size: 3vw;
    font-weight: 600;
  }

  .sidebar-box{
    position: sticky;
    top: 1.563vw;
    background: #fff;
    border-radius: 3.563vw;
    padding: 2.771vw;
    box-shadow: 0 0.781vw 2.083vw rgba(0, 0, 0, 0.05);
  }

  .sidebar-actions{
    display: flex;
    flex-direction: column;
    gap: 2vw;
    margin-bottom: 2vw;
  }

  .primary-action,
  .secondary-action{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.625vw;
    border-radius: 6.938vw;
    font-size: 4vw;
    font-weight: 600;
    transition: 0.3s ease;
    padding: 2.625vw 2.938vw;
  }

  .primary-action{
    background:#00B0B9;
    color:#fff;
  }

  .primary-action:hover{
    background:#0097a0;
  }

  .secondary-action{
    background:#eef6f7;
    color:#1E3A5F;
  }

  .sidebar-info{
    margin-bottom:1.458vw;
  }

  .info-item{
    display: flex;
    flex-direction: column;
    gap: 0vw;
    margin-bottom: 2vw;
  }

  .info-item-2{
    display:flex;
    flex-direction:row;
    gap:0.729vw;
    margin-bottom:1.146vw;
  }

  .info-item i{
    color: #00B0B9;
    display: flex;
    align-items: center;
  }

  .info-item-2 i{
    color:#00B0B9;
    margin-top:0.260vw;
  }

  .info-item div{
    color: #5f6b7a;
    font-size: 3vw;
    line-height: 1.9;
  }

  .info-item-2 div{
    color:#5f6b7a;
    font-size:0.729vw;
    line-height:1.7;
  }

  .info-item-2{
    color:#fff;
    font-size:2.781vw;
  }

  .sidebar-map{
    position:relative;
    height:11.458vw;
    border-radius:1.250vw;
    overflow:hidden;
    margin-bottom:1.250vw;
  }

  .sidebar-map img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .sidebar-map button{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border:none;
    padding:0.729vw 1.146vw;
    border-radius:2.604vw;
    background:#fff;
    color:#1E3A5F;
    font-size:0.729vw;
    font-weight:600;
    cursor:pointer;
  }

  .sidebar-social{
    display:flex;
    justify-content:center;
    gap: 2.771vw;
  }

  .sidebar-social a{
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eef6f7;
    color: #1E3A5F;
    transition: 0.3s ease;
    width: 10.292vw;
    height: 10.292vw;
  }

  .sidebar-social a i {
    font-size: 4vw;
  }

  .sidebar-social a:hover{
    background:#00B0B9;
    color:#fff;
  }

  .similar-business-section{
    width:100%;
    padding:1.042vw 5% 4.167vw;
    background:#F8FAFB;
  }

  .section-heading{
    flex-direction:column;
  }

  .section-subtitle{
    display:inline-block;
    margin-bottom:0.625vw;
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.052vw;
  }

  .section-heading h2{
    font-size:2.188vw;
    color:#1E3A5F;
  }

  .section-heading p{
    max-width:26.042vw;
    color:#5f6b7a;
    font-size:0.781vw;
    line-height:1.8;
  }

  .similar-business-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:1.250vw;
  }

  .about-container{
    width:100%;
  }

  .section-mini{
    display:inline-block;
    margin-bottom:0.729vw;
    color:#00B0B9;
    font-size:0.729vw;
    font-weight:700;
    letter-spacing:0.052vw;
  }

  .section-mini.light{
    color:#D69B2D;
  }

  .section-heading.center{
    margin-bottom:3.125vw;
  }

  .section-heading.center h2{
    font-size: 5.885vw;
    font-weight: 700;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .section-heading.center p{
    max-width: -webkit-fill-available;
    font-size: 2.885vw;
    color: #5f6b7a;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .about-hero{
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    overflow: hidden;
  }

  .about-hero-bg{
    position:absolute;
    inset:0;
  }

  .about-hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .about-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
      to bottom,
      rgba(15,23,42,0.55),
      rgba(15,23,42,0.72)
    );
  }

  .about-hero-content{
    position: relative;
    z-index: 2;
    width: 100%;
    text-align: center;
    padding: 20vw 5% 2vw;
  }

  .hero-label{
    display:none;
    padding:0.625vw 1.042vw;
    border-radius:2.604vw;
    background:rgba(255,255,255,0.12);
    backdrop-filter:blur(0.521vw);
    color:#fff;
    font-size:0.677vw;
    font-weight:700;
    margin-bottom:1.250vw;
  }

  .about-hero-content h1{
    max-width: 89.729vw;
    font-size: 7.396vw;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 2.938vw;
    font-weight: 700;
    width: 89.729vw;
    text-align: left;
  }

  .about-hero-content p{
    max-width: -webkit-fill-available;
    color: rgba(255, 255, 255, 0.86);
    font-size: 3vw;
    line-height: 1.9;
    margin-bottom: 2.083vw;
    text-align: left;
  }

  .about-intro{
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .about-intro-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3.646vw;
    align-items:center;
  }

  .about-intro-text h2{
    font-size:2.813vw;
    line-height:1.1;
    color:#1E3A5F;
    margin-bottom:1.563vw;
  }

  .about-intro-text p{
    color:#5f6b7a;
    font-size:0.833vw;
    line-height:2;
    margin-bottom:1.250vw;
  }

  .about-intro-image{
    height:32.292vw;
    border-radius:1.771vw;
    overflow:hidden;
    box-shadow:0 1.042vw 3.125vw rgba(0,0,0,0.08);
  }

  .about-intro-image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .about-values{
    padding:5.208vw 5%;
    background:#fff;
  }

  .values-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.250vw;
  }

  .value-card{
    background:#F8FAFB;
    border-radius:1.667vw;
    padding:2.083vw 1.667vw;
    transition:0.35s ease;
  }

  .value-card:hover{
    transform:translateY(-0.417vw);
  }

  .value-icon{
    width:3.750vw;
    height:3.750vw;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:1.250vw;
    background:#00B0B9;
    color:#fff;
    font-size:1.354vw;
    margin-bottom:1.458vw;
  }

  .value-card h3{
    font-size:1.458vw;
    color:#1E3A5F;
    margin-bottom:0.938vw;
  }

  .value-card p{
    color:#5f6b7a;
    line-height:1.9;
  }

  .mission-section{
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .mission-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.458vw;
  }

  .mission-box{
    background:#fff;
    border-radius:1.875vw;
    padding:3.125vw;
    box-shadow:0 0.781vw 2.604vw rgba(0,0,0,0.05);
  }

  .mission-box.dark{
    background:#1E3A5F;
  }

  .mission-box h2{
    font-size:2.188vw;
    line-height:1.15;
    color:#1E3A5F;
    margin-bottom:1.250vw;
  }

  .mission-box.dark h2{
    color:#fff;
  }

  .mission-box p{
    color:#5f6b7a;
    font-size:0.833vw;
    line-height:2;
  }

  .mission-box.dark p{
    color:rgba(255,255,255,0.82);
  }

  .about-stats{
    padding:5.208vw 5%;
    background:#fff;
  }

  .stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.250vw;
  }

  .stat-card{
    background:#F8FAFB;
    border-radius:1.667vw;
    padding:2.604vw 1.563vw;
    text-align:center;
  }

  .stat-card h3{
    font-size:3.333vw;
    color:#00B0B9;
    margin-bottom:0.729vw;
  }

  .stat-card p{
    color:#5f6b7a;
    line-height:1.8;
  }

  .about-cta{
    padding:0 5% 5.208vw;
    background:#fff;
  }

  .cta-box{
    background:linear-gradient(135deg,#1E3A5F,#00B0B9);
    border-radius:2.083vw;
    padding:3.646vw;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:2.083vw;
  }

  .cta-text{
    max-width:36.458vw;
  }

  .cta-text h2{
    font-size:2.708vw;
    line-height:1.1;
    color:#fff;
    margin-bottom:1.250vw;
  }

  .cta-text p{
    color:rgba(255,255,255,0.88);
    line-height:1.9;
    font-size:0.833vw;
  }

  .cta-actions{
    display:flex;
    gap:0.938vw;
    flex-wrap:wrap;
  }

  .primary-btn,
  .secondary-btn{
    height:3.021vw;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 1.458vw;
    border-radius:0.938vw;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
  }

  .primary-btn{
    background:#fff;
    color:#1E3A5F;
  }

  .primary-btn:hover{
    transform:translateY(-0.156vw);
  }

  .secondary-btn{
    border:0.052vw solid rgba(255,255,255,0.25);
    color:#fff;
    background:rgba(255,255,255,0.08);
    backdrop-filter:blur(0.521vw);
  }

  .contact-hero{
    position:relative;
    width:100%;
    height:32.292vw;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }

  .contact-hero-bg{
    position:absolute;
    inset:0;
  }

  .contact-hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .contact-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
      to bottom,
      rgba(15,23,42,0.55),
      rgba(15,23,42,0.78)
    );
  }

  .contact-hero-content{
    position:relative;
    z-index:2;
    width:100%;
    max-width:57.292vw;
    text-align:center;
    padding:0 2.083vw;
  }

  .contact-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.625vw 1.146vw;
    border-radius:2.604vw;
    background:rgba(255,255,255,0.12);
    backdrop-filter:blur(0.625vw);
    color:#fff;
    font-size:0.677vw;
    font-weight:700;
    letter-spacing:0.052vw;
    text-transform:uppercase;
    margin-bottom:1.458vw;
  }

  .contact-hero-content h1{
    font-size:4.063vw;
    line-height:1.05;
    color:#fff;
    margin-bottom:1.354vw;
  }

  .contact-hero-content p{
    max-width:39.583vw;
    margin:auto;
    color:rgba(255,255,255,0.88);
    font-size:0.938vw;
    line-height:1.9;
  }

  .contact-section{
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .contact-container{
    width: 100%;
    max-width: -webkit-fill-available;
    display: flex;
    flex-direction: column-reverse;
  }

  .contact-info{
    display:flex;
    flex-direction:column;
    gap:2vw;
  }

  .contact-card{
    background: #fff;
    border-radius: 3.563vw;
    padding: 2.771vw;
    display: flex;
    align-items: flex-start;
    gap: 2vw;
    box-shadow: 0 0.781vw 2.604vw rgba(0, 0, 0, 0.05);
    transition: 0.35s ease;
  }

  .contact-card:hover{
    transform:translateY(-0.313vw);
  }

  .contact-icon{
    width: 10.75vw;
    min-width: 10.75vw;
    height: 10.75vw;
    border-radius: 3.563vw;
    background: #00B0B9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 4vw;
  }

  .contact-text h3{
    font-size: 3.5vw;
    color: #1E3A5F;
  }

  .contact-text p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
    text-decoration: none;
  }

  .contact-form-wrapper{
    background:#fff;
    border-radius:3.563vw;
    padding:2.771vw;
    box-shadow:0 1.042vw 3.125vw rgba(0,0,0,0.06);
    margin-bottom: 2vw;
  }

  .contact-form-header{
    margin-bottom:2.083vw;
  }

  .form-badge{
    display: inline-flex;
    align-items: center;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: rgba(0, 176, 185, 0.12);
    color: #00B0B9;
    font-size: 3.729vw;
    font-weight: 600;
    margin-bottom: 2vw;
  }

  .contact-form-header h2{
    font-size: 5.885vw;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .contact-form-header p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .contact-form{
    display:flex;
    flex-direction:column;
    gap:2vw;
  }

  .form-row{
    display: flex;
    gap: 2vw;
    flex-direction: column;
  }

  .form-group{
    display:flex;
    flex-direction:column;
  }

  .form-group label{
    font-size: 2.885vw;
    font-weight: 600;
    color: #1E3A5F;
    margin-bottom: 0.625vw;
  }

  .form-group input,
  .form-group select,
  .form-group textarea{
    width: 100%;
    border: none;
    background: #F8FAFB;
    border-radius: 1.042vw;
    padding: 1.938vw 2.146vw;
    font-size: 2.885vw;
    font-family: inherit;
    color: #1E3A5F;
    transition: 0.3s ease;
  }

  .form-group textarea{
    resize:none;
  }

  .form-group input:focus,
  .form-group select:focus,
  .form-group textarea:focus{
    outline:none;
    background:#fff;
    box-shadow:
    0 0 0 0.104vw rgba(0,176,185,0.18),
    0 0.521vw 1.563vw rgba(0,176,185,0.10);
  }

  .form-group input::placeholder,
  .form-group textarea::placeholder{
    color:#8a94a6;
  }

  .contact-submit-btn{
    width: fit-content;
    height: 11.125vw;
    border: none;
    padding: 0 6.771vw;
    border-radius: 3.563vw;
    background: #00B0B9;
    color: #fff;
    font-size: 3.885vw;
    font-weight: 700;
    cursor: pointer;
    transition: 0.35s ease;
    margin: 0vw auto;
  }

  .amenidad-row {
    display: flex;
    column-gap: 2vw;
  }

  .contact-submit-btn:hover{
    transform:translateY(-0.208vw);
    box-shadow:0 0.938vw 2.083vw rgba(0,176,185,0.25);
  }

  .contact-faq{
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .faq-header{
    text-align:left;
    margin-bottom:0vw;
  }

  .faq-badge{
    display: inline-flex;
    align-items: center;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: rgba(0, 176, 185, 0.12);
    color: #00B0B9;
    font-size: 3.729vw;
    font-weight: 600;
    margin-bottom: 2vw;
  }

  .faq-header h2{
    font-size: 5.885vw;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .faq-grid{
    width: 100%;
    display: flex;
    gap: 2vw;
    flex-direction: column;
  }

  .faq-card{
    background: #fff;
    border-radius: 3.563vw;
    padding: 2.771vw;
    transition: 0.35s ease;
  }

  .faq-card:hover{
    transform:translateY(-0.313vw);
    background:#fff;
    box-shadow:0 0.781vw 2.604vw rgba(0,0,0,0.06);
  }

  .faq-card h3{
    font-size: 2.885vw;
    color: #1E3A5F;
    margin-bottom: 2vw;
  }

  .faq-card p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .events-list-section{
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .events-list-top{
    display: flex;
    gap: 2vw;
    margin-bottom: 5vw;
    flex-direction: column;
  }

  .events-list-heading h2{
    font-size: 5.885vw;
    font-weight: 700;
    color: #1E3A5F;
    line-height: 1.1;
  }

  .events-filter-box select{
    height:2.917vw;
    padding:0 1.146vw;
    border:none;
    outline:none;
    border-radius:0.938vw;
    background:#fff;
    color:#1E3A5F;
    font-size:0.781vw;
    font-weight:600;
    box-shadow:0 0.521vw 1.563vw rgba(0,0,0,0.05);
    cursor:pointer;
  }

  .events-list-grid{
    display:flex;
    flex-direction:column;
    gap:2vw;
  }

  .event-row-card{
    display: flex;
    background: #fff;
    border-radius: 3.563vw;
    overflow: hidden;
    transition: 0.35s ease;
    box-shadow: 0 0.781vw 2.083vw rgba(0, 0, 0, 0.04);
    flex-direction: column;
  }

  .event-row-card:hover{
    transform:translateY(-0.313vw);
    box-shadow:0 1.042vw 2.604vw rgba(0,0,0,0.08);
  }

  .event-row-image{
    position:relative;
  }

  .event-row-image img{
    width: 90vw;
    height: 59vw;
    object-fit: cover;
  }

  .event-date-badge{
    position: absolute;
    top: 2.042vw;
    left: 2.042vw;
    width: 11.063vw;
    height: 11.063vw;
    border-radius: 2.563vw;
    background: #00B0B9;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 2.529vw;
    font-weight: 700;
    box-shadow: 0 0.521vw 1.302vw rgba(0, 176, 185, 0.35);
  }

  .event-date-badge span{
    font-size:3.458vw;
    line-height:1;
  }

  .event-row-content{
    padding:2.771vw;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .event-row-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1.042vw;
    margin-bottom:2vw;
  }

  .event-type{
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: #e8f7f8;
    color: #00B0B9;
    font-size: 3vw;
    font-weight: 600;
  }

  .event-hour{
    color: #00B0B9;
    font-size: 3vw;
    font-weight: 600;
  }

  .event-hour i {
    font-size: 3vw;
  }

  .event-row-content h3{
    font-size: 5.885vw;
    line-height: 1.1;
    color: #1E3A5F;
    margin-bottom: 2vw;
  }

  .event-row-content p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .event-row-bottom{
    display: flex;
    gap: 2vw;
    flex-direction: column;
  }

  .event-location{
    color: #00B0B9;
    font-size: 2.885vw;
    font-weight: 500;
  }

  .event-view-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2.625vw 2.938vw;
    border-radius: 11.604vw;
    background: #1E3A5F;
    color: #fff;
    font-size: 4vw;
    font-weight: 600;
    transition: 0.3s ease;
    margin: 0vw auto 0vw;
    width: 100%;
  }

  .event-view-btn:hover{
    background:#00B0B9;
    transform:translateY(-0.104vw);
  }

  .events-pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:0.729vw;
    margin-top:3.125vw;
    flex-wrap:wrap;
  }

  .page-btn{
    width:2.708vw;
    height:2.708vw;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:0.833vw;
    background:#fff;
    color:#1E3A5F;
    font-size:0.781vw;
    font-weight:600;
    transition:0.3s ease;
    box-shadow:0 0.521vw 1.302vw rgba(0,0,0,0.04);
  }

  .page-btn:hover{
    background:#00B0B9;
    color:#fff;
    transform:translateY(-0.104vw);
  }

  .page-btn.active{
    background:#1E3A5F;
    color:#fff;
  }

  .next-btn{
    width:auto;
    padding:0 1.250vw;
  }

  .events-filter-box select{
    height: 8vw;
    padding: 1.625vw 3.938vw;
    border: none;
    border-radius: 1.938vw;
    background: #fff;
    font-size: 3vw;
    font-weight: 600;
    color: #1E3A5F;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    box-shadow:0 0.521vw 1.563vw rgba(0,0,0,0.05);
    background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231E3A5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat:no-repeat;
    background-position:right 4vw center;
    text-align: left;
    width: 38vw;
  }

  .hotel-rooms-section{
    padding:3.771vw 0;
  }

  .hotel-rooms-title{
    margin-bottom:2vw;
  }

  .hotel-rooms-title span{
    display: inline-flex;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: rgba(0, 176, 185, 0.12);
    color: #00B0B9;
    font-size: 3vw;
    font-weight: 700;
    margin-bottom: 2vw;
  }

  .hotel-rooms-title h2{
    font-size: 4vw;
    line-height: 1.1;
    color: #1E3A5F;
  }

  .hotel-rooms-grid{
    display:flex;
    flex-direction:column;
    gap:2vw;
  }

  .hotel-room-card{
    background: #fff;
    border-radius: 3.563vw;
    overflow: hidden;
    box-shadow: 0 0.781vw 2.083vw rgba(0, 0, 0, 0.05);
    transition: 0.35s ease;
    display: flex;
    flex-direction: column;
    padding: 2.771vw;
  }

  .hotel-room-top{
    display: flex;
    gap: 2vw;
    margin-bottom: 2vw;
    flex-direction: column;
  }

  .hotel-room-top h3{
    font-size: 4vw;
    line-height: 1.1;
    color: #1E3A5F;
    margin-bottom: 2vw;
  }

  .hotel-room-top p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .hotel-room-price{
    padding: 1.625vw 3.938vw;
    border-radius: 6.604vw;
    background: #1E3A5F;
    color: #fff;
    font-size: 2.885vw;
    font-weight: 700;
    width: fit-content;
  }

  .hotel-room-meta{
    display:flex;
    flex-wrap:wrap;
    gap: 2vw;
    margin-bottom: 2vw;
  }

  .hotel-room-meta span{
    display: inline-flex;
    align-items: center;
    gap: 2vw;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: #F4F7F8;
    color: #1E3A5F;
    font-size: 2.885vw;
    font-weight: 600;
  }

  .hotel-room-amenities{
    display:flex;
    flex-wrap:wrap;
    gap: 2vw;
  }

  .hotel-room-amenities span{
    display: inline-flex;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: rgba(0, 176, 185, 0.10);
    color: #00B0B9;
    font-size: 2.885vw;
    font-weight: 700;
    transition: 0.3s ease;
  }

  .hotel-room-amenities span:hover{
    background:#00B0B9;
    color:#fff;
  }


  .hotel-room-slider-wrapper{
    position:relative;
    width:24.976vw;
  }

  .hotel-room-slider{
    display:flex;
    overflow-x:auto;
    scroll-behavior:smooth;
    scrollbar-width:none;
    padding-bottom:0.260vw;
  }

  .hotel-room-slider::-webkit-scrollbar{
    display:none;
  }

  .hotel-room-slide{
    min-width:21.875vw;
    flex-shrink:0;
    border-radius:1.250vw;
    overflow:hidden;
  }

  .hotel-room-slide img{
    width:100%;
    height:16.667vw;
    object-fit:cover;
    display:block;
    transition:0.35s ease;
  }

  .hotel-room-slide:hover img{
    transform:scale(1.04);
  }

  .room-slider-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:2.500vw;
    height:2.500vw;
    border:none;
    border-radius:50%;
    background:#00B0B9;
    color:#1E3A5F;
    cursor:pointer;
    z-index:10;
    box-shadow:0 0.521vw 1.302vw rgba(0,0,0,0.12);
    transition:0.3s ease;
  }

  .room-slider-btn:hover{
    background:#00B0B9;
    color:#fff;
  }

  .room-slider-prev{
    left:0.833vw;
  }

  .room-slider-next{
    right:0.833vw;
  }

  .room-slider-btn svg{
    width:1.563vw;
    height:1.563vw;
  }

  .single-event-hero{
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    overflow: hidden;
  }

  .single-event-bg{
    position:absolute;
    inset:0;
  }

  .single-event-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .single-event-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
      to top,
      rgba(15,23,42,0.88),
      rgba(15,23,42,0.45)
    );
  }

  .single-event-content{
    position: relative;
    z-index: 2;
    width: 100%;
    text-align: center;
    padding: 20vw 5% 2vw;
  }

  .event-hero-tags{
    display:none;
    gap:0.625vw;
    margin-top:1.250vw;
    margin-bottom:1.250vw;
  }

  .event-hero-tags span{
    padding:0.521vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(255,255,255,0.12);
    backdrop-filter:blur(0.521vw);
    color:#fff;
    font-size:0.677vw;
    font-weight:700;
  }

  .single-event-content h1{
    max-width: 89.729vw;
    font-size: 7.396vw;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 2.938vw;
    font-weight: 700;
    width: 89.729vw;
    text-align: left;
  }

  .single-event-content p{
    max-width: -webkit-fill-available;
    color: rgba(255, 255, 255, 0.86);
    font-size: 3vw;
    line-height: 1.9;
    margin-bottom: 2.083vw;
    text-align: left;
  }

  .event-meta-grid{
    display: flex;
    gap: 1.250vw;
    margin-bottom: 2.083vw;
    flex-direction: column;
  }

  .event-meta-item{
    min-width: 12.500vw;
    display: flex;
    gap: 2vw;
    padding: 3vw 4vw;
    border-radius: 3.563vw;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(0.625vw);
  }

  .event-meta-item i{
    font-size:5vw;
    color:#00B0B9;
  }

  .event-meta-item div {
    display: flex;
    flex-direction: row;
    column-gap: 2vw;
  }
  .event-meta-item strong{
    display:block;
    color:#fff;
    margin-bottom:0.313vw;
  }

  .event-meta-item span{
    color:rgba(255,255,255,0.8);
  }

  .event-hero-actions{
    display: flex;
    gap: 2vw;
    flex-direction: row;
    margin-bottom: 2vw;
  }

  .event-hero-actions a {
    height: 12.021vw;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2vw;
    border-radius: 3.563vw;
    font-size: 4vw;
    font-weight: 600;
    transition: 0.3s ease;
    width: -webkit-fill-available;
  }
  .single-event-main{
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .single-event-grid{
    display: flex;
    gap: 1.250vw;
    flex-direction: column;
  }

  .event-content-box,
  .event-map-box,
  .sidebar-card{
    background:#fff;
    border-radius:3.563vw;
    padding:2.771vw;
    box-shadow:0 0.781vw 2.604vw rgba(0,0,0,0.04);
  }

  .event-content-box{
    margin-bottom:1.667vw;
  }

  .event-content-box h2,
  .section-heading h2{
    font-size: 5.885vw;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .event-content-box p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .event-gallery-section{
    margin-bottom:1.667vw;
  }

  .event-gallery-grid{
    display: flex;
    gap: 0.938vw;
  }

  .gallery-large{
    grid-row:span 2;
    height:32.292vw;
  }

  .gallery-small{
    height:15.625vw;
  }

  .gallery-large,
  .gallery-small{
    border-radius:1.458vw;
    overflow:hidden;
  }

  .gallery-large img,
  .gallery-small img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.4s ease;
  }

  .gallery-large:hover img,
  .gallery-small:hover img{
    transform:scale(1.05);
  }

  .gallery-small{
    position:relative;
    cursor:pointer;
  }

  .gallery-large{
    cursor:pointer;
  }

  .gallery-more-overlay{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,0.58);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:2.188vw;
    font-weight:700;
    backdrop-filter:blur(0.208vw);
  }

  .gallery-popup{
    position:fixed;
    inset:0;
    background:rgba(7,10,20,0.92);
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    transition:0.3s ease;
  }

  .gallery-popup.active{
    opacity:1;
    visibility:visible;
  }

  .gallery-popup-image{
    width:90%;
    max-width:62.500vw;
    height:80vh;
  }

  .gallery-popup-image img{
    width:100%;
    height:100%;
    object-fit:contain;
  }

  .gallery-close,
  .gallery-prev,
  .gallery-next{
    position:absolute;
    border:none;
    background:rgba(255,255,255,0.12);
    backdrop-filter:blur(0.521vw);
    color:#fff;
    cursor:pointer;
    transition:0.3s ease;
  }

  .gallery-close{
    top: 3.563vw;
    right: 3.563vw;
    width: 10.292vw;
    height: 10.292vw;
    border-radius: 50%;
    font-size: 4vw;
  }

  .gallery-prev{
    left: 1.563vw;
    top: 50%;
    transform: translateY(-50%);
    width: 10.292vw;
    height: 10.292vw;
    border-radius: 50%;
    font-size: 4vw;
  }

  .gallery-icon-prev{
    width: 6.083vw;
    height: 6.083vw;
    margin-left:2.729vw;
  }

  .gallery-icon-next{
    width: 6.083vw;
    height: 6.083vw;
  }

  .gallery-icon-close{
    width: 6.188vw;
    height: 6.188vw;
  }

  .gallery-next{
    right: 1.563vw;
    top: 50%;
    transform: translateY(-50%);
    width: 10.292vw;
    height: 10.292vw;
    border-radius: 50%;
    font-size: 4vw;
  }

  .event-map-placeholder{
    height:48.837vw;
    border-radius:3.721vw;
    background:#e9eef2;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#1E3A5F;
    font-size:1.146vw;
    font-weight:700;
  }

  .organizer-description{
    margin-bottom:1.198vw;
  }

  .single-event-sidebar{
    display:flex;
    flex-direction:column;
    gap:1.250vw;
  }

  .sidebar-card-info h3{
    font-size:1.563vw;
    color:#1E3A5F;
    margin-bottom:0.938vw;
  }

  .sidebar-card p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .sidebar-card h3 {
    font-size: 5.885vw;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .no-sticky{
    position:static;
  }

  .event-info-list{
    display:flex;
    flex-direction:column;
    gap:1vw;
    padding:0;
    margin:0;
    list-style:none;
  }

  .event-info-list li i{
    color: #00B0B9;
    font-size: 3vw;
  }

  .event-info-list li{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .event-share{
    display: flex;
    gap: 2vw;
    justify-content: center;
  }

  .event-share a{
    width: 10.292vw;
    height: 10.292vw;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #F8FAFB;
    color: #1E3A5F;
    font-size: 0.938vw;
    transition: 0.3s ease;
  }

  .event-share a:hover{
    background:#00B0B9;
    color:#fff;
    transform:translateY(-0.208vw);
  }

  .event-share a i  {
    font-size: 4vw;
  }

  .event-map{
    width:-webkit-fill-available;
    height:48.837vw;
    border-radius:3.721vw;
  }

  .more-events-section{
    padding:5.208vw 5%;
    background:#F8FAFB;
  }

  .more-events-grid{
    display: flex;
    gap: 3.721vw;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .more-events-grid::-webkit-scrollbar {
    display: none;
  }

  .more-event-card{
    background:#fff;
    border-radius:3.563vw;
    overflow:hidden;
    transition:0.35s ease;
    box-shadow:0 0.521vw 1.823vw rgba(0,0,0,0.04);
    min-width: 70vw;
    flex: 0 0 70vw;
    scroll-snap-align: start;
  }

  .more-event-card:hover{
    transform:translateY(-0.417vw);
  }

  .more-event-image{
    position: relative;
    display: block;
    height: 64.125vw;
    overflow: hidden;
  }

  .more-event-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.5s ease;
  }

  .more-event-card:hover img{
    transform:scale(1.06);
  }

  .more-event-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
      to top,
      rgba(0,0,0,0.5),
      rgba(0,0,0,0.08)
    );
  }

  .more-event-date{
    position: absolute;
    top: 2.042vw;
    left: 2.042vw;
    width: 12.229vw;
    height: 12.75vw;
    border-radius: 3.563vw;
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(0.521vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 3.729vw;
    font-weight: 700;
  }

  .more-event-date span{
    font-size:3.729vw;
    line-height:1;
  }

  .more-event-content{
    padding:3.979vw;
  }

  .more-event-type{
    display: inline-block;
    margin-bottom: 2vw;
    color: #00B0B9;
    font-size: 4.885vw;
    font-weight: 700;
  }

  .more-event-content h3{
    font-size: 5.885vw;
    line-height: 1.1;
    color: #1E3A5F;
    margin-bottom: 2vw;
  }

  .more-event-content h3 a{
    color:#1E3A5F;
  }

  .more-event-content p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .more-event-location{
    display: flex;
    align-items: center;
    gap: 1.521vw;
    color: #D69B2D;
    font-size: 3vw;
    font-weight: 600;
    margin-bottom: 2vw;
  }

  .more-event-location i{
    font-size:3vw;
  }

  .events-cta-section{
    padding:5vw 5vw;
    background:#F8FAFB;
  }

  .events-cta-box{
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #1E3A5F, #00B0B9);
    border-radius: 3.563vw;
    display: flex;
    min-height: 21.875vw;
    flex-direction: column;
  }

  .events-cta-box::before{
    content:"";
    position:absolute;
    width:21.875vw;
    height:21.875vw;
    border-radius:50%;
    background:rgba(255,255,255,0.05);
    top:-9.375vw;
    right:-6.250vw;
  }

  .events-cta-image{
    position:relative;
    height:100%;
    display: none;
  }

  .events-cta-image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .events-cta-content{
    position:relative;
    z-index:2;
    padding:2.771vw;
  }

  .events-cta-content h2{
    font-size: 5.885vw;
    font-weight: 700;
    color: #fff;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .events-cta-content p{
    max-width: max-content;
    margin: auto;
    color: #fff;
    font-size: 2.885vw;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .events-cta-actions{
    display:flex;
    align-items:center;
    gap:0.938vw;
  }

  .events-cta-actions .primary-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2.625vw 2.938vw;
    border-radius: 11.604vw;
    background: #fff;
    color: #1E3A5F;
    font-size: 4vw;
    font-weight: 600;
    transition: 0.3s ease;
    width: -webkit-fill-available;
    height: auto;
  }

  .events-cta-actions .primary-btn:hover{
    transform:translateY(-0.208vw);
  }

  .horarios-item{
    align-items:flex-start;
    margin-bottom: 2.771vw;
  }

  .horarios-list{
    width:100%;
    display:flex;
    flex-direction:column;
    gap: 2.771vw;
  }

  .horario-row{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.781vw;
    padding: 1.625vw 2.938vw;
    border-radius: 3.563vw;
    background: #f7f7f7;
    transition: 0.3s ease
  }

  .horario-row.active-day{
    background:#00b0b91f;
    border:0.052vw solid #00b0b91f;
  }

  .horario-dia{
    font-weight:700;
    color:#666;
  }

  .horario-hora{
    font-size: 3vw;
    color:#666;
    text-align:right;
  }

  .horario-row.active-day .horario-dia{
    color:#00B0B9;
  }

  .horario-row.active-day .horario-hora{
    color:#00B0B9;
    font-weight:600;
  }

  .sidebar-map-card{
    background: #fff;
    border-radius: 3.563vw;
    overflow: hidden;
    border: 0.052vw solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 0.521vw 1.563vw rgba(0, 0, 0, 0.04);
    margin-bottom: 2vw;
  }

  .sidebar-map-preview{
    width: 100%;
    height: 55vw;
    overflow: hidden;
  }

  .sidebar-map-preview iframe{
    width:100%;
    height:100%;
    border:0;
    filter:grayscale(0.1);
  }

  .sidebar-map-btn{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1vw;
    padding: 2.625vw 2.938vw;
    background: #00B0B9;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    transition: 0.25s ease;
    font-size: 4vw;
  }

  .sidebar-map-btn:hover{
    background:#008c95;
  }

  .sidebar-map-btn i{
    font-size: 4vw;
    display: flex;
    align-items: center;
  }

  .title-info-slide-data{
    display:flex;
    flex-direction:row;
    gap: 1vw;
  }

  .sidebar-subtitle{
    color: #00B0B9;
    font-size: 3vw;
    margin-left: 0.469vw;
    font-weight: 600;
  }

  .login-btn{
    background:#00B0B9;
    color:#fff;
    padding:0.625vw 1.146vw;
    border-radius:2.083vw;
    font-size:0.729vw;
    font-weight:600;
    transition:0.3s;
    border:none;
  }

  .login-btn:hover{
    background:#008c95;
  }

  .profile-btn{
    width:2.188vw;
    height:2.188vw;
    border-radius:50%;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    border:0.104vw solid #e5e7eb;
    transition:.3s;
  }

  .profile-btn:hover{
    transform:scale(1.05);
  }

  .profile-btn img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .login-btn i{
    color:#fff;
  }

  .search-results-page{
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .search-results-top{
    background: #F8FAFB;
    margin-bottom: 2vw;
  }

  .search-results-top h1{
    font-size: 5.885vw;
    line-height: 1.1;
    color: #1E3A5F;
    margin-bottom: 2vw;
    font-weight: 700;
  }

  .search-results-top h1 span{
    color:#00B0B9;
  }

  .search-results-top p{
    max-width: -webkit-fill-available;
    font-size: 2.885vw;
    color: #5f6b7a;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .discover-extra{
    display:inline-flex;
    align-items:center;
    gap:0.417vw;
    font-size:0.729vw;
    font-weight:700;
  }

  .discover-extra.open{
    background: #dff7ef;
    color: #16a34a;
    padding: 1.625vw 2.938vw;
    border-radius: 5.604vw;
    font-size: 3vw;
    font-weight: 600;
    box-shadow: 0 0.417vw 1.302vw rgba(0, 0, 0, 0.04);
  }

  .discover-extra.closed{
    background:#f7dfdf;
    color:#F04438;
    padding: 1.625vw 2.938vw;
    border-radius: 5.604vw;
    font-size: 3vw;
    font-weight: 600;
    box-shadow: 0 0.417vw 1.302vw rgba(0, 0, 0, 0.04);
  }

  .discover-extra.open::before{
    font-size:0.521vw;
  }

  .discover-extra.closed::before{
    font-size:0.521vw;
  }

  #auth-loader{
    position:fixed;
    inset:0;
    background:#fff;
    z-index:99999;
    display:flex;
    justify-content:center;
    align-items:center;
    transition:.4s;
  }

  #auth-loader.hidden{
    opacity:0;
    visibility:hidden;
  }

  .loader-box{
    text-align:center;
  }

  .loader-box img{
    width:32.167vw;
    margin-bottom:0.781vw;
  }

  .loader-box span{
    display: block;
    font-weight: 600;
    font-size: 4vw;
  }

  .profile-page{
    padding:5vw 5%;
    background:#F8FAFB;
    min-height:100vh;
  }

  .profile-cover{
    display:flex;
    flex-direction:column;
    background: #fff;
    border-radius: 3.563vw;
    padding: 2.771vw;
    box-shadow: 0 1.042vw 3.125vw rgba(0, 0, 0, 0.06);
    margin-bottom: 2vw;
    row-gap: 2vw;
  }

  .profile-avatar{
    width: 23.292vw;
    height: 23.292vw;
    border-radius: 50%;
    overflow: hidden;
    border: 0.208vw solid #00B0B9;
    background: #fff;
    margin: 0vw auto 0vw;
  }

  .profile-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .profile-cover h1{
    font-size: 5.885vw;
    color: #1E3A5F;
    line-height: 1.1;
    text-align: left;
  }

  .profile-cover p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
    text-align: left;
    display: none;
  }

  .profile-layout{
    display: flex;
    gap: 2vw;
    flex-direction: column;
  }

  .profile-sidebar{
    background: #fff;
    border-radius: 3.563vw;
    padding: 2.771vw;
    box-shadow: 0 1.042vw 3.125vw rgba(0, 0, 0, 0.06);
    margin-bottom: 2vw;
    display: none;
  }

  .profile-menu-item{
    width:100%;
    display:flex;
    align-items:center;
    gap:0.625vw;
    border:none;
    background:none;
    padding:0.833vw 0.938vw;
    border-radius:0.833vw;
    color:#1E3A5F;
    font-size:0.781vw;
    font-weight:600;
    cursor:pointer;
    transition:.3s ease;
  }

  .profile-menu-item:hover{
    background:#eef6f7;
  }

  .profile-menu-item.active{
    background:#00B0B9;
    color:#fff;
  }

  .profile-menu-item.logout{
    margin-top:1.042vw;
    color:#D9534F;
  }

  .profile-main{
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 2vw;
  }

  .profile-content.active{
    display:block;
  }

  .profile-card{
    background:#fff;
    border-radius:3.563vw;
    padding:2.771vw;
    box-shadow:0 0.781vw 2.083vw rgba(0,0,0,.05);
  }

  .profile-card h2{
    font-size: 5.885vw;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .profile-card p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
    margin-bottom: 2vw;
  }

  .empty-state{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-height:30vw;
  }

  .empty-state i{
    font-size: 6vw;
    color: #00B0B9;
    margin-bottom: 2vw;
  }

  .empty-state h3{
    font-size: 2.885vw;
    font-weight: 600;
    color: #1E3A5F;
  }

  .empty-state p{
    max-width:21.875vw;
  }

  .account-info{
    margin-top:1.563vw;
    display:flex;
    flex-direction:column;
    gap:1.042vw;
  }

  .account-info div{
    padding: 2.771vw;
    border-radius: 3.563vw;
    background: #F8FAFB;
  }

  .account-info strong{
    display:block;
    margin-bottom:0.417vw;
    color:#1E3A5F;
    font-size: 2.885vw;
  }

  .account-info span{
    color:#7A8794;
    font-size: 2.885vw;
  }

  .favorite-btn.active{
    background:#D69B2D !important;
  }

  .favorite-btn.active i{
    color:#fff;
  }

  .review-form-box{
    margin-top: 2.563vw;
    padding-top: 2.302vw;
    border-top: 0.052vw solid #e5e5e5;

  }

  .review-form-box h3{
    margin-bottom: 0.781vw;
    font-size: 4vw;
    color: #1E3A5F;
  }

  .review-stars-selector{
    display:flex;
    gap:0.313vw;
    margin-bottom:0.781vw;
  }

  .review-stars-selector span{
    font-size:9vw;
    color:#d4d4d4;
    cursor:pointer;
    transition:.2s;
  }

  .review-stars-selector span.active{
    color:#f4b400;
  }

  #review-comment{
    width: 100%;
    min-height: 8.25vw;
    border: 0.052vw solid #ddd;
    border-radius: 3.563vw;
    padding: 1.781vw;
    resize: vertical;
    margin-bottom: 0.781vw;
    height: 20vw;
  }

  #review-login-message{
    padding: 2.25vw;
    border-radius: 3.563vw;
    background: #f7f7f7;
  }

  .reviews-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    z-index:9999;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:1.042vw;
  }

  .reviews-modal-content{
    width: 100%;
    max-width: 88.875vw;
    max-height: 90vw;
    overflow-y: auto;
    background: #111;
    border-radius: 3.563vw;
    padding: 2.771vw;
    border: 0.052vw solid rgba(255, 255, 255, .08);
  }

  .reviews-modal-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:1.302vw;
  }

  .reviews-modal-header h2{
    margin:0;
    color:#fff;
  }

  #close-reviews-modal{
    background:transparent;
    border:none;
    font-size:10.667vw;
    color:#fff;
    cursor:pointer;
  }

  #all-reviews-list{
    display:grid;
    gap:2.771vw;
  }

  .login-required-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    z-index:10000;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:1.042vw;
  }

  .login-required-box{
    width:100%;
    max-width:23.438vw;
    background:#fff;
    border-radius:1.042vw;
    padding:1.823vw 1.563vw;
    text-align:center;
    position:relative;
    box-shadow:0 1.042vw 2.604vw rgba(0,0,0,.25);
  }

  .login-required-logo{
    width:6.250vw;
    height:auto;
    margin-bottom:1.042vw;
  }

  .login-required-box h2{
    margin-bottom:0.521vw;
  }

  .login-required-box p{
    color:#666;
    margin-bottom:1.302vw;
  }

  .login-required-btn{
    width:100%;
    border:none;
    border-radius:0.625vw;
    padding:0.729vw;
    cursor:pointer;
    font-weight:600;
    background:#f4b400;
    color:#111;
    transition:.2s;
  }

  .login-required-btn:hover{
    transform:translateY(-0.104vw);
  }

  .login-required-close{
    position:absolute;
    top:0.625vw;
    right:0.781vw;
    background:none;
    border:none;
    font-size:1.458vw;
    cursor:pointer;
    color:#888;
  }

  #profile-reviews-list{
    display: flex;
    grid-template-columns: none;
    gap: 5vw;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    flex-direction: row;
  }

  .profile-review-card{
    background:#F8FAFB;
    border:0.052vw solid rgba(0,176,185,.12);
    border-radius:3.563vw;
    padding:2.771vw;
    box-shadow:0 0.521vw 1.563vw rgba(0,0,0,.04);
    overflow: hidden;
    flex: 0 0 70vw;
    scroll-snap-align: start;
  }

  .profile-review-card h3{
    color: #1E3A5F;
    font-size: 4vw;
    margin-bottom: 2vw;
  }

  .profile-review-card .review-stars{
    color: #f4b400;
    font-size: 4vw;
    margin-bottom: 2vw;
  }

  .profile-review-card p{
    color: #5f6b7a;
    font-size: 2.885vw;
  }

  .profile-review-actions{
    display: flex;
    flex-direction: column;
    gap: 2vw;
    align-items: center;
  }

  .profile-review-actions a,
  .profile-review-actions button{
    border: none;
    border-radius: 11.604vw;
    padding: 2.625vw 2.938vw;
    cursor: pointer;
    font-size: 4vw;
    font-weight: 600;
    text-decoration: none;
    transition: .25s ease;
    display: flex;
    width: -webkit-fill-available;
    justify-content: center;
  }

  .profile-review-actions .business-btn{
    background:#1E3A5F;
    color:#fff;
  }

  .profile-review-edit{
    background:#F4B400;
    color:#111;
  }

  .profile-review-delete{
    background:#DC3545;
    color:#fff;
  }

  .profile-review-actions a:hover,
  .profile-review-actions button:hover{
    transform:translateY(-0.104vw);
  }

  .todo-toast{
    position: fixed;
    right: 3.25vw;
    bottom: 205.25vw;
    background: #1E3A5F;
    color: #fff;
    padding: 2.729vw 3.042vw;
    border-radius: 5.833vw;
    box-shadow: 0 0.938vw 2.083vw rgba(0, 0, 0, .18);
    font-size: 2.729vw;
    font-weight: 600;
    z-index: 12000;
    opacity: 0;
    pointer-events: none;
    transform: translateY(1.042vw);
    transition: .3s ease;
  }

  .todo-toast.show{
    opacity:1;
    transform:translateY(0);
  }

  .todo-toast.success{
    background:#1E3A5F;
  }

  .todo-toast.error{
    background:#D9534F;
  }

  .place-top-info .favorite-btn{
    position: relative;
    top: 0;
    right: 0;
    width: 10.292vw;
    height: 10.292vw;
    border: none;
    background: #00B0B9;
    border-radius: 50%;
    backdrop-filter: blur(0.521vw);
    color: #fff;
    cursor: pointer;
    transition: 0.3s ease;
  }

  .content-top-info div,
  .content-top-info h1 {
    width: 78vw;
  }

  .place-top-info .favorite-btn:hover{
    background:#00B0B9;
  }

  .div-footer-categories{
    display: flex;
    row-gap: 2.729vw;
    flex-direction: column;
    width: -webkit-fill-available;
  }

  .about-page-hero{
    position:relative;
    min-height:27.083vw;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:6.250vw 5%;
    background:
    linear-gradient(rgba(30,58,95,.75), rgba(30,58,95,.75)),
    url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?q=80&w=2070&auto=format&fit=crop');
    background-size:cover;
    background-position:center;
  }

  .about-page-content{
    position:relative;
    max-width:46.875vw;
    z-index:2;
  }

  .about-page-content span,
  .section-mini{
    display: inline-flex;
    align-items: center;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: rgba(0, 176, 185, 0.12);
    color: #00B0B9;
    font-size: 3.729vw;
    font-weight: 600;
    margin-bottom: 2vw;
  }

  .section-mini.light{
    background:rgba(255,255,255,.16);
    color:#fff;
  }

  .about-page-content h1{
    color:#fff;
    font-size:3.333vw;
    line-height:1.05;
    margin-bottom:1.146vw;
  }

  .about-page-content p{
    color:rgba(255,255,255,.9);
    font-size:0.990vw;
    line-height:1.8;
  }

  .about-page-section,
  .about-goals-section,
  .about-final-section{
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .about-page-section .about-page-container{
    display: flex;
    gap: 2vw;
    flex-direction: column;
  }

  .about-page-text {
    background: #fff;
    border-radius: 3.563vw;
    padding: 2.771vw;
    box-shadow: 0 0.938vw 2.604vw rgba(0, 0, 0, .06);
  }

  .about-page-text h2,
  .about-section-heading h2,
  .about-offer-text h2,
  .about-final-content h2{
    font-size: 5.885vw;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .about-page-text p,
  .about-offer-text p,
  .about-final-content p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .about-page-card{
    background: #fff;
    border-radius: 3.563vw;
    padding: 2.771vw;
    box-shadow: 0 0.938vw 2.604vw rgba(0, 0, 0, .06);
  }

  .about-page-card h3{
    font-size: 5.885vw;
    color: #1E3A5F;
    margin-bottom: 2vw;
    line-height: 1.1;
  }

  .about-page-card ul{
    display:flex;
    flex-direction:column;
  }

  .about-page-card li{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .about-goals-grid{
    gap: 2vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .about-goal-card{
    background: #fff;
    border-radius: 3.563vw;
    padding: 2.771vw;
    box-shadow: 0 1.042vw 3.125vw rgba(0, 0, 0, 0.06);
  }

  .about-goal-card:hover{
    transform:translateY(-0.313vw);
  }

  .about-goal-card i{
    width: 10.75vw;
    height: 10.75vw;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3.563vw;
    background: rgba(0, 176, 185, .12);
    color: #00B0B9;
    font-size: 4vw;
    margin-bottom: 2vw;
  }

  .about-goal-card h3{
    font-size: 2.885vw;
    color: #1E3A5F;
    margin-bottom: 2vw;
  }

  .about-goal-card p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .about-offer-section{
    padding:5vw 5%;
    background:#1E3A5F;
  }

  .about-offer-box{
    display: flex;
    gap: 2vw;
    flex-direction: column;
  }

  .about-offer-text h2,
  .about-offer-text p{
    color:#fff;
  }

  .about-offer-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2vw;
  }

  .about-offer-list span{
    background: rgba(255, 255, 255, .1);
    color: #fff;
    padding: 2.771vw;
    border-radius: 3.563vw;
    font-size: 2.885vw;
    font-weight: 600;
    border: 0.052vw solid rgba(255, 255, 255, .08);
  }

  .about-final-section{
    background:#fff;
  }

  .legal-hero{
    width:100%;
    padding:6.771vw 5%;
    background:linear-gradient(135deg,#1E3A5F,#00B0B9);
    text-align:center;
  }

  .legal-hero-content{
    max-width:46.875vw;
    margin:auto;
  }

  .legal-hero-content span{
    display:inline-flex;
    padding:0.521vw 0.938vw;
    border-radius:2.604vw;
    background:rgba(255,255,255,.16);
    color:#fff;
    font-size:0.729vw;
    font-weight:700;
    margin-bottom:0.938vw;
  }

  .legal-hero-content h1{
    color:#fff;
    font-size:2.813vw;
    line-height:1.1;
    margin-bottom:1.042vw;
  }

  .legal-hero-content p{
    color:rgba(255,255,255,.9);
    font-size:0.938vw;
    line-height:1.8;
  }

  .legal-section{
    padding:5vw 5%;
    background:#F8FAFB;
  }

  .legal-card{
    background: #fff;
    border-radius: 3.563vw;
    padding: 2.771vw;
    box-shadow: 0 0.938vw 2.604vw rgba(0, 0, 0, .06);
  }

  .legal-date{
    display: inline-flex;
    align-items: center;
    padding: 1.625vw 2.938vw;
    border-radius: 6.604vw;
    background: rgba(0, 176, 185, 0.12);
    color: #00B0B9!important;
    font-size: 3.729vw!important;
    font-weight: 600;
    margin-bottom: 2vw!important;
  }

  .legal-card h2{
    font-size: 2.885vw;
    color: #1E3A5F;
    margin-bottom: 2vw;
    margin-top: 2vw;
  }

  .legal-card p{
    color: #5f6b7a;
    font-size: 2.885vw;
    line-height: 1.9;
  }

  .back-to-top{
    position:fixed;
    right: 3.25vw;
    bottom: 3.823vw;
    width: 13.708vw;
    height: 13.708vw;
    border:none;
    border-radius:50%;
    background:#00B0B9;
    color:#fff;
    font-size:5.938vw;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 0.729vw 1.823vw rgba(0,0,0,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(0.781vw);
    transition:.3s ease;
    z-index:999998;
  }

  .back-to-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .search-results-page .places-grid {
    display: flex;
    gap: 2vw;
    flex-direction: column;
  }

  .search-results-page .places-grid .business-card {
    background: #fff;
    border-radius: 3.563vw;
    overflow: hidden;
    transition: 0.35s ease;
    flex: none;
  }

  .desktop-auth-btn,
  .desktop-profile-link,
  .desktop-contact-btn{
    display:none !important;
  }

  .navbar{
    position:relative;
  }

  .nav-icons{
    display:flex;
    align-items:center;
    gap:3vw;
  }

  .mobile-menu-toggle{
    width: 10vw;
    height: 10vw;
    border: none;
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    gap: 1.9vw;
  }

  .mobile-menu-toggle span{
    width: 8vw;
    height: 1vw;
    background: #008c95;
    border-radius: 5vw;
    display: block;
  }

  .mobile-menu{
    position:fixed;
    top:0;
    right:-100%;
    width:100vw;
    height:100vh;
    background:#fff;
    z-index:999999;
    padding:6vw;
    box-shadow:-6vw 0 12vw rgba(0,0,0,.18);
    transition:.35s ease;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
  }

  .mobile-menu-links{
    padding-bottom:6vw;
  }

  .mobile-menu-auth{
    display:flex;
    flex-direction:column;
    gap:3vw;
    padding-bottom:22vw;
  }

  .mobile-menu.active{
    right:0;
  }

  .mobile-menu-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:7vw;
  }

  .mobile-menu-header span{
    font-size:6vw;
    font-weight:800;
    color:#1E3A5F;
  }

  #mobile-menu-close{
    width:10vw;
    height:10vw;
    border:none;
    border-radius:50%;
    background:#eef6f7;
    color:#1E3A5F;
    font-size:5vw;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .mobile-menu-links{
    display:flex;
    flex-direction:column;
    gap:3.5vw;
  }

  .mobile-menu-links a{
    width:100%;
    padding:4vw;
    border-radius:4vw;
    background:#F8FAFB;
    color:#1E3A5F;
    font-size:4.2vw;
    font-weight:700;
  }

  .mobile-menu-auth{
    margin-top:auto;
    display:flex;
    flex-direction:column;
    gap:3vw;
  }

  .mobile-login-btn,
  .mobile-profile-btn,
  .mobile-logout-btn{
    width:100%;
    height:13vw;
    border:none;
    border-radius:4vw;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:4vw;
    font-weight:700;
    text-decoration:none;
  }

  .mobile-login-btn{
    background:#00B0B9;
    color:#fff;
  }

  .mobile-profile-btn{
    background:#1E3A5F;
    color:#fff;
  }

  .mobile-logout-btn{
    background:#D9534F;
    color:#fff;
  }

  .slider-wrapper-pc {
    display: none;
  }

  .profile-content .profile-card .business-grid {
    display: flex;
    grid-template-columns: none;
    gap: 5vw;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    flex-direction: row;
  }

  .profile-content .profile-card .business-grid .business-card {
    background: #F8FAFB;
    border-radius: 3.563vw;
    overflow: hidden;
    transition: 0.35s ease;
    flex: 0 0 70vw;
    scroll-snap-align: start;
    border-radius: 3.563vw;
  }

  .profile-content .profile-card .business-grid .business-card .business-content {
    padding: 2.771vw;
  }

  .hotel-room-card{
    flex-direction:column;
  }

  .hotel-room-slider-wrapper{
    width:100%;
    margin:0;
    position:relative;
  }

  .hotel-room-slider{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:0;
    column-gap: 4vw;
  }

  .hotel-room-slider::-webkit-scrollbar{
    display:none;
  }

  .hotel-room-slide{
    min-width:100%;
    flex:0 0 100%;
    scroll-snap-align:center;
    border-radius: 3.563vw;
  }

  .hotel-room-slide img{
    width:100%;
    height:58vw;
    object-fit:cover;
    border-radius:3.563vw;
  }

  .room-slider-btn{
    display:none !important;
  }

  .hotel-room-dots{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:2vw;
    margin-top:2vw;
    margin-bottom:2vw;
  }

  .hotel-room-dot{
    width:2.2vw;
    height:2.2vw;
    border-radius:50%;
    background:#d5e5e7;
    transition:.3s ease;
  }

  .hotel-room-dot.active{
    width:6vw;
    border-radius:5vw;
    background:#00B0B9;
  }

  .mobile-profile-btn,
  .mobile-logout-btn{
    display:none;
  }

  .mobile-menu-auth.logged-in .mobile-login-btn{
    display:none;
  }

  .mobile-menu-auth.logged-in .mobile-profile-btn,
  .mobile-menu-auth.logged-in .mobile-logout-btn{
    display:flex;
  }
  
  .event-gallery-mobile-slider {
    display: none;
  }

  .event-gallery-grid > .gallery-large,
  .event-gallery-grid > .gallery-small {
    display: none;
  }

  .event-gallery-mobile-slider {
    display: block;
    width: 100%;
    overflow: hidden;
  }

  .event-gallery-mobile-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    gap: 2.791vw;
    scrollbar-width: none;
  }

  .event-gallery-mobile-track::-webkit-scrollbar {
    display: none;
  }

  .event-gallery-mobile-slide {
    min-width: 100%;
    height: 48.837vw;
    border-radius: 3.721vw;
    overflow: hidden;
    scroll-snap-align: center;
  }

  .event-gallery-mobile-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .event-gallery-mobile-dots {
    display: flex;
    justify-content: center;
    gap: 1.628vw;
    margin-top: 2.791vw;
  }

  .mobile-gallery-dot {
    width: 1.628vw;
    height: 1.628vw;
    border-radius: 50%;
    border: none;
    background: #d1d5db;
    padding: 0;
  }

  .mobile-gallery-dot.active {
    width: 4.186vw;
    border-radius: 4.651vw;
    background: #00B0B9;
  }

  .ads-slider{
    overflow:hidden;
    border-radius:5vw;
  }

  .ads-track{
    position: relative;
    display: flex;
    width: 100%;
    height: 112vw;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 5vw;
  }

  .ads-track::-webkit-scrollbar{
    display:none;
  }

  .ad-slide{
    position:relative;
    inset:auto;
    min-width:100%;
    flex:0 0 100%;
    opacity:1;
    visibility:visible;
    transform:none;
    scroll-snap-align:center;
  }

  .ad-slide img{
    border-radius:5vw;
  }

  .ad-overlay{
    border-radius:5vw;
  }

  .search-results-page .search-results-top .search-box {
    width: 100%;
    max-width: -webkit-fill-available;
    background: rgba(120, 120, 120, 0.45);
    backdrop-filter: blur(0.729vw);
    border: 0.052vw solid rgba(255, 255, 255, 0.2);
    border-radius: 9.646vw;
    padding: 2.625vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.781vw;
    margin-bottom: 5vw;
    box-shadow: 0 1.042vw 2.604vw rgba(0, 0, 0, 0.2);
  }

  .notifications-toggle{
    position:relative;
    border:none;
    background:none;
    cursor:pointer;
  }

  .notifications-count{
    position:absolute;
    top:-8px;
    right:-8px;
    min-width:18px;
    height:18px;
    border-radius:50px;
    background:#D69B2D;
    color:#fff;
    font-size:11px;
    font-weight:700;
    display:none;
    align-items:center;
    justify-content:center;
  }

  .notifications-popup{
    position:fixed;
    top:90px;
    right:5%;
    width:392px;
    max-height:70vh;
    overflow-y:auto;
    background:#fff;
    border-radius:24px;
    padding:20px;
    z-index:999999;
    box-shadow:0 20px 60px rgba(0,0,0,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    transition:.3s ease;
  }

  .notifications-popup.active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .notifications-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:16px;
  }

  .notifications-header h3{
    color:#1E3A5F;
    font-size:22px;
  }

  #notifications-close{
    border:none;
    background:#eef6f7;
    width:34px;
    height:34px;
    border-radius:50%;
    cursor:pointer;
  }

  .notification-item{
    display:flex;
    gap:14px;
    padding:14px;
    border-radius:18px;
    background:#F8FAFB;
    margin-bottom:12px;
    text-decoration:none;
  }

  .notification-img{
    width:48px;
    min-width:48px;
    height:48px;
    border-radius:14px;
    overflow:hidden;
    background:#00B0B9;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
  }

  .notification-img img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .notification-info h4{
    color:#1E3A5F;
    font-size:15px;
    margin-bottom:4px;
  }

  .notification-info p{
    color:#5f6b7a;
    font-size:13px;
    line-height:1.4;
    margin-bottom:5px;
  }

  .notification-info span{
    color:#9ca3af;
    font-size:12px;
  }

  .notifications-unread-dot{
    position:absolute;
    top:0;
    right:0;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#D69B2D;
    display:none!important;
    box-shadow:0 0 0 3px #fff;
  }

  .notifications-unread-dot.show{
    display:block;
  }

  .notification-item.unread{
    border:1px solid rgba(214,155,45,.45);
    background:#fffaf0;
  }

  .notification-item.read{
    opacity:.75;
  }

}















































/*
=========================================
ALIADOS TODO TUXPAN
=========================================
*/

.tt-aliados-page{
    background:#F8FAFB;
    min-height:100vh;
}

.tt-aliados-hero{
    min-height: calc(100vh);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:80px 20px;
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at top left, rgba(0,176,185,.14), transparent 34%),
        radial-gradient(circle at bottom right, rgba(214,155,45,.14), transparent 32%),
        linear-gradient(135deg, #F8FAFB 0%, #ffffff 100%);
}

.tt-aliados-bg-shape{
    position:absolute;
    border-radius:999px;
    pointer-events:none;
}

.tt-aliados-bg-shape.shape-one{
    width:360px;
    height:360px;
    background:#00B0B9;
    opacity:.08;
    top:-120px;
    right:-100px;
}

.tt-aliados-bg-shape.shape-two{
    width:280px;
    height:280px;
    background:#D69B2D;
    opacity:.10;
    bottom:-110px;
    left:-80px;
}

.tt-aliados-container{
    width:min(100%, 980px);
    position:relative;
    z-index:2;
}

.tt-access-card,
.tt-options-card{
    background:rgba(255,255,255,.92);
    border:1px solid rgba(220,232,236,.9);
    border-radius:32px;
    box-shadow:0 24px 70px rgba(30,58,95,.12);
    padding:46px;
}

.tt-access-card{
    width:min(100%, 620px);
    margin:0 auto;
    text-align:center;
}

.tt-access-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 16px;
    border-radius:999px;
    background:rgba(0,176,185,.12);
    color:#00B0B9;
    font-size:13px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    margin-bottom:18px;
}

.tt-access-card h1,
.tt-options-card h1{
    color:#1E3A5F;
    font-size:clamp(34px, 5vw, 56px);
    line-height:1.02;
    font-weight:900;
    letter-spacing:-.04em;
    margin:0 0 18px;
}

.tt-access-description,
.tt-options-card p{
    color:#5F6B7A;
    font-size:17px;
    line-height:1.7;
    margin:0;
}

.tt-access-description{
    margin-bottom:32px;
}

.tt-access-form{
    margin-top:28px;
}

.tt-access-input-group{
    text-align:left;
    margin-bottom:18px;
}

.tt-access-input-group label{
    display:block;
    color:#1E3A5F;
    font-size:14px;
    font-weight:800;
    margin-bottom:8px;
}

.tt-access-input-group input{
    width:100%;
    height:54px;
    border:1px solid #dce8ec;
    border-radius:16px;
    padding:0 18px;
    font-size:16px;
    outline:none;
    background:#fff;
    color:#1E3A5F;
}

.tt-access-input-group input:focus{
    border-color:#00B0B9;
    box-shadow:0 0 0 4px rgba(0,176,185,.12);
}

.tt-access-error{
    background:#fff1f1;
    border:1px solid #ffd0d0;
    color:#b42318;
    border-radius:14px;
    padding:12px 14px;
    font-size:14px;
    font-weight:700;
    margin-bottom:18px;
    text-align:left;
}

.tt-access-btn{
    width:100%;
    height:54px;
    border:none;
    border-radius:999px;
    background:#00B0B9;
    color:#fff;
    font-size:16px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(0,176,185,.25);
    transition:.25s ease;
}

.tt-access-btn:hover{
    background:#1E3A5F;
    transform:translateY(-2px);
}

.tt-access-note{
    margin-top:22px;
    color:#7A8795;
    font-size:13px;
    line-height:1.6;
}

.tt-options-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:34px;
}

.tt-options-top > div{
    max-width:720px;
}

.tt-exit-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:88px;
    height:40px;
    padding:0 16px;
    border-radius:999px;
    background:#F8FAFB;
    color:#1E3A5F;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
    border:1px solid #dce8ec;
    transition:.25s ease;
}

.tt-exit-link:hover{
    background:#1E3A5F;
    color:#fff;
}

.tt-request-options{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:20px;
}

.tt-request-card{
    display:flex;
    gap:18px;
    min-height:230px;
    padding:28px;
    border-radius:26px;
    background:#fff;
    border:1px solid #dce8ec;
    text-decoration:none;
    box-shadow:0 16px 40px rgba(30,58,95,.08);
    transition:.25s ease;
}

.tt-request-card:hover{
    transform:translateY(-5px);
    border-color:#00B0B9;
    box-shadow:0 22px 54px rgba(30,58,95,.14);
}

.tt-request-icon{
    flex:0 0 54px;
    width:54px;
    height:54px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,176,185,.12);
    color:#00B0B9;
    font-size:28px;
    font-weight:900;
}

.tt-request-card h2{
    color:#1E3A5F;
    font-size:24px;
    font-weight:900;
    margin:0 0 12px;
    letter-spacing:-.02em;
}

.tt-request-card p{
    color:#5F6B7A;
    font-size:15px;
    line-height:1.65;
    margin:0 0 18px;
}

.tt-request-card strong{
    display:inline-flex;
    color:#D69B2D;
    font-size:14px;
    font-weight:900;
}

.tt-options-message{
    margin-top:26px;
    padding:18px 22px;
    border-radius:20px;
    background:rgba(214,155,45,.12);
    color:#7A5415;
    font-size:14px;
    font-weight:700;
    line-height:1.6;
}

@media(max-width:768px){

    .tt-aliados-hero{
        padding:50px 16px;
    }

    .tt-access-card,
    .tt-options-card{
        padding:32px 22px;
        border-radius:26px;
    }

    .tt-options-top{
        flex-direction:column;
    }

    .tt-request-options{
        grid-template-columns:1fr;
    }

    .tt-request-card{
        min-height:auto;
        padding:24px;
    }

}

@media(max-width:480px){

    .tt-request-card{
        flex-direction:column;
    }

    .tt-request-icon{
        width:50px;
        height:50px;
    }

}
/*
=========================================
ALIADOS FORMULARIO REGISTRO
=========================================
*/

.tt-form-card{
    max-width:980px;
    margin:0 auto;
}

.tt-business-register-form{
    margin-top:34px;
}

.tt-form-section{
    background:#ffffff;
    border:1px solid #dce8ec;
    border-radius:26px;
    padding:28px;
    margin-bottom:22px;
    box-shadow:0 14px 36px rgba(30,58,95,.06);
}

.tt-section-title{
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin-bottom:24px;
}

.tt-section-title span{
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:14px;
    background:rgba(0,176,185,.12);
    color:#00B0B9;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    font-weight:900;
}

.tt-section-title h2{
    color:#1E3A5F;
    font-size:24px;
    font-weight:900;
    margin:0 0 6px;
    letter-spacing:-.02em;
}

.tt-section-title p{
    color:#5F6B7A;
    font-size:15px;
    line-height:1.6;
    margin:0;
}

.tt-form-group{
    margin-bottom:18px;
}

.tt-form-group.full{
    width:100%;
}

.tt-form-group label{
    display:block;
    color:#1E3A5F;
    font-size:14px;
    font-weight:800;
    margin-bottom:8px;
}

.tt-form-group input{
    width:100%;
    min-height:56px;
    border:1px solid #dce8ec;
    border-radius:16px;
    padding:0 18px;
    font-size:16px;
    color:#1E3A5F;
    outline:none;
    background:#fff;
}

.tt-form-group input:focus{
    border-color:#00B0B9;
    box-shadow:0 0 0 4px rgba(0,176,185,.12);
}

.tt-category-options{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
}

.tt-category-option{
    position:relative;
    display:flex;
    align-items:center;
    min-height:68px;
    padding:16px 18px;
    border-radius:18px;
    border:1px solid #dce8ec;
    background:#F8FAFB;
    cursor:pointer;
    transition:.25s ease;
}

.tt-category-option input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.tt-category-option span{
    color:#1E3A5F;
    font-size:15px;
    font-weight:800;
    line-height:1.35;
}

.tt-category-option:hover{
    border-color:#00B0B9;
    background:#ffffff;
    transform:translateY(-2px);
}

.tt-category-option:has(input:checked){
    border-color:#00B0B9;
    background:rgba(0,176,185,.10);
    box-shadow:0 12px 28px rgba(0,176,185,.14);
}

.tt-category-option:has(input:checked) span{
    color:#007d84;
}

.tt-form-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    margin-top:24px;
}

.tt-primary-action,
.tt-secondary-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 24px;
    border-radius:999px;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
    border:none;
}

.tt-primary-action{
    background:#00B0B9;
    color:#fff;
    cursor:not-allowed;
    opacity:.55;
}

.tt-secondary-action{
    background:#fff;
    color:#1E3A5F;
    border:1px solid #dce8ec;
}

.tt-secondary-action:hover{
    background:#1E3A5F;
    color:#fff;
}

.tt-form-helper{
    margin-top:18px;
    padding:16px 18px;
    border-radius:18px;
    background:rgba(214,155,45,.12);
    color:#7A5415;
    font-size:14px;
    font-weight:700;
    line-height:1.6;
}

@media(max-width:900px){

    .tt-category-options{
        grid-template-columns:repeat(2, 1fr);
    }

}

@media(max-width:600px){

    .tt-form-section{
        padding:22px;
        border-radius:22px;
    }

    .tt-section-title{
        flex-direction:column;
    }

    .tt-category-options{
        grid-template-columns:1fr;
    }

    .tt-form-actions{
        flex-direction:column-reverse;
        align-items:stretch;
    }

    .tt-primary-action,
    .tt-secondary-action{
        width:100%;
    }

}
/*
=========================================
ALIADOS CAMPOS EXTRA REGISTRO
=========================================
*/

.tt-subcategory-options{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
}

.tt-subcategory-option{
    position:relative;
    align-items:center;
    min-height:62px;
    padding:14px 16px;
    border-radius:18px;
    border:1px solid #dce8ec;
    background:#F8FAFB;
    cursor:pointer;
    transition:.25s ease;
}

.tt-subcategory-option input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.tt-subcategory-option span{
    color:#1E3A5F;
    font-size:14px;
    font-weight:800;
    line-height:1.35;
}

.tt-subcategory-option:hover{
    border-color:#00B0B9;
    background:#ffffff;
    transform:translateY(-2px);
}

.tt-subcategory-option:has(input:checked){
    border-color:#00B0B9;
    background:rgba(0,176,185,.10);
    box-shadow:0 12px 28px rgba(0,176,185,.14);
}

.tt-subcategory-option:has(input:checked) span{
    color:#007d84;
}

.tt-form-small-note{
    margin-top:14px;
    color:#7A8795;
    font-size:13px;
    font-weight:700;
}

.tt-form-group textarea{
    width:100%;
    border:1px solid #dce8ec;
    border-radius:16px;
    padding:16px 18px;
    font-size:16px;
    color:#1E3A5F;
    outline:none;
    background:#fff;
    resize:vertical;
    line-height:1.6;
    font-family:inherit;
}

.tt-form-group textarea:focus{
    border-color:#00B0B9;
    box-shadow:0 0 0 4px rgba(0,176,185,.12);
}

.tt-character-counter{
    margin-top:8px;
    text-align:right;
    font-size:13px;
    font-weight:800;
    color:#7A8795;
}

.tt-file-field{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    padding:14px;
    border:1px dashed #b9d5dc;
    border-radius:18px;
    background:#F8FAFB;
}

.tt-file-field input[type="file"]{
    display:none;
}

.tt-file-btn{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 18px;
    border-radius:999px;
    background:#00B0B9;
    color:#fff !important;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    margin:0 !important;
}

.tt-file-field span{
    color:#5F6B7A;
    font-size:14px;
    font-weight:700;
}

.tt-form-grid-2{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:18px;
}

.tt-phones-wrapper{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.tt-phone-row{
    display:flex;
    gap:10px;
    align-items:center;
}

.tt-phone-row input{
    flex:1;
}

.tt-remove-phone{
    flex:0 0 auto;
    height:48px;
    padding:0 16px;
    border:none;
    border-radius:999px;
    background:#fff1f1;
    color:#b42318;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
}

.tt-add-phone-btn{
    margin-top:12px;
    min-height:42px;
    padding:0 18px;
    border:none;
    border-radius:999px;
    background:rgba(0,176,185,.12);
    color:#007d84;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}

.tt-add-phone-btn:hover{
    background:#00B0B9;
    color:#fff;
}

.tt-primary-action{
    cursor:pointer;
    opacity:1;
}

@media(max-width:900px){

    .tt-subcategory-options,
    .tt-form-grid-2{
        grid-template-columns:repeat(2, 1fr);
    }

}

@media(max-width:600px){

    .tt-subcategory-options,
    .tt-form-grid-2{
        grid-template-columns:1fr;
    }

    .tt-phone-row{
        flex-direction:column;
        align-items:stretch;
    }

    .tt-remove-phone{
        width:100%;
    }

}
/*
=========================================
ALIADOS CONTENIDO DIGITAL Y HORARIOS
=========================================
*/

.tt-gallery-upload-box{
    border:1px dashed #b9d5dc;
    border-radius:22px;
    background:#F8FAFB;
    padding:24px;
}

.tt-gallery-upload-box input[type="file"]{
    display:none;
}

.tt-gallery-upload-btn{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 22px;
    border-radius:999px;
    background:#00B0B9;
    color:#fff !important;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    margin:0 0 14px !important;
    box-shadow:0 12px 26px rgba(0,176,185,.20);
}

.tt-gallery-upload-btn:hover{
    background:#1E3A5F;
}

.tt-gallery-upload-text{
    color:#5F6B7A;
    font-size:14px;
    font-weight:700;
    line-height:1.6;
    margin-bottom:14px;
}

.tt-gallery-file-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    color:#7A8795;
    font-size:13px;
    font-weight:700;
}

.tt-gallery-file-list span{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    background:#fff;
    border:1px solid #dce8ec;
    color:#1E3A5F;
}

.tt-schedule-wrapper{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.tt-schedule-row{
    display:grid;
    grid-template-columns:150px 1fr auto;
    align-items:center;
    gap:18px;
    padding:18px;
    border:1px solid #dce8ec;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 26px rgba(30,58,95,.05);
    transition:.25s ease;
}

.tt-schedule-row.is-closed{
    background:#F8FAFB;
    opacity:.78;
}

.tt-schedule-day{
    color:#1E3A5F;
    font-size:16px;
    font-weight:900;
}

.tt-schedule-times{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
}

.tt-time-field label{
    display:block;
    color:#5F6B7A;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:6px;
}

.tt-time-field input{
    width:100%;
    height:46px;
    border:1px solid #dce8ec;
    border-radius:14px;
    padding:0 12px;
    color:#1E3A5F;
    font-size:15px;
    font-weight:700;
    outline:none;
    background:#fff;
}

.tt-time-field input:focus{
    border-color:#00B0B9;
    box-shadow:0 0 0 4px rgba(0,176,185,.12);
}

.tt-time-field input:disabled{
    background:#eef3f5;
    color:#9aa7b3;
    cursor:not-allowed;
}

.tt-closed-check{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:0 14px;
    border-radius:999px;
    background:#F8FAFB;
    border:1px solid #dce8ec;
    color:#1E3A5F;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
    white-space:nowrap;
}

.tt-closed-check input{
    width:15px;
    height:15px;
    accent-color:#00B0B9;
}

.tt-schedule-row.is-closed .tt-closed-check{
    background:#fff1f1;
    border-color:#ffd0d0;
    color:#b42318;
}

@media(max-width:800px){

    .tt-schedule-row{
        grid-template-columns:1fr;
        gap:14px;
    }

    .tt-schedule-times{
        grid-template-columns:1fr 1fr;
    }

    .tt-closed-check{
        width:100%;
    }

}

@media(max-width:480px){

    .tt-schedule-times{
        grid-template-columns:1fr;
    }

}

/*
=========================================
ALIADOS HOSPEDAJE EXTRA
=========================================
*/

.tt-dynamic-business-section{
    border:2px solid rgba(0,176,185,.18);
    background:linear-gradient(180deg, #ffffff 0%, #F8FAFB 100%);
}

.tt-form-group select{
    width:100%;
    min-height:56px;
    border:1px solid #dce8ec;
    border-radius:16px;
    padding:0 18px;
    font-size:16px;
    color:#1E3A5F;
    outline:none;
    background:#fff;
    font-weight:700;
}

.tt-form-group select:focus{
    border-color:#00B0B9;
    box-shadow:0 0 0 4px rgba(0,176,185,.12);
}

.tt-inner-section-title{
    margin:32px 0 18px;
}

.tt-inner-section-title.compact{
    margin-top:24px;
}

.tt-inner-section-title h3{
    margin:0 0 6px;
    color:#1E3A5F;
    font-size:22px;
    font-weight:900;
    letter-spacing:-.02em;
}

.tt-inner-section-title p{
    margin:0;
    color:#5F6B7A;
    font-size:15px;
    line-height:1.6;
}

.tt-checkbox-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:12px;
}

.tt-checkbox-pill{
    position:relative;
    display:flex;
    align-items:center;
    min-height:56px;
    padding:13px 15px;
    border-radius:16px;
    border:1px solid #dce8ec;
    background:#fff;
    cursor:pointer;
    transition:.25s ease;
}

.tt-checkbox-pill input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.tt-checkbox-pill span{
    color:#1E3A5F;
    font-size:14px;
    font-weight:800;
    line-height:1.35;
}

.tt-checkbox-pill:hover{
    border-color:#00B0B9;
    transform:translateY(-2px);
}

.tt-checkbox-pill:has(input:checked){
    border-color:#00B0B9;
    background:rgba(0,176,185,.10);
    box-shadow:0 12px 26px rgba(0,176,185,.12);
}

.tt-checkbox-pill:has(input:checked) span{
    color:#007d84;
}

.tt-extra-input-block{
    margin-top:18px;
}

.tt-rooms-wrapper{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.tt-room-block{
    background:#fff;
    border:1px solid #dce8ec;
    border-radius:26px;
    padding:26px;
    box-shadow:0 16px 38px rgba(30,58,95,.07);
}

.tt-room-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:24px;
    padding-bottom:18px;
    border-bottom:1px solid #e7eff2;
}

.tt-room-header span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(214,155,45,.14);
    color:#9b6818;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:8px;
}

.tt-room-header h3{
    margin:0;
    color:#1E3A5F;
    font-size:22px;
    font-weight:900;
}

.tt-add-room-btn{
    margin-top:20px;
    min-height:48px;
    padding:0 22px;
    border:none;
    border-radius:999px;
    background:#1E3A5F;
    color:#fff;
    font-size:15px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 14px 28px rgba(30,58,95,.18);
    transition:.25s ease;
}

.tt-add-room-btn:hover{
    background:#00B0B9;
    transform:translateY(-2px);
}

.tt-remove-room-btn{
    flex:0 0 auto;
    min-height:38px;
    padding:0 14px;
    border:none;
    border-radius:999px;
    background:#fff1f1;
    color:#b42318;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
}

.tt-remove-room-btn:hover{
    background:#b42318;
    color:#fff;
}

@media(max-width:900px){

    .tt-checkbox-grid{
        grid-template-columns:repeat(2, 1fr);
    }

}

@media(max-width:600px){

    .tt-checkbox-grid{
        grid-template-columns:1fr;
    }

    .tt-room-block{
        padding:22px;
        border-radius:22px;
    }

    .tt-room-header{
        flex-direction:column;
    }

    .tt-remove-room-btn{
        width:100%;
    }

}

/*
=========================================
IMÁGENES POR HABITACIÓN
=========================================
*/

.tt-room-images-block{
    margin-top:22px;
}

.tt-room-upload-box{
    border:1px dashed #b9d5dc;
    border-radius:20px;
    background:#F8FAFB;
    padding:20px;
}

.tt-room-upload-box input[type="file"]{
    display:none;
}

.tt-room-upload-btn{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 20px;
    border-radius:999px;
    background:#00B0B9;
    color:#fff !important;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    margin:0 0 12px !important;
    box-shadow:0 12px 24px rgba(0,176,185,.18);
}

.tt-room-upload-btn:hover{
    background:#1E3A5F;
}

.tt-room-upload-text{
    color:#5F6B7A;
    font-size:14px;
    font-weight:700;
    line-height:1.6;
    margin-bottom:12px;
}

.tt-room-file-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    color:#7A8795;
    font-size:13px;
    font-weight:700;
}

.tt-room-file-list span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:#fff;
    border:1px solid #dce8ec;
    color:#1E3A5F;
}
/*
=========================================
MENÚ GASTRONOMÍA
=========================================
*/

.tt-menu-upload-box{
    border:1px dashed #b9d5dc;
    border-radius:20px;
    background:#F8FAFB;
    padding:22px;
}

.tt-menu-upload-box input[type="file"]{
    display:none;
}

.tt-menu-upload-btn{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 20px;
    border-radius:999px;
    background:#D69B2D;
    color:#fff !important;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    margin:0 0 12px !important;
    box-shadow:0 12px 24px rgba(214,155,45,.20);
}

.tt-menu-upload-btn:hover{
    background:#1E3A5F;
}

.tt-menu-upload-text{
    color:#5F6B7A;
    font-size:14px;
    font-weight:700;
    line-height:1.6;
    margin-bottom:12px;
}

.tt-menu-file-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    color:#7A8795;
    font-size:13px;
    font-weight:700;
}

.tt-menu-file-list span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:#fff;
    border:1px solid #dce8ec;
    color:#1E3A5F;
}

/*
=========================================
ALIADOS / MENSAJES FORMULARIO
=========================================
*/

.tt-success-message,
.tt-error-message{
    max-width:980px;
    margin:0 auto 28px;
    border-radius:22px;
    padding:22px 24px;
    box-shadow:0 18px 40px rgba(30,58,95,.08);
}

.tt-success-message{
    background:#e9f8ef;
    border:1px solid rgba(19,115,51,.18);
    color:#137333;
}

.tt-error-message{
    background:#fff1f1;
    border:1px solid rgba(180,35,24,.18);
    color:#b42318;
}

.tt-success-message strong,
.tt-error-message strong{
    display:block;
    font-size:18px;
    font-weight:900;
    margin-bottom:6px;
}

.tt-success-message p,
.tt-error-message p{
    margin:0;
    font-size:15px;
    font-weight:600;
    line-height:1.6;
}

/*
=========================================
ALIADOS / INTRO FORMULARIOS
=========================================
*/

.tt-form-intro{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:42px;
}

.tt-form-intro h1{
    margin:18px 0 18px;
    max-width:720px;
    color:#1E3A5F;
    font-size:58px;
    line-height:.98;
    font-weight:900;
    letter-spacing:-.055em;
}

.tt-form-intro p{
    margin:0;
    max-width:820px;
    color:#4f5f78;
    font-size:20px;
    line-height:1.55;
    font-weight:500;
}

.tt-form-intro .tt-exit-link{
    flex:0 0 auto;
}

@media(max-width:768px){

    .tt-form-intro{
        flex-direction:column;
        margin-bottom:30px;
    }

    .tt-form-intro h1{
        font-size:40px;
    }

    .tt-form-intro p{
        font-size:16px;
    }

}

/*
=========================================
ALIADOS / ARCHIVOS CAMBIO INFORMACIÓN
=========================================
*/

.tt-change-upload-box{
    border:1px dashed #b9d5dc;
    border-radius:20px;
    background:#F8FAFB;
    padding:22px;
}

.tt-change-upload-box input[type="file"]{
    display:none;
}

.tt-change-upload-btn{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 22px;
    border-radius:999px;
    background:#00B0B9;
    color:#fff !important;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    margin:0 0 14px !important;
    box-shadow:0 12px 24px rgba(0,176,185,.18);
    transition:.25s ease;
}

.tt-change-upload-btn:hover{
    background:#1E3A5F;
    transform:translateY(-2px);
}

.tt-change-upload-text{
    color:#5F6B7A;
    font-size:14px;
    font-weight:700;
    line-height:1.6;
    margin-bottom:14px;
}

.tt-change-file-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    color:#7A8795;
    font-size:13px;
    font-weight:700;
}

.tt-change-file-list span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:#fff;
    border:1px solid #dce8ec;
    color:#1E3A5F;
}


































































































.tt-coming-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:42px 22px;
    position:relative;
}

.tt-coming-page::before{
    content:"";
    position:absolute;
    inset:auto -120px -160px auto;
    width:420px;
    height:420px;
    background:#00B0B9;
    opacity:.08;
    border-radius:50%;
}

.tt-coming-card{
    width:1200px;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.8);
    border-radius:34px;
    box-shadow:0 30px 90px rgba(30,58,95,.14);
    padding:52px;
    text-align:center;
    position:relative;
    overflow:hidden;
}

.tt-coming-card::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:7px;
    background:linear-gradient(90deg, #00B0B9, #D69B2D, #1E3A5F);
}

.tt-logo{
    width:260px;
    max-width:80%;
    height:auto;
    margin:0 auto 28px;
    display:block;
}

.tt-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 18px;
    border-radius:999px;
    background:rgba(0,176,185,.12);
    color:#00B0B9;
    font-size:13px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:22px;
}

.tt-title{
    font-size:clamp(38px, 6vw, 76px);
    line-height:.95;
    color:#1E3A5F;
    font-weight:900;
    letter-spacing:-.04em;
    margin-bottom:22px;
}

.tt-title span{
    color:#D69B2D;
}

.tt-description{
    width:auto;
    margin:0 auto 38px;
    color:#506074;
    font-size:18px;
    line-height:1.7;
}

.tt-description strong{
    color:#1E3A5F;
}

.tt-countdown{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px;
    margin:0 auto 34px;
    width:min(100%, 760px);
}

.tt-time-box{
    background:#ffffff;
    border:1px solid #dcecef;
    border-radius:24px;
    padding:26px 14px;
    box-shadow:0 16px 36px rgba(30,58,95,.08);
}

.tt-time-box strong{
    display:block;
    font-size:clamp(34px, 5vw, 56px);
    line-height:1;
    color:#00B0B9;
    font-weight:900;
    margin-bottom:8px;
}

.tt-time-box span{
    display:block;
    font-size:13px;
    font-weight:800;
    color:#1E3A5F;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.tt-small-message{
    font-size:16px;
    color:#506074;
    margin-bottom:30px;
}

.tt-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}

.tt-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 24px;
    border-radius:999px;
    text-decoration:none;
    font-weight:800;
    font-size:15px;
    transition:.25s ease;
}

.tt-btn.primary{
    background:#00B0B9;
    color:#fff;
    box-shadow:0 12px 26px rgba(0,176,185,.28);
}

.tt-btn.primary:hover{
    background:#1E3A5F;
    transform:translateY(-2px);
}

.tt-btn.secondary{
    background:#fff;
    color:#1E3A5F;
    border:1px solid #dcecef;
}

.tt-btn.secondary:hover{
    border-color:#00B0B9;
    color:#00B0B9;
    transform:translateY(-2px);
}

.tt-footer-note{
    margin-top:34px;
    font-size:13px;
    color:#7a8795;
}

@media(max-width:720px){

    .tt-coming-card{
        padding:38px 22px;
        border-radius:26px;
    }

    .tt-logo{
        width:210px;
    }

    .tt-description{
        font-size:16px;
        width: auto;
    }
    
    .tt-coming-page::before {
        width: 0px;
    }

    .tt-countdown{
        grid-template-columns:repeat(2, 1fr);
        gap:12px;
    }

    .tt-time-box{
        padding:22px 10px;
        border-radius:20px;
    }

}

@media(max-width:420px){

    .tt-countdown{
        grid-template-columns:1fr 1fr;
    }

    .tt-title{
        font-size:40px;
    }

}