.elementor-1958 .elementor-element.elementor-element-2e4dafc{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS *//* =========================================================
   PARTY TICKETS
   CSS UNIVERSAL OFICIAL
   PALETA BASADA EN EL LOGOTIPO
========================================================= */

:root {

    /* COLORES OFICIALES */
    --pt-blue: #00aeff;
    --pt-blue-light: #5ccdff;
    --pt-blue-soft: #dff5ff;
    --pt-blue-dark: #007fbb;

    --pt-black: #000000;
    --pt-black-soft: #080808;
    --pt-charcoal: #212121;
    --pt-charcoal-light: #2c2c2c;

    --pt-white: #ffffff;
    --pt-gray: #929292;
    --pt-gray-light: #d4d4d4;
    --pt-gray-dark: #5c5c5c;

    /* FONDOS */
    --pt-bg-main: #000000;
    --pt-bg-secondary: #080808;
    --pt-bg-card: #151515;
    --pt-bg-card-hover: #1c1c1c;

    /* TEXTOS */
    --pt-text-primary: #ffffff;
    --pt-text-secondary: #c7c7c7;
    --pt-text-muted: #929292;

    /* BORDES */
    --pt-border: rgba(255, 255, 255, 0.1);
    --pt-border-blue: rgba(0, 174, 255, 0.36);

    /* SOMBRAS */
    --pt-shadow:
        0 25px 65px rgba(0, 0, 0, 0.48);

    --pt-shadow-blue:
        0 20px 50px rgba(0, 174, 255, 0.24);

    /* MEDIDAS */
    --pt-container: 1280px;
    --pt-radius-small: 12px;
    --pt-radius: 20px;
    --pt-radius-large: 30px;

    /* TRANSICIONES */
    --pt-transition: 0.32s ease;
}

/* =========================================================
   RESET ENCAPSULADO
========================================================= */

.pt-section,
.pt-section *,
.pt-global,
.pt-global * {
    box-sizing: border-box;
}

.pt-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif;
    color: var(--pt-text-primary);
}

.pt-section img {
    display: block;
    max-width: 100%;
}

.pt-section a {
    text-decoration: none;
}

.pt-section button,
.pt-section input,
.pt-section textarea,
.pt-section select {
    font: inherit;
}

/* =========================================================
   CONTENEDOR
========================================================= */

.pt-container {
    position: relative;
    z-index: 2;
    width: min(92%, var(--pt-container));
    margin-right: auto;
    margin-left: auto;
}

/* =========================================================
   FONDOS OFICIALES
========================================================= */

.pt-bg-black {
    background:
        radial-gradient(
            circle at 12% 18%,
            rgba(0, 174, 255, 0.12),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #000000 0%,
            #090909 52%,
            #111111 100%
        );
}

.pt-bg-dark {
    background:
        radial-gradient(
            circle at 88% 25%,
            rgba(0, 174, 255, 0.1),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #101010 0%,
            #050505 100%
        );
}

.pt-bg-blue {
    background:
        linear-gradient(
            135deg,
            #00aeff 0%,
            #008fd3 100%
        );
}

/* =========================================================
   EFECTOS DE FONDO
========================================================= */

.pt-grid-background::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.07;
    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.08) 1px,
            transparent 1px
        );
    background-size: 70px 70px;
}

.pt-blue-glow::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 560px;
    height: 560px;
    right: -220px;
    bottom: -270px;
    border-radius: 50%;
    pointer-events: none;
    background:
        rgba(0, 174, 255, 0.18);
    filter: blur(100px);
}

/* =========================================================
   TIPOGRAFÍA
========================================================= */

.pt-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 20px;
    padding: 10px 18px;
    border: 1px solid rgba(0, 174, 255, 0.25);
    border-radius: 999px;
    background: rgba(0, 174, 255, 0.1);
    color: var(--pt-blue-light);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.2;
}

.pt-heading {
    margin: 0;
    color: var(--pt-white);
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 850;
    line-height: 1.05;
    letter-spacing: -2px;
}

.pt-heading-small {
    font-size: clamp(34px, 4vw, 52px);
}

.pt-text {
    margin: 22px 0 0;
    color: var(--pt-text-secondary);
    font-size: 17px;
    line-height: 1.75;
}

.pt-text-center {
    text-align: center;
}

.pt-blue-text {
    color: var(--pt-blue);
}

.pt-gradient-text {
    display: inline-block;
    background:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #00aeff 70%,
            #5ccdff 100%
        );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* =========================================================
   BOTONES
========================================================= */

.pt-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 56px;
    padding: 0 30px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition:
        transform var(--pt-transition),
        box-shadow var(--pt-transition),
        border-color var(--pt-transition),
        background var(--pt-transition);
}

.pt-button-primary {
    color: var(--pt-black);
    background:
        linear-gradient(
            135deg,
            #00aeff 0%,
            #5ccdff 100%
        );
    box-shadow:
        0 18px 45px rgba(0, 174, 255, 0.3);
}

.pt-button-primary:hover {
    color: var(--pt-black);
    transform: translateY(-4px);
    box-shadow:
        0 25px 60px rgba(0, 174, 255, 0.42);
}

