/* Páginas interiores de Best Car: fundamentos y composición de Elegencia. */
.front-elegencia { --primary-color: #FFD28D; --secondary-color: #091E24; background: var(--body-bg-color); color: var(--body-color); }
.front-elegencia #wrapper, .front-elegencia #page { background: var(--body-bg-color); }
.front-elegencia h1, .front-elegencia h2, .front-elegencia h3, .front-elegencia h4, .front-elegencia h5, .front-elegencia h6 { font-family: var(--heading-font-family); color: var(--heading-color); font-weight: 400; line-height: 1.2; }
.front-elegencia h1 { font-size: clamp(42px, 5.5vw, 76px); }
.front-elegencia h2 { font-size: clamp(32px, 3.5vw, 52px); }
.front-elegencia h3 { font-size: clamp(27px, 3vw, 38px); }
.front-elegencia h4 { font-size: 27px; }
.front-elegencia p, .front-elegencia label { color: var(--body-color); }
.front-elegencia p { line-height: 1.85; }
.front-elegencia a { color: var(--yellow-color); }
.front-elegencia a:hover { color: #fff; }
.front-elegencia .text-red, .front-elegencia .red-title { color: var(--yellow-color) !important; }
.front-elegencia .text-muted, .front-elegencia .muted { color: #b8c1c3 !important; }
.front-elegencia .widget-banner-car-listing { position: relative; isolation: isolate; margin: 0; padding: 0; }
.front-elegencia .widget-banner-car-listing::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(4,13,16,.85), rgba(4,13,16,.5)); }
.front-elegencia .banner-car-listing { min-height: 370px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; padding: 85px 20px; text-align: center; }
.front-elegencia .banner-car-listing h1 { margin: 0; color: var(--yellow-color) !important; }
.front-elegencia .elegencia-breadcrumb { margin: 0; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.front-elegencia .elegencia-breadcrumb a { color: #fff; }
.front-elegencia .main-content, .front-elegencia .widget-dealer-single, .front-elegencia .widget-contact-us, .front-elegencia .widget-testimonial-v2 { padding-block: 90px; background: var(--body-bg-color); }
.front-elegencia .dealer-single { background: transparent; }
.front-elegencia .dealer-description { padding-bottom: 30px; border-bottom: 1px solid var(--border-color); }
.front-elegencia .dealer-description p { max-width: 1000px; font-size: 16px; }
.front-elegencia .special-image { padding: 18px; border: 1px solid var(--border-color); }
.front-elegencia .special-image img { width: 100%; }
.front-elegencia .bg-white, .front-elegencia .bg-gray, .front-elegencia .bg-gray-section,
.front-elegencia .card, .front-elegencia .account-card, .front-elegencia .modal-content,
.front-elegencia .listing-grid-item, .front-elegencia .listing-list-car-grid .listing-grid,
.front-elegencia .widget-property-detail, .front-elegencia .form-contact-us-page,
.front-elegencia .widget-car-listing, .front-elegencia .widget-car-listing-list { background: var(--body-bg-color-two) !important; color: var(--body-color); }
.front-elegencia .card, .front-elegencia .account-card, .front-elegencia .cat-item, .front-elegencia .modal-content { border: 1px solid var(--border-color); border-radius: 0; box-shadow: none; }
.front-elegencia .card-header { background: transparent; border-bottom: 1px solid var(--border-color); color: var(--yellow-color); font-size: 20px; font-family: var(--heading-font-family); }
.front-elegencia .card-body, .front-elegencia .account-card { padding: 25px; }
.front-elegencia .account-card .avatar, .front-elegencia .pill { background: var(--yellow-color); color: #040d10; }
.front-elegencia .progress-outer { background: #17363e; }
.front-elegencia .progress-inner { background: var(--yellow-color); }
.front-elegencia input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),
.front-elegencia textarea, .front-elegencia select, .front-elegencia .nice-select {
    background: #040d10; color: #fff; border: 1px solid var(--border-color); border-radius: 0; font-family: var(--body-font-family); font-size: 14px;
}
.front-elegencia input::placeholder, .front-elegencia textarea::placeholder { color: #a6b3b6; opacity: 1; }
.front-elegencia input:focus, .front-elegencia textarea:focus, .front-elegencia select:focus { border-color: var(--yellow-color); box-shadow: 0 0 0 2px rgba(255,210,141,.12); }
.front-elegencia .nice-select .list, .front-elegencia select option { background: #091e24; color: #fff; }
.front-elegencia .nice-select .option:hover, .front-elegencia .nice-select .option.selected, .front-elegencia .nice-select .option.focus { background: #17363e; }
.front-elegencia .btn-primary, .front-elegencia .btn-ghost, .front-elegencia .btn-votar,
.front-elegencia .button_main_inner, .front-elegencia button[type=submit], .front-elegencia input[type=submit] {
    background: transparent; color: var(--yellow-color); border: 1px solid var(--yellow-color); border-radius: 0; padding: 13px 24px; font-size: 14px; font-weight: 400; font-family: var(--body-font-family); height: auto;
}
.front-elegencia .btn-primary:hover, .front-elegencia .btn-ghost:hover, .front-elegencia .btn-votar:hover,
.front-elegencia .button_main_inner:hover, .front-elegencia button[type=submit]:hover { background: var(--yellow-color); color: #040d10; }
.front-elegencia button:disabled, .front-elegencia input:disabled { opacity: .55; cursor: not-allowed; }
.front-elegencia .btn-close { filter: invert(1); }
.front-elegencia .vote-chip, .front-elegencia .pos-badge { background: #17363e; border-color: var(--border-color); color: var(--yellow-color); }
.front-elegencia .vote-chip * { color: var(--yellow-color); }
.front-elegencia .tf-my-listing-search { border-bottom: 1px solid var(--border-color); padding-bottom: 30px; margin-bottom: 30px; }
.front-elegencia .tf-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.front-elegencia .tf-pagination .page-numbers { background: transparent; color: var(--yellow-color); border: 1px solid var(--border-color); border-radius: 0; }
.front-elegencia .tf-pagination .page-numbers.active, .front-elegencia .tf-pagination a:hover { background: var(--yellow-color); color: #040d10; }
.front-elegencia .tf-pagination .disabled { opacity: .4; pointer-events: none; }
.front-elegencia .post-wrap, .front-elegencia .entry { background: transparent; }
.front-elegencia .entry-title { font-size: clamp(30px, 3vw, 44px); }
.front-elegencia .entry-content { font-size: 16px; line-height: 1.9; color: var(--body-color); }
.front-elegencia .entry-content ul, .front-elegencia .entry-content ol { padding-left: 24px; margin-block: 20px; }
.front-elegencia .entry-content ul { list-style: disc; }
.front-elegencia .entry-content ol { list-style: decimal; }
.front-elegencia .entry-content blockquote { border-left: 2px solid var(--yellow-color); padding: 22px; background: var(--body-bg-color-two); color: #fff; }
.front-elegencia .imge-blog-details { display: block; width: 100%; height: auto; }
.front-elegencia .widget-area { padding: 30px; background: var(--body-bg-color-two); border: 1px solid var(--border-color); }
.front-elegencia .widget-latest-posts a { color: var(--body-color); }
.front-elegencia .contact-us .dealer-title { max-width: 850px; margin: 0 auto 50px; }
.front-elegencia .form-contact-us-page { padding: 30px; border: 1px solid var(--border-color); }
.front-elegencia .wrap { padding: 75px 0; }
.front-elegencia .auth-alert.ok, .front-elegencia .alert.ok, .front-elegencia .alert-success { color: #b6efd0; background: #12382a; border-color: #347356; }
.front-elegencia .auth-alert.err, .front-elegencia .alert.err, .front-elegencia .alert-danger { color: #ffd2ce; background: #442522; border-color: #8a4841; }
@media (max-width: 991px) {
    .front-elegencia .main-content, .front-elegencia .widget-dealer-single, .front-elegencia .widget-contact-us, .front-elegencia .widget-testimonial-v2 { padding-block: 60px; }
    .front-elegencia .banner-car-listing { min-height: 300px; padding-block: 65px; }
    .front-elegencia .widget-area { margin-top: 35px; }
    .front-elegencia .toolbar-search-list { flex-wrap: wrap; gap: 12px; }
}
@media (max-width: 575px) {
    .front-elegencia .banner-car-listing { min-height: 260px; padding-inline: 0; }
    .front-elegencia .form-contact-us-page, .front-elegencia .card-body, .front-elegencia .account-card { padding: 20px; }
    .front-elegencia .account-card { flex-wrap: wrap; }
    .front-elegencia .input-contact-us-wrap { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: no-preference) {
    .front-elegencia .banner-car-listing > * { animation: home-content-enter 1s cubic-bezier(.16,1,.3,1) both; }
    .front-elegencia .banner-car-listing h1 { animation-delay: .15s; }
}
.front-elegencia .widget-blog { background: transparent; border: 1px solid var(--border-color); border-radius: 0; overflow: hidden; }
.front-elegencia .widget-blog .main-post, .front-elegencia .listing-item-content { background: var(--body-bg-color-two); }
.front-elegencia .widget-blog .main-post { padding: 24px; }
.front-elegencia .widget-blog .entry-title { font-size: 28px; }
.front-elegencia .widget-blog .feature-post img { display: block; width: 100%; aspect-ratio: 391 / 291; object-fit: cover; }
.front-elegencia .widget-blog a { color: var(--yellow-color); }
.front-elegencia .widget-car-listing-list { padding-block: 60px; }
.front-elegencia .widget-car-listing-list .widget-car-listing-list { padding-block: 0; }
.front-elegencia .listing-item-content .title { font-size: 27px; }
.front-elegencia .listing-grid-item { border: 1px solid var(--border-color); border-radius: 0; overflow: hidden; }
.front-elegencia .listing-grid-item .listing-item-image { border-radius: 0; }
.front-elegencia .listing-grid-item .listing-item-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.front-elegencia .listing-grid-item .description, .front-elegencia .listing-grid-item .description span,
.front-elegencia .listing-grid-item .description p { color: var(--body-color); }
.front-elegencia .listing-bottom { border-color: var(--border-color); }
.front-elegencia .content-re-lo { background: var(--body-bg-color-two); color: var(--body-color); }
.front-elegencia .content-re-lo .title, .front-elegencia .title-form { font-family: var(--heading-font-family); color: var(--yellow-color); }
.front-elegencia .content-re-lo .text-box { color: var(--body-color); }
.front-elegencia .contact-us-box { background: var(--body-bg-color-two); border: 1px solid var(--border-color); border-radius: 0; }
.front-elegencia .contact-us-box .title { color: var(--yellow-color); font-family: var(--heading-font-family); font-size: 28px; }
.front-elegencia .contact-us-box .icon { color: var(--yellow-color); }
.front-elegencia .widget-testimonial-v2 .title-section { margin-top: 55px; }
.front-elegencia .voto-ok-modal .modal-content.custom-vote-modal { background: #12382a; border-color: #347356; }
.front-elegencia .voto-ok-modal p, .front-elegencia .voto-ok-modal h4 { color: #b6efd0; }

/* Adaptaciones por página de las referencias originales de Elegencia. */
.front-elegencia .elegencia-content-section { padding-block: 110px; }
.front-elegencia .ak-section-subtitle { font-family: var(--body-font-family); text-transform: uppercase; letter-spacing: .16em; font-size: 12px; color: var(--yellow-color); margin-bottom: 20px; }
.front-elegencia .elegencia-page-hero .ak-commmon-hero { position: relative; isolation: isolate; min-height: 400px; background-position: center; background-size: cover; }
.front-elegencia .elegencia-page-hero .ak-commmon-hero::before { content: ''; position: absolute; inset: 0; background: rgba(4,13,16,.68); z-index: -1; }
.front-elegencia .elegencia-page-hero .ak-commmon-heading { padding: 100px 24px; }
.front-elegencia .elegencia-page-hero h1 { font-size: clamp(44px, 5vw, 70px); margin: 0; }
.front-elegencia .elegencia-rule { width: 100%; height: 1px; margin-block: 35px; background: var(--border-color); }
/* about.html: texto a la izquierda e imagen hasta el borde derecho. */
.elegencia-about .ak-about .about-title { font-size: clamp(38px, 4vw, 60px) !important; }
.elegencia-about .about-subtext { margin-block: 25px; font-size: 16px; }
.elegencia-about .ak-about-bg-img img { object-fit: cover; }
.elegencia-about .opening-hour.type-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; }
.elegencia-about .opening-hour .opening-hour-img-section.style-2 { min-width: 0; width: 100%; height: 600px; }
.elegencia-about .opening-hour .opening-bg-img { height: 100%; }
.elegencia-about .opening-hour-text-section p { font-size: 16px; margin-block: 25px; }
/* contact.html: formulario y panel visual, seguidos por tarjetas de contacto. */
.elegencia-contact .contact-content { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; width: 100%; align-items: stretch; }
.elegencia-contact .contact-content .contact-form, .elegencia-contact .contact-content .contact-map { width: 100%; min-width: 0; }
.elegencia-contact .contact-form-title { margin-bottom: 20px; }
.elegencia-contact .contact-form > p { margin-bottom: 30px; }
.elegencia-contact .contact-form input, .elegencia-contact .contact-form textarea { padding: 15px; min-height: 52px; }
.elegencia-contact .elegencia-contact-visual { position: relative; overflow: hidden; min-height: 580px; }
.elegencia-contact .elegencia-contact-visual > img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.elegencia-contact .elegencia-contact-caption { position: absolute; inset: auto 0 0; padding: 60px 35px 35px; background: linear-gradient(transparent, #040d10); }
.elegencia-contact .elegencia-contact-channels { padding-bottom: 110px; }
.elegencia-contact .location-card { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 50px; }
.elegencia-contact .location-card-item { min-width: 0; padding: 35px; }
.elegencia-contact .location-card-item:last-child { border-right: 0; }
.elegencia-contact .location-card-item h3 { font-size: 28px; margin-bottom: 18px; }
.elegencia-contact .location-card-item a { font-size: 14px; overflow-wrap: anywhere; }
/* blog-details.html: título y metadatos antes de la imagen, barra lateral editorial. */
.elegencia-article .blog-details { margin-bottom: 55px; max-width: 1000px; }
.elegencia-article .blog-details h2 { margin-bottom: 25px; }
.elegencia-article .blog-details-subtitle { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.elegencia-article .blog-details-subtitle p { margin: 0; font-size: 14px; }
.elegencia-article .blog-details-date { display: block; width: 1px; height: 20px; background: var(--border-color); }
.elegencia-article .elegencia-article-columns { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 65px; }
.elegencia-article .entry-content { margin-top: 50px; margin-bottom: 40px; }
.elegencia-article .elegencia-article-sidebar { border-left: 1px solid var(--border-color); padding-left: 30px; }
.elegencia-article .elegencia-article-sidebar h3 { margin-bottom: 25px; }
.elegencia-article .elegencia-recent-post { display: grid; grid-template-columns: 80px 1fr; gap: 18px; padding-block: 22px; border-bottom: 1px solid var(--border-color); }
.elegencia-article .elegencia-recent-post img { width: 80px; aspect-ratio: 1; object-fit: cover; }
.elegencia-article .elegencia-recent-post h4 { font-size: 21px; margin-bottom: 10px; }
.elegencia-article .elegencia-recent-post p { font-size: 12px; margin: 0; }
/* portfolio.html: cuadrícula fotográfica con información superpuesta. */
.front-elegencia .elegencia-portfolio-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 30px; }
.elegencia-portfolio-grid .ak-card-img img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.elegencia-portfolio-grid .ak-card .card-info { left: 0; right: 0; bottom: 0; margin: 20px; opacity: 1; background: rgba(4,13,16,.92); }
.elegencia-portfolio-grid .ak-card .card-info .card-text { padding: 24px; }
.elegencia-portfolio-grid .ak-card .card-info .card-title { font-size: 30px; margin-bottom: 10px; }
.elegencia-portfolio-grid .card-subtitle { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.elegencia-portfolio-grid .ak-card:focus-visible .card-info, .elegencia-portfolio-grid .ak-card:hover .card-info { bottom: 10px; background: #091e24; }
/* room.html: fichas de candidatos con imagen, descripción y acciones al pie. */
.front-elegencia .elegencia-candidate-grid.room-section { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 50px; }
.front-elegencia .elegencia-candidate-grid.room-section > .room-card { width: 100%; border: 0; background: transparent !important; }
.front-elegencia .elegencia-candidate-grid .room-card-body { background: transparent; padding: 0; }
.front-elegencia .elegencia-candidate-grid .room-card-title { margin-top: 28px; font-size: 28px; }
.front-elegencia .elegencia-candidate-grid .bottom-price-wrap { padding-top: 25px; margin-top: auto; border-top: 1px solid var(--border-color); }
.front-elegencia .elegencia-candidate-grid .description { padding-bottom: 25px; }
.front-elegencia .elegencia-category-description { max-width: 900px; margin-bottom: 60px; }
/* event-list.html + gallery.html: ediciones separadas y galerías con controles compartidos. */
.elegencia-awards .elegencia-awards-intro { max-width: 850px; margin-inline: auto; margin-bottom: 90px; }
.elegencia-awards .elegencia-awards-edition { padding-block: 50px 70px; border-top: 1px solid var(--border-color); }
.elegencia-awards .event-list { display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; align-items: center; }
.elegencia-awards .event-list img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.elegencia-awards .event-list .date-text { display: flex; gap: 30px; align-items: center; }
.elegencia-awards .event-list .date-section { padding-right: 25px; border-right: 1px solid var(--border-color); }
.elegencia-awards .event-list .date { font-family: var(--heading-font-family); font-size: 40px; color: var(--yellow-color); }
.elegencia-awards .event-list .section-title { font-size: 34px; margin-bottom: 20px; }
/* reservations.html: resumen a la izquierda y formularios a la derecha. */
.elegencia-account .elegencia-account-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: 90px; align-items: start; }
.elegencia-account .elegencia-account-layout > * { width: 100%; }
.elegencia-account .elegencia-account-photo { width: 100%; aspect-ratio: 4/3; object-fit: cover; margin-bottom: 35px; }
.elegencia-account .elegencia-account-summary { position: sticky; top: 120px; }
.elegencia-account .elegencia-account-form-panel { border-bottom: 1px solid var(--border-color); padding-bottom: 45px; margin-bottom: 50px; }
.elegencia-account .booking-system-form { margin-top: 35px; }
.elegencia-account .booking-system-form input { min-height: 50px; }
.elegencia-account .elegencia-account-votes { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; margin-top: 90px; padding-top: 60px; border-top: 1px solid var(--border-color); }
.elegencia-account .cat-item { border: 0; border-bottom: 1px solid var(--border-color); padding: 25px 0; margin: 0; align-items: start; }
.elegencia-account .cat-item p { margin-bottom: 8px; font-size: 14px; }
@media (max-width: 991px) {
    .front-elegencia .elegencia-content-section { padding-block: 65px; }
    .elegencia-about .ak-about.ak-style-1 .ak-about-bg-img { position: relative; width: 100%; height: 400px; }
    .elegencia-about .ak-about.ak-style-1 .about-section.ak-about-1 { width: 100%; padding-block: 60px; }
    .elegencia-about .opening-hour.type-2, .elegencia-contact .contact-content, .elegencia-account .elegencia-account-layout { grid-template-columns: 1fr; gap: 45px; }
    .elegencia-about .opening-hour .opening-hour-img-section.style-2 { height: 450px; }
    .elegencia-contact .contact-content .contact-form { margin-bottom: 0; }
    .elegencia-contact .elegencia-contact-visual { min-height: 400px; }
    .front-elegencia .elegencia-portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
    .elegencia-awards .event-list { grid-template-columns: 1fr 1fr; gap: 30px; }
    .elegencia-awards .event-list .date-text { flex-direction: column; align-items: start; gap: 20px; }
    .elegencia-awards .event-list .date-section { border-right: 0; padding-right: 0; }
    .elegencia-account .elegencia-account-summary { position: static; }
    .elegencia-article .elegencia-article-columns { gap: 30px; }
}
@media (max-width: 767px) {
    .front-elegencia .elegencia-page-hero .ak-commmon-hero { min-height: 280px; }
    .front-elegencia .elegencia-page-hero .ak-commmon-heading { padding: 60px 20px; }
    .elegencia-contact .location-card, .elegencia-article .elegencia-article-columns, .front-elegencia .elegencia-candidate-grid.room-section, .elegencia-awards .event-list, .elegencia-account .elegencia-account-votes { grid-template-columns: 1fr; }
    .elegencia-contact .location-card-item { padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--border-color); }
    .elegencia-article .elegencia-article-sidebar { padding: 35px 0 0; border-left: 0; border-top: 1px solid var(--border-color); }
    .elegencia-awards .elegencia-awards-intro { margin-bottom: 50px; }
    .elegencia-account .elegencia-account-votes { gap: 50px; }
    .elegencia-about .opening-hour .opening-hour-img-section.style-2 { height: 350px; }
}
@media (max-width: 575px) { .front-elegencia .elegencia-portfolio-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: no-preference) { .front-elegencia .elegencia-page-hero .page-title-anim { animation: home-content-enter 1s cubic-bezier(.16,1,.3,1) both; } }

.front-elegencia .elegencia-candidate-grid.room-section > .modal { width: 100%; max-width: none; }
.front-elegencia .elegencia-page-hero .ak-commmon-heading { position: relative; margin-top: 0; }
