/* ═══════════════════════════════════════════
   Miah Catalina — Summer Soft Girl (refined)
   Palette: Denim · Candy · Sunshine · Flamingo · Breeze
═══════════════════════════════════════════ */

:root {
    --denim: #799AB6 !important;
    --denim-deep: #5a7390 !important;
    --candy: #FFB7CF !important;
    --sun: #FFF8B2 !important;
    --flamingo: #FF91C0 !important;
    --flamingo-hot: #ff7eb5 !important;
    --breeze: #BED1E8 !important;
    --bg: #fff3f7 !important;
    --ink: #5a7390 !important;
    --mute: rgba(90, 115, 144, 0.72) !important;
    --gold: #FF91C0 !important;
    --gold-soft: rgba(255, 183, 207, 0.7) !important;
    --line: rgba(121, 154, 182, 0.2) !important;
    --radius: 26px;
    --shadow-soft: 0 18px 40px rgba(121, 154, 182, 0.18);
    --shadow-pink: 0 14px 34px rgba(255, 145, 192, 0.38);
    --glass: rgba(255, 255, 255, 0.42);
}

/* —— Base —— */
body {
    font-family: "Quicksand", system-ui, sans-serif !important;
    font-weight: 500;
    background:
        radial-gradient(ellipse 70% 45% at 0% 0%, rgba(190, 209, 232, 0.95), transparent 60%),
        radial-gradient(ellipse 55% 40% at 100% 5%, rgba(255, 183, 207, 0.85), transparent 55%),
        radial-gradient(ellipse 50% 35% at 50% 100%, rgba(255, 248, 178, 0.35), transparent 50%),
        linear-gradient(180deg, #e8f1fa 0%, #fff5f9 38%, #ffe6f0 100%) !important;
    background-attachment: fixed !important;
    color: var(--ink) !important;
    letter-spacing: 0.01em;
}
body::after { opacity: 0.022 !important; }

/* soft cloud blobs */
.page::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 78%, rgba(255, 255, 255, 0.55) 0 8%, transparent 9%),
        radial-gradient(circle at 18% 80%, rgba(255, 255, 255, 0.4) 0 12%, transparent 13%),
        radial-gradient(circle at 85% 70%, rgba(255, 255, 255, 0.45) 0 10%, transparent 11%);
    opacity: 0.7;
}

.star {
    width: 3px !important;
    height: 3px !important;
    background: #fff !important;
    box-shadow:
        0 0 6px 1px rgba(255, 255, 255, 0.9),
        0 0 14px 3px rgba(255, 145, 192, 0.55) !important;
}

/* —— Intro (clean, no box) —— */
.intro {
    background:
        radial-gradient(circle at 20% 15%, rgba(255, 248, 178, 0.55), transparent 40%),
        radial-gradient(circle at 80% 25%, rgba(255, 255, 255, 0.5), transparent 42%),
        radial-gradient(circle at 65% 80%, rgba(255, 145, 192, 0.4), transparent 50%),
        linear-gradient(160deg, #d4e4f4 0%, #ffc9dc 52%, #ffe0ee 100%) !important;
}
.intro__inner {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
    gap: 1.15rem !important;
}
.intro__name {
    color: #fff !important;
    text-shadow:
        0 1px 0 rgba(121, 154, 182, 0.55),
        0 10px 28px rgba(255, 145, 192, 0.35) !important;
}
.intro__cursor { background: #fff !important; width: 2.5px !important; }
.intro__mark {
    filter:
        drop-shadow(0 12px 28px rgba(255, 145, 192, 0.45))
        drop-shadow(0 2px 8px rgba(255, 255, 255, 0.5)) !important;
}
.intro__line {
    height: 2px !important;
    width: 0;
    border-radius: 99px !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.95), #FFB7CF, transparent) !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* —— Header —— */
.top__mark {
    filter:
        drop-shadow(0 0 10px rgba(255, 145, 192, 0.55))
        drop-shadow(0 4px 12px rgba(121, 154, 182, 0.25)) !important;
}
.icons a {
    color: #fff !important;
    filter:
        drop-shadow(0 0 8px rgba(255, 145, 192, 0.55))
        drop-shadow(0 2px 6px rgba(121, 154, 182, 0.25)) !important;
}
.icons a::before {
    background: radial-gradient(circle, rgba(255, 183, 207, 0.55), transparent 70%) !important;
}
.icons a::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), transparent) !important;
}

