@charset "UTF-8";
/*-----------------------------------------------------------------------------------
    Template Name: Evento - Event HTML Template
    Template URI: https://webtend.net/demo/html/evento/
    Author: WebTend
    Author URI:  https://webtend.net/
    Version: 1.0

    Note: This is Main Style CSS File.
-----------------------------------------------------------------------------------
	CSS INDEX
	===================
    01. Default CSS
    02. Common Class
    03. Hero Section
    04. Page Banner
    05. Event Section
    06. Cart + Checkout
    07. Category Section
    08. About Section
    09. Feature Section
    10. Work Process
    11. Testimonials
    12. Shop Section
    13. Client Logos
    14. Blog Section
    15. Widgets
    16. FAQ Page
    17. Contact Section
    18. Footer Area
    19. Rate review
-----------------------------------------------------------------------------------*/

/****************************************************** */
/******************** 01. Default CSS ***************** */
/****************************************************** */
* {
    margin: 0;
    padding: 0;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

*:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

:root {
    scroll-behavior: auto;
    --base-color: #454545;
    --heading-color: #1e2532;
    --primary-color: #F97316;
    --primary-text-color: #C2410C;
    --secondary-color: #ea580c;
    --dark-color: #1e2532;
    --light-color: #F7F7F7;
    --accent-color: #F97316;
    /* Tipografía — Inter unificado (Fontsource self-hosted) */
    --tuki-font-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --base-font: var(--tuki-font-sans);
    --heading-font: var(--tuki-font-sans);
    /* Text scale */
    --tuki-text-xs: clamp(11px, 0.8vw + 9px, 12px);
    --tuki-text-sm: clamp(12px, 0.8vw + 10px, 14px);
    --tuki-text-base: clamp(14px, 0.8vw + 12px, 16px);
    --tuki-text-lg: clamp(16px, 1vw + 14px, 18px);
    --tuki-text-xl: clamp(18px, 1.2vw + 15px, 22px);
    --tuki-text-2xl: clamp(22px, 1.6vw + 16px, 28px);
    --tuki-text-3xl: clamp(28px, 2.2vw + 18px, 40px);
    --tuki-text-4xl: clamp(34px, 3vw + 20px, 56px);
    /* Line heights */
    --tuki-leading-tight: 1.1;
    --tuki-leading-snug: 1.25;
    --tuki-leading-normal: 1.5;
    --tuki-leading-relaxed: 1.7;
    /* Weights */
    --tuki-weight-regular: 400;
    --tuki-weight-medium: 500;
    --tuki-weight-semibold: 600;
    --tuki-weight-bold: 700;
    --tuki-weight-extrabold: 800;
    /* Tracking */
    --tuki-tracking-tight: -0.04em;
    --tuki-tracking-snug: -0.02em;
    --tuki-tracking-normal: 0;
    --tuki-tracking-wide: 0.04em;
    --flow-space: 1lh;
    --flow-space-tight: 0.75lh;
    /* Espacio antes de un título cuando sigue a un bloque de texto */
    --flow-space-heading: 2lh;
}

body {
    color: var(--base-color);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
    font-family: var(--base-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

a {
    color: var(--base-color);
    cursor: pointer;
    outline: none;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    text-decoration: none;
}

a:focus,
a:visited {
    text-decoration: none;
    outline: none;
}

a:hover {
    text-decoration: none;
    color: var(--primary-text-color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    font-family: var(--heading-font);
}

h1,
h2,
h3,
h4,
h5,
h6,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: var(--heading-color);
}

.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6,
.text-white h1 a,
.text-white h2 a,
.text-white h3 a,
.text-white h4 a,
.text-white h5 a,
.text-white h6 a {
    color: #ffffff;
}

h1 {
    font-size: clamp(28px, 5vw + 8px, 48px);
    line-height: 1.15;
}

h2 {
    font-size: clamp(24px, 4vw + 8px, 42px);
    line-height: 1.2;
}

h3 {
    font-size: clamp(20px, 2.5vw + 6px, 30px);
    line-height: 1.4;
}

h4 {
    font-size: clamp(18px, 1.5vw + 6px, 22px);
    line-height: 1.46;
}

h5 {
    font-size: clamp(16px, 1vw + 6px, 20px);
    line-height: 1.5;
}

h6 {
    font-size: clamp(14px, 0.5vw + 6px, 16px);
}

/*======= Typographic Flow =======*/
:where(
    .hero-content,
    .section-title,
    .event-content,
    .related-event-wrap .event-content,
    .event-details-content,
    .about-content,
    .feature-item,
    .feature-content,
    .testimonial-item,
    .trust-partners__intro,
    .blog-content,
    .blog-details-content,
    .comment-content,
    .accordion .card-body,
    .contact-info-item .info-content,
    .footer-copy,
    .popup_main-content,
    .booking-success,
    .summernote-content,
    .auth-split__tagline,
    .auth-surface
) > :where(h1, h2, h3, h4, h5, h6, p, ul, ol, blockquote, pre, figure) {
    margin-block: 0;
}

:where(
    .hero-content,
    .section-title,
    .event-content,
    .related-event-wrap .event-content,
    .event-details-content,
    .about-content,
    .feature-item,
    .feature-content,
    .testimonial-item,
    .trust-partners__intro,
    .blog-content,
    .blog-details-content,
    .comment-content,
    .accordion .card-body,
    .contact-info-item .info-content,
    .footer-copy,
    .popup_main-content,
    .booking-success,
    .summernote-content,
    .auth-split__tagline,
    .auth-surface
) > :where(p, ul, ol, blockquote, pre, figure) + :where(p, ul, ol, blockquote, pre, figure) {
    margin-block-start: var(--flow-space);
}

:where(
    .hero-content,
    .section-title,
    .event-content,
    .related-event-wrap .event-content,
    .event-details-content,
    .about-content,
    .feature-item,
    .feature-content,
    .testimonial-item,
    .trust-partners__intro,
    .blog-content,
    .blog-details-content,
    .comment-content,
    .accordion .card-body,
    .contact-info-item .info-content,
    .footer-copy,
    .popup_main-content,
    .booking-success,
    .summernote-content,
    .auth-split__tagline,
    .auth-surface
) > :where(h1, h2, h3, h4, h5, h6) + :where(p, ul, ol, blockquote, pre, figure) {
    margin-block-start: var(--flow-space);
}

:where(
    .hero-content,
    .section-title,
    .event-content,
    .related-event-wrap .event-content,
    .event-details-content,
    .about-content,
    .feature-item,
    .feature-content,
    .testimonial-item,
    .trust-partners__intro,
    .blog-content,
    .blog-details-content,
    .comment-content,
    .accordion .card-body,
    .contact-info-item .info-content,
    .footer-copy,
    .popup_main-content,
    .booking-success,
    .summernote-content,
    .auth-split__tagline,
    .auth-surface
) > :where(p, ul, ol, blockquote, pre, figure) + :where(h1, h2, h3, h4, h5, h6) {
    margin-block-start: var(--flow-space-heading);
}

/*
  Contenido WYSIWYG: no solo hijos directos (wrappers internos) — mismo ritmo con lh.
*/
.summernote-content :where(h1, h2, h3, h4, h5, h6, p, ul, ol, blockquote, pre, figure, table) {
    margin-block: 0;
}

.summernote-content :where(p, ul, ol, blockquote, pre, figure, table) + :where(p, ul, ol, blockquote, pre, figure, table),
.summernote-content :where(h1, h2, h3, h4, h5, h6) + :where(p, ul, ol, blockquote, pre, figure),
.summernote-content :where(h1, h2, h3, h4, h5, h6) + :where(h1, h2, h3, h4, h5, h6) {
    margin-block-start: var(--flow-space);
}

.summernote-content :where(p, ul, ol, blockquote, pre, figure) + :where(h1, h2, h3, h4, h5, h6) {
    margin-block-start: var(--flow-space-heading);
}

.summernote-content li > :where(p) + :where(p) {
    margin-block-start: var(--flow-space);
}

.summernote-content hr {
    margin-block: var(--flow-space);
}

ul,
li {
    list-style: none;
    padding: 0;
    margin: 0;
}

img {
    max-width: 100%;
    display: inline-block;
}

header:after,
section:after,
footer:after {
    display: block;
    clear: both;
    content: "";
}

/*======= Input Styles =======*/
input,
textarea,
select {
    width: 100%;
    font-size: 16px;
    padding: 15px 25px;
    background-color: #fff;
    border: 1px solid #e1e1e1;
}

textarea {
    height: 170px;
    display: inherit;
    padding-top: 20px;
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
    outline: none;
}

::-webkit-input-placeholder {
    opacity: 1;
}

::-moz-placeholder {
    opacity: 1;
}

:-ms-input-placeholder {
    opacity: 1;
}

::-ms-input-placeholder {
    opacity: 1;
}

::placeholder {
    opacity: 1;
}

input[type=search]::-ms-clear {
    display: none;
    width: 0;
    height: 0;
}

input[type=search]::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    display: none;
}

input[type=checkbox],
input[type=radio] {
    height: auto;
    width: auto;
}

/****************************************************** */
/****************** 02. Common Class ****************** */
/****************************************************** */
.page-wrapper {
    position: relative;
    margin: 0 auto;
    width: 100%;
    min-width: 300px;
    overflow: hidden;
}

/* Section Title */
.section-title h2 {
    margin-bottom: 15px;
}

/** Button styles — mismo patrón que .ed-buy-btn (detalle evento) */
.theme-btn,
a.theme-btn {
    z-index: 1;
    box-sizing: border-box;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    text-align: center;
    min-height: 52px;
    padding: 0 24px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #f97316;
    border: none;
    font-family: var(--tuki-font-sans);
    letter-spacing: -0.01em;
    -webkit-font-smoothing: antialiased;
    text-decoration: none;
}

.theme-btn:hover,
a.theme-btn:hover {
    background: #ea580c;
    color: #fff;
    transform: translateY(-1px);
    text-decoration: none;
}

.theme-btn:focus-visible,
a.theme-btn:focus-visible,
button.theme-btn:focus-visible {
    outline: 3px solid rgba(249, 115, 22, 0.28);
    outline-offset: 3px;
}

/* Learn More Btn */
.read-more {
    color: #333333;
    font-size: 14px;
    align-items: center;
    display: inline-flex;
    text-transform: capitalize;
}

.read-more:after {
    content: '';
    height: 2px;
    width: 14px;
    transition: 0.3s;
    margin-left: 10px;
    background: var(--primary-color);
}

.read-more:hover:after {
    margin-left: 13px;
}

/*social link style One */
.social-style-one {
    display: flex;
}

.social-style-one a {
    height: 40px;
    width: 40px;
    color: white;
    font-size: 14px;
    line-height: 40px;
    border-radius: 50%;
    text-align: center;
    margin: 0 10px 5px 0;
    background: rgba(255, 255, 255, 0.1);
}

.social-style-one a:last-child {
    margin-right: 0;
}

.social-style-one a:hover {
    background: var(--primary-color);
}

/*social link style Two */
.social-style-two a {
    margin-right: 15px;
}

.social-style-two a:not(:hover) {
    opacity: 0.5;
}

/* List style One */
.list-style-one li {
    color: #555555;
    margin-bottom: 6px;
}

.list-style-one li i {
    margin-right: 20px;
    font-size: 14px;
    color: var(--primary-text-color);
}

.list-style-one li i.fa-check {
    color: #4BAE4F;
}

/* List style Two */
.list-style-two li:not(:last-child) {
    margin-bottom: 10px;
}

.list-style-two li {
    display: flex;
    justify-content: space-between;
}

/*pagination style*/
.pagination .page-link {
    background: transparent;
    font-weight: 700;
    height: 50px;
    width: 50px;
    padding: 0;
    line-height: 50px;
    text-align: center;
    border: 1px solid #CDD2D9;
    color: var(--heading-color);
}

.pagination .page-item {
    margin: 10px 10px 0 0;
}

.page-item .page-link:hover {
    color: white;
    background: var(--primary-color);
}

.page-item.active .page-link {
    background: var(--primary-color);
    border-color: var(--primary-color);
    ;
}

.pagination .page-link,
.page-item:last-child .page-link,
.page-item:first-child .page-link {
    border-radius: 50%;
}

.pagination .page-item:last-child {
    margin-right: 0;
}

/* Page fade-in (reemplaza preloader bloqueante) */
body {
    opacity: 0;
    transition: opacity 0.35s ease;
    animation: fallback-show 0s 3s forwards;
}
body.loaded {
    opacity: 1;
    animation: none;
}
@keyframes fallback-show {
    to { opacity: 1; }
}

/*** Scroll Top style ** */
.scroll-top {
    flex: none;
    width: 50px;
    height: 50px;
    color: white;
    cursor: pointer;
    font-size: 18px;
    border-radius: 50%;
    border: 1px solid #ffffff33;
    background: var(--primary-color);
    -webkit-animation: pulse 2s infinite;
    animation: pulse 2s infinite;
}

/* text inputs and testarea */
.form-group {
    margin-bottom: 30px;
}

.nice-select,
.form-group input,
.form-group textarea,
.input-group input,
.input-group textarea {
    float: none;
    height: auto;
    padding: 15px 25px;
    background: transparent;
}

.nice-select:focus {
    border-color: #eff0f0;
}

.nice-select:hover,
.form-group input:focus,
.form-group textarea:focus,
.input-group input:focus,
.input-group textarea:focus {
    box-shadow: none;
    border-color: #eff0f0;
    background: transparent;
}

.form-group select,
.input-group select {
    border-radius: 1px;
    background: transparent;
}

.form-group label {
    font-weight: 500;
}

/* overlay */
.overlay {
    z-index: 1;
    position: relative;
}


.rel {
    position: relative;
}

.bg-lighter {
    background: var(--light-color);
}

.bg-black {
    background: var(--heading-color);
}

/****************************************************** */
/***************** 03. Hero Section  ****************** */
/****************************************************** */
.hero-section {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Hero Collage */
.hero-collage-section {
    min-height: 440px !important;
    height: auto !important;
    overflow: hidden;
    position: relative;
    background: none !important;
    user-select: none;
    -webkit-user-select: none;
}

.hero-slideshow {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 0;
    pointer-events: none;
}

.hero-slide {
    position: absolute;
    top: -20px; left: -20px; right: -20px; bottom: -20px;
    background-size: cover;
    background-position: center;
    opacity: 0;
    will-change: opacity;
    pointer-events: none;
}

.hero-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(30, 37, 50, 0.78);
    z-index: 1;
    pointer-events: none;
}

.hero-noise {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 2;
    pointer-events: none;
    opacity: 0.13;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: 300px 300px;
}

.hero-content-wrapper {
    position: relative;
    z-index: 3;
    width: 100%;
    padding-top: 86px;
    padding-bottom: 72px;
}

body.home-page .hero-content-wrapper {
    padding-top: clamp(56px, 8vw, 96px);
    padding-bottom: clamp(44px, 6vw, 72px);
}

/* Sidebar sticky (event-details) */
.sidebar-sticky {
    position: sticky;
    top: 90px;
    align-self: flex-start;
}

/* theme-btn feedback */
.theme-btn {
    transition: background-color 0.15s ease,
                color 0.15s ease,
                transform 0.15s ease;
}
.theme-btn:active {
    transform: translateY(0);
}
.event-details-area .theme-btn:hover {
    transform: translateY(-1px);
}
.event-details-area .theme-btn:hover svg {
    transform: translateX(4px);
}
.theme-btn.btn-loading {
    pointer-events: none;
    opacity: 0.7;
    cursor: wait;
}

/* Scroll reveal */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.reveal-on-scroll.revealed {
    opacity: 1;
    transform: translateY(0);
}

.hero-content {
    margin: 0 auto;
    max-width: 930px;
    text-align: center;
}

.hero-content p,
.hero-content h1 {
    color: white;
}

.hero-content h1 {
    white-space: normal;
    max-width: 980px;
    margin: 0 auto;
    font-size: clamp(2rem, 4vw, 3.45rem);
    line-height: 0.98;
    letter-spacing: -0.04em;
}

@media (min-width: 992px) {
    .hero-content h1 {
        white-space: nowrap;
    }
}

.hero-content p {
    max-width: 520px;
    margin-top: 16px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.82);
}

.hero-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
}

.hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    transition: transform 0.18s ease, box-shadow 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.hero-btn:hover {
    text-decoration: none;
    transform: translateY(-1px);
}

.hero-btn--primary {
    background: #ffffff;
    color: #111827;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.20);
}

.hero-btn--primary:hover {
    color: #111827;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.24);
}

.hero-btn--secondary {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.20);
    color: #fff;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.hero-btn--secondary:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.34);
}

/* ── Hero collage — premium (misma altura base que .hero-collage-section) ── */
.hero-collage-section--premium {
    min-height: 440px !important;
}

.hero-overlay.hero-overlay--premium {
    background:
        radial-gradient(120% 90% at 50% 120%, rgba(15, 20, 32, 0.92) 0%, transparent 55%),
        radial-gradient(ellipse 80% 60% at 20% 15%, rgba(249, 115, 22, 0.18) 0%, transparent 50%),
        radial-gradient(ellipse 70% 50% at 85% 35%, rgba(59, 130, 241, 0.12) 0%, transparent 45%),
        linear-gradient(180deg, rgba(18, 22, 34, 0.35) 0%, rgba(12, 16, 26, 0.82) 48%, rgba(8, 11, 18, 0.94) 100%);
}

.hero-vignette {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: radial-gradient(ellipse 85% 75% at 50% 45%, transparent 0%, rgba(5, 8, 14, 0.55) 100%);
}

.hero-ambient {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    overflow: hidden;
}

.hero-ambient__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(72px);
    opacity: 0.55;
    will-change: transform;
    animation: heroOrbFloat 22s ease-in-out infinite;
}

.hero-ambient__orb--a {
    width: min(52vw, 520px);
    height: min(52vw, 520px);
    left: -8%;
    top: 8%;
    background: radial-gradient(circle at 30% 30%, rgba(249, 115, 22, 0.55), rgba(249, 115, 22, 0) 70%);
    animation-delay: -4s;
}

.hero-ambient__orb--b {
    width: min(42vw, 420px);
    height: min(42vw, 420px);
    right: -6%;
    bottom: 18%;
    background: radial-gradient(circle at 50% 50%, rgba(96, 165, 250, 0.35), rgba(96, 165, 250, 0) 72%);
    animation-delay: -9s;
}

.hero-ambient__orb--c {
    width: min(36vw, 360px);
    height: min(36vw, 360px);
    left: 38%;
    bottom: -12%;
    background: radial-gradient(circle at 50% 40%, rgba(251, 191, 36, 0.22), rgba(251, 191, 36, 0) 70%);
    animation-duration: 28s;
    animation-delay: -2s;
}

@keyframes heroOrbFloat {
    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }
    33% {
        transform: translate(2.5%, -2%) scale(1.04);
    }
    66% {
        transform: translate(-2%, 1.5%) scale(0.98);
    }
}

.hero-collage-section--premium .hero-noise {
    z-index: 4;
    opacity: 0.1;
}

.hero-collage-section--premium .hero-content-wrapper {
    z-index: 5;
}

.hero-content--premium {
    max-width: 920px;
}

.hero-content--premium .hero-lede,
.hero-content--premium.hero-content p.hero-lede {
    max-width: 38rem;
    margin-top: 18px;
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(0.9rem, 0.65vw + 0.78rem, 1.05rem);
    line-height: 1.58;
    font-weight: 500;
    color: rgba(248, 250, 252, 0.88);
}

.hero-content--premium h1 {
    font-family: var(--heading-font);
    font-weight: 800;
    font-size: clamp(2.15rem, 1.2vw + 1.85rem, 3.65rem);
    line-height: 1.05;
    letter-spacing: -0.045em;
    text-wrap: balance;
    text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06),
        0 24px 48px rgba(0, 0, 0, 0.35);
}

.hero-trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px 26px;
    margin: clamp(20px, 3vw, 28px) 0 0;
    padding: 0;
    list-style: none;
}

.hero-trust li {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: rgba(226, 232, 240, 0.62);
}

