@import url('https://fonts.googleapis.com/css2?family=Baskervville:ital,wght@0,400..700;1,400..700&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Jost:ital,wght@0,100..900;1,100..900&family=Kumbh+Sans:wght@100..900&family=Manrope:wght@200..800&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Roboto:ital,wght@0,100..900;1,100..900&family=Rubik:ital,wght@0,300..900;1,300..900&family=Sen:wght@400..800&display=swap');
[x-cloak] { display: none !important; }
.grow .dataTables_wrapper{padding:20px !important;}
.dataTables_wrapper .dataTables_length select{padding:4px 15px 4px 4px;background-position: right;margin:0 5px;}
table.dataTable.no-footer{padding-top: 15px;}
/* h1{display: none !important;} */
table.dataTable tbody th, table.dataTable tbody td{padding:10px 18px;}
a.paginate_button.current {
    font-weight: 500;
    padding: 0 !important;
    background: transparent !important;
}
/*Login Page Css: 08/09/2025 */
*{
    font-family: "Montserrat", sans-serif !important;
}
.logo-login-page {margin-bottom: 68px;}
.login-form { padding: 80px 0px; max-width: 448px; width: 100%; }
.login-form-1 input { padding: 18px 26px 18px 36px !important; font-weight: 400 !important; border-radius: 8px !important; font-size: 16px !important; line-height: 100%; box-shadow: none !important;}
.login-btn button {width: 100%;}
.login-btn button { width: 100%; background-color: #96979B; padding: 18px 28px; border-radius: 26px; font-weight: 600; cursor: pointer;}
button.whatsapp-btn { display: flex ; gap: 10px; border-radius: 8px; padding: 8px 16px; padding-top: 8px; padding-right: 16px; padding-bottom: 8px; padding-left: 16px; margin: 0 auto; margin-bottom: 30px; cursor: pointer;}
.login-whatsapp p{ padding-top: 80px; }
.social-icon { display: flex ; gap: 16px; justify-content: center; }
.social-icon a { border: 1px solid #C9CB2C; padding: 10px 10px; border-radius: 50%; }
.login-btn button:active, 
.login-btn button:hover, 
.login-btn button:focus {
    background-color: #C9CB2C;
    color: #fff;
}

/* Remove default background images */
table.dataTable thead .sorting, table.dataTable thead .sorting_asc, table.dataTable thead .sorting_desc { background-image: none !important;}

/* Add green arrows using pseudo-elements */
table.dataTable thead .sorting::after { content: "⇅"; /* both arrows */ color: #54B948; margin-left: 5px; }
table.dataTable thead .sorting_asc::after { content: "↑"; /* ascending */ color: #54B948; }
table.dataTable thead .sorting_desc::after { content: "↓"; /* descending */ color: #54B948;}
/* Ensure consistent arrow alignment */
table.dataTable thead th { position: relative; padding-right: 20px; /* space for arrow */ vertical-align: middle; text-align: left; /* or center based on design */ }

/* Position arrows properly */
table.dataTable thead .sorting::after, table.dataTable thead .sorting_asc::after, table.dataTable thead .sorting_desc::after { position: absolute; right: 8px;  /* keeps arrow aligned */ top: 50%; transform: translateY(-50%); font-size: 12px; }

@media (max-width: 1370px){
  .dashboard-left{flex: 1 1 600px;}
  .dashboard-right{flex: 1 1 414px;}
}

@media (max-width: 1040px){
  .profile-models{margin: 0 16px;}
}
@media (max-width: 991px){
    .login-form{max-width: max-content; padding: 80px 16px;}
    .journey-btn{flex-direction: column; gap: 5px;}
    .dashboard-left{width: 100%;}
    .dashboard-right{width: 100%;}
    

}
@media (max-width: 900px){
  .dash-num{font-size: 16px; font-weight: 500}
}
@media (max-width: 767px){
    .login-form-1 input { padding: 12.5px 34px !important; font-size: 14px !important;}
    .social-icon a {padding: 8px 8px;}
    .login-btn button { padding: 12px 0px; border-radius: 8px; font-size: 12px;}    
    .login-form{max-width: 236px; padding: 64px 0px;}
    .logo-login-page{margin-bottom: 48px;}
    .logo-login-page a img{width: 95px; height: auto;}
    .login-tilte {font-size: 20px; margin-bottom: 32px;}
    .login-whatsapp p {font-size: 14px; font-weight: 600;}
    .login-password { margin-top: 16px !important; }
    button.whatsapp-btn.bg-yellow-50.text-violet-50.font-medium {width: 100%    ; font-size: 10px; align-items: center; margin-left: 0px; margin-right: 0px; }
    .social-icon-p { font-size: 14px; font-weight: 600; }
    .login-password a{font-size: 12px;}
    .login-whatsapp p{padding-top: 40px !important;}
    .social-icon a svg { width: 14px; height: 14px; }
    .Pr-title{font-size: 20px;}
    .profile-icon svg {  padding: 10px;}
    .profile-icon{width: 60px; height: 60px; margin-top: -40px;}
    .profile-info { padding: 16px 16px 24px 16px; }
    .profile-add-btn { gap: 16px; }
    .profile-btn { flex-direction: column; gap: 18px; align-items: flex-start;}
    .profile-add { margin-right: 0px; margin-bottom: 0px; }
    .profile-add-btn a { padding: 6px 8px; font-size: 12px; }
    .profile-user { margin-left: 16px; margin-top: -20px; }  
    .ml-6.profile-user h2 { font-size: 16px !important; }
    .journey-flex { display: flex ; justify-content: space-between; align-items: center; font-size: 12px; }
    .bg-white.shadow.rounded-lg.p-6.mb-10 {   padding: 20px;}
    .journey-date { width: 50px; }
    .journey-tl { width: 85px; }
    .journey-btn{padding: 12px 5px;}
    .journey-tl span{font-size: 10px;}
    .journey-tl a{font-size: 10px;}
    .pagos{margin: 0 16px;}
    .sidebarExpand{padding: 0 30px;}
}

/*Profile Page(Mi perfil) Css: 08/09/2025 */
.profile-banner {background-image: url('/images/mi-perfil-baner.jpg'); background-size: cover; background-position: center;}
.profile-icon { border: 3px solid #C9CB2C; }
.profile-form { padding: 10px 16px; }
.pr-edit-show {display: none;}
  

@media (max-width: 767px){
    .profile-title { font-size: 16px; }
    .profile-inner{padding: 24px 16px;}
    .profile-form label { font-size: 14px; }
    .profile-form p { font-size: 12px; }
    .grid-cols-1 {grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 0px;}
    .profile-grid{gap:0px;}
    .profile-grid-inn{width: 100%}
    .p-6.dash-padding { padding: 24px 16px; }
    .profile-details-txt{font-size: 12px;}
    .profile-tl{font-size: 10px;}
    .profile-flex svg{width: 14px; height: auto;}
    .profile-form{text-align: left;}
    .profile-models{margin: 0 16px; padding: 16px 8px; height: 90vh;}
    .prModel{margin: 0 16px; }
    .prModelOne.profile-models { height: auto;}
    .navbar-btn img { width: 60px; height: auto; }
    .profile-form {padding: 8px 10px; margin-top: 0px; margin-bottom: 0px;}
    .prClose {display: none;}
    .pr-edit-show {display: block;}
    .profile-form.pr-edit-form { display: flex ; align-items: center; justify-content: space-between; border-bottom: 1px solid #F5F5F5;}
    .profileName{ font-weight: 500;}
    .travel-left { width: 85px; }
    .travel-right { width: 180px; }
    .expand-btn{margin-top: auto;}
    
}


/*Navbar Page(Mi perfil) Css: 09/09/2025 */
.navbar-btn { display: flex ; align-items: center; gap: 16px;}
.sidebar-close{display: flex; gap: 11px; align-items: center; cursor: pointer;}

/*Contact Page(Contacto) Css: 10/09/2025 */
.form-grid{gap: 0 32px;}
.contact-form input , textarea { padding: 8px 0px; }
@media (max-width: 767px){
    .uk-sec-inner{padding: 16px 16px; margin-bottom: 24px; flex-direction: column;}
    .contact-tl {font-size: 20px;}
    .contact-form-tl{font-size: 16px; margin-bottom: 0px;}
    .form-grid { display: contents; }
    .contact-form { padding: 8px 8px; }
    .contact-form label { font-size: 16px !important; }
    .contact-form input, textarea {padding: 8px 0px;}
    button#submitBtn { margin-top: 12px; padding: 16px 32px; font-size: 12px; font-weight: 600; }
    .contact-social-inn { flex-direction: column; gap: 16px; }
}

/*Notification Page(Avisos y notificacione : 11/09/2025)*/
@media (max-width: 767px){
    .noti-inner { padding: 16px 16px; margin-bottom: 32px;}
    .notification-detials{margin: 0; flex-direction: column; gap: 16px; align-items: start;}
    .notification-title{font-size: 18px; margin-bottom: 24px;}
    .notification-message{margin-bottom: 10px;}
    .history-detials { flex-direction: column; gap: 10px; align-items: start; }
    .history-inn{margin-bottom: 0px;}
}
@media (max-width: 460px){
    .notification-btn{font-size: 10px; padding: 8px 8px; margin-bottom: 16px;}
    .notification-btn svg{width: 12px; height: auto;}
    .notification-detials{padding-bottom: 0px !important;}
    .notification-tl{font-size: 14px;}
    .notification-message{font-size: 10px;}
    .notification-format{font-size: 10px; margin-bottom: 16px;}
}

/*Journey Page*/
.journey-btn{border-radius: 50%; padding: 10px;}
.col-1{width: 15%;}
.col-2{width: 25%;}
.col-3{width: 40%;}
.col-4{width: 20%;}
@media (max-width: 767px){
.journey-tl{font-size: 20px;}
.journey-sec-tl{font-size: 16px; margin-bottom: 16px;}
.joutney-list p{font-size: 14px; margin-bottom: 0px;}
.joutney-list{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;}
.joutney-list li{font-size: 14px;}
.journey-detials h2{margin-bottom: 16px;}
.journey-day h3 { font-size: 16px; }
.journey-day a { padding: 6px 6px; }
.journey-day a svg {width: 8px; height: auto; }
.journey-tab button{font-size: 12px;}
}
/*Travel Page*/
.travel-1{width: 150px;}
.travel-2{width: 200px;}
.travel-3{width: 318px;}
.travel-list{flex-wrap: wrap ;}
.trip-plan-mobile{display: none;}
.traveler-card-shell {
    border: 1px solid #ebedf2;
    border-radius: 14px;
    box-shadow: 0 6px 22px rgba(12, 24, 36, 0.06);
}
.traveler-title {
    color: #1a2333;
}
.traveler-tabs {
    padding: 6px;
    background: #f4f6f8;
    border-radius: 12px;
    width: fit-content;
}
.traveler-tabs .travel-btn {
    border-radius: 10px;
    transition: all 0.2s ease;
}
.traveler-edit-row {
    margin-top: -4px;
}
.traveler-panel {
    border: 1px solid #e7ebf0;
    border-radius: 14px;
    background: #f7f8fa;
}
.traveler-docs-panel {
    padding: 20px 16px;
}
.traveler-docs-help {
    justify-content: center !important;
    margin-right: 0 !important;
    margin-bottom: 18px !important;
}
.traveler-doc-row {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) minmax(130px, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-bottom: 0 !important;
    padding: 14px 0 16px;
    border-bottom: 1px solid #d9dce2;
}
.traveler-doc-row:last-child {
    border-bottom: 0;
    padding-bottom: 4px;
}
.traveler-doc-name p,
.traveler-doc-status p {
    margin-bottom: 8px;
}
.traveler-upload-btn {
    background: #4c4f56 !important;
    color: #ffffff !important;
    border-radius: 10px;
    min-height: 44px;
    padding: 10px 16px;
    white-space: nowrap;
}
.traveler-upload-btn:hover {
    background: #3f4248 !important;
}
.traveler-upload-btn svg {
    flex-shrink: 0;
}
.traveler-upload-btn svg path {
    stroke: #ffffff;
}
.traveler-doc-row .travel-1,
.traveler-doc-row .travel-2,
.traveler-doc-row .travel-3 {
    width: auto !important;
}
.travel-btn-flex,
.profile-add-btn {
    min-width: 0;
}

@media (max-width: 767px){
    .travel-name{font-size: 16px; font-weight: 500; margin-bottom: 16px;}
    .traveler-card-shell {
        border-radius: 12px;
        box-shadow: 0 4px 16px rgba(12, 24, 36, 0.05);
    }
    .traveler-tabs {
        width: 100%;
        padding: 4px;
        border-radius: 10px;
    }
    .travel-btn-flex {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 12px;
    }
    .travel-btn{
        padding: 8px 10px;
        font-size: 12px;
        flex: 1 1 calc(50% - 4px);
        text-align: center;
        min-width: 0;
    }
    .travel-btn-flex + .profile-add-btn {
        display: flex;
        justify-content: stretch !important;
        margin-bottom: 14px;
    }
    .travel-btn-flex + .profile-add-btn .profile-add {
        width: 100%;
    }
    .travel-btn-flex + .profile-add-btn .profile-add a {
        width: 100%;
        justify-content: center;
    }
    .travel-details { padding: 16px 8px; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 0px;}
    .traveler-panel {
        border-radius: 12px;
    }
    .traveler-docs-panel {
        padding: 16px 12px;
    }
    .traveler-docs-help {
        justify-content: flex-end !important;
        text-align: right;
        margin-bottom: 14px !important;
    }
    .traveler-doc-row {
        grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
        gap: 6px 10px;
        padding: 12px 0 14px;
    }
    .traveler-doc-actions {
        grid-column: 1 / -1;
        width: 100% !important;
        justify-content: center !important;
        margin-top: 8px !important;
        border-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    .traveler-doc-actions .traveler-upload-btn {
        width: auto;
        min-width: 210px;
        max-width: 100%;
        justify-content: center;
    }
    .traveler-doc-actions-group {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }
    .traveler-doc-actions-group > div > a {
        min-width: 96px;
        justify-content: center;
    }
    .travelLink{font-size: 14px;}
    
    .travel-1{width: 50% !important;}
    .travel-2{width: 50% !important;}
    .travel-3{width: 100% !important; justify-content: center !important; margin-top: 16px; border-bottom: 1px solid #ccc; padding-bottom: 16px;}
    .travel-1 p{margin-bottom: 8px; font-size: 14px;}
    .travel-2 p{margin-bottom: 8px; font-size: 14px;}
    .travel-2 svg { width: 20px; height: auto; }
    .travel-2-details{gap: 4px; align-items: center;}
    .travel-2-details span{font-size: 14px;}
    .profile-add a { padding: 7.5px 18px; font-size: 14px;}
    .profile-add a svg{width: 11px; height: auto;}
    .documet-file{font-size: 12px; margin-right: 0px; margin-bottom: 24px; }
    .profile-models{padding: 16px 16px;}
    h3.text-center.font-medium.text-gray-100.text-xl { font-size: 16px; margin-bottom: 32px; }
    .py-7.px-8 { padding: 28px 0px !important; }
    .py-8.px-8 { padding: 28px 0px; }
    .flex.justify-center.gap-4.mt-7 button { padding: 10px 16px; font-size: 12px; font-weight: 600; }
    .trip-plan-desktop { display: none; }
    .trip-plan-mobile{display: block;}
}


/*Admin Page Css (15/09/2025) */
table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd{background-color: #fff;}
table.dataTable.display tbody tr:hover>.sorting_1, table.dataTable.order-column.hover tbody tr:hover>.sorting_1 {background-color: #fff;}
table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover{background-color: #fff;}
table.dataTable.display tbody tr.odd>.sorting_1, table.dataTable.order-column.stripe tbody tr.odd>.sorting_1 {background-color: #fff;}
table.dataTable.display tbody tr.even>.sorting_1, table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color: #fff;}
table#parents-table td a {background-color: #c9cb2c; color: #fff;}
table#parents-table td a:hover {background-color: #4C4D4F;}
table.dataTable tbody th, table.dataTable tbody td{padding: 10px 10px;}
.dataTables_wrapper .dataTables_length select { border-radius: 8px; border-color: #ccc; }
.dataTables_wrapper .dataTables_filter input { border: 1px solid #ccc; border-radius: 8px; }
.dataTables_info { font-size: 16px; color: #000000 !important; font-weight: 500; }
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active { color: #4C4D4F !important; font-weight: 500; cursor: pointer; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { border: none; color: #000000 !important; font-weight: 500;}
.dataTables_wrapper .dataTables_paginate .paginate_button:active{box-shadow: none;}
table#travelers-table td a{background-color: #c9cb2c; color: #fff; border-radius: 8px}
table#travelers-table td a:hover{background-color: #4C4D4F;}
table#trips-table td a{background-color: #c9cb2c; color: #fff; border-radius: 8px;}
table#trips-table td a:hover{background-color: #4C4D4F;}
table.dataTable thead th, table.dataTable tfoot th{font-weight: 600;}
.adminDetails li { border-bottom: 1px solid #D9D9D9; }
.dataTables_wrapper .dataTables_paginate .paginate_button, .dataTables_wrapper .dataTables_paginate .paginate_button { border: 1px solid #ccc !important; padding: 5px 10px !important; border-radius: 5px; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { background-color: #C9CB2C !important; color: #fff !important; }
div#contacts-table_info { margin-top: 30px; padding-top: 0px;}
div#contacts-table_paginate { margin-top: 20px; }


@media (max-width: 767px) {
    .grow .dataTables_wrapper{padding: 0px !important;}
    .adminDetails { column-count: 1; }
   
}
@media (max-width: 520px) {
    .admin-inn{flex-direction: column; gap: 20px;}
}

/*Dashboard : 17-09-2025*/
.dashboard {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
  }
  
  .dashboard-left {
    flex: 1 1 684px;  
  }
  
  .dashboard-right {
    flex: 1 1 330px;  
  }
  
.dash-box{border-radius: 28px;}
.dash-travel{margin-top: 10px;}
.dash-travel-tl{margin-bottom: 4px;}
.dash-news-inn h2{line-height: 100%;}
.dash-news-img{margin-top: 10px; gap: 7px;}
.dash-news-details h4{font-size: 14px;}
.dash-news-details p{font-size: 12px; margin-top: 2px;}
.dash-news-img-in img{border-radius: 50px; width: 50px; height: auto;}
.dash-news-inn p span{padding: 2.5px 12px;}
.dash-news-inn img { width: 100%; }
@media (max-width: 670px) {
    .dashborard-journey-inn{grid-template-columns: repeat(1, minmax(0, 1fr)); gap:16px;}
    .dashTl{flex-direction: column; gap: 10px; align-items: flex-start;}
    .dashJourneyInner { display: flex ; gap: 8px; }
    .dashJourneyInner-box{ width: 50%; padding: 16px 16px; margin-bottom: 0px;}
    .dash-travel h3 { font-size: 14px; font-weight: 400; }
    .dash-travel p { font-size: 10px; font-weight: 400; }
    .dashJourneyDocument { padding: 16px 16px; }
    .documentTl { display: flex ; gap: 16px; align-items: center; margin-bottom: 10px;}
    .documnetInner { display: flex ; gap: 8px; }
    .documnt-name { width: 50%; padding: 12px 10px;}
   
    .dash-box-1{padding: 20px 8px;}
    .dash-num{font-size: 12px;}
}/* Desktop: grid */
.dashboard-news-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
  
  /* Mobile: horizontal slider */
  @media (max-width: 767px) {
    .dashboard-news-inner {
      display: flex; overflow-x: hidden; /* hide scroll, JS will control */  scroll-snap-type: x mandatory;  gap: 8px;
    }
    .dashboard-box{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;}
    .dash-news-inn { flex: 0 0 49%; /* one card full width */  scroll-snap-align: start;  padding: 10px 10px;
  }
  
    /* Dots */
    .slider-dots {
      text-align: center;
      margin-top: 10px;
    }
  
    .slider-dots button {
      height: 10px;
      width: 10px;
      margin: 0 4px;
      border-radius: 50%;
      border: none;
      background: #ccc;
      cursor: pointer;
      transition: background 0.3s;
    }
  
    .slider-dots button.active {
      background: #C9CB2C; /* active dot */
    }
  }
  

  /*Profile User Admin*/
  .profile-infos label { font-size: 16px; color: #333333; font-weight: 500; margin-bottom: 5px; }
  .profile-update label{font-size: 16px; color: #333333; font-weight: 500; margin-bottom: 5px; margin-top: 5px;} 
  .profile-infos input { margin-bottom: 20px; box-shadow: none !important; border: 1px solid #ccc; border-radius: 8px !important; }
  .profile-update input{margin-bottom: 0px; box-shadow: none !important; border: 1px solid #ccc; border-radius: 8px !important;}
  .profile-update p{margin-bottom: 20px; margin-top: 5px;}
  .profile-info input:focus {
    outline: none;
    box-shadow: 0 0 0 2px #C9CB2C; /* yellow-50 ring */

  }
  .info-delete:hover{background-color: #4c4d4f;}
 button{
    cursor: pointer;
  }
  @media (max-width:767px) {
    .info-tl{text-align: center;}
    .dropdownName{color: #fff;}
  }
  /* body {
    opacity: 0;
    transition: opacity 1s ease-in-out;
  }
  
  body.visible {
    opacity: 1;
  }
   */
   /* @media screen and (min-width: 1800px) {
    svg.shrink-0.fill-current.text-gray-400.dark\:text-gray-500.sidebar-expanded\:rotate-180 {
      display: none;
  }
  }
  @layer utilities {
  .bg-linear-to-r {
    @apply bg-gradient-to-r;
  }
} */


@media (max-width: 570px){
  .expand-btn{margin-top: 0;}
}

/*Novedades Page : 21-03-2026*/
.novedades-container {
    padding: 32px 40px;
}
.novedades-title {
    margin-bottom: 40px;
}
.novedades-hero {
    margin-bottom: 40px;
    overflow: visible;
}
.novedades-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    row-gap: 40px;
}
.novedades-card-img {
    aspect-ratio: 16 / 10;
    object-fit: cover;
    width: 100%;
    image-rendering: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
}
.novedades-card .relative::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,0.08) 100%);
    pointer-events: none;
    z-index: 1;
}
.novedades-hero-img img,
.novedades-hero-img > div {
    aspect-ratio: 17 / 10;
    object-fit: cover;
    width: 100%;
    border-radius: 8px;
    max-height: 280px;
    image-rendering: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
}
.novedades-hero .md\:w-1\/2.flex {
    min-width: 0;
}
.novedades-hero h2 {
    word-break: break-word;
}
.novedades-hero p {
    word-break: break-word;
}
@media (min-width: 768px) and (max-width: 1199px) {
    .novedades-container {
        padding: 28px 32px;
    }
    .novedades-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        row-gap: 32px;
    }
    .novedades-title {
        margin-bottom: 32px;
    }
    .novedades-hero {
        margin-bottom: 32px;
    }
}
@media (max-width: 767px) {
    .novedades-container {
        padding: 24px 16px;
    }
    .novedades-title {
        margin-bottom: 24px;
    }
    .novedades-hero {
        padding: 12px;
        margin-bottom: 24px;
        border-radius: 20px;
    }
    .novedades-hero > .flex {
        gap: 14px;
    }
    .novedades-hero-img {
        width: 100% !important;
    }
    .novedades-hero-img img,
    .novedades-hero-img > div {
        aspect-ratio: 16 / 9;
        max-height: none;
    }
    .novedades-hero .py-2 {
        padding-top: 0;
        padding-bottom: 0;
    }
    .novedades-hero .mb-4 {
        margin-bottom: 12px;
    }
    .novedades-hero .mb-3 {
        margin-bottom: 10px;
    }
    .novedades-hero .mb-6 {
        margin-bottom: 14px;
    }
    .novedades-hero h2 {
        font-size: 24px;
        line-height: 1.2;
    }
    .novedades-hero p.text-sm {
        font-size: 13px;
        line-height: 1.55;
    }
    .novedades-hero .mt-auto {
        margin-top: 0;
    }
    .novedades-hero .items-center.justify-between {
        align-items: flex-start;
        gap: 12px;
        flex-wrap: wrap;
    }
    .novedades-hero .items-center.gap-3 {
        min-width: 0;
        flex: 1 1 180px;
    }
    .novedades-hero .items-center.gap-3 > div:last-child {
        min-width: 0;
    }
    .novedades-hero .w-10.h-10.rounded-full {
        width: 38px;
        height: 38px;
    }
    .novedades-hero a.w-10.h-10.rounded-full {
        width: 38px;
        height: 38px;
        margin-left: auto;
    }
    .novedades-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        row-gap: 20px;
    }
    .novedades-card-img {
        aspect-ratio: 16 / 10;
    }
    .novedades-card .px-5 {
        padding-left: 12px;
        padding-right: 12px;
    }
    .novedades-card .pt-4 {
        padding-top: 10px;
    }
    .novedades-card .pb-5 {
        padding-bottom: 12px;
    }
    .novedades-card h2 {
        font-size: 14px;
        margin-bottom: 12px;
    }
    .novedades-card .text-sm {
        font-size: 12px;
    }
    .novedades-card .text-\[11px\] {
        font-size: 10px;
    }
}
@media (max-width: 480px) {
    .novedades-container {
        padding: 20px 12px;
    }
    .novedades-title {
        margin-bottom: 18px;
    }
    .novedades-hero {
        padding: 10px;
        margin-bottom: 18px;
    }
    .novedades-hero h2 {
        font-size: 18px;
    }
    .novedades-hero .flex.flex-wrap.gap-2.mb-4 {
        gap: 8px;
    }
    .novedades-hero .flex.flex-wrap.gap-2.mb-4 span {
        padding: 6px 10px;
        font-size: 11px;
    }
    .novedades-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .novedades-card {
        border-radius: 18px;
    }
    .novedades-card .relative .absolute.bottom-3.left-3 {
        bottom: 10px;
        left: 10px;
        right: 10px;
        gap: 6px;
    }
    .novedades-card .relative .absolute.bottom-3.left-3 span {
        max-width: 100%;
    }
}

/* ========================================
   Document Upload / View / Edit Modals
   ======================================== */
.doc-upload-modal,
.doc-view-modal {
    max-height: 90vh;
    overflow-y: auto;
}

.doc-upload-modal .doc-upload-header,
.doc-view-modal .doc-upload-header {
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 2;
}

/* Dropzone */
.doc-upload-dropzone {
    border: 2px dashed #d1d5db;
    border-radius: 16px;
    padding: 36px 24px;
    text-align: center;
    cursor: pointer;
    transition: all 0.25s ease;
    background: #fafbfc;
    position: relative;
}
.doc-upload-dropzone:hover {
    border-color: #C9CB2C;
    background: #fdfde6;
}
.doc-upload-dropzone--active {
    border-color: #C9CB2C !important;
    background: #fdfde6 !important;
    box-shadow: 0 0 0 4px rgba(201, 203, 44, 0.12);
}
.doc-upload-dropzone--has-file {
    border-color: #C9CB2C;
    border-style: solid;
    background: #fdfde6;
    padding: 16px 20px;
}

.doc-upload-dropzone-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.doc-upload-icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: rgba(201, 203, 44, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* File preview row */
.doc-upload-file-preview {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}
.doc-upload-file-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(201, 203, 44, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* View modal content */
.doc-view-content {
    overflow: auto;
    max-height: calc(90vh - 80px);
}
.doc-view-content img {
    border-radius: 8px;
}
.doc-view-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px;
}

/* Edit modal current file info */
.doc-edit-current {
    border: 1px solid #e5e7eb;
}

/* Submit button icon spin on hover */
.doc-upload-submit:not(:disabled):hover svg {
    animation: spin-once 0.5s ease;
}
@keyframes spin-once {
    from { transform: rotate(0deg) translateY(-0.5px); }
    to   { transform: rotate(360deg) translateY(-0.5px); }
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .doc-upload-modal,
    .doc-view-modal {
        margin: 0 12px;
        max-height: 92vh;
    }
    .doc-upload-dropzone {
        padding: 28px 16px;
    }
    .doc-upload-modal .doc-upload-header,
    .doc-view-modal .doc-upload-header {
        padding: 16px 16px;
    }
    .doc-upload-modal .px-6,
    .doc-view-modal .px-6 {
        padding-left: 16px;
        padding-right: 16px;
    }
    .doc-view-content {
        max-height: calc(92vh - 70px);
        padding: 16px;
    }
}