/* —— Hero veil: soft cinematic, not a pink wall —— */
.hero {
    background: #1a1520 !important;
    border-radius: 0 0 40px 40px !important;
    overflow: hidden !important;
    box-shadow: 0 28px 60px rgba(121, 154, 182, 0.16);
}
.hero__media img {
    filter: saturate(1.04) contrast(1.03) brightness(1.02) !important;
}
.hero__veil {
    background:
        linear-gradient(
            180deg,
            rgba(20, 18, 28, 0.28) 0%,
            rgba(20, 18, 28, 0.05) 22%,
            transparent 42%,
            rgba(90, 70, 95, 0.15) 68%,
            rgba(40, 30, 45, 0.55) 86%,
            rgba(25, 20, 32, 0.78) 100%
        ),
        linear-gradient(
            100deg,
            rgba(25, 22, 35, 0.35) 0%,
            transparent 42%
        ) !important;
}
.hero__eyebrow {
    color: #fff !important;
    background: rgba(255, 145, 192, 0.92) !important;
    display: inline-flex !important;
    align-items: center;
    padding: 0.42rem 1rem !important;
    border-radius: 999px !important;
    border: 0 !important;
    letter-spacing: 0.32em !important;
    font-weight: 700 !important;
    font-size: 0.62rem !important;
    box-shadow: 0 10px 28px rgba(255, 145, 192, 0.4);
}
.hero__title {
    color: #fff !important;
    text-shadow:
        0 2px 16px rgba(0, 0, 0, 0.35),
        0 18px 40px rgba(0, 0, 0, 0.25) !important;
    filter: none !important;
}
.hero__title .line:nth-child(2) span {
    color: #FFB7CF !important;
    text-shadow:
        0 2px 18px rgba(255, 145, 192, 0.45),
        0 12px 30px rgba(0, 0, 0, 0.25) !important;
}

/* —— Girly pill buttons (no dashed borders) —— */
.hero__cta .btn,
.vip-btn,
.vip-card__buy,
.pay__actions .vip-btn {
    position: relative !important;
    isolation: isolate;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    border: 0 !important;
    font-family: "Quicksand", system-ui, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    overflow: hidden !important;
    cursor: pointer;
    transition:
        transform 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28),
        box-shadow 0.35s ease,
        background 0.35s ease,
        filter 0.35s ease !important;
}
.hero__cta .btn::after,
.vip-btn.gold::after,
.vip-card__buy::after,
.pay__actions .vip-btn.gold::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -130% !important;
    width: 55% !important;
    height: 100% !important;
    background: linear-gradient(
        100deg,
        transparent 0%,
        rgba(255, 255, 255, 0.55) 48%,
        transparent 100%
    ) !important;
    transform: skewX(-22deg) !important;
    transition: left 0.75s ease !important;
    pointer-events: none !important;
    z-index: 1 !important;
}
.hero__cta .btn:hover::after,
.vip-btn.gold:hover::after,
.vip-card__buy:hover::after,
.pay__actions .vip-btn.gold:hover::after {
    left: 140% !important;
}

.hero__cta .btn {
    min-height: 50px !important;
    padding: 0.85rem 1.5rem !important;
    background: rgba(255, 255, 255, 0.18) !important;
    backdrop-filter: blur(16px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.2) !important;
    color: #fff !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.4),
        0 10px 28px rgba(0, 0, 0, 0.18) !important;
}
.hero__cta .btn.primary {
    background: linear-gradient(180deg, #ffc2d8 0%, #FF91C0 48%, #ff6fa8 100%) !important;
    color: #fff !important;
    text-shadow: 0 1px 0 rgba(180, 60, 110, 0.2);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.55),
        inset 0 -1px 0 rgba(200, 70, 130, 0.18),
        0 14px 32px rgba(255, 145, 192, 0.45) !important;
    animation: girlyPulse 2.8s ease-in-out infinite;
}
.hero__cta .btn.primary::before {
    content: none !important;
}
.hero__cta .btn:hover {
    transform: translateY(-4px) scale(1.04) !important;
    filter: brightness(1.05);
}
.hero__cta .btn:active {
    transform: translateY(0) scale(0.98) !important;
}
.hero__cta .btn:not(.primary):hover {
    background: rgba(255, 255, 255, 0.3) !important;
}