.hero-trust li::before {
    content: '';
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: linear-gradient(145deg, #fb923c, #ea580c);
}

.hero-content--premium .hero-actions {
    margin-top: clamp(22px, 3vw, 30px);
}

.hero-collage-section--premium .hero-content--premium > * {
    animation: heroPremiumReveal 0.95s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

.hero-collage-section--premium .hero-content--premium h1 {
    animation-delay: 0.06s;
}

.hero-collage-section--premium .hero-lede {
    animation-delay: 0.14s;
}

.hero-collage-section--premium .hero-trust {
    animation-delay: 0.22s;
}

.hero-collage-section--premium .hero-actions {
    animation-delay: 0.3s;
}

@keyframes heroPremiumReveal {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-ambient__orb {
        animation: none !important;
    }

    .hero-collage-section--premium .hero-content--premium > * {
        animation: none !important;
    }
}

@media (min-width: 992px) {
    .hero-content--premium h1 {
        white-space: normal;
    }
}

.event-search {
    display: flex;
    flex-wrap: nowrap;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
    height: 60px;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.event-search .search-item {
    display: flex;
    align-items: center;
    background: white;
    padding: 0 15px;
    flex: 1;
    min-width: 0;
}

.event-search .search-item:first-child {
    border-radius: 5px 0 0 5px;
}

.event-search .search-item:last-of-type {
    border-radius: 0;
}

.event-search .search-item label {
    margin: 0;
    cursor: pointer;
}

.event-search .search-item input,
.event-search .search-item select {
    padding: 0 15px;
    border: none;
    flex: 1;
    min-width: 0;
}

.event-search .theme-btn {
    border-radius: 0 5px 5px 0;
    height: 60px;
    line-height: 60px;
    padding: 0 30px;
    flex-shrink: 0;
}

#borwseby-button {
    border-right: 1px solid rgba(30, 37, 50, 0.15);
}

.ui-icon:after {
    content: "\f0d7";
    font-weight: 600;
    font-family: 'Font Awesome 5 Free';
}

.ui-icon {
    text-indent: 0;
    margin-right: 0;
}

/****************************************************** */
/***************** 04. Page Banner  ******************* */
/****************************************************** */
.page-title {
    color: white;
    text-align: center;
    margin-bottom: 10px;
}

.breadcrumb {
    margin: 0;
    padding: 0;
    background: transparent;
    justify-content: center;
}

.breadcrumb-item a,
.breadcrumb-item.active,
.breadcrumb-item+.breadcrumb-item::before {
    color: white;
    font-weight: 800;
    font-family: var(--heading-font);
}

/****************************************************** */
/**************** 05. Event Section  ****************** */
/****************************************************** */
.event-page-section .container-custom {
    max-width: 1620px;
}

.gallery-filter,
.events-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.event-info {
    gap: 10px;
    flex-wrap: wrap;
}

.event-info span:first-child a {
    color: var(--primary-text-color);
    font-weight: 500;
}

.events-filter li,
.gallery-filter li {
    color: black;
    cursor: pointer;
    font-size: 14px;
    padding: 3px 18px;
    transition: 0.5s;
    font-weight: 700;
    border-radius: 4px;
    margin: 0 10px 10px;
    font-family: var(--heading-font);
}

.events-filter li:hover,
.events-filter li.current,
.gallery-filter li:hover,
.gallery-filter li.current {
    color: white;
    background: var(--primary-color);
}

.event-item,
.gallery-item {
    position: relative;
    display: block;
    margin-bottom: 30px;
    background: white;
}

.event-image img,
.gallery-item img {
    width: 100%;
}


.event-content {
    position: relative;
    padding: 25px 25px;
    box-shadow: 0px 10px 70px rgba(0, 0, 0, 0.1);
}

.event-content .time-info {
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    width: calc(100% - 50px);
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    flex-wrap: wrap;
    padding: 10px 20px;
    border-radius: 4px;
    background: #fff;
    line-height: normal;
    box-shadow: 0px 10px 70px rgba(0, 0, 0, 0.1);
}

.event-content .time-info i {
    color: var(--primary-text-color);
    margin-inline-end: 2px;
    font-size: 13px;
}

.event-content .organizer {
    display: inline-block;
    margin-bottom: 5px;
}

.event-content .dates {
    top: -14px;
    color: white;
    font-size: 12px;
    line-height: 1.5;
    padding: 5px 16px;
    position: absolute;
    border-radius: 4px;
    background: var(--primary-color);
}

.event-content h4,
.event-content h5 {
    margin-bottom: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.event-description {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    min-height: 60px;
    color: #0000007a;
}

.event-content .location {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    line-height: normal;
    flex: 0 0 auto;
    width: calc(100% / 1.45);
}

.event-content .location span {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 1;
    -webkit-line-clamp: 1;
}

.event-content .location i {
    color: var(--primary-text-color);
}

.price-remain {
    display: flex;
    gap: 10px;
    font-size: 14px;
    align-items: center;
    justify-content: space-between;
    line-height: normal;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px dashed #d9d9d9;

}

.price-remain span:first-child {
    font-weight: 500;
}

.price-remain .price {
    display: inline-block;
    background: var(--primary-color);
    color: #fff;
    font-weight: 700;
    font-family: var(--heading-font);
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1.5;
}

.price-remain .remain {
    font-weight: 300;
}

.price-remain del {
    color: var(--base-color);
}

.event-footer {
    display: flex;
    font-size: 14px;
    flex-wrap: wrap;
    padding: 6px 20px;
    border-radius: 4px;
    align-items: center;
    justify-content: space-between;
    background: var(--light-color);
}

.event-footer li i {
    margin-right: 3px;
    color: var(--primary-text-color);
}

.event-details-information .syotimer__body,
.event-item .syotimer__body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.event-details-information .syotimer__body {
    gap: 10px;
    justify-content: space-between;
}

.event-details-information .syotimer-cell {
    --size: calc(100% / 4 - 20px);
    height: 100%;
}

.event-item .syotimer__body {
    gap: 5px;
    margin-top: 10px;
}

.event-item .syotimer-cell {
    width: var(--size);
    text-align: center;
    font-weight: 400;
    font-size: 14px;
}

.event-item .syotimer-cell__value {
    line-height: 40px;
}

.event-item .syotimer-cell__unit {
    line-height: 1;
    margin-top: 5px;
}

.event-details-information .syotimer-cell {
    width: var(--size);
    text-align: center;
    font-weight: 400;
}

.event-details-information .syotimer-cell__value {
    font-size: 16px;
    margin-bottom: 5px;
    border: 1px solid #d9d9d9;
    color: var(--primary-text-color);
}

.event-item .syotimer-cell__value {
    background-color: var(--light-color);
}

.event-item .wishlist-btn {
    --size: 40px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin-inline-end: 10px;
    margin-inline-start: auto;
    width: var(--size);
    height: var(--size);
    line-height: var(--size);
    border-radius: 0 0 5px 5px;
    background-color: var(--primary-color);
    color: #fff;
    text-align: center;
    z-index: 1;
}

/* Releted Events */
.releted-event-header {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
    justify-content: space-between;
}

.related-event-wrap {
    margin-left: -15px;
    margin-right: -15px;
}

.related-event-wrap .event-item {
    margin-left: 15px;
    margin-right: 15px;
}

.related-event-wrap .event-content {
    box-shadow: 0px 10px 20px rgb(0 0 0 / 10%)
}

.slick-next-prev {
    display: flex;
}

.slick-next-prev button:not(:last-child) {
    margin-right: 10px;
}

.slick-arrow {
    height: 50px;
    width: 50px;
    transition: 0.5s;
    background: white;
    border-radius: 50%;
    color: var(--primary-text-color);
    border: 1px solid var(--primary-color);
}

.slick-arrow:focus,
.slick-arrow:hover {
    color: white;
    background: var(--primary-color);
}

/* Event Details */
.event-details-top {
    margin-bottom: 20px;
}

.event-details-content .has-gap {
    gap: 30px;
}

.event-top-date {
    flex: 0 0 auto;
    min-width: 100px;
    text-align: center;
    background-color: #fff;
    line-height: normal;
}

.event-top-date .event-month {
    padding: 8px 0;
    color: #fff;
    font-size: 16px;
    width: 100%;
    background-color: var(--primary-color);
}

.event-top-date .event-date {
    padding: 15px 0;
    font-size: 20px;
    font-weight: 600;
    font-family: var(--heading-font);
    background-color: var(--light-color);
}

.event-details-content .total {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.event-details-content .title {
    margin-top: -5px;
}

.event-details-content .title .badge {
    font-size: 12px;
    line-height: normal;
    vertical-align: super;
}

.count-down li {
    flex: 0 0 120px;
    max-width: 120px;
    text-align: center;
    margin: 10px 0;
}

.count-down li:not(:last-child) {
    margin-right: 20px;
}

.count-down li span {
    display: block;
    border: 1px solid #d9d9d9;
    padding: 15px;
    font-size: 20px;
    color: var(--primary-text-color);
}

.event-details-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.event-details-content .author {
    display: flex;
    margin-bottom: 25px;
    align-items: center;
}

.event-details-content .author img {
    height: 60px;
    width: 60px;
    border-radius: 50%;
    margin-inline-end: 15px;
}

.event-details-content .author h6 {
    margin-bottom: 5px;
    text-transform: capitalize;
}

.event-details-content .author h6 a {
    color: inherit;
    font-size: inherit;
}

.event-details-content .author a {
    font-size: 12px;
    font-weight: 700;
    color: var(--primary-text-color);
    font-family: var(--heading-font);
}

.event-details-header ul {
    display: flex;
    flex-wrap: wrap;
    margin-right: auto;
    padding-inline: 0 !important;
    margin-bottom: 15px;
    align-items: center;
}

.event-details-header ul li:not(:last-child) {
    margin-inline-end: 15px;
    padding-inline-end: 15px;
    border-inline-end: 1px solid #C4C4C4;
}

.event-details-header ul li i {
    color: var(--primary-text-color);
    margin-inline-end: 5px;
}

.event-details-image {
    position: relative;
    margin-top: 20px;
}

.event-details-image .buttons {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 3;
}

.event-details-image .buttons a {
    font-weight: 600;
    padding: 6px 20px;
    display: inline-block;
    background: var(--light-color);
}

.event-details-image .buttons a:not(:last-child) {
    margin-right: 8px;
}


.event-details-information {
    padding: 40px;
    background: white;
    margin: -210px 30px 0 70px;
    box-shadow: 0px 5px 50px rgba(0, 0, 0, 0.1);
}

.event-details-information b {
    display: block;
    color: #1e2532;
    font-weight: 500;
    margin-bottom: 5px;
}

.event-details-information .link {
    font-weight: 500;
    align-items: center;
    margin-bottom: 20px;
    display: inline-flex;
    color: var(--primary-text-color);
}

.event-details-information .link:hover {
    text-decoration: underline;
}

.event-details-information .link i {
    float: left;
    margin-right: 10px;
}

.event-details-information .price-count .quantity-input input,
.event-details-information .price-count .quantity-input button {
    width: 34px;
    height: 34px;
}

.event-details-information .price-count {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
    margin-bottom: 15px;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px dashed #e1e1e1;
}

.event-details-information .price-count h6 {
    margin-bottom: 15px;
}

.event-details-information .price-count h6 del {
    margin-inline-start: 5px;
    color: var(--base-color);
    font-size: 14px;
}

.click-show .show-content {
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.click-show .show-content * {
    margin-bottom: 0;
}

.click-show.show .show-content {
    line-clamp: 100;
    -webkit-line-clamp: 100;
}

.click-show.show .read-more-btn span:first-child {
    display: none;
}

.click-show.show .read-more-btn span:last-child {
    display: block;
}

.click-show .read-more-btn span:last-child {
    display: none;
}

.click-show .read-more-btn {
    color: var(--primary-text-color);
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    display: inline-block;
}

.quantity-input {
    margin-bottom: 15px;
    display: inline-flex;
    justify-content: center;
}

.quantity-input button {
    width: 44px;
    flex: none;
    font-size: 22px;
    background: transparent;
    border: 1px solid rgba(30, 37, 50, 0.1);
}

.quantity-input button:first-child {
    font-size: 40px;
}

.quantity-input input {
    width: 44px;
    padding: 0;
    height: 44px;
    font-weight: 700;
    text-align: center;
    border-width: 1px 0 1px 0;
    color: var(--heading-color);
    font-family: var(--heading-font);
    border-color: rgba(30, 37, 50, 0.1);
}

.event-details-information .h4 {
    font-weight: 700;
    color: var(--heading-color);
    font-family: var(--heading-font);
}

.event-details-information hr {
    margin-top: 8px;
}

/* request loader css start */
.request-loader {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #0000007a;
  z-index: 10000;
  display: none;
}
.request-loader img {
  position: fixed;
  display: none;
  width: 80px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.request-loader.show {
  display: block;
}
.request-loader.show img {
  display: block;
}
/* request loader css end */

.event-spotify-embed,
.ed-spotify-embed {
    margin: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.event-spotify-embed iframe,
.ed-spotify-embed iframe {
    width: 100% !important;
    max-width: 100%;
    height: min(260px, 40vh);
    border: 0;
    border-radius: 12px;
}

.ed-card__video-wrap {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 12px;
}

.ed-card__video-iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.event-details-images .slick-arrow {
    position: absolute;
    z-index: 1;
    top: 50%;
    border: none;
    transform: translateY(-50%);
}

.event-details-images .prev {
    left: 30px;
}

.event-details-images .next {
    right: 30px;
}

/****************************************************** */
/*************** 06. Cart + Checkout  ***************** */
/****************************************************** */
.checkout-product {
    display: flex;
    align-items: center;
    gap: 8px;
}

.checkout-product img {
    width: 100px;
    flex: none;
    margin-right: 20px;
    border-radius: 10px;
}

.checkout-product h6 {
    margin-bottom: 10px;
}

.checkout-product span {
    display: block;
    font-size: 14px;
    line-height: normal;
}

.checkout-product span:not(:last-child) {
    margin-bottom: 5px;
}

.checkout-product span i {
    color: var(--primary-text-color);
    margin-inline-end: 2px;
}

.checkout-product a {
    color: var(--primary-text-color);
}

.package-summary li {
    display: flex;
    font-weight: 500;
    align-items: center;
    margin-bottom: 10px;
    text-transform: capitalize;
    justify-content: space-between;
}

.package-summary li:last-child {
    padding-top: 10px;
    border-top: 1px solid #ced4da;
}

.total-cart-price {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    justify-content: space-between;
}

.cart-title {
    display: flex;
    font-size: 18px;
    font-weight: 500;
    padding: 15px 25px;
    align-items: center;
    background: var(--light-color);
    justify-content: space-between;
}

.cart-single-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(30, 37, 50, 0.1);
}

.product-title,
.cart-single-item .product-name {
    margin-bottom: 15px;
    margin-right: auto;
    flex: none;
}

.price-title,
.total-title,
.remove-title,
.quantity-title,
.avilable-title,
.cart-single-item .close,
.cart-single-item .avilable,
.cart-single-item .product-price,
.cart-single-item .quantity-input,
.cart-single-item .product-total-price {
    margin-bottom: 15px;
    text-align: center;
    font-weight: 500;
    width: 15%;
}

.cart-single-item .avilable i {
    color: var(--primary-text-color);
    margin-right: 2px;
    font-size: 14px;
}

.cart-single-item .close span {
    font-size: 30px;
    line-height: 0;
}

.update-shopping .theme-btn:first-child {
    margin-right: 15px;
}

/****************************************************** */
/************** 07. Category Section  ***************** */
/****************************************************** */
.category-wrap {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    justify-content: center;
}

.category-item {
    position: relative;
    margin: 0 15px 30px;
    width: calc(20% - 30px);
    overflow: hidden;
}

.category-item img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

.category-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--primary-color);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s ease;
}

.category-item:hover::after {
    transform: scaleX(1);
}

.category-content {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 30px;
    display: flex;
    align-items: end;
    background: linear-gradient(180deg, rgba(30, 37, 50, 0.4) 0%, #1e2532 100%);
}

.category-content h5 {
    margin: 0;
}

/****************************************************** */
/**************** 08. About Section  ****************** */
/****************************************************** */
.about-image-part {
    position: relative;
    padding-right: 45px;
}

.about-image-part img {
    width: 100%;
}

.about-revenues {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 40px 30px;
    border-radius: 10px;
    background: var(--primary-color);
}

.revenue-item {
    display: flex;
}

.revenue-item:not(:last-child) {
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid white;
}

.revenue-item i {
    height: 40px;
    width: 40px;
    background: white;
    line-height: 40px;
    margin-right: 20px;
    text-align: center;
    border-radius: 50%;
    color: var(--primary-text-color);
}

.revenue-item i:before {
    line-height: 40px;
}

.revenue-item h6 {
    color: white;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 5px;
}

.revenue-item .number {
    color: white;
    font-size: 22px;
    font-weight: 700;
    font-family: var(--heading-font);
}

.about-content {
    max-width: 510px;
}

.about-content .feature-item {
    border: none;
    padding: 0;
}

.about-content .feature-item:last-child {
    margin-bottom: 0;
}

/****************************************************** */
/*************** 09. Feature Section  ***************** */
/****************************************************** */
.feature-section {
    margin-bottom: 330px;
}

.feature-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    height: 100%;
    background: rgba(255, 255, 255, 0.92);
    margin-bottom: 0;
    padding: 30px 28px 26px;
    border: 1px solid rgba(30, 37, 50, 0.08);
    border-radius: 24px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, background 0.3s ease;
}

.feature-item:hover {
    border-color: rgba(249, 115, 22, 0.22);
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
    transform: translateY(-4px);
}

.feature-shell {
    max-width: 1080px;
    margin: 0 auto;
}

.feature-shell__intro {
    max-width: 720px;
    margin: 0 auto 6px;
}

.feature-grid {
    row-gap: 30px;
}

.feature-grid > [class*="col-"] {
    display: flex;
}

.feature-item__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(249, 115, 22, 0.14) 0%, rgba(249, 115, 22, 0.05) 100%);
    border: 1px solid rgba(249, 115, 22, 0.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}

.feature-item i {
    font-size: 28px;
    display: inline-block;
    color: var(--primary-text-color);
}

.feature-item h3,
.feature-item h4,
.feature-item h5 {
    margin-bottom: 10px;
    font-size: 21px;
    line-height: 1.2;
    letter-spacing: -0.03em;
}

.feature-item p {
    margin: 0;
    color: #5b6472;
    line-height: 1.75;
}

.feature-content {
    width: 100%;
}

@media (max-width: 767px) {
    .feature-shell__intro {
        margin-bottom: 2px;
    }

    .feature-grid {
        row-gap: 18px;
    }

    .feature-item {
        gap: 16px;
        padding: 24px 22px 22px;
        border-radius: 20px;
    }

    .feature-item__icon {
        width: 56px;
        height: 56px;
        border-radius: 18px;
    }

    .feature-item i {
        font-size: 24px;
    }

    .feature-item h3,
    .feature-item h4,
    .feature-item h5 {
        font-size: 18px;
    }
}

/****************************************************** */
/************* 10. Work Process Section  ************** */
/****************************************************** */
.work-process {
    margin-top: -330px;
    transform: translateY(330px);
}

.work-process-inner {
    background: white;
    padding-left: 100px;
    padding-right: 100px;
    box-shadow: 0px 10px 70px rgba(0, 0, 0, 0.07);
}

.work-process-item {
    position: relative;
    margin-bottom: 35px;
}

.work-process-item.after:after,
.work-process-item.before:before {
    content: '';
    position: absolute;
    height: 30px;
    width: 55px;
    top: 45px;
    background-size: 100% 100%;
}

.work-process-item.before:before {
    background-image: url(../images/shapes/before.png);
    left: -42.5px;
}

.work-process-item.after:after {
    background-image: url(../images/shapes/after.png);
    right: -42.5px;
}

.work-process-item .icon {
    height: 120px;
    width: 120px;
    border-radius: 50%;
    position: relative;
    margin-bottom: 20px;
    display: inline-block;
    background: rgba(249, 115, 22, 0.08);
    z-index: 1;
    border: 2px solid rgba(249, 115, 22, 0.15);
    transition: background 0.3s ease, border-color 0.3s ease;
}
.work-process-item:hover .icon {
    background: rgba(249, 115, 22, 0.15);
    border-color: rgba(249, 115, 22, 0.4);
}

.work-process-item .icon i:before {
    font-size: 50px;
    line-height: 120px;
    color: var(--primary-text-color);
}

.work-process-item .icon .number {
    position: absolute;
    color: white;
    height: 40px;
    width: 40px;
    top: -5px;
    right: -10px;
    font-size: 18px;
    line-height: 40px;
    border-radius: 50%;
    background: var(--primary-color);
    font-family: var(--heading-font);
}

.work-process-item h4 {
    margin-bottom: 15px;
}

.work-process-item p {
    font-size: 14px;
}

/****************************************************** */
/***************** 11. Testimonials  ****************** */
/****************************************************** */
.testimonial-content {
    margin-right: -10px;
}

.total-client-reviews {
    padding: 26px 28px;
    max-width: 360px;
    border-radius: 22px;
    border: 1px solid rgba(30, 37, 50, 0.08);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.review-images {
    display: flex;
    align-items: center;
}

.review-images img {
    min-height: 42px;
    max-height: 42px;
}

.review-images span {
    height: 50px;
    width: 50px;
    border-radius: 50%;
    border: 4px solid white;
}

.review-images>*:not(:first-child) {
    margin-left: -10px;
}

.review-images .pluse {
    color: white;
    font-size: 12px;
    line-height: 42px;
    text-align: center;
    background: var(--primary-color);
}

.total-client-reviews h6 {
    font-size: 18px;
    margin-bottom: 0;
    letter-spacing: -0.02em;
}


.testimonial-wrap {
    margin-left: 10px;
}

.testimonial-wrap .row > [class*="col-"] {
    display: flex;
    margin-bottom: 30px;
}

.testimonial-item {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
    width: 100%;
    min-height: 100%;
    padding: 28px 28px 20px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    border: 1px solid rgba(30, 37, 50, 0.08);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
    overflow: hidden;
    transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}
.testimonial-item:hover {
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
    transform: translateY(-4px);
    border-color: rgba(249, 115, 22, 0.18);
    background: #ffffff;
}

.testimonial-item::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, rgba(249,115,22,0.85) 0%, rgba(249,115,22,0.18) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.testimonial-item:hover::before {
    opacity: 1;
}

.testimonial-item:after {
    position: absolute;
    content: "\f10e";
    font-weight: 600;
    right: 24px;
    top: 24px;
    z-index: 0;
    opacity: 0.08;
    line-height: 1;
    font-size: 64px;
    color: var(--primary-text-color);
    font-family: 'Font Awesome 5 Free';
    transition: transform 0.3s ease, opacity 0.3s ease, color 0.3s ease;
}

.testimonial-item:hover:after {
    opacity: 0.16;
    transform: translateY(-2px) scale(1.04);
    color: rgba(194, 65, 12, 0.92);
}

.testimonial-item .author {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.testimonial-item .author img {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    margin-right: 18px;
    border: 3px solid rgba(255, 255, 255, 0.94);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.testimonial-item .author h5 {
    margin-bottom: 2px;
    position: relative;
    z-index: 1;
}

.testimonial-item .author span {
    font-size: 14px;
    margin-bottom: 5px;
    display: inline-block;
    color: #6b7280;
    position: relative;
    z-index: 1;
}

.testimonial-item p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #4b5563;
    line-height: 1.75;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ratting {
    position: relative;
    z-index: 1;
    gap: 2px;
}

@media (max-width: 991px) {
    .testimonial-content,
    .testimonial-wrap {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 575px) {
    .total-client-reviews {
        max-width: 100%;
        padding: 22px 20px;
        border-radius: 18px;
    }

    .testimonial-item {
        padding: 24px 22px 18px;
        border-radius: 18px;
    }

    .testimonial-item:after {
        right: 18px;
        top: 18px;
        font-size: 52px;
    }

    .testimonial-item .author img {
        width: 60px;
        height: 60px;
        margin-right: 14px;
    }

    .testimonial-wrap .row > [class*="col-"] {
        margin-bottom: 18px;
    }
}
.ratting {
    display: flex;
}

.ratting i {
    color: #F09E00;
    font-size: 12px;
    margin-right: 3px;
}

/****************************************************** */
/***************** 12. Shop Section  ****************** */
/****************************************************** */
.shop-item {
    text-align: center;
    margin-bottom: 25px;
}

.shop-item .image {
    position: relative;
}

.shop-item .image:before {
    position: absolute;
    height: 100%;
    width: 100%;
    content: '';
    left: 0;
    top: 0;
    opacity: 0;
    transition: 0.5s;
    background: black;
}

.product-icons {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 50%;
    opacity: 0;
    display: flex;
    transition: 0.5s;
    padding: 5px 18px;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%);
    background: var(--primary-color);
}

.product-icons a {
    color: white;
}

.product-icons a:not(:first-child) {
    margin-left: 15px;
}

.shop-item:hover .product-icons {
    opacity: 1;
}

.shop-item:hover .image:before {
    opacity: 0.25;
}

.shop-item .ratting {
    margin-top: 20px;
    margin-bottom: 13px;
    display: inline-flex;
}

.shop-item h6 {
    margin-bottom: 5px;
}

.shop-item .price {
    font-weight: 600;
    color: var(--primary-text-color);
    font-family: var(--heading-font);
}


.shop-item .price del {
    margin-left: 5px;
}

.product-gallery,
.product-thumb-item {
    border: 1px solid rgba(30, 37, 50, 0.1) !important;
}

.product-thumb .slick-arrow,
.product-gallery .slick-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
}

.product-thumb .prev,
.product-gallery .prev {
    left: -15px;
}

.product-thumb .next,
.product-gallery .next {
    right: -15px;
}

.product-thumb-item {
    cursor: pointer;
    margin-inline: 10px;
}

.add-to-cart .theme-btn {
    padding: 10px 20px;
    margin: 0 10px 10px 0;
}

.rating-review .ratting {
    margin-right: auto;
}

.rating-review .in-stock {
    color: white;
    line-height: 1;
    font-size: 14px;
    padding: 5px 10px;
    border-radius: 5px;
    background: var(--primary-color);
}

.rating-review .in-stock i {
    margin-right: 5px;
    font-size: 10px;
}


.shop-price {
    font-weight: 700;
    color: var(--heading-color);
}

.product-meta li {
    margin-bottom: 6px;
}

.product-meta li a,
.product-meta li span {
    color: var(--primary-text-color);
}

.product-information-tab {
    border-bottom: 1px solid rgba(30, 37, 50, 0.1);
}

.product-information-tab a {
    padding: 10px;
    font-size: 18px;
    font-weight: 500;
    margin-left: 15px;
    display: inline-block;
    border-bottom: 2px solid transparent;
}

.product-information-tab li:first-child a {
    margin-left: 0;
    padding-left: 0;
}

.product-information-tab a.active {
    color: var(--primary-text-color);
    border-color: var(--primary-color);
}

.comment-body {
    display: flex;
    margin-top: 35px;
}

.comment-list .children {
    margin-left: 55px;
}

.author-thumb {
    flex: none;
    max-width: 80px;
    margin-right: 25px;
    margin-bottom: 15px;
}

.comment-content .name-date {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 10px;
    justify-content: space-between;
}

.comment-content .name-date h6,
.comment-content .name-date .ratting,
.comment-content .name-date .comment-date {
    margin-bottom: 8px;
}

.comment-content .reply-link {
    font-size: 14px;
    font-weight: 600;
}

.comment-content>p {
    margin-bottom: 10px;
}

.products-dropdown {
    text-align: end !important;
}

#products-dropdown-select-button {
    padding: 15px 20px;
    border: 1px solid rgba(30, 37, 50, 0.1);
}


/****************************************************** */
/***************** 13. Client Logos  ****************** */
/****************************************************** */
.client-logo-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
    justify-content: center;
}

.client-logo-item {
    padding: 25px;
    display: flex;
    align-items: center;
    margin: 0 15px 30px;
    justify-content: center;
    width: calc(20% - 30px);
    border: 1px solid rgba(30, 37, 50, 0.1);
}

.trust-partners {
    margin-top: 10px;
    padding-top: 22px;
    border-top: 1px solid rgba(30, 37, 50, 0.08);
}

.trust-partners__intro {
    text-align: center;
    margin-bottom: 18px;
}

.trust-partners__intro h3 {
    margin-bottom: 8px;
    font-size: 24px;
    font-weight: 800;
    color: #111827;
}

.trust-partners__intro p {
    margin: 0;
    color: #6b7280;
}

.trust-partners__logos {
    align-items: stretch;
    margin: 0 -10px;
}

.trust-partners__logos .client-logo-item {
    width: calc(25% - 20px);
    min-height: 78px;
    margin: 0 10px 16px;
    padding: 16px 18px;
    border-radius: 16px;
    border: 1px solid rgba(30, 37, 50, 0.08);
    background: rgba(255, 255, 255, 0.72);
    transition: border-color 0.25s ease, transform 0.25s ease, background 0.25s ease;
}

.trust-partners__logos .client-logo-item a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    outline: none;
}

.trust-partners__logos .client-logo-item a:focus-visible {
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.18);
    border-radius: 10px;
}

.trust-partners__logos .client-logo-item img {
    max-width: 100%;
    max-height: 26px;
    width: auto;
    height: auto;
    filter: grayscale(1) saturate(0) brightness(0.48) opacity(0.72);
    transition: filter 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
}

.trust-partners__logos .client-logo-item:hover,
.trust-partners__logos .client-logo-item:focus-within {
    background: #ffffff;
    border-color: rgba(30, 37, 50, 0.14);
    transform: translateY(-2px);
}

.trust-partners__logos .client-logo-item:hover img,
.trust-partners__logos .client-logo-item:focus-within img {
    filter: grayscale(0.15) saturate(0.2) brightness(0.66) opacity(0.96);
    transform: scale(1.02);
}

/****************************************************** */
/***************** 14. Blog Section  ****************** */
/****************************************************** */
.blog-item {
    margin-bottom: 30px;
}

.blog-image img {
    width: 100%;
    border-radius: 5px 5px 0 0;
}

.blog-content {
    padding: 25px 30px 15px;
    box-shadow: 0px 10px 70px rgba(0, 0, 0, 0.07);
}

.blog-content h4 {
    margin-bottom: 15px;
}

.blog-footer {
    display: flex;
    flex-wrap: wrap;
    margin-top: 22px;
    padding-top: 12px;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(30, 37, 50, 0.1);
}

.blog-footer .dot {
    height: 6px;
    width: 6px;
    display: block;
    border-radius: 50%;
    background: rgba(30, 37, 50, 0.2);
}

.blog-footer li i {
    margin-inline-end: 3px;
    color: var(--primary-text-color);
}

/* Blog Details */
.blog-meta {
    display: flex;
    flex-wrap: wrap;
}

.blog-meta li {
    margin-bottom: 5px;
}

.blog-meta li:not(:last-child) {
    margin-right: 35px;
}

.blog-meta li i {
    margin-right: 5px;
    color: var(--primary-text-color);
}

.blog-details-content .image img {
    width: 100%;
}

.tag-share b {
    margin-right: 10px;
}

blockquote {
    font-size: 20px;
    line-height: 1.5;
    padding: 20px 35px;
    margin: 30px 0 30px;
    background: var(--light-color);
    border-left: 5px solid var(--primary-color);
}

.blockquote-footer {
    display: flex;
    margin-top: 15px;
    font-style: italic;
    align-items: center;
}

.blockquote-footer:before {
    line-height: 1;
    font-size: 25px;
    margin-right: 5px;
    color: var(--primary-text-color);
}

/****************************************************** */
/******************* 15. Widgets  ********************* */
/****************************************************** */
.sidebar {
    background: white;
    box-shadow: 0px 5px 50px rgba(0, 0, 0, 0.05);
}

.widget {
    padding: 30px;
}

.widget:not(:last-child) {
    border-bottom: 1px solid rgba(30, 37, 50, 0.1);
}

.widget-title {
    margin-top: -6px;
    margin-bottom: 20px;
}

.widget-search form {
    display: flex;
}

.widget-search form input {
    border: none;
    color: var(--heading-color);
    background: var(--light-color);
}

.widget-search form button {
    width: 60px;
    flex: none;
    color: white;
    background: var(--primary-color);
}

.widget-location h6 {
    margin-bottom: 15px;
}

.widget .ui-selectmenu-button.ui-button {
    width: 100%;
    padding: 20px;
    background: var(--light-color);
}

.custom-checkbox:not(:last-child) {
    margin-bottom: 8px;
}

.custom-radio .custom-control-label,
.custom-checkbox .custom-control-label {
    cursor: pointer;
}

.custom-checkbox .custom-control-label:before {
    border-color: var(--primary-color);
    border-radius: 0;
    top: 5px;
}

.custom-checkbox .custom-control-label::after {
    top: 5px;
}

.custom-control-input:not(:disabled):active~.custom-control-label::before {
    background-color: white;
    border-color: var(--primary-color);
}

.custom-control-input:checked~.custom-control-label::before {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.widget-dropdown .custom-control-label {
    display: flex;
    justify-content: space-between;
}

.custom-radio:not(:last-child) {
    margin-bottom: 5px;
}

.custom-radio .custom-control-label::after,
.custom-radio .custom-control-label::before {
    top: 5px;
}

#dropdown-select-button {
    font-size: 20px;
    font-weight: 700;
    padding: 0 0 12px;
    background: transparent;
    border-bottom: 1px solid rgba(30, 37, 50, 0.1);
}

.by-date {
    display: none;
    margin-top: 25px;
}

.by-date.active {
    display: block;
}

.price-btn {
    display: flex;
    margin-top: 25px;
    align-items: center;
    gap: 10px;
}

.price-btn input {
    padding: 0;
    height: auto;
    border: none;
    font-weight: 600;
    color: var(--heading-color);
}

.price-btn button {
    flex: none;
    border-radius: 0;
    padding: 5px 22px;
    text-transform: capitalize;
}

.price-slider-range.ui-widget.ui-widget-content {
    height: 6px;
    border: none;
    padding: 0;
    cursor: pointer;
    border-radius: 0;
    background: rgba(30, 37, 50, 0.1);
}

.price-slider-range .ui-widget-header {
    background: var(--primary-color);
}

.price-slider-range .ui-slider-handle {
    height: 16px;
    width: 16px;
    border: none;
    cursor: pointer;
    margin-left: -2px;
    border-radius: 50%;
    background: var(--primary-color);
}

.tags {
    display: flex;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-bottom: -10px;
}

.tags a {
    padding: 2px 15px;
    margin: 0 10px 10px 0;
    background: var(--light-color);
}

.tags a:hover {
    color: white;
    background: var(--primary-color);
}

/****************************************************** */
/******************** 16. FAQ Page ******************** */
/****************************************************** */
.accordion .card:not(:last-child) {
    border-bottom: 1px solid rgba(30, 37, 50, 0.1);
}

.accordion .card-header {
    font-weight: 500;
    display: flex;
    align-items: center;
    color: var(--primary-text-color);
    background: var(--light-color);
    justify-content: space-between;
    border-bottom: 1px solid rgba(30, 37, 50, 0.1);
}

.accordion .card {
    border-radius: 0;
    margin-bottom: 15px;
    border: 1px solid rgba(30, 37, 50, 0.1);
}

.accordion .card-body p {
    margin: 5px 0;
}

.accordion .toggle_btn {
    height: 15px;
    width: 15px;
    display: flex;
    transition: 0.5s;
    position: relative;
    align-items: center;
    justify-content: center;
}

.accordion .toggle_btn:after,
.accordion .toggle_btn:before {
    position: absolute;
    width: 100%;
    content: '';
    height: 2px;
    transition: 0.5s;
    background: var(--primary-color);
}

.accordion .collapsed .toggle_btn {
    transform: rotate(180deg);
}

.accordion .collapsed .toggle_btn:after,
.accordion .collapsed .toggle_btn:before {
    background: rgba(30, 37, 50, 0.5);
}

.accordion .collapsed .toggle_btn:after {
    transform: rotate(90deg);
}

.accordion .collapsed.card-header {
    color: var(--heading-color);
}

/****************************************************** */
/***************** 17. Contact Section **************** */
/****************************************************** */
.contact-info-item {
    display: flex;
    transition: 0.5s;
    padding: 20px 30px;
    margin-bottom: 30px;
    align-items: center;
    background: var(--light-color);
}

.contact-info-item>i {
    height: 50px;
    width: 50px;
    flex: none;
    font-size: 20px;
    line-height: 50px;
    background: white;
    text-align: center;
    margin-right: 15px;
    border-radius: 50%;
    color: var(--primary-text-color);
}

.contact-info-item .info-content {
    word-break: break-all;
}

.contact-info-item h5 {
    margin-bottom: 5px;
    transition: 0.5s;
}

.contact-info-item span {
    transition: 0.5s;
}

.contact-info-item:hover {
    background: var(--primary-color);
}

.contact-info-item:hover h5,
.contact-info-item:hover span,
.contact-info-item:hover span a {
    color: white;
}

.contact-form {
    margin-left: 30px;
}

.contact-page-map {
    margin-bottom: -10px;
}

/****************************************************** */
/******************* 18. Footer — Modern SaaS */
/****************************************************** */
.footer-section {
    position: relative;
    color: rgba(248, 250, 252, 0.92);
    font-family: var(--base-font);
    padding-top: clamp(48px, 6vw, 72px) !important;
    padding-bottom: 0;
    background: #1e2532;
    border-top: 3px solid var(--primary-color);
}

.footer-section.footer-section--premium {
    background: #1e2532;
}

body.blog-site:not(.blog-detail) .footer-section.footer-section--premium {
    padding-top: clamp(36px, 5vw, 56px) !important;
}

body.page-event-detail .footer-section.footer-section--premium {
    padding-top: clamp(24px, 3vw, 40px) !important;
}

.footer-section a {
    color: rgba(248, 250, 252, 0.88);
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-section a:hover {
    color: #ffffff;
}

.footer-section a:focus-visible,
.footer-section button:focus-visible {
    outline: 2px solid rgba(249, 115, 22, 0.9);
    outline-offset: 3px;
}

/* Layout principal */
.footer-layout {
    display: grid;
    grid-template-columns: minmax(260px, 1.15fr) minmax(0, 1.85fr);
    gap: clamp(32px, 5vw, 64px);
    align-items: start;
}

.footer-layout__brand {
    max-width: 420px;
}

.footer-logo {
    margin-bottom: 20px;
}

.footer-logo img {
    height: 40px;
    max-width: 200px;
    width: auto;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.footer-copy {
    max-width: 100%;
}

.footer-copy p {
    margin: 0;
    color: rgba(226, 232, 240, 0.78);
    font-size: 14px;
    line-height: 1.65;
    letter-spacing: -0.01em;
}

.footer-copy strong {
    color: #ffffff;
    font-weight: 700;
}

.footer-copy p + p {
    margin-top: 10px;
}

.footer-social {
    margin-top: 24px;
}

.footer-social__label {
    margin: 0 0 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(248, 250, 252, 0.5);
}

.footer-social__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-social__list a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.9);
    font-size: 16px;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.footer-social__list a:hover {
    background: rgba(249, 115, 22, 0.2);
    border-color: rgba(249, 115, 22, 0.45);
    color: #ffffff;
}

.footer-layout__nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 40px);
}

