/* ==========================================================
   PANGLAO TOURISM
   HUDYAKA SA PANGLAO — AUGUST 2026
========================================================== */

.pt-hudyaka-calendar {
    --hudyaka-purple-900: #32105f;
    --hudyaka-purple-800: #46117d;
    --hudyaka-purple-700: #5e1995;
    --hudyaka-purple-600: #7822b0;
    --hudyaka-purple-500: #9834c9;

    --hudyaka-pink: #d92c88;
    --hudyaka-red: #e62d4f;
    --hudyaka-yellow: #f6c84f;
    --hudyaka-teal: #13a8ae;

    --hudyaka-white: #ffffff;
    --hudyaka-text: #222129;
    --hudyaka-muted: #716d78;
    --hudyaka-border: #ebe7ef;
    --hudyaka-soft: #faf8fc;

    position: relative;
    overflow: hidden;

    margin: 0;

    background:
        linear-gradient(
            135deg,
            #40106f 0%,
            #6f1c9e 42%,
            #912cad 100%
        );

    font-family:
        inherit;

    isolation: isolate;
}


/* ----------------------------------------------------------
   DECORATIVE BACKGROUND
---------------------------------------------------------- */

.pt-hudyaka-calendar::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 12% 10%,
            rgba(255,255,255,.11),
            transparent 25%
        ),
        radial-gradient(
            circle at 88% 70%,
            rgba(251,184,255,.12),
            transparent 28%
        );

    z-index: -2;
}


.pt-hudyaka-calendar::after {
    content: "";

    position: absolute;

    left: -80px;
    bottom: -100px;

    width: 300px;
    height: 300px;

    border: 55px solid rgba(255,255,255,.035);
    border-radius: 50%;

    z-index: -1;
}


.pt-hudyaka-calendar__glow {
    position: absolute;

    border-radius: 999px;

    filter: blur(5px);

    pointer-events: none;

    z-index: -1;
}


.pt-hudyaka-calendar__glow--1 {
    width: 420px;
    height: 420px;

    top: -230px;
    right: 6%;

    background: rgba(239, 76, 184, .18);
}


.pt-hudyaka-calendar__glow--2 {
    width: 300px;
    height: 300px;

    bottom: -180px;
    left: 20%;

    background: rgba(44, 205, 209, .09);
}


/* ----------------------------------------------------------
   CONTAINER
---------------------------------------------------------- */

.pt-hudyaka-calendar__inner {
    position: relative;

    width: min(1180px, calc(100% - 40px));

    margin: 0 auto;

    padding:
        clamp(70px, 8vw, 110px)
        0;
}


/* ==========================================================
   HERO / INTRO
========================================================== */

.pt-hudyaka-calendar__header {
    display: grid;

    grid-template-columns:
        minmax(0, 1.3fr)
        minmax(280px, .7fr);

    align-items: center;

    gap: clamp(30px, 5vw, 80px);

    margin-bottom: clamp(50px, 6vw, 80px);
}


.pt-hudyaka-calendar__intro {
    max-width: 720px;
}


.pt-hudyaka-calendar__eyebrow {
    display: inline-flex;
    align-items: center;

    margin-bottom: 18px;

    padding: 8px 15px;

    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;

    background: rgba(255,255,255,.1);

    color: rgba(255,255,255,.92);

    font-size: .76rem;
    font-weight: 700;

    letter-spacing: .08em;
    text-transform: uppercase;

    backdrop-filter: blur(8px);
}


.pt-hudyaka-calendar__intro h2 {
    margin:
        0
        0
        22px;

    color: #fff;

    font-size:
        clamp(2.7rem, 5.7vw, 5.4rem);

    font-weight: 800;

    line-height: .92;

    letter-spacing: -.055em;
}


.pt-hudyaka-calendar__intro h2 span {
    display: inline-block;

    color: #f9d666;
}


.pt-hudyaka-calendar__intro > p {
    max-width: 650px;

    margin:
        0
        0
        30px;

    color: rgba(255,255,255,.8);

    font-size:
        clamp(1rem, 1.6vw, 1.17rem);

    line-height: 1.7;
}


/* ----------------------------------------------------------
   META
---------------------------------------------------------- */

.pt-hudyaka-calendar__meta {
    display: flex;
    flex-wrap: wrap;

    gap: 15px;
}