@keyframes girlyPulse {
    0%, 100% { box-shadow: inset 0 1px 0 rgba(255,255,255,0.55), inset 0 -1px 0 rgba(200,70,130,0.18), 0 14px 32px rgba(255,145,192,0.42); }
    50% { box-shadow: inset 0 1px 0 rgba(255,255,255,0.55), inset 0 -1px 0 rgba(200,70,130,0.18), 0 16px 40px rgba(255,145,192,0.62); }
}

.hint { color: rgba(255, 255, 255, 0.8) !important; font-weight: 600 !important; }
.hint i {
    background: linear-gradient(180deg, #FFB7CF, transparent) !important;
    width: 2px !important;
}

/* —— Gallery —— */
.gallery {
    background: transparent !important;
    padding: 4rem clamp(0.85rem, 3vw, 2rem) 3.5rem !important;
}
.gallery__label {
    color: #799AB6 !important;
    font-weight: 700 !important;
    letter-spacing: 0.36em !important;
    position: relative;
}
.gallery__label::before {
    content: "♡ ";
    color: #FF91C0;
}
.gallery__label::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    margin: 0.75rem auto 0;
    border-radius: 99px;
    background: linear-gradient(90deg, #FFB7CF, #FFF8B2, #BED1E8);
}
.grid {
    gap: clamp(0.65rem, 1.5vw, 1rem) !important;
}
.grid figure {
    border-radius: 22px !important;
    border: 0 !important;
    box-shadow: 0 16px 36px rgba(121, 154, 182, 0.16) !important;
    background: #f7d6e4 !important;
}
.grid figure:hover {
    box-shadow: 0 22px 48px rgba(255, 145, 192, 0.28) !important;
    transform: translateY(-3px);
}
.grid figure:hover::after {
    border-color: transparent !important;
}
.grid img {
    filter: brightness(1.03) saturate(1.05) contrast(1.02) !important;
}

/* —— Exclusive / +18 —— */
.vip {
    background:
        radial-gradient(ellipse 70% 45% at 50% -5%, rgba(255, 145, 192, 0.18), transparent 55%),
        transparent !important;
    border-top: 1px solid rgba(255, 183, 207, 0.45) !important;
    padding-top: 4.5rem !important;
}
.vip__badge {
    background: linear-gradient(180deg, #ffc2d8, #FF91C0) !important;
    color: #fff !important;
    border-radius: 999px !important;
    border: 0 !important;
    letter-spacing: 0.22em !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 26px rgba(255, 145, 192, 0.4);
    padding: 0.45rem 1rem !important;
}
.vip__title {
    color: #799AB6 !important;
    text-shadow: 0 2px 0 rgba(255, 255, 255, 0.9) !important;
}
.vip__lead {
    color: rgba(90, 115, 144, 0.88) !important;
    font-weight: 500 !important;
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
}
.vip__gate {
    border-radius: 0 !important;
    overflow: auto !important;
}
.vip__gate[hidden] { display: none !important; }

.vip-card {
    border-radius: 26px !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: 0 16px 40px rgba(121, 154, 182, 0.14) !important;
    overflow: visible !important;
    backdrop-filter: none !important;
}
.vip-card:hover {
    box-shadow: 0 22px 48px rgba(255, 145, 192, 0.26) !important;
    transform: translateY(-4px);
}
.vip-card__media {
    border-radius: 26px 26px 0 0 !important;
    overflow: hidden !important;
}
.vip-card__body {
    padding: 1.05rem 1rem 1.2rem !important;
    background: #fff !important;
    border-radius: 0 0 26px 26px !important;
    flex-shrink: 0 !important;
}
.vip-card__type {
    background: linear-gradient(180deg, #ffc2d8, #FF91C0) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 18px rgba(255, 145, 192, 0.35);
    top: 0.85rem !important;
    left: 0.85rem !important;
}
.vip-card__lock span {
    width: 58px !important;
    height: 58px !important;
    border: 0 !important;
    background: rgba(255, 145, 192, 0.78) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(255, 145, 192, 0.35);
}
.vip-card__body h3 {
    color: #5a7390 !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
}
.vip-card__body p { color: rgba(90, 115, 144, 0.7) !important; }
.vip-card__price {
    color: #FF91C0 !important;
    font-weight: 700 !important;
}
.vip-card__buy {
    border-radius: 999px !important;
    background: linear-gradient(180deg, #ffc2d8, #FF91C0 50%, #ff6fa8) !important;
    border: 0 !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.45),
        0 10px 22px rgba(255, 145, 192, 0.4);
    padding: 0.65rem 1rem !important;
}
.vip-card__buy:hover {
    transform: translateY(-3px) scale(1.04) !important;
    filter: brightness(1.06);
}
.vip-card.is-unlocked .vip-card__buy {
    background: linear-gradient(180deg, #e6f0fa, #BED1E8) !important;
    color: #5a7390 !important;
    border: 0 !important;
    box-shadow: 0 8px 18px rgba(121, 154, 182, 0.18);
}
.vip-card.is-unlocked .vip-card__price::after {
    color: #799AB6 !important;
    content: " · tuyo" !important;
}

.vip-btn {
    min-height: 48px !important;
    padding: 0.8rem 1.4rem !important;
    border: 0 !important;
}
.vip-btn.gold {
    background: linear-gradient(180deg, #ffc2d8 0%, #FF91C0 48%, #ff6fa8 100%) !important;
    color: #fff !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        0 12px 28px rgba(255, 145, 192, 0.42) !important;
}
.vip-btn.gold:hover {
    transform: translateY(-4px) scale(1.03) !important;
    filter: brightness(1.05);
}
.vip-btn.ghost {
    background: rgba(255, 255, 255, 0.85) !important;
    color: #799AB6 !important;
    border: 0 !important;
    box-shadow: 0 8px 22px rgba(121, 154, 182, 0.14) !important;
}
.vip-btn.ghost:hover {
    background: #fff !important;
    transform: translateY(-3px) !important;
}

.vip {
    padding-bottom: 5.5rem !important;
    overflow: visible !important;
}
.vip__gate {
    background: rgba(255, 245, 249, 0.88) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    border: 0 !important;
    box-shadow: none !important;
}
.vip__gate-box h3 {
    color: #FF91C0 !important;
}
.vip__gate-box p { color: rgba(90, 115, 144, 0.85) !important; }

/* —— Checkout (clean card example) —— */
.pay {
    background: rgba(90, 115, 144, 0.35) !important;
    backdrop-filter: blur(16px) !important;
}
.pay__panel {
    background: #fff !important;
    border: 0 !important;
    border-radius: 28px !important;
    box-shadow: 0 30px 70px rgba(90, 115, 144, 0.28) !important;
    overflow: visible !important;
    padding: 1.5rem 1.25rem 1.35rem !important;
}
.pay__kicker { color: #FF91C0 !important; }
.pay__panel h3, .pay__script { color: #799AB6 !important; }
.pay__panel .sub { color: rgba(90, 115, 144, 0.72) !important; }
.pay__price { color: #FF91C0 !important; }
.pay__fields label { color: #799AB6 !important; }
.pay__fields input {
    border: 1.5px solid rgba(121, 154, 182, 0.22) !important;
    background: #fff !important;
    color: #5a7390 !important;
    border-radius: 14px !important;
}
.pay__fields input:focus {
    border-color: #FF91C0 !important;
    box-shadow: 0 0 0 4px rgba(255, 145, 192, 0.16) !important;
}
.pay__hint, .pay__secure { color: rgba(90, 115, 144, 0.65) !important; }
.pay__x {
    background: rgba(190, 209, 232, 0.4) !important;
    color: #799AB6 !important;
    border: 0 !important;
}
.pay__ok-mark {
    border: 0 !important;
    background: rgba(255, 183, 207, 0.35) !important;
    color: #FF91C0 !important;
}
.pay__preview, .pay__meta, .pay__steps, .pay__play { display: none !important; }

/* —— Footer / lightbox —— */
.close {
    border-top: 1px solid rgba(255, 183, 207, 0.4) !important;
    background: transparent !important;
    padding-top: 2.5rem !important;
}
.close p {
    color: #FF91C0 !important;
    text-shadow: 0 2px 0 rgba(255, 255, 255, 0.9) !important;
    filter: drop-shadow(0 8px 18px rgba(255, 145, 192, 0.25));
}
.close .icons a { color: #FF91C0 !important; }

.lb {
    background: rgba(30, 24, 36, 0.92) !important;
    backdrop-filter: blur(12px);
}
.lb__close, .lb__zoom button {
    background: rgba(255, 255, 255, 0.9) !important;
    color: #799AB6 !important;
    border-radius: 999px !important;
    border: 0 !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
.lb__hint { color: rgba(255, 255, 255, 0.7) !important; font-weight: 600; }

.vip__flash {
    border-radius: 18px !important;
    border: 0 !important;
    background: rgba(255, 183, 207, 0.4) !important;
    color: #5a7390 !important;
    font-weight: 600 !important;
    box-shadow: var(--shadow-soft);
}
