:root {
     --mbm-gold: #F8D94F;
     --mbm-gold-dark: #c79a1f;
     --text-dark: #111827;
     --text-medium: #6b7280;
     --text-light: #888;
 }

 .res-loading-screen {
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     min-height: 80vh;
     text-align: center;
 }

 .res-container {
     max-width: 1000px;
     margin: 0 auto;
     font-family: 'Segoe UI', sans-serif;
     padding: 40px 20px;
     display: none;
     min-height: 80vh;
 }

 .res-spinner {
     width: 60px;
     height: 60px;
     border: 6px solid #f3f3f3;
     border-top: 6px solid var(--mbm-gold);
     border-radius: 50%;
     animation: spin 1s linear infinite;
     margin-bottom: 20px;
 }

 @keyframes spin {
     0% {
         transform: rotate(0deg);
     }

     100% {
         transform: rotate(360deg);
     }
 }

 .res-main-header {
     text-align: center;
     margin-bottom: 50px;
 }

 .res-badge-top {
     display: inline-block;
     background: #fff3cd;
     color: #f57f17;
     padding: 5px 20px;
     border-radius: 20px;
     font-weight: 700;
     font-size: 14px;
     margin-bottom: 20px;
     border: 1px solid #ffe082;
 }

 .res-main-title {
     font-size: 42px;
     color: var(--text-dark);
     font-weight: 400;
     margin-bottom: 20px;
     line-height: 1.2;
 }

 .res-main-title strong {
     font-weight: 800;
 }

 .res-main-desc {
     font-size: 18px;
     color: var(--text-medium);
     line-height: 1.6;
     max-width: 700px;
     margin: 0 auto;
     font-weight: 400;
 }

 .res-main-desc strong {
     color: var(--text-dark);
 }

 .res-divider {
     width: 60px;
     height: 4px;
     background: var(--mbm-gold);
     margin: 30px auto 0;
     border-radius: 2px;
 }

 /* DISEÑO DE CARD */
 .res-card {
     position: relative;
     display: flex;
     background: #fff;
     border-radius: 16px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     margin-bottom: 50px;
     padding: 15px;
     border: 1px solid #f0f0f0;
     gap: 25px;
 }

 .res-ribbon {
     position: absolute;
     top: 25px;
     left: -10px;
     padding: 6px 18px;
     color: white;
     font-weight: 800;
     font-size: 14px;
     letter-spacing: 0.5px;
     border-radius: 4px 4px 4px 0;
     z-index: 10;
     box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
 }

 .res-ribbon::after {
     content: '';
     position: absolute;
     bottom: -8px;
     left: 0;
     border-top: 8px solid rgba(0, 0, 0, 0.5);
     border-left: 10px solid transparent;
 }

 .res-ribbon-0 {
     background: #C89B3C;
 }

 .res-ribbon-1 {
     background: #568F8B;
 }

 .res-ribbon-2 {
     background: #A78252;
 }

 .res-card-left {
     width: 45%;
     position: relative;
     border-radius: 12px;
     overflow: hidden;
     display: flex;
     align-items: center;
 }

 .res-carousel {
     display: flex;
     overflow-x: auto;
     scroll-snap-type: x mandatory;
     scrollbar-width: none;
     height: 100%;
     min-height: 350px;
     width: 100%;
 }

 .res-carousel::-webkit-scrollbar {
     display: none;
 }

 .res-carousel img {
     flex: 0 0 100%;
     width: 100%;
     height: 100%;
     object-fit: cover;
     scroll-snap-align: start;
 }

 .res-car-btn {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     background: #ffffff !important;   
     border: none !important;       
     border-radius: 50% !important;      
     width: 25px !important;             
     height: 25px !important;           
     display: flex !important;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     color: #C89B3C !important;      
     font-size: 15px !important;      
     font-weight: bold;
     z-index: 5;
     padding: 0 0 2px 0 !important;       
     box-shadow: 0 2px 6px rgba(0,0,0,0.25);
 }

 .res-car-btn:hover,
 .res-car-btn:active {
     background: #f4f4f4 !important;     
     color: #a67c2d !important;        
 }

 .res-car-prev {
     left: 15px;
 }

 .res-car-next {
     right: 15px;
 }

 .res-card-right {
     width: 55%;
     padding: 25px 15px 15px 0;
     display: flex;
     flex-direction: column;
 }

 .res-dev-title {
     font-size: 28px;
     color: var(--text-dark);
     margin: 0 0 8px;
     font-weight: 800;
     text-transform: uppercase;
 }

 .res-location {
     color: var(--text-medium);
     font-size: 15px;
     margin-bottom: 20px;
     display: flex;
     align-items: center;
     gap: 6px;
     font-weight: 600;
 }

 .res-location svg {
     fill: var(--mbm-gold);
     width: 18px;
     height: 18px;
 }

 .res-desc {
     font-size: 15px;
     color: var(--text-medium);
     line-height: 1.6;
     margin-bottom: 25px;
 }

 .res-am-title {
     font-size: 16px;
     font-weight: 700;
     color: var(--text-dark);
     margin-bottom: 12px;
     text-transform: uppercase;
     letter-spacing: 0.5px;
 }

 .res-am-list {
     list-style: none;
     padding: 0;
     margin: 0 0 25px 0;
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 12px;
 }

 .res-am-list li {
     position: relative;
     padding-left: 18px;
     font-size: 14px;
     color: var(--text-medium);
 }

 .res-am-list li::before {
     content: '';
     position: absolute;
     left: 0;
     top: 6px;
     width: 6px;
     height: 6px;
     background-color: var(--mbm-gold-dark);
     border-radius: 50%;
 }

 .res-btn-wa {
     display: block;
     width: 100%;
     background: var(--mbm-gold);
     color: var(--text-dark);
     text-align: center;
     padding: 16px;
     font-weight: 800;
     font-size: 18px;
     border-radius: 8px;
     text-decoration: none;
     transition: 0.3s;
     margin-top: auto;
     text-transform: uppercase;
 }

 .res-btn-wa:hover {
     background: var(--text-dark);
     color: var(--mbm-gold);
 }

 @media (max-width: 900px) {
     .res-card {
         flex-direction: column;
         padding: 10px;
         gap: 15px;
     }

     .res-card-left {
         width: 100%;
         height: 300px;
         min-height: 300px;
     }

     .res-card-right {
         width: 100%;
         padding: 15px;
     }

     .res-main-title {
         font-size: 32px;
     }

     .res-am-list {
         grid-template-columns: 1fr;
     }

     .res-ribbon {
         top: 15px;
     }
 }