.footer-title {
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-family: var(--heading-font);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #ffffff;
}

.footer-nav__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-nav__list li {
    font-size: 15px;
    line-height: 1.55;
    text-transform: none;
}

.footer-nav__list li:not(:last-child) {
    margin-bottom: 14px;
}

.footer-nav__list a {
    display: inline-block;
    position: relative;
    padding: 2px 0;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1.55;
    color: rgba(226, 232, 240, 0.76);
}

.footer-nav__list a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(249, 115, 22, 0.85), rgba(45, 212, 191, 0.22), transparent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
}

.footer-nav__list a:hover::after {
    transform: scaleX(1);
}

.footer-nav__list a:hover {
    color: #ffffff;
    transform: translateX(3px);
}

.footer-contact-fallback {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
}

.footer-contact-fallback a {
    color: rgba(248, 250, 252, 0.9);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(249, 115, 22, 0.5);
    text-underline-offset: 3px;
}

.footer-contact-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.footer-contact-item {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.footer-contact-item__icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(249, 115, 22, 0.12);
    color: var(--primary-color);
    font-size: 14px;
}

.footer-contact-item__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    padding-top: 2px;
}

.footer-contact-item__body span,
.footer-contact-item__body a {
    font-size: 13px;
    line-height: 1.45;
    color: rgba(226, 232, 240, 0.85);
    word-break: break-word;
}