.pt-hudyaka-calendar__meta-item {
    display: flex;
    align-items: center;

    gap: 11px;

    min-width: 200px;

    padding: 12px 16px;

    border: 1px solid rgba(255,255,255,.15);
    border-radius: 12px;

    background: rgba(255,255,255,.07);

    color: rgba(255,255,255,.7);

    font-size: .8rem;

    line-height: 1.35;

    backdrop-filter: blur(7px);
}


.pt-hudyaka-calendar__meta-item strong {
    display: block;

    margin-bottom: 2px;

    color: #fff;

    font-size: .88rem;
}


.pt-hudyaka-calendar__meta-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    flex: 0 0 34px;

    border-radius: 50%;

    background: rgba(255,255,255,.12);

    font-size: 1rem;
}


/* ==========================================================
   LOGO / ARTWORK
========================================================== */

.pt-hudyaka-calendar__art {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 330px;
}


.pt-hudyaka-calendar__art-circle {
    position: absolute;

    width: min(100%, 340px);
    aspect-ratio: 1;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255,255,255,.16),
            rgba(255,255,255,.025) 65%,
            transparent 66%
        );

    border:
        1px solid
        rgba(255,255,255,.12);
}


.pt-hudyaka-calendar__art-circle::before,
.pt-hudyaka-calendar__art-circle::after {
    content: "";

    position: absolute;

    border-radius: 50%;

    border:
        1px dashed
        rgba(255,255,255,.12);
}


.pt-hudyaka-calendar__art-circle::before {
    inset: 24px;
}


.pt-hudyaka-calendar__art-circle::after {
    inset: 54px;
}


.pt-hudyaka-calendar__logo {
    position: relative;

    width: min(100%, 340px);
    max-height: 350px;

    object-fit: contain;

    filter:
        drop-shadow(
            0 18px 22px
            rgba(24,0,48,.32)
        );

    z-index: 2;
}


/* ==========================================================
   SCHEDULE PANEL
========================================================== */

.pt-hudyaka-calendar__schedule-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;

    padding:
        30px
        clamp(24px, 4vw, 48px)
        25px;

    border-radius:
        24px
        24px
        0
        0;

    background: #fff;
}


.pt-hudyaka-calendar__small-title {
    display: block;

    margin-bottom: 5px;

    color: var(--hudyaka-purple-600);

    font-size: .75rem;
    font-weight: 800;

    letter-spacing: .1em;

    text-transform: uppercase;
}


.pt-hudyaka-calendar__schedule-heading h3 {
    margin: 0;

    color: #242128;

    font-size:
        clamp(1.6rem, 3vw, 2.25rem);

    font-weight: 750;

    line-height: 1.15;

    letter-spacing: -.035em;
}


.pt-hudyaka-calendar__month {
    display: flex;
    align-items: baseline;

    gap: 7px;

    color: var(--hudyaka-purple-700);

    font-size: .8rem;
    font-weight: 800;

    letter-spacing: .08em;
}


.pt-hudyaka-calendar__month strong {
    font-size: 1rem;
}


/* ==========================================================
   EVENTS GRID
========================================================== */

.pt-hudyaka-events {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 1px;

    overflow: hidden;

    background: var(--hudyaka-border);

    border-radius:
        0
        0
        24px
        24px;

    box-shadow:
        0 25px 70px
        rgba(29, 2, 52, .22);
}


/* ----------------------------------------------------------
   EVENT
---------------------------------------------------------- */

.pt-hudyaka-event {
    position: relative;

    display: grid;

    grid-template-columns:
        82px
        minmax(0, 1fr);

    gap: 21px;

    min-height: 190px;

    padding:
        clamp(26px, 3vw, 34px);

    background: #fff;

    transition:
        background .2s ease,
        transform .2s ease;
}


.pt-hudyaka-event:hover {
    background: #fdfaff;

    z-index: 3;
}


/* ----------------------------------------------------------
   DATE BADGE
---------------------------------------------------------- */

.pt-hudyaka-event__date {
    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    width: 78px;
    height: 78px;

    border-radius: 17px;

    background:
        linear-gradient(
            145deg,
            var(--hudyaka-purple-700),
            var(--hudyaka-purple-500)
        );

    box-shadow:
        0 8px 18px
        rgba(108, 25, 154, .18);

    color: #fff;
}


.pt-hudyaka-event__date span {
    font-size: 2rem;
    font-weight: 800;

    line-height: .9;

    letter-spacing: -.06em;
}


.pt-hudyaka-event__date small {
    margin-top: 6px;

    color: rgba(255,255,255,.8);

    font-size: .61rem;
    font-weight: 800;

    letter-spacing: .16em;
}