.pt-button-dark {
    color: var(--pt-white);
    background:
        var(--pt-charcoal);
    border-color:
        rgba(255, 255, 255, 0.12);
}

.pt-button-dark:hover {
    color: var(--pt-white);
    transform: translateY(-4px);
    border-color:
        rgba(0, 174, 255, 0.5);
    background:
        #292929;
}

.pt-button-outline {
    color: var(--pt-white);
    border-color:
        rgba(255, 255, 255, 0.2);
    background:
        rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(14px);
}

.pt-button-outline:hover {
    color: var(--pt-white);
    transform: translateY(-4px);
    border-color:
        rgba(0, 174, 255, 0.65);
    background:
        rgba(0, 174, 255, 0.08);
}

/* =========================================================
   TARJETAS
========================================================= */

.pt-card {
    position: relative;
    overflow: hidden;
    padding: 30px;
    border: 1px solid var(--pt-border);
    border-radius: var(--pt-radius);
    background:
        linear-gradient(
            145deg,
            rgba(35, 35, 35, 0.9),
            rgba(12, 12, 12, 0.92)
        );
    box-shadow:
        var(--pt-shadow);
    transition:
        transform var(--pt-transition),
        border-color var(--pt-transition),
        box-shadow var(--pt-transition);
}

.pt-card::before {
    content: "";
    position: absolute;
    width: 130px;
    height: 130px;
    top: -75px;
    right: -65px;
    border-radius: 50%;
    pointer-events: none;
    background:
        rgba(0, 174, 255, 0.13);
    filter: blur(6px);
}

.pt-card:hover {
    transform: translateY(-8px);
    border-color:
        var(--pt-border-blue);
    box-shadow:
        0 30px 70px rgba(0, 174, 255, 0.13);
}

.pt-card-icon {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    margin-bottom: 22px;
    border: 1px solid rgba(0, 174, 255, 0.2);
    border-radius: 18px;
    background:
        rgba(0, 174, 255, 0.12);
    color:
        var(--pt-blue);
    font-size: 29px;
}

.pt-card-title {
    position: relative;
    z-index: 2;
    margin: 0 0 13px;
    color: var(--pt-white);
    font-size: 22px;
    font-weight: 750;
    line-height: 1.25;
}

.pt-card-text {
    position: relative;
    z-index: 2;
    margin: 0;
    color: var(--pt-text-secondary);
    font-size: 15px;
    line-height: 1.7;
}

/* =========================================================
   GRIDS
========================================================= */

.pt-grid {
    display: grid;
    gap: 22px;
}

.pt-grid-2 {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}

.pt-grid-3 {
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
}

.pt-grid-4 {
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
}

/* =========================================================
   SEPARADORES
========================================================= */

.pt-divider {
    width: 86px;
    height: 4px;
    margin: 26px auto;
    border-radius: 999px;
    background:
        linear-gradient(
            90deg,
            #00aeff,
            #ffffff
        );
}

.pt-section-line {
    border-top:
        1px solid rgba(255, 255, 255, 0.08);
}

/* =========================================================
   ESTADÍSTICAS
========================================================= */

.pt-stat-card {
    padding: 24px 18px;
    border: 1px solid var(--pt-border);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(32, 32, 32, 0.86),
            rgba(10, 10, 10, 0.88)
        );
    text-align: center;
    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.28);
}

.pt-stat-card strong {
    display: block;
    color: var(--pt-blue);
    font-size: 34px;
    line-height: 1;
}

.pt-stat-card span {
    display: block;
    margin-top: 9px;
    color: var(--pt-text-secondary);
    font-size: 14px;
}

/* =========================================================
   FORMULARIOS
========================================================= */

.pt-field {
    width: 100%;
    min-height: 54px;
    padding: 0 17px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 13px;
    outline: none;
    background:
        rgba(255, 255, 255, 0.045);
    color:
        var(--pt-white);
    transition:
        border-color var(--pt-transition),
        box-shadow var(--pt-transition);
}

textarea.pt-field {
    min-height: 135px;
    padding-top: 16px;
    resize: vertical;
}

.pt-field::placeholder {
    color:
        rgba(255, 255, 255, 0.42);
}

.pt-field:focus {
    border-color:
        var(--pt-blue);
    box-shadow:
        0 0 0 4px rgba(0, 174, 255, 0.12);
}

/* =========================================================
   UTILIDADES
========================================================= */

.pt-relative {
    position: relative;
}

.pt-center {
    text-align: center;
}

.pt-hide {
    display: none !important;
}

.pt-no-margin {
    margin: 0 !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .pt-grid-4 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .pt-grid-3 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {

    .pt-container {
        width: min(92%, 100%);
    }

    .pt-heading {
        letter-spacing: -1.3px;
    }

    .pt-text {
        font-size: 16px;
    }

    .pt-grid-2,
    .pt-grid-3,
    .pt-grid-4 {
        grid-template-columns: 1fr;
    }

    .pt-button {
        width: 100%;
    }

    .pt-card {
        padding: 25px 21px;
    }
}/* End custom CSS */