.footer-section .footer-contact-item__body span {
    text-transform: capitalize;
}

/* Franja inferior */
.footer-section__bottom {
    margin-top: clamp(32px, 4vw, 48px);
    padding: clamp(20px, 3vw, 28px) 0 clamp(24px, 3vw, 32px);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.15);
}

.footer-bar__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px 24px;
    margin-bottom: 20px;
}

.footer-section__legal {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 52rem;
    font-size: 12px;
    line-height: 1.6;
    color: rgba(203, 213, 225, 0.72);
}

.footer-section__legal p,
.footer-section__legal small {
    margin: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.footer-section .scroll-top {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    margin: 0;
    border: none;
    border-radius: 10px;
    background: var(--primary-color);
    color: #ffffff;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.footer-section .scroll-top:hover {
    background: #ea580c;
}

.footer-bar__payments {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
}

.footer-bar__payments-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(248, 250, 252, 0.65);
    white-space: nowrap;
}

.footer-bar__payments-label .fa-lock {
    font-size: 10px;
    color: #34d399;
}

.footer-payments {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-pay {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 60px;
    height: 40px;
    padding: 0 10px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    box-sizing: border-box;
}

.footer-pay--visa {
    min-width: 68px;
    font-size: 14px;
    font-style: italic;
    letter-spacing: 0.1em;
}

.footer-pay--amex {
    min-width: 64px;
    font-size: 11px;
}

.footer-pay--cabal,
.footer-pay--naranja {
    font-size: 10px;
    text-transform: none;
    font-weight: 700;
}

.footer-pay--naranja {
    min-width: 68px;
}

.footer-pay--mc {
    min-width: 64px;
    padding: 0 11px;
}

.footer-pay__mc-dot {
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.35);
}

.footer-pay__mc-dot--l {
    background: #ef4444;
    margin-right: -4px;
    z-index: 1;
}

.footer-pay__mc-dot--r {
    background: #fbbf24;
}

.footer-pay--mp {
    min-width: 76px;
    padding: 4px 10px;
    background: #ffffff;
    border-color: rgba(255, 255, 255, 0.4);
}

.footer-pay--mp img {
    display: block;
    height: 24px;
    width: auto;
    max-height: 24px;
    object-fit: contain;
}