.pt-hudyaka-event__date--range span {
    font-size: 1.35rem;
    letter-spacing: -.04em;
}


/* ----------------------------------------------------------
   EVENT CONTENT
---------------------------------------------------------- */

.pt-hudyaka-event__content {
    min-width: 0;
}


.pt-hudyaka-event__category {
    display: inline-block;

    margin-bottom: 8px;

    color: var(--hudyaka-purple-600);

    font-size: .68rem;
    font-weight: 800;

    letter-spacing: .08em;

    text-transform: uppercase;
}


.pt-hudyaka-event h4 {
    margin:
        0
        0
        13px;

    color: var(--hudyaka-text);

    font-size:
        clamp(1rem, 1.7vw, 1.23rem);

    font-weight: 750;

    line-height: 1.25;

    letter-spacing: -.025em;
}


.pt-hudyaka-event__detail {
    display: flex;
    align-items: flex-start;

    gap: 7px;

    margin: 4px 0;

    color: var(--hudyaka-muted);

    font-size: .88rem;

    line-height: 1.4;
}


.pt-hudyaka-event__detail span {
    width: 17px;
    flex: 0 0 17px;

    font-size: .8rem;
}


.pt-hudyaka-event__organizer {
    margin:
        -5px
        0
        12px;

    color: #817984;

    font-size: .8rem;

    line-height: 1.45;
}


/* ----------------------------------------------------------
   SUB EVENTS
---------------------------------------------------------- */

.pt-hudyaka-event__subevent {
    margin-top: 18px;

    padding:
        13px
        15px;

    border-left:
        3px solid
        var(--hudyaka-purple-500);

    border-radius:
        0
        9px
        9px
        0;

    background: #f7f2fa;
}


.pt-hudyaka-event__subevent strong,
.pt-hudyaka-event__subevent span {
    display: block;
}


.pt-hudyaka-event__subevent strong {
    margin-bottom: 4px;

    color: #322b36;

    font-size: .83rem;

    line-height: 1.35;
}


.pt-hudyaka-event__subevent span {
    margin-top: 2px;

    color: #79717c;

    font-size: .75rem;

    line-height: 1.4;
}


/* ==========================================================
   FEATURED EVENTS
========================================================== */

.pt-hudyaka-event--accent {
    background:
        linear-gradient(
            145deg,
            #fff,
            #fff9ef
        );
}


.pt-hudyaka-event--accent::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 4px;
    height: 100%;

    background: #f2b938;
}


.pt-hudyaka-event--main {
    grid-column: span 2;

    min-height: auto;

    background:
        linear-gradient(
            135deg,
            #fff8fc,
            #f8f3ff
        );
}


.pt-hudyaka-event--main .pt-hudyaka-event__date {
    background:
        linear-gradient(
            145deg,
            #e53268,
            #9228aa
        );
}


.pt-hudyaka-event--main
.pt-hudyaka-event__content {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    column-gap: 25px;
}


.pt-hudyaka-event--main
.pt-hudyaka-event__category,
.pt-hudyaka-event--main
h4,
.pt-hudyaka-event--main
.pt-hudyaka-event__organizer {
    grid-column: 1 / -1;
}


/* ==========================================================
   FOOTER
========================================================== */

.pt-hudyaka-calendar__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    margin-top: 27px;

    color: rgba(255,255,255,.8);
}


.pt-hudyaka-calendar__footer > div {
    display: flex;
    align-items: center;

    gap: 12px;
}


.pt-hudyaka-calendar__footer-icon {
    display: grid;
    place-items: center;

    width: 44px;
    height: 44px;

    flex: 0 0 44px;

    border-radius: 50%;

    background: rgba(255,255,255,.1);
}


.pt-hudyaka-calendar__footer p {
    margin: 0;

    font-size: .88rem;

    line-height: 1.5;
}


.pt-hudyaka-calendar__footer strong {
    color: #fff;
}


/* ----------------------------------------------------------
   CTA
---------------------------------------------------------- */

.pt-hudyaka-calendar__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    min-height: 46px;

    padding:
        0
        20px;

    flex-shrink: 0;

    border:
        1px solid
        rgba(255,255,255,.22);

    border-radius: 999px;

    background: #fff;

    color: var(--hudyaka-purple-700) !important;

    font-size: .84rem;
    font-weight: 750;

    text-decoration: none !important;

    box-shadow:
        0 7px 20px
        rgba(39,0,72,.15);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.pt-hudyaka-calendar__button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 12px 25px
        rgba(39,0,72,.22);
}


.pt-hudyaka-calendar__button span {
    font-size: 1.05rem;

    transition: transform .2s ease;
}


.pt-hudyaka-calendar__button:hover span {
    transform: translateX(3px);
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 900px) {

    .pt-hudyaka-calendar__header {
        grid-template-columns:
            minmax(0, 1.25fr)
            minmax(210px, .75fr);

        gap: 30px;
    }


    .pt-hudyaka-calendar__art {
        min-height: 260px;
    }


    .pt-hudyaka-calendar__logo {
        max-height: 275px;
    }


    .pt-hudyaka-event {
        grid-template-columns:
            67px
            minmax(0, 1fr);

        gap: 16px;

        padding: 25px 21px;
    }


    .pt-hudyaka-event__date {
        width: 65px;
        height: 65px;

        border-radius: 14px;
    }


    .pt-hudyaka-event__date span {
        font-size: 1.65rem;
    }


    .pt-hudyaka-event__date--range span {
        font-size: 1.05rem;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 700px) {

    .pt-hudyaka-calendar__inner {
        width: min(100% - 28px, 1180px);

        padding:
            62px
            0;
    }


    /* ---------------------------------------
       Hero
    --------------------------------------- */

    .pt-hudyaka-calendar__header {
        display: flex;
        flex-direction: column;

        align-items: stretch;

        gap: 15px;

        margin-bottom: 44px;
    }


    .pt-hudyaka-calendar__intro {
        text-align: center;
    }


    .pt-hudyaka-calendar__intro h2 {
        font-size:
            clamp(2.6rem, 13vw, 4rem);

        line-height: .94;
    }


    .pt-hudyaka-calendar__intro h2 span {
        display: block;
    }


    .pt-hudyaka-calendar__intro > p {
        margin-left: auto;
        margin-right: auto;
    }


    .pt-hudyaka-calendar__meta {
        justify-content: center;
    }


    .pt-hudyaka-calendar__meta-item {
        flex: 1 1 180px;

        max-width: 240px;

        text-align: left;
    }


    /* logo on mobile */

    .pt-hudyaka-calendar__art {
        min-height: 245px;

        order: -1;
    }


    .pt-hudyaka-calendar__logo {
        width: 235px;
        max-height: 240px;
    }


    .pt-hudyaka-calendar__art-circle {
        width: 230px;
    }


    /* ---------------------------------------
       Schedule
    --------------------------------------- */

    .pt-hudyaka-calendar__schedule-heading {
        align-items: center;

        padding:
            23px
            22px
            20px;

        border-radius:
            18px
            18px
            0
            0;
    }


    .pt-hudyaka-calendar__schedule-heading h3 {
        font-size: 1.55rem;
    }


    .pt-hudyaka-events {
        grid-template-columns: 1fr;

        border-radius:
            0
            0
            18px
            18px;
    }


    .pt-hudyaka-event {
        grid-template-columns:
            63px
            minmax(0, 1fr);

        min-height: 0;

        padding:
            24px
            20px;
    }


    .pt-hudyaka-event--main {
        grid-column: auto;
    }


    .pt-hudyaka-event--main
    .pt-hudyaka-event__content {
        display: block;
    }


    .pt-hudyaka-event__date {
        width: 61px;
        height: 61px;
    }


    .pt-hudyaka-event__date span {
        font-size: 1.55rem;
    }


    .pt-hudyaka-event__date--range span {
        font-size: .98rem;
    }


    /* footer */

    .pt-hudyaka-calendar__footer {
        flex-direction: column;

        align-items: stretch;

        text-align: center;
    }


    .pt-hudyaka-calendar__footer > div {
        justify-content: center;
    }


    .pt-hudyaka-calendar__button {
        width: 100%;
    }

}


/* ==========================================================
   VERY SMALL PHONES
========================================================== */

@media (max-width: 420px) {

    .pt-hudyaka-calendar__month {
        display: none;
    }


    .pt-hudyaka-event {
        grid-template-columns:
            56px
            minmax(0, 1fr);

        gap: 14px;

        padding:
            22px
            17px;
    }


    .pt-hudyaka-event__date {
        width: 54px;
        height: 54px;

        border-radius: 12px;
    }


    .pt-hudyaka-event__date span {
        font-size: 1.4rem;
    }


    .pt-hudyaka-event__date small {
        margin-top: 4px;

        font-size: .52rem;
    }


    .pt-hudyaka-event__date--range span {
        font-size: .88rem;
    }

}