@media (max-width: 991px) {
    .footer-section {
        padding-top: 48px !important;
    }

    .footer-layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .footer-layout__brand {
        max-width: 100%;
    }

    .footer-layout__nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-nav--contact {
        grid-column: 1 / -1;
    }

    .footer-bar__top {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .footer-section__legal {
        max-width: 100%;
        text-align: center;
    }

    .footer-bar__payments {
        justify-content: center;
    }

    .footer-payments {
        justify-content: center;
    }
}

@media (max-width: 575px) {
    .footer-layout__nav {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .footer-bar__payments {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .footer-bar__payments-label {
        width: 100%;
        justify-content: center;
    }

    .footer-pay {
        min-width: 56px;
        height: 36px;
        font-size: 10px;
    }

    .footer-pay--visa {
        font-size: 12px;
    }

    .footer-pay--mp img {
        height: 20px;
        max-height: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .footer-nav__list a::after,
    .footer-section .scroll-top,
    .footer-social__list a {
        transition: none !important;
    }

    .footer-nav__list a:hover {
        transform: none;
    }
}

/* ================================================
   PREMIUM HEADER — Apple x Airbnb
   ================================================ */

.main-header--premium {
  padding-top: 10px;
  background: transparent;
}

.main-header--premium .header-upper {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: transparent;
}

.main-header--premium .header-inner {
  min-height: 74px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.main-header--premium .logo img,
.main-header--premium .logo-mobile img {
  height: 38px;
  max-width: 190px;
  width: auto;
  object-fit: contain;
}

.main-header--premium .nav-outer {
  display: flex;
  align-items: center;
}

.main-header--premium .main-menu {
  display: flex;
  align-items: center;
  width: 100%;
}

.main-header--premium .main-menu .navbar-collapse {
  flex: 1 1 auto;
}

.main-header--premium .main-menu .navigation > li > a {
  padding: 11px 16px;
  margin-left: 2px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #334155;
  transition: color 0.22s ease, background 0.22s ease;
}

.main-header--premium .main-menu .navigation > li > a:hover,
.main-header--premium .main-menu .navigation > li > a[aria-current="page"] {
  color: #111827;
  background: rgba(255,255,255,0.72);
}

.main-header--premium .main-menu .navigation > li > a::after {
  width: calc(100% - 22px);
  bottom: 4px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(249,115,22,0.9) 0%, rgba(249,115,22,0.24) 100%);
}

.main-header--premium .menu-right--premium {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  margin-inline-start: clamp(18px, 4vw, 44px);
  gap: 10px;
}

.main-header--premium .menu-dropdown {
  position: relative;
}

.main-header--premium .menu-right .menu-btn {
  min-height: 42px;
  padding: 9px 16px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.01em;
  box-shadow: none !important;
}

.main-header--premium .menu-right .menu-btn--customer {
  background: rgba(255,255,255,0.68);
  color: #1f2937;
  border: 1px solid rgba(30,37,50,0.08);
  box-shadow: none !important;
}

.main-header--premium .menu-right .menu-btn--customer:hover,
.main-header--premium .menu-right .menu-btn--customer:focus {
  background: #ffffff;
  color: #111827;
  border-color: rgba(30,37,50,0.12);
  box-shadow: none !important;
  transform: translateY(-1px);
}

.main-header--premium .menu-right .menu-btn--organizer {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(234,88,12,0.92) !important;
  box-shadow: none !important;
  /* Sin transición de background: menu.css :last-child usa transparent/sólido y el browser “parpadea” entre gradiente y eso. */
  transition: border-color 0.18s ease, filter 0.18s ease, transform 0.15s ease !important;
}

.main-header--premium .menu-right .menu-btn--organizer:hover,
.main-header--premium .menu-right .menu-btn--organizer:focus {
  background: linear-gradient(135deg, #fb923c 0%, #f97316 100%) !important;
  color: #ffffff !important;
  border-color: rgba(249,115,22,0.95) !important;
  box-shadow: none !important;
  filter: brightness(1.02);
  transform: translateY(-1px);
}

/* Gana a menu.css `.dropdown:last-child .menu-btn` (transparente + hover sólido con !important) */
.main-header--premium .menu-right .dropdown:last-child .menu-btn.menu-btn--organizer {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(234,88,12,0.92) !important;
  transition: border-color 0.18s ease, filter 0.18s ease, transform 0.15s ease !important;
}

.main-header--premium .menu-right .dropdown:last-child .menu-btn.menu-btn--organizer:hover,
.main-header--premium .menu-right .dropdown:last-child .menu-btn.menu-btn--organizer:focus {
  background: linear-gradient(135deg, #fb923c 0%, #f97316 100%) !important;
  color: #ffffff !important;
  border-color: rgba(249,115,22,0.95) !important;
  filter: brightness(1.02);
  transform: translateY(-1px);
}

.main-header--premium .menu-right .menu-dropdown--organizer .menu-btn--organizer:active,
.main-header--premium .menu-right .menu-dropdown--organizer.show > .menu-btn--organizer,
.main-header--premium .menu-right .menu-dropdown--organizer.show > .menu-btn--organizer:hover,
.main-header--premium .menu-right .menu-dropdown--organizer.show > .menu-btn--organizer:focus {
  box-shadow: none !important;
  background: linear-gradient(135deg, #fb923c 0%, #f97316 100%) !important;
  color: #ffffff !important;
  border-color: rgba(249,115,22,0.95) !important;
}

.main-header--premium .menu-right .dropdown-menu {
  margin-top: 10px;
  min-width: 188px;
  padding: 8px;
  border: 1px solid rgba(30,37,50,0.08);
  border-radius: 16px;
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.8) inset,
    0 16px 40px rgba(15,23,42,0.10);
}

.main-header--premium .menu-right .dropdown-menu .dropdown-item {
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 600;
  color: #334155;
}

.main-header--premium .menu-right .dropdown-menu .dropdown-item:hover {
  background: rgba(249,115,22,0.08) !important;
  color: #111827 !important;
  padding-left: 14px;
}

.main-header--premium .fixed-header .header-upper,
.fixed-header .main-header--premium .header-upper,
.fixed-header.main-header--premium .header-upper {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: rgb(30, 37, 50);
  box-shadow: 0 12px 28px rgba(15,23,42,0.18);
}

.fixed-header.main-header--premium .header-inner {
  min-height: 68px;
}

.fixed-header.main-header--premium .main-menu .navigation li a {
  color: rgba(255,255,255,0.82);
}

.fixed-header.main-header--premium .main-menu .navigation > li > a:hover,
.fixed-header.main-header--premium .main-menu .navigation > li > a[aria-current="page"] {
  color: #ffffff;
  background: rgba(255,255,255,0.06);
}

.fixed-header.main-header--premium .logo img,
.fixed-header.main-header--premium .logo-mobile img {
  filter: brightness(0) invert(1);
}

.fixed-header.main-header--premium .menu-right .menu-btn--customer {
  background: rgba(255,255,255,0.08);
  color: #ffffff;
  border-color: rgba(255,255,255,0.14);
  box-shadow: none !important;
}

.fixed-header.main-header--premium .menu-right .menu-btn--customer:hover,
.fixed-header.main-header--premium .menu-right .menu-btn--customer:focus {
  background: rgba(255,255,255,0.14);
  color: #ffffff;
  border-color: rgba(255,255,255,0.2);
  box-shadow: none !important;
}

.fixed-header.main-header--premium .menu-right .menu-btn--organizer {
  box-shadow: none !important;
}

.fixed-header.main-header--premium .menu-right .menu-btn--organizer:hover,
.fixed-header.main-header--premium .menu-right .menu-btn--organizer:focus {
  box-shadow: none !important;
}

.fixed-header.main-header--premium .menu-right .dropdown-menu {
  background: rgba(23, 31, 46, 0.96);
  border-color: rgba(255,255,255,0.08);
  box-shadow: 0 20px 44px rgba(0,0,0,0.28);
}

.fixed-header.main-header--premium .menu-right .dropdown-menu .dropdown-item {
  color: rgba(255,255,255,0.82);
}

.fixed-header.main-header--premium .menu-right .dropdown-menu .dropdown-item:hover {
  background: rgba(249,115,22,0.14) !important;
  color: #ffffff !important;
}

/* Barra fija: altura menor (68px); translateY en hover choca con alineación y se percibe “salto”. */
.fixed-header.main-header--premium .menu-right .menu-btn:hover,
.fixed-header.main-header--premium .menu-right .menu-btn:focus,
.fixed-header.main-header--premium .menu-right .menu-btn:active,
.fixed-header.main-header--premium .menu-right .menu-dropdown.show > .menu-btn,
.fixed-header.main-header--premium .menu-right .menu-dropdown.show > .menu-btn:hover,
.fixed-header.main-header--premium .menu-right .menu-dropdown.show > .menu-btn:focus {
  transform: none !important;
}

/* ================================================
   BLOG — Header premium siempre en modo oscuro
   (misma lógica visual que el home al hacer scroll;
   sin barra clara inicial: sección Blog diferenciada)
   ================================================ */
.blog-site .main-header--premium {
  padding-top: 0;
  background: transparent;
}

.blog-site .main-header--premium .header-upper {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: rgb(30, 37, 50);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.blog-site .main-header--premium .header-inner {
  min-height: 68px;
}

.blog-site .main-header--premium .main-menu .navigation li a {
  color: rgba(255, 255, 255, 0.82);
}

.blog-site .main-header--premium .main-menu .navigation > li > a:hover,
.blog-site .main-header--premium .main-menu .navigation > li > a[aria-current="page"] {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}

.blog-site .main-header--premium .logo img,
.blog-site .main-header--premium .logo-mobile img {
  filter: brightness(0) invert(1);
}

.blog-site .main-header--premium .menu-right .menu-btn--customer {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}

.blog-site .main-header--premium .menu-right .menu-btn--customer:hover,
.blog-site .main-header--premium .menu-right .menu-btn--customer:focus {
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: none;
}

.blog-site .main-header--premium .menu-right .menu-btn--organizer {
  box-shadow: none;
}

.blog-site .main-header--premium .menu-right .dropdown-menu {
  background: rgba(23, 31, 46, 0.96);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.28);
}

.blog-site .main-header--premium .menu-right .dropdown-menu .dropdown-item {
  color: rgba(255, 255, 255, 0.82);
}

.blog-site .main-header--premium .menu-right .dropdown-menu .dropdown-item:hover {
  background: rgba(249, 115, 22, 0.14) !important;
  color: #ffffff !important;
}

.blog-site .main-header--premium .menu-right .menu-btn:hover,
.blog-site .main-header--premium .menu-right .menu-btn:focus,
.blog-site .main-header--premium .menu-right .menu-btn:active,
.blog-site .main-header--premium .menu-right .menu-dropdown.show > .menu-btn,
.blog-site .main-header--premium .menu-right .menu-dropdown.show > .menu-btn:hover,
.blog-site .main-header--premium .menu-right .menu-dropdown.show > .menu-btn:focus {
  transform: none !important;
}

/* Flyout del menú principal (desktop): mismo lenguaje que barra oscura */
.blog-site .main-header--premium .main-menu .navigation li ul {
  background: rgba(23, 31, 46, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.blog-site .main-header--premium .main-menu .navigation li ul li {
  border-bottom-color: rgba(255, 255, 255, 0.06);
}

.blog-site .main-header--premium .main-menu .navigation li ul li a {
  color: rgba(255, 255, 255, 0.88);
}

.blog-site .main-header--premium .main-menu .navigation li ul li a:hover {
  color: #ffffff;
}

.main-header--premium .header-ingresar-btn {
  display: none;
}

@media only screen and (max-width: 1199px) {
  body.mobile-drawer-open {
    overflow: hidden;
    touch-action: none;
    padding-right: var(--drawer-scrollbar-gap, 0px);
  }

  body.mobile-drawer-open .fixed-header .header-upper {
    padding-right: var(--drawer-scrollbar-gap, 0px);
  }

  .main-header--premium {
    padding-top: 0;
  }

  .main-header--premium .header-inner {
    min-height: auto;
    padding: 14px 0;
    border-radius: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  .main-header--premium .main-menu .navbar-header {
    order: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    z-index: 10001;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
  }

  .main-header--premium .main-menu .navbar-header .logo-mobile {
    flex: 0 0 auto;
    min-width: auto;
    margin-inline-start: 0;
  }

  .main-header--premium .main-menu .navbar-header .logo-mobile img {
    height: 38px;
    max-width: 190px;
    width: auto;
    object-fit: contain;
  }

  .main-header--premium .main-menu:has(#main-menu.show) .navbar-header .logo-mobile img {
    filter: brightness(0) invert(1);
  }

  .main-header--premium .main-menu {
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    position: relative;
  }

  .main-header--premium .main-menu .navbar-header .navbar-toggle {
    flex: 0 0 auto;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3.5px;
    min-width: 44px;
    min-height: 44px;
    width: auto;
    height: auto;
    padding: 10px;
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    color: #1e2532;
  }

  .main-header--premium .main-menu .navbar-header .navbar-toggle:focus {
    outline: none;
  }

  .main-header--premium .main-menu .navbar-header .navbar-toggle:focus-visible {
    outline: 2px solid rgba(249, 115, 22, 0.45);
    outline-offset: 3px;
    border-radius: 4px;
  }

  .main-header--premium .main-menu:has(#main-menu.show) .navbar-header .navbar-toggle {
    color: rgba(255, 255, 255, 0.95);
  }

  .fixed-header.main-header--premium .main-menu .navbar-header .navbar-toggle {
    color: rgba(255, 255, 255, 0.95);
  }

  .main-header--premium .main-menu .navbar-header .navbar-toggle .icon-bar {
    display: block !important;
    width: 23px;
    height: 3.5px;
    margin: 0 !important;
    border-radius: 999px;
    background: currentColor;
    opacity: 1;
    visibility: visible;
    flex-shrink: 0;
  }

  .main-header--premium .header-ingresar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    flex-shrink: 0;
    padding: 9px 14px;
    min-height: 40px;
    border-radius: 10px;
    font-family: var(--tuki-font-sans, var(--base-font));
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    background: #F97316;
    text-decoration: none;
    border: none;
    box-shadow: none;
    transition: background-color 0.2s ease, color 0.2s ease;
  }

  .main-header--premium .header-ingresar-btn:hover,
  .main-header--premium .header-ingresar-btn:focus {
    background: #ea580c;
    color: #fff;
    text-decoration: none;
  }

  .main-header--premium .header-ingresar-btn:focus-visible {
    outline: 2px solid rgba(249, 115, 22, 0.55);
    outline-offset: 2px;
  }

  .main-header--premium .main-menu:has(#main-menu.show) .header-ingresar-btn {
    color: #fff;
  }

  .main-header--premium .main-menu #main-menu.navbar-collapse {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    width: min(320px, 86vw);
    height: 100dvh;
    height: 100vh;
    max-height: 100dvh;
    max-height: 100vh;
    margin: 0;
    padding: 80px 20px 24px;
    box-sizing: border-box;
    border-radius: 0;
    border: none;
    background: #1e2532;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    transform: translate3d(-100%, 0, 0);
    pointer-events: none;
    transition: transform 0.22s cubic-bezier(0.32, 0.72, 0, 1);
    -webkit-transition: transform 0.22s cubic-bezier(0.32, 0.72, 0, 1);
  }

  .main-header--premium .main-menu #main-menu.navbar-collapse.show {
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
  }

  .main-header--premium .main-menu .navbar-collapse .mobile-drawer-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .main-header--premium .main-menu .navigation {
    display: block;
    width: 100%;
    max-width: 100%;
    max-height: none !important;
    margin: 0;
    padding: 0;
    padding-left: 0;
    list-style: none;
    background: transparent !important;
    overflow-x: hidden;
    overflow-y: visible !important;
    box-sizing: border-box;
    flex: 0 0 auto;
  }

  .main-header--premium .main-menu .navigation li {
    display: block;
    float: none !important;
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0;
  }

  .main-header--premium .main-menu .navigation > li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .main-header--premium .main-menu .navigation li a {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 14px 16px;
    margin: 0;
    border-width: 0;
    letter-spacing: -0.01em;
    font-family: var(--tuki-font-sans);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    text-transform: none;
    color: rgba(255, 255, 255, 0.92) !important;
    white-space: normal;
    overflow-wrap: break-word;
    transition: color 0.18s ease, background 0.18s ease;
  }

  .main-header--premium .main-menu .navigation li a:hover,
  .main-header--premium .main-menu .navigation li a:focus {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.08);
  }

  .main-header--premium .main-menu .navigation > li > a[aria-current="page"] {
    color: #fb923c !important;
    background: rgba(249, 115, 22, 0.12);
  }

  .main-header--premium .main-menu .navigation li ul li a {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.78) !important;
    padding: 12px 16px 12px 28px;
  }

  .main-header--premium .main-menu .navigation li ul li a:hover,
  .main-header--premium .main-menu .navigation li ul li a:focus {
    color: #fb923c !important;
    background: rgba(249, 115, 22, 0.12);
  }

  .main-header--premium .menu-right--premium {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    flex: 0 0 auto;
    margin-inline-start: 0;
    margin-top: 20px;
    margin-bottom: 0;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    gap: 10px;
  }

  .main-header--premium .menu-right--premium .menu-dropdown {
    width: 100%;
  }

  .main-header--premium .menu-right .menu-btn {
    justify-content: center;
    width: 100%;
    min-height: 48px;
    font-size: 14px;
  }

  .main-header--premium .menu-right .dropdown-menu {
    margin-top: 8px;
    width: 100%;
    min-width: 0;
  }

  .mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }

  #main-menu.show ~ .mobile-menu-overlay {
    opacity: 1;
    pointer-events: auto;
  }
}

@media only screen and (max-width: 1199px) and (prefers-reduced-motion: reduce) {
  .main-header--premium .main-menu #main-menu.navbar-collapse {
    transition: none !important;
    -webkit-transition: none !important;
  }
}

@media only screen and (min-width: 1200px) {
  .main-header--premium .main-menu .navbar-collapse {
    position: static;
    width: auto;
    height: auto !important;
    max-height: none;
    padding: 0;
    margin: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: flex-end;
  }

  .main-header--premium .main-menu .navbar-collapse .mobile-drawer-body {
    display: contents;
  }

  .main-header--premium .main-menu .navbar-collapse .navigation {
    flex: 1 1 auto;
    min-width: 0;
    max-height: none;
    overflow: visible;
  }

  .main-header--premium .main-menu .navbar-collapse .menu-right--premium {
    flex-direction: row;
    align-items: center;
    width: auto;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    gap: 10px;
  }

  .main-header--premium .main-menu .navbar-collapse .menu-right--premium .menu-dropdown {
    width: auto;
  }

  .main-header--premium .main-menu .navbar-collapse .menu-right .menu-btn {
    width: auto;
    min-height: 42px;
  }

  .main-header--premium .main-menu .navbar-collapse .menu-right .dropdown-menu {
    width: auto;
    min-width: 188px;
  }
}

@media only screen and (max-width: 1199px) {
  .blog-site .main-header--premium .main-menu .navbar-header .navbar-toggle {
    color: rgba(255, 255, 255, 0.95);
    border: none;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
  }

  .blog-site .main-header--premium .main-menu #main-menu.navbar-collapse {
    background: #1e2532;
  }

  .blog-site .main-header--premium .main-menu .navigation {
    max-height: none !important;
    overflow-y: visible !important;
    background: transparent !important;
    flex: 0 0 auto;
  }

  .blog-site .main-header--premium .main-menu .navigation li {
    display: block;
    float: none;
    width: 100%;
    border-top-color: rgba(255, 255, 255, 0.06);
  }

  .blog-site .main-header--premium .main-menu .navigation > li:last-child {
    border-bottom-color: rgba(255, 255, 255, 0.06);
  }

  .blog-site .main-header--premium .main-menu .navigation li a {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    border-width: 0;
    padding: 14px 16px;
    font-family: var(--tuki-font-sans);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.01em;
    text-transform: none;
    color: rgba(255, 255, 255, 0.92) !important;
    white-space: normal;
    overflow-wrap: break-word;
    transition: color 0.18s ease, background 0.18s ease;
  }

  .blog-site .main-header--premium .main-menu .navigation li a:hover,
  .blog-site .main-header--premium .main-menu .navigation li a:focus {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.08);
  }

  .blog-site .main-header--premium .main-menu .navigation > li > a[aria-current="page"] {
    color: #fb923c !important;
    background: rgba(249, 115, 22, 0.12);
  }

  .blog-site .main-header--premium .menu-right .menu-btn--customer {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: none;
  }

  .blog-site .main-header--premium .menu-right .menu-btn--customer:hover,
  .blog-site .main-header--premium .menu-right .menu-btn--customer:focus {
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
  }

  .blog-site .main-header--premium .menu-right .menu-btn--organizer {
    box-shadow: none;
  }

  .blog-site .main-header--premium .menu-right .dropdown-menu {
    background: rgba(23, 31, 46, 0.96);
    border-color: rgba(255, 255, 255, 0.08);
  }

  .blog-site .main-header--premium .menu-right .dropdown-menu .dropdown-item {
    color: rgba(255, 255, 255, 0.85);
  }

  .blog-site .main-header--premium .menu-right .dropdown-menu .dropdown-item:hover {
    color: #ffffff !important;
  }
}

@media only screen and (max-width: 480px) {
  .main-header--premium .main-menu {
    gap: 8px;
  }

  .main-header--premium .main-menu .navbar-header {
    gap: 8px;
  }

  .main-header--premium .main-menu .navbar-header .navbar-toggle {
    min-width: 44px;
    min-height: 44px;
    padding: 8px;
  }

  .main-header--premium .menu-right--premium {
    gap: 6px;
  }

  .main-header--premium .menu-right .menu-btn {
    min-height: 38px;
    padding: 7px 9px;
    border-radius: 12px;
    font-size: 12.5px;
  }
}

@media (max-width: 575px) {
    .footer-section {
        padding-top: 40px !important;
    }
}


/* Popup css */
.popup-wrapper {
    display: none;
}

.popup_main-content h1 {
    font-size: 40px;
    line-height: 50px;
}

.bg_cover {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.mfp-close-btn-in .mfp-close {
    color: #333;
    background: #FFF;
    opacity: 1;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 32px;
    right: -15px;
    top: -15px;
}

.popup-wrapper {
    position: relative;
    width: auto;
    max-width: 960px;
    margin: 0 auto;
}

.popup-wrapper .form_control {
    width: 100%;
    height: 70px;
    padding: 0 30px;
    line-height: 70px;
}

/* Popup-one */
.popup-one {
    position: relative;
    padding: 138px 120px;
}

.popup-one .popup_main-content {
    position: relative;
    text-align: center;
    background-color: rgba(69, 29, 83, 0.8);
    border-radius: 10px;
    padding: 90px 55px;
}

.popup-one .popup_main-content h1,
.popup-one .popup_main-content p {
    color: #fff;
}

.popup-one .popup_main-content h1 {
    margin-bottom: 20px;
}

.popup-one .popup_main-content p {
    margin-bottom: 30px;
}

.popup-one .popup_main-content .popup-main-btn {
    padding: 15px 100px;
    display: inline-block;
    color: #fff;
    border-radius: 40px;
    border: 1px solid #fff;
    text-decoration: none;
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

.popup-one .popup_main-content .popup-main-btn:hover,
.popup-one .popup_main-content .popup-main-btn:focus {
    background-color: #451D53;
    color: #fff;
    border-color: transparent;
}

/* Popup-two */

.popup-two {
    position: relative;
    padding: 120px;
}

.popup-two .popup_main-content {
    position: relative;
    text-align: center;
    background-color: rgba(255, 40, 101, 0.7);
    border-radius: 10px;
    padding: 90px 55px;
}

.popup-two .popup_main-content h1,
.popup-two .popup_main-content p {
    color: #fff;
}

.popup-two .popup_main-content h1 {
    margin-bottom: 20px;
}

.popup-two .popup_main-content p {
    margin-bottom: 30px;
}

.popup-two .popup_main-content .subscribe-form {
    padding: 0 70px;
}

.popup-two .popup_main-content .subscribe-form .form_control {
    border: none;
    border-radius: 10px;
    font-size: 20px;
    margin-bottom: 20px;
}

.popup-two .popup_main-content .subscribe-form .popup-main-btn {
    width: 100%;
    border: 1px solid #fff;
    background-color: transparent;
    color: #fff;
    font-size: 20px;
    height: 70px;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color .3s, color .3s;
}

.popup-two .popup_main-content .subscribe-form .popup-main-btn:hover,
.popup-two .popup_main-content .subscribe-form .popup-main-btn:focus {
    background-color: #FF2865;
    color: #fff;
    border-color: transparent;
}


/* Popup-three */

.popup-three .popup_main-content {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    background-color: #fff;
}

.popup-three .popup_main-content .left-bg {
    width: 45%;
    height: 100%;
    min-height: 670px;
}

.popup-three .popup_main-content .right-content {
    width: 55%;
    padding: 30px 15px;
    text-align: center;
}

.popup-three .popup_main-content .right-content h1 {
    font-weight: 400;
    margin-bottom: 20px;
}

.popup-three .popup_main-content .right-content p {
    margin-bottom: 20px;
}

.popup-three .popup_main-content .right-content .popup-main-btn {
    padding: 15px 70px;
    background-color: #FF2865;
    color: #fff;
    font-size: 19px;
    border-radius: 35px;
    display: inline-block;
    text-decoration: none;
}

/* Popup-four */

.popup-four .popup_main-content {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    background-color: #fff;
}

.popup-four .popup_main-content .left-bg {
    width: 45%;
    height: 100%;
    min-height: 670px;
}

.popup-four .popup_main-content .right-content {
    width: 55%;
    padding: 30px 30px;
    text-align: center;
}

.popup-four .popup_main-content .right-content h1 {
    font-weight: 400;
    margin-bottom: 20px;
}

.popup-four .popup_main-content .right-content p {
    margin-bottom: 20px;
}

.popup-four .popup_main-content .subscribe-form {
    padding: 0 70px;
}

.popup-four .popup_main-content .subscribe-form .form_control {
    border: 2px solid #C5C5C5;
    border-radius: 10px;
    font-size: 20px;
    margin-bottom: 20px;
}

.popup-four .popup_main-content .subscribe-form .popup-main-btn {
    width: 100%;
    background-color: #F8960D;
    color: #fff;
    font-size: 20px;
    height: 70px;
    border-radius: 10px;
    cursor: pointer;
    border: none;
    transition: background-color .3s, color .3s;
}

.popup-four .popup_main-content .subscribe-form .popup-main-btn:hover,
.popup-four .popup_main-content .subscribe-form .popup-main-btn:focus {
    background-color: #F8960D;
    color: #fff;
    border-color: transparent;
}


/* Popup-five */

.popup-five .popup_main-content {
    text-align: center;
    padding: 75px;
}

.popup-five .popup_main-content h1 {
    font-size: 42px;
    line-height: 52px;
    font-weight: 400;
    color: #fff;
    margin-bottom: 20px;
    margin: 0 auto 20px;
    max-width: 600px;
}

.popup-five .popup_main-content h4 {
    color: #fff;
    font-size: 25px;
    margin-bottom: 40px;
    font-weight: 400;
}

.popup-five .popup_main-content .popup-main-btn {
    padding: 15px 30px;
    display: inline-block;
    color: #fff;
    background-color: #29A19C;
    border-radius: 40px;
    text-decoration: none;
}

/* Popup-six */
.popup-six .popup_main-content {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #fff;
    text-decoration: none;
}

.popup-six .popup_main-content .left-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
}

.popup-six .popup_main-content .right-content {
    background-color: #930077;
    width: 50%;
    height: 100%;
    padding: 120px 15px;
    text-align: center;
    margin-left: 50%;
}

.popup-six .popup_main-content .right-content h1 {
    font-size: 40px;
    font-weight: 400;
    line-height: 50px;
    color: #fff;
    margin-bottom: 25px;
}

.popup-six .popup_main-content h4 {
    color: #fff;
    font-size: 20px;
    line-height: 32px;
    margin-bottom: 40px;
    font-weight: 400;
}

.popup-six .popup_main-content .right-content .popup-main-btn {
    padding: 15px 30px;
    display: inline-block;
    color: #ffffff;
    background-color: #494949;
    border-radius: 40px;
    text-decoration: none;
}

/* syotimer css */
.popup-wrapper .syotimer__body {
    max-width: 420px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.popup-wrapper .syotimer__body p {
    color: #fff;
}

.popup-wrapper .syotimer-cell {
    flex: 0 0 24%;
    padding-left: 10px;
    padding-right: 10px;
}

.popup-wrapper .syotimer-cell__value {
    width: 100%;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1F3A52;
    border-radius: 10px;
    font-size: 36px;
    color: #fff;
    margin-bottom: 15px;
    border: 0;
}
.popup-wrapper .syotimer-cell__value:after{
  content: none;
}

.popup-wrapper .syotimer-cell__unit {
    font-size: 20px;
    color: #fff;
    text-transform: capitalize;
}

/*Medium Device*/
@media only screen and (min-width: 768px) and (max-width : 991px) {

    .popup-one .popup_main-content h1,
    .popup-three .popup_main-content .right-content h1,
    .popup-four .popup_main-content .right-content h1,
    .popup-five .popup_main-content h1,
    .popup-six .popup_main-content .right-content h1 {
        font-size: 40px;
        line-height: 50px;
    }

    .popup-wrapper {
        max-width: 720px;
    }

    .popup-two .popup_main-content .subscribe-form,
    .popup-four .popup_main-content .subscribe-form {
        padding: 0 15px;
    }

    .popup-one,
    .popup-two {
        padding: 80px 30px;
    }

    .syotimer__body {
        margin-bottom: 0px;
    }

    .syotimer-cell {
        flex: 0 0 50%;
        margin-bottom: 20px;
    }
}

/* Small Devices, Tablets */
@media only screen and (max-width : 991px) {
    .popup-wrapper .syotimer-cell {
        padding-left: 5px;
        padding-right: 5px;
    }
}

/* Small Devices, Tablets */
@media only screen and (max-width : 767px) {
    .popup-wrapper {
        max-width: 500px;
    }

    .popup-five .popup_main-content {
        text-align: center;
        padding: 50px 15px;
    }

    .popup-three .popup_main-content .left-bg,
    .popup-four .popup_main-content .left-bg,
    .popup-six .popup_main-content .left-bg {
        display: none;
    }

    .popup-one,
    .popup-two {
        padding: 30px 15px;
    }

    .popup-one .popup_main-content,
    .popup-two .popup_main-content {
        padding: 20px 15px;
    }

    .popup-one .popup_main-content .main-btn {
        padding: 15px 30px;
    }

    .popup-three .popup_main-content .right-content,
    .popup-four .popup_main-content .right-content,
    .popup-six .popup_main-content .right-content {
        width: 100%;
        padding: 50px 15px;
    }

    .popup-two .popup_main-content .subscribe-form,
    .popup-four .popup_main-content .subscribe-form {
        padding: 0 15px;
    }

    .popup-two .popup_main-content .subscribe-form .form_control,
    .popup-four .popup_main-content .subscribe-form .form_control {
        font-size: 15px;
    }

    .popup-two .popup_main-content h1,
    .popup-one .popup_main-content h1,
    .popup-three .popup_main-content .right-content h1,
    .popup-four .popup_main-content .right-content h1,
    .popup-five .popup_main-content h1,
    .popup-six .popup_main-content .right-content h1 {
        font-size: 24px;
        line-height: 34px;
    }

    .popup-six .popup_main-content .right-content {
        margin-left: 0%;
    }

    .syotimer__body {
        max-width: 380px;
        margin-bottom: 0px;
    }

    .syotimer-cell {
        flex: 0 0 50%;
        margin-bottom: 20px;
    }
}

/* Mobile Devices, Tablets */
@media only screen and (max-width: 400px) {
    .popup-wrapper {
        max-width: 300px;
    }

    .syotimer__body {
        max-width: 300px;
        margin-bottom: 0px;
    }

    .syotimer-cell {
        flex: 0 0 50%;
        margin-bottom: 20px;
    }
}

/* Wide mobile Devices */
@media only screen and (min-width: 401px) and (max-width : 767px) {
    .popup-wrapper {
        max-width: 380px;
    }
}

/* wide mobile devices */
@media only screen and (min-width: 401px) and (max-width : 767px) {
    .popup-wrapper {
        max-width: 380px;
    }
}

.rate {
    background-image: url(../images/rate-star.png);
    background-position: 0 -13px;
    background-repeat: repeat-x;
    height: 13px;
    transition: background-position 0.5s ease-out 0s;
    -webkit-transition: background-position 0.5s ease-out 0s;
    width: 95px;
    margin-bottom: 2px;
}

.rating {
    background-image: url(../images/rate-star.png);
    background-position: 0 0;
    background-repeat: repeat-x;
    height: 13px;
}



.shop-review-area {
    padding-top: 15px;
}

.shop-review-area .shop-review-title .title {
    font-size: 24px;
    font-weight: 700;
}

.shop-review-area .shop-review-user ul li {
    display: inline-block;
}

.shop-review-area .shop-review-user {
    position: relative;
    padding-inline-start: 75px;
    margin-top: 33px;
}

.shop-review-area .shop-review-user img {
    position: absolute;
    left: 0;
    right: 0;
    margin-inline-start: 0;
    margin-inline-end: auto;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
}

.shop-review-area .shop-review-user span {
    padding: 3px 0;
    font-size: 14px;
    display: inline-block;
}

.shop-review-area .shop-review-user span span {
    font-weight: 600;
}

.shop-review-area .shop-review-user p {
    font-weight: 300;
}

.shop-review-area .shop-review-form .input-box {
    margin-top: 25px;
}

.shop-review-area .shop-review-form .input-check {
    margin-bottom: 20px;
    margin-top: 20px;
}

.shop-review-area .shop-review-form .input-box input {
    width: 100%;
    height: 50px;
    border: 2px solid #e9ebef;
    padding-left: 20px;
}

.shop-review-area .shop-review-form .input-box span {
    font-size: 14px;
    color: #5f5f5f;
    padding-bottom: 15px;
    display: inline-block;
}

.shop-review-area .shop-review-form .input-box textarea {
    width: 100%;
    height: 200px;
    border: 2px solid #e9ebef;
    padding-left: 20px;
    resize: none;
    color: #8a8a8a;
}

.shop-review-area .shop-review-form .input-box ul li {
    display: inline-block;
}

.shop-review-area .shop-review-form .input-box ul li a {
    color: #25d06f;
}

.shop-review-area .shop-review-form .input-btn button {
    background: #25d06f;
    color: #fff;
    border-color: #25d06f;
}

.shop-review-area .shop-review-form .input-btn button:hover {
    background-color: transparent;
    color: #25d06f;
}

.review-content ul.review-value {
    display: inline-block;
    position: relative;
    cursor: pointer;
}

.review-content ul.review-value::after {
    content: "|";
    color: #0000005a;
}

.review-content ul.review-value:last-child::after {
    display: none;
}

.review-content ul:hover i {
    color: #efcb65;
}

/* end popup


  #=========='Rate


  ===============================*/

/*---------------------------
purchase-message,
.booking-message {
    padding: 120px 0px;
    max-width: 780px;
    margin: 0 auto;
}

.purchase-success,
.booking-success {
    background: #f1f1f1;
    padding: 40px 0px;
    text-align: center;
    border-radius: 15px;
}

.purchase-success .icon,
.booking-success .icon {
    display: block;
    margin-bottom: 20px;
}

.purchase-success .icon i,
.booking-success .icon i {
    font-size: 60px !important;
}

.purchase-success h2,
.booking-success h2 {
    margin-bottom: 15px;
    text-transform: uppercase;
}

.purchase-success p,
.booking-success p {
    line-height: 26px;
}


/* update css */

.gap-20 {
    gap: 20px;
}

.icon-start i {
    -webkit-margin-end: 5px;
    margin-inline-end: 5px;
}

/* -----------------------------------------
    Page-banner CSS
----------------------------------------- */
.page-banner {
    background-repeat: no-repeat;
    background-size: cover;
}

.page-banner .banner-author {
    text-align: start;
}

.page-banner .banner-author .author {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    color: #fff;
}

.page-banner .banner-author .author-img {
    flex: 0 0 auto;
    max-width: 100px;
}

.page-banner .banner-author .breadcrumb {
    justify-content: start;
}

body.page-event-detail .ed-body .col-lg-8 {
  padding-right: 18px;
}

body.page-event-detail .ed-body .col-lg-4 {
  padding-left: 18px;
}

body.page-event-detail .sidebar-sticky {
  gap: var(--ed-space-5);
}

body.page-event-detail .ed-countdown-wrap {
  padding: 18px 20px;
  border-left: 3px solid var(--primary-color);
}

body.page-event-detail .ei-org,
body.page-event-detail .ei-meta,
body.page-event-detail .ei-cal,
body.page-event-detail .ed-info-row {
  padding-left: var(--ed-space-5);
  padding-right: var(--ed-space-5);
}

body.page-event-detail .ei-org {
  padding-top: var(--ed-space-5);
  padding-bottom: 18px;
}

body.page-event-detail .ei-meta {
  padding-top: var(--ed-space-4);
  padding-bottom: var(--ed-space-4);
}

body.page-event-detail .ei-cal {
  padding-top: 18px;
  padding-bottom: var(--ed-space-5);
}

@media (max-width: 1199.98px) {
  body.page-event-detail .ed-body .col-lg-8,
  body.page-event-detail .ed-body .col-lg-4 {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media (max-width: 991.98px) {
  body.page-event-detail #main-content {
    padding-top: var(--ed-space-6);
  }

  body.page-event-detail .ed-body {
    padding-bottom: 64px;
  }

  body.page-event-detail .ed-section {
    margin-bottom: var(--ed-space-7);
    padding-top: var(--ed-space-7);
  }

  body.page-event-detail .sidebar-sticky {
    gap: var(--ed-space-4);
  }
}

@media (max-width: 575.98px) {
  body.page-event-detail {
    --ed-space-5: 18px;
    --ed-space-6: 20px;
    --ed-space-7: 24px;
    --ed-space-8: 32px;
    --ed-sidebar-rail: 1.125rem;
  }

  body.page-event-detail #main-content {
    padding-top: var(--ed-space-5);
  }

  body.page-event-detail .ed-body {
    padding-bottom: 48px;
  }

  body.page-event-detail .ed-section {
    margin-bottom: var(--ed-space-6);
    padding-top: var(--ed-space-6);
  }

  body.page-event-detail .ed-refund-band,
  body.page-event-detail .ei-card,
  body.page-event-detail .ed-interest-indicator,
  body.page-event-detail .ed-countdown-wrap {
    border-radius: var(--ed-radius-md);
  }
}

/* CTAs theme-btn: sin sombra con tinte naranja (base estable; overrides locales no deben reintroducir halos). */
.theme-btn,
a.theme-btn,
button.theme-btn {
  box-shadow: none;
}

.theme-btn:hover,
.theme-btn:focus,
a.theme-btn:hover,
a.theme-btn:focus,
button.theme-btn:hover,
button.theme-btn:focus {
  box-shadow: none;
}
