

/* ============================
   🌸 Portfolio Luxury — Clean CSS (FINAL FIX)
   ============================ */

.plw-grid {
    position: relative;
    display: block;
    width: 100%;
    --plw-gap: 16px;
    --plw-active-cols: 4;
    box-sizing: border-box;
}

/* Masonry items — ULTRA CLEAN */
.plw-item {
    width: calc(
        (100% - (var(--plw-active-cols) - 1) * var(--plw-gap)) 
        / var(--plw-active-cols)
    );
    margin-bottom: var(--plw-gap);

    opacity: 1;
    transform: none;
    filter: none;
    transition: none;

    overflow: hidden;
    border-radius: var(--plw-radius-desktop);
    background: #000;
    box-shadow: none; /* 🧼 shadow removed */
    box-sizing: border-box;
}


/* Media inside items */
.plw-item img,
.plw-item video,
.plw-item iframe {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: inherit;
    transition: transform .4s ease; /* hover only */
}
/* =========================
   SOFT MEDIA ZOOM (LUXURY)
========================= */

.plw-item img,
.plw-item video{
    transition:
        transform 0.55s cubic-bezier(.22,1,.36,1),
        filter 0.45s ease;
    will-change: transform;
    transform: translateZ(0);
}

/* Hover Aesthetic */
.plw-item:hover img,
.plw-item:hover video{
    transform: scale(1.035);
}





/* =====================================================
   PLW — CLEAN FAST LAZY GRID (NO AURORA)
   PERFORMANCE FIRST • MOBILE SAFE
===================================================== */

:root{
    --plw-cols: 4;
    --plw-gap: 16px;
    --plw-radius: 12px;
}

/* Grid item */
.plw-item{
    position: relative;
    border-radius: var(--plw-radius);
    overflow: hidden;
    background: #eaeaea;
    cursor: pointer;

    opacity: 0;
    transform: translateY(6px);
    transition:
        opacity 0.25s ease,
        transform 0.25s ease,
        background 0.3s ease;
}

/* Visible */
.plw-item.is-visible{
    opacity: 1;
    transform: translateY(0);
}

/* Image */
.plw-item img{
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.plw-item img.loaded{
    opacity: 1;
}

/* Overlay button */
.overlay-button{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition: opacity 0.2s ease;
}

.plw-item:hover .overlay-button{
    opacity:1;
}

/* Masonry sizer */
.plw-sizer{
    width: calc(
        (100% - (var(--plw-cols) - 1) * var(--plw-gap)) / var(--plw-cols)
    );
}

/* Tablet */
@media (max-width:1024px){
    :root{
        --plw-cols: 3;
        --plw-radius: 10px;
    }
}

/* Mobile */
@media (max-width:768px){
    :root{
        --plw-cols: 2;
        --plw-radius: 8px;
    }
}

/* Small mobile */
@media (max-width:420px){
    .plw-item{
        border-radius:6px;
    }
}

/* =========================
   Right Side Info (dummy ready)
========================= */
.plw-right-side {
    flex: 0 0 320px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: rgba(245,245,245,0.5);
    padding: 12px;
    border-radius: 14px;
}

/* =========================
   User Info (POPUP SAFE)
========================= */
.plw-user-info {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    cursor: pointer;

    /* 🔑 popup animation control */
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .35s ease, transform .35s ease;
}

/* popup active → same time appear */
.plw-big-popup.active .plw-user-info {
    opacity: 1;
    transform: translateY(0);
}

.plw-user-avatar{
    width:50px;
    height:50px;
    object-fit:cover;

    /* 🔲 SQUARE WITH SOFT EDGE */
    border-radius:10px;

    display:block;
}


.plw-user-name {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    text-align: left;
}

/* ==========================
   COMMENT BOX — AURORA WHITE GLASS (FINAL)
========================== */

.plw-comment-box{
  position: relative;
  max-width:520px;

  /* aurora-based white glass */
  background: color-mix(
    in srgb,
    var(--plw-aurora) 18%,
    rgba(255,255,255,0.55)
  );

  border:1px solid color-mix(
    in srgb,
    var(--plw-aurora) 25%,
    rgba(255,255,255,0.6)
  );

  border-radius:18px;
  padding:10px;

  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);

  box-sizing:border-box;
}

/* input */
.plw-comment-box input{
  width:100%;
  padding:12px 14px;

  border-radius:14px;

  border:1px solid color-mix(
    in srgb,
    var(--plw-aurora) 20%,
    rgba(0,0,0,0.12)
  );

  background: color-mix(
    in srgb,
    var(--plw-aurora) 12%,
    rgba(255,255,255,0.65)
  );

  color:#222;
  font-size:14px;
  outline:none;
}

/* placeholder */
.plw-comment-box input::placeholder{
  color: rgba(0,0,0,0.45);
}

/* focus */
.plw-comment-box input:focus{
  border-color: var(--plw-aurora);
}

/* =====================================================
   CLOSE BUTTON — FULL AURORA MATTE (CLEAN FIX)
===================================================== */
.plw-close-btn{
  position:absolute;
  top:12px;
  right:14px;

  width:44px;
  height:44px;
  border-radius:10px;

  /* Full solid aurora background */
  background: var(--plw-aurora);

  /* optional soft border, same family */
  border:1px solid color-mix(
    in srgb,
    var(--plw-aurora),
    black 20%
  );

  display:flex;
  align-items:center;
  justify-content:center;

  cursor:pointer;
  z-index:10000;

  opacity:0;
  pointer-events:none;

  transition:
    opacity .28s ease,
    transform .18s ease;
}
/* =========================
   INNER RING — MATTE AURORA
========================= */
.plw-close-btn .close-ring{
  width:26px;
  height:26px;
  border-radius:50%;
  box-sizing:border-box;

  display:flex;
  align-items:center;
  justify-content:center;

  border:2px solid color-mix(
    in srgb,
    var(--plw-aurora),
    #0c1420 65%
  );

  color: color-mix(
    in srgb,
    var(--plw-aurora),
    #0c1420 70%
  );

  background: transparent;

  font-size:16px;
  font-weight:600;

  transition:
    transform .28s cubic-bezier(.4,0,.2,1),
    box-shadow .28s ease;
}


/* =========================
   HOVER EFFECT — SAFE
========================= */
.plw-close-btn:hover .close-ring{
  transform:scale(1.3);
  box-shadow:
    0 0 0 6px color-mix(
      in srgb,
      var(--plw-aurora),
      transparent 72%
    );
}


/* =========================
   TAP FEEL
========================= */
.plw-close-btn:active{
  transform:scale(.92);
}
.plw-close-btn:active .close-ring{
  transform:scale(1.4);
}

/* =========================
   POPUP ACTIVE — ENABLE BTN
========================= */
.plw-big-popup.active .plw-close-btn{
  opacity:1;
  pointer-events:auto;
}


/* =========================
   DESKTOP LAYOUT — RIGHT SIDE INFO
======================== */
@media (min-width: 769px) {
    .plw-big-inner {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 24px;
    }

    .plw-right-side {
        flex: 0 0 340px;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .plw-user-info {
        display: flex;
        align-items: center;
        gap: 12px;
    }
}

/* =========================
   MOBILE LAYOUT — STACKED
======================== */
@media (max-width: 768px) {
    .plw-media-user-wrap {
        flex-direction: column;
        align-items: center;
        gap: 16px;
    }

    .plw-user-info {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .plw-user-avatar {
        width: 44px;
        height: 44px;
    }

    .plw-user-name {
        font-size: 14px;
    }
}


/* =========================
   PLW Big Popup — CLEAN BASE (NO ANIMATION)
========================= */
.plw-big-popup{
    display: flex;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 88%;
    max-width: 1400px;
    padding: 20px;
    gap: 20px;
    flex-direction: column;

    border-radius: 18px;
    overflow: hidden;
    z-index: 9999;

    /* SAFE HIDE (MOBILE-SAFE) */
    opacity: 0;
    pointer-events: none;
    visibility: hidden; /* used only as state, NOT animated */

    /* 🌫️ ONLY GRAIN (STATIC) */
    background:
        repeating-linear-gradient(
            0deg,
            rgba(255,255,255,0.035) 0px,
            rgba(255,255,255,0.02) 1px,
            transparent 2px
        ),
        repeating-linear-gradient(
            90deg,
            rgba(0,0,0,0.025) 0px,
            rgba(0,0,0,0.015) 1px,
            transparent 2px
        );

    /* ONLY opacity animates */
    transition: opacity 0.25s ease;
}

/* Aurora / glow layer — STATIC & SAFE */
.plw-big-popup::before{
    content: "";
    position: absolute;
    inset: -40%;
    z-index: 0;
    pointer-events: none;

    background:
        radial-gradient(
            ellipse 140% 90% at 30% 30%,
            color-mix(in srgb, var(--plw-aurora), transparent 25%) 0%,
            transparent 60%
        ),
        radial-gradient(
            ellipse 160% 120% at 70% 80%,
            color-mix(in srgb, var(--plw-aurora), #120E11 55%) 0%,
            transparent 75%
        );

    filter: blur(30px) saturate(140%);
    opacity: 0; /* 🔒 hidden by default */
}

/* Inner content always above glow */
.plw-big-inner{
    position: relative;
    z-index: 2;
}

/* ACTIVE STATE */
.plw-big-popup.active{
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

/* Glow appears ONLY when active (prevents flash on close) */
.plw-big-popup.active::before{
    opacity: 0.85;
}

/* =========================
   AURORA — STATIC (NO ANIMATION)
   MOBILE SAFE • CLEAN
========================= */

/* Static aurora position (no movement) */
.plw-big-popup{
    --aurora-x: 30%;
    --aurora-y: 32%;
    --aurora-x2: 70%;
    --aurora-y2: 75%;

    animation: none !important;
}

/* Static background with aurora + grain */
.plw-big-popup{
    background:
        radial-gradient(
            ellipse 120% 80% at var(--aurora-x) var(--aurora-y),
            color-mix(in srgb, var(--plw-aurora), transparent 25%) 0%,
            transparent 55%
        ),
        radial-gradient(
            ellipse 140% 100% at var(--aurora-x2) var(--aurora-y2),
            color-mix(in srgb, var(--plw-aurora), #120E11 55%) 0%,
            transparent 75%
        ),
        repeating-linear-gradient(
            0deg,
            rgba(255,255,255,0.035) 0px,
            rgba(255,255,255,0.02) 1px,
            transparent 2px
        ),
        repeating-linear-gradient(
            90deg,
            rgba(0,0,0,0.025) 0px,
            rgba(0,0,0,0.015) 1px,
            transparent 2px
        );
}




/* =========================================
   Inner & Media Area — CLEAN & SAFE
========================================= */

.plw-big-inner {
    display: flex;
    flex-direction: row;
    gap: 24px;
    width: 100%;
}

/* Media Left */
.plw-media-area {
    flex: 1;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    border-radius: 14px;
    overflow: hidden;
    position: relative;
}

/* Media Glass (desktop only feeling) */
.plw-media-area img,
.plw-media-area video,
.plw-audio-bg {
    background: rgba(255,255,255,0.16);
    box-shadow:
        0 10px 28px rgba(0,0,0,0.14),
        inset 0 0 0 1px rgba(255,255,255,0.22);
}

/* Media sizing */
.plw-media-area img,
.plw-media-area video {
    max-width: 100%;
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 14px;
    display: block;
    margin: 0;
}

/* Video soft constraint (no hard force) */
.plw-media-area video {
    max-height: 85vh;
    object-fit: contain;
}

/* Portrait tweak */
.plw-media-area img.portrait,
.plw-media-area video.portrait {
    max-height: 80vh;
    margin-top: 40px;
}

/* Right info column */
.plw-right-side {
    flex: 0 0 340px;
    display: flex;
    flex-direction: column;
}

/* Mobile safety */
@media (max-width: 768px){
    .plw-media-area img,
    .plw-media-area video,
    .plw-audio-bg{
        backdrop-filter: none;
    }
}

.plw-user-name {
    color: #333;          /* desktop readable */
    z-index: 2;           /* stay above aurora */
    text-align: left;

    /* 🔒 popup controls visibility */
    opacity: inherit;
    visibility: inherit;
}

/* =========================
   Mobile Typography ONLY
   (No visibility / opacity control)
========================= */
@media (max-width: 768px) {
    .plw-user-name {
        color: #222;
        font-size: 14px;
        line-height: 1.3;
        text-align: center;
    }
}

.plw-overlay-btn{
    position:absolute;
    bottom:14px;
    right:14px;

    width:44px;
    height:44px;

    /* 🔳 SQUARE WITH SOFT RADIUS */
    border-radius:8px;   /* ← square feel, not circle */

    border:none;

    /* ✅ PURE GLASS */
    background:rgba(255,255,255,0.16);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;
    z-index:30;

    transform:translateZ(0);
    transition:transform .18s ease;
}


/* =========================
   ROUND RING — UNTOUCHED
========================= */
.plw-overlay-btn .zoom-arrows{
    width:26px;
    height:26px;

    border-radius:50%;
    border:2px solid rgba(255,255,255,.95);

    position:relative;
    box-sizing:border-box;

    transition:
        transform .28s cubic-bezier(.4,0,.2,1),
        box-shadow .28s ease;
}

/* =========================
   iOS HOVER / TAP FEEL
========================= */
.plw-overlay-btn:hover .zoom-arrows{
    transform:scale(1.35);
    box-shadow:0 0 0 7px rgba(255,255,255,.18);
}

.plw-overlay-btn:active{
    transform:scale(0.92);
}

.plw-overlay-btn:active .zoom-arrows{
    transform:scale(1.45);
    box-shadow:0 0 0 10px rgba(255,255,255,.22);
}

/* =========================
   HIDE ARROWS COMPLETELY
========================= */
.zoom-arrows .arrow{
    display: none !important;
}

/* =========================
   OVERLAY BUTTON — SLIDE UP
========================= */

/* default hidden — dead state */
.plw-overlay-btn{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(100px); /* double down start */
    transition:
        opacity 0.35s ease,
        transform 0.35s ease,
        visibility 0.35s ease;
}

/* desktop hover */
.plw-item:hover .plw-overlay-btn{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0); /* slide up */
}

/* mobile tap / overlay active */
.plw-item.overlay-active .plw-overlay-btn{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0); /* slide up */
}

/* ==========================================
   FINAL AUDIO PLAYER — ARORA DYNAMIC ONLY
========================================== */

/* ---------- PLAYER WRAPPER ---------- */
.plw-big-popup .player{
    position:relative;
    width:100%;
    max-width:320px;
    margin:0 auto;
    font-family:"Fira Sans",sans-serif;
}

/* ---------- INFO PANEL ---------- */
.plw-big-popup .player .info{
    position:absolute;
    top:0;
    left:10px;
    right:10px;
    height:60px;
    opacity:0;

    background:
        color-mix(in srgb, var(--plw-aurora), transparent 65%);
    backdrop-filter:blur(14px);

    padding:6px 14px 6px 110px;
    border-radius:14px;

    transition:.4s ease;
}

.plw-big-popup .player .info.active{
    top:-60px;
    opacity:1;
}

/* ---------- TEXT ---------- */
.plw-big-popup .player .artist{
    color:
        color-mix(in srgb, var(--plw-aurora), white 65%);
    font-size:15px;
}

.plw-big-popup .player .name{
    color:
        color-mix(in srgb, var(--plw-aurora), white 40%);
    font-size:12px;
}

/* ---------- PROGRESS BAR ---------- */
.plw-big-popup .player .progress-bar{
    height:2px;
    margin-top:6px;
    border-radius:2px;
    overflow:hidden;

    background:
        color-mix(in srgb, var(--plw-aurora), transparent 80%);
}

.plw-big-popup .player .progress-bar .bar{
    height:100%;
    width:0%;

    background:var(--plw-aurora);
    transition:width .2s linear;
}

/* ---------- CONTROL PANEL ---------- */
.plw-big-popup .player .control-panel{
    position:relative;
    height:60px;

    background:
        color-mix(in srgb, var(--plw-aurora), transparent 70%);
    backdrop-filter:blur(14px);

    border-radius:12px;
    border:
        1px solid color-mix(in srgb, var(--plw-aurora), transparent 75%);

    box-shadow:none;
}
   
/*----spin---*/
.plw-big-popup .player .album-art{
    position:absolute;

    /* 🎯 left center INSIDE control panel */
    left:10px;
    top:50%;

    width:52px;
    height:52px;
    border-radius:50%;

    background-size:cover;
    background-position:center;
    z-index:20;

    /* ✅ ALWAYS CENTER (idle + play) */
    transform:translateY(-50%);
}

/* 🔁 spin ONLY adds rotation */
.album-art.spin{
    animation:albumSpin 3.5s linear infinite;
}

@keyframes albumSpin{
    from{
        transform:translateY(-50%) rotate(0deg);
    }
    to{
        transform:translateY(-50%) rotate(360deg);
    }
}

/* ---------- CONTROLS ---------- */
.plw-big-popup .player .controls{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    height:60px;
    padding-right:12px;
    gap:10px;
}

.plw-big-popup .player .controls div{
    width:34px;
    height:34px;
    border-radius:10px;

    background:
        color-mix(in srgb, var(--plw-aurora), transparent 70%);
    backdrop-filter:blur(14px);

    border:
        1px solid color-mix(in srgb, var(--plw-aurora), transparent 75%);

    background-position:center;
    background-repeat:no-repeat;
    background-size:18px;

    cursor:pointer;
    transition:transform .2s ease;

    /* 🔑 ICON COLOR SOURCE */
    color:var(--plw-aurora);
}

.plw-big-popup .player .controls div:hover{
    transform:scale(1.05);
}

/* ---------- ICONS (SVG INLINE — DYNAMIC) ---------- */

/* PLAY */
.plw-big-popup .player .controls .play{
    background-image:url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24">\
<polygon points="6,4 20,12 6,20"/>\
</svg>');
}

/* PAUSE */
.plw-big-popup .player .controls .play.is-playing{
    background-image:url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24">\
<rect x="5" y="4" width="5" height="16"/>\
<rect x="14" y="4" width="5" height="16"/>\
</svg>');
}

/* NEXT */
.plw-big-popup .player .controls .next{
    background-image:url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24">\
<polygon points="6,4 16,12 6,20"/>\
<rect x="17" y="4" width="3" height="16"/>\
</svg>');
}

/* PREV */
.plw-big-popup .player .controls .prev{
    background-image:url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24">\
<polygon points="18,4 8,12 18,20"/>\
<rect x="5" y="4" width="3" height="16"/>\
</svg>');
}



/* ---------- MINI OVERLAY (CENTER + SAFE SIZE) ---------- */
.plw-big-popup .plw-audio-wrap .player-overlay{
    position:absolute;
    left:50%;
    bottom:12px;
    transform:translateX(-50%);

    width:calc(100% - 24px); /* mobile safe */
    max-width:380px;         /* main fix – not too big, not small */

    background:
        color-mix(in srgb, var(--plw-aurora), transparent 68%);
    backdrop-filter:blur(16px);

    border:
        1px solid color-mix(in srgb, var(--plw-aurora), transparent 78%);

    border-radius:14px;
    padding:8px;

    z-index:30;
}


/* ===============================
   VOLUME BAR — ARORA DYNAMIC • CLEAN
=============================== */

/* volume wrapper */
.plw-big-popup .player .volume-wrap{
    width:100%;
    padding:6px 12px;
    box-sizing:border-box;
}

/* actual slider */
.plw-big-popup .player .volume-slider{
    width:100%;
    height:3px;
    -webkit-appearance:none;
    appearance:none;

    background:
        color-mix(in srgb, var(--plw-aurora), transparent 80%);
    border-radius:3px;
    outline:none;
}

/* Chrome / Edge track */
.plw-big-popup .player .volume-slider::-webkit-slider-runnable-track{
    height:3px;
    border-radius:3px;

    background:
        color-mix(in srgb, var(--plw-aurora), transparent 80%);
}

/* Chrome / Edge thumb */
.plw-big-popup .player .volume-slider::-webkit-slider-thumb{
    -webkit-appearance:none;
    width:10px;
    height:10px;
    margin-top:-3.5px;
    border-radius:50%;
    cursor:pointer;

    background:var(--plw-aurora);
}

/* Firefox track */
.plw-big-popup .player .volume-slider::-moz-range-track{
    height:3px;
    border-radius:3px;

    background:
        color-mix(in srgb, var(--plw-aurora), transparent 80%);
}

/* Firefox thumb */
.plw-big-popup .player .volume-slider::-moz-range-thumb{
    width:10px;
    height:10px;
    border:none;
    border-radius:50%;
    cursor:pointer;

    background:var(--plw-aurora);
}


/* =========================
   BASE
========================= */
.plw-audio-thumb{
    position: relative;
    overflow: hidden;
}

.plw-audio-thumb img{
    display: block;
    width: 100%;
    border-radius: 12px;
    pointer-events: none;
}

/* =========================
   MINI AUDIO BAR — ARORA GLASS (CLEAN FIX)
========================= */
.plw-audio-thumb .glass-audio-wrap{
  position:absolute;
  left:8px;
  right:8px;
  bottom:8px;

  padding:10px 12px;
  border-radius:12px;

  /* Matte aurora surface (no blur) */
  background:
    linear-gradient(
      to top,
      color-mix(in srgb, var(--plw-aurora), transparent 35%),
      color-mix(in srgb, var(--plw-aurora), transparent 18%)
    );

  /* subtle depth without glass blur */
  box-shadow:
    0 6px 18px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.08);

  z-index:10;

  display:flex;
  flex-direction:column;
  gap:8px;

  pointer-events:auto;
}

/* =========================
   TIMELINE — ARORA • CLEAN
========================= */

.audio-timeline{
    display: flex;
    align-items: center;
    gap: 8px;

    opacity: 1;
    transform: none;
    transition: none;
    pointer-events: auto;
}

/* REMOVE hover / playing animation */
.plw-audio-thumb:hover .audio-timeline,
.plw-audio-thumb.playing .audio-timeline{
    opacity: 1;
    transform: none;
}

/* Timeline bar */
.timeline-bar{
    flex: 1;
    height: 3px;
    border-radius: 2px;
    overflow: hidden;

    background:
        color-mix(in srgb, var(--plw-aurora), transparent 80%);
}

/* Progress */
.timeline-progress{
    width: 0%;
    height: 100%;

    background: var(--plw-aurora);
}

/* Time text */
.current-time{
    font-size: 11px;
    white-space: nowrap;

    color:
        color-mix(in srgb, var(--plw-aurora), white 70%);
}


/* =========================
   CONTROLS ROW — ARORA CLEAN
========================= */
.audio-controls{
    display: flex;
    align-items: center;
    gap: 10px;
}

.audio-play-btn{
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
}

/* 🌸 Pressed Flower Play Triangle — Arora */
.pf-triangle{
    display: block;
    width: 0;
    height: 0;

    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 16px solid
        color-mix(in srgb, var(--plw-aurora), white 65%);

    transition: transform .2s ease, opacity .2s ease;
}

/* hover soft bloom (no shadow) */
.audio-play-btn:hover .pf-triangle{
    transform: scale(1.05);
    opacity: .9;
}

/* =========================
   PLAYING STATE — PAUSE ICON
========================= */

.audio-play-btn.playing .pf-triangle{
    width: 10px;
    height: 16px;

    border: none;

    background:
        linear-gradient(
            color-mix(in srgb, var(--plw-aurora), white 65%) 0 0
        ) left / 3px 100% no-repeat,
        linear-gradient(
            color-mix(in srgb, var(--plw-aurora), white 65%) 0 0
        ) right / 3px 100% no-repeat;
}

/* =========================
   VOLUME (ARORA — CLEAN)
========================= */

.audio-volume{
    opacity: 1;
    transform: none;
    transition: none;
    pointer-events: auto;
}

/* REMOVE hover / playing based animation */
.plw-audio-thumb:hover .audio-volume,
.plw-audio-thumb.playing .audio-volume{
    opacity: 1;
    transform: none;
}

/* Volume line */
.volume-slider{
    width: 60px;
    height: 3px;

    appearance: none;
    outline: none;
    border-radius: 3px;

    background:
        color-mix(in srgb, var(--plw-aurora), transparent 80%);
}

/* Thumb — Chrome */
.volume-slider::-webkit-slider-thumb{
    appearance: none;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    cursor: pointer;

    background: var(--plw-aurora);
}

/* Thumb — Firefox */
.volume-slider::-moz-range-thumb{
    width: 9px;
    height: 9px;
    border-radius: 50%;
    border: none;
    cursor: pointer;

    background: var(--plw-aurora);
}


/* =========================
   FORCE REMOVE TEXT CONTENT
========================= */
.audio-content,
.track-info,
.track-title,
.track-artist,
.track-lyrics,
.song-title,
.song-lyrics,
.plw-audio-text,
.plw-track-info{
    display: none !important;
}






/* =========================================================
   AUDIO THUMB + PLAY BUTTON — AURORA (DYNAMIC COLOR ONLY)
   --plw-aurora MUST BE A COLOR (rgb / hex)
========================================================= */
.plw-audio-thumb{
  position:relative;
  width:100%;
  margin:0 auto;
  font-family:"Fira Sans",sans-serif;
  overflow:hidden;
  border-radius:12px;

  /* 🌸 soft aurora tint */
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--plw-aurora), transparent 18%) 0%,
      color-mix(in srgb, var(--plw-aurora), transparent 34%) 100%
    );

  /* ---------- 35% DUST / GRAIN ---------- */
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Ccircle cx='2' cy='2' r='0.7' fill='rgba(255,255,255,0.035)'/%3E%3C/svg%3E");
  background-repeat:repeat;
  background-blend-mode:soft-light;
}


/* ---------- PLAY BUTTON COVER (SOFT BLOOM) ---------- */
.plw-audio-thumb .audio-cover{
  position:absolute;
  top:8px;
  left:8px;
  z-index:6;
  border-radius:50%;

  /* 🌸 glow reduced + lifted */
  box-shadow:
    0 0 10px
      color-mix(in srgb, var(--plw-aurora), transparent 65%),
    0 0 2px
      color-mix(in srgb, var(--plw-aurora), white 75%);
}

/* ===============================
   PLAY BUTTON — FINAL CLEAN
================================ */
.audio-play-btn{
  width:38px;
  height:38px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(6px);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  position:relative;
  transition:.3s ease;
}

/* ▶ TRIANGLE */
.audio-play-btn .pf-triangle{
  width:0;
  height:0;
  border-left:12px solid
    color-mix(in srgb, var(--plw-aurora), white 70%);
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  transition:opacity .2s ease;
}

/* hide ▶ when playing */
.audio-play-btn.playing .pf-triangle{
  opacity:0;
}

/* ⏸ PAUSE BARS */
.audio-play-btn.playing::before,
.audio-play-btn.playing::after{
  content:"";
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:3px;
  height:15px;
  background:
    color-mix(in srgb, var(--plw-aurora), white 60%);
  border-radius:2px;
}

.audio-play-btn.playing::before{ left:15px; }
.audio-play-btn.playing::after { right:15px; }

/* glow when playing */
.audio-play-btn.playing{
  background:
    color-mix(in srgb, var(--plw-aurora), rgba(255,255,255,.35));
  box-shadow:
    0 0 10px
      color-mix(in srgb, var(--plw-aurora), transparent 65%);
}




/* ============================
   AESTHETIC TIMELINE — SOFT AURORA
============================ */
.audio-timeline{
  display:flex;
  align-items:center;
  gap:10px;

  --plw-aurora-line:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--plw-aurora), #ffd6e6 30%),
      color-mix(in srgb, var(--plw-aurora), #cfc6ff 30%)
    );
}

/* ---------- TIME TEXT ---------- */
.current-time{
  font-size:11px;
  letter-spacing:.4px;
  min-width:42px;
  opacity:.75;

  color:
    color-mix(
      in srgb,
      #ffffff,
      var(--plw-aurora) 18%
    );
}

/* ---------- BAR (GLASS) ---------- */
.timeline-bar{
  flex:1;
  height:5px;
  border-radius:12px;
  position:relative;
  cursor:pointer;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.18),
      rgba(255,255,255,.05)
    );

  backdrop-filter: blur(6px);
  box-shadow:
    inset 0 0 6px rgba(0,0,0,.22);
}

/* ---------- PROGRESS ---------- */
.timeline-progress{
  position:absolute;
  inset:0 auto 0 0;
  width:0%;
  border-radius:12px;

  background:var(--plw-aurora-line);

  box-shadow:
    0 0 6px
      color-mix(in srgb, var(--plw-aurora), transparent 45%);
}

/* ---------- SLIDER (PETAL DOT) ---------- */
.timeline-slider{
  position:absolute;
  top:50%;
  left:0%;
  width:10px;
  height:10px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  z-index:3;

  background:
    radial-gradient(
      circle,
      #fff 35%,
      color-mix(in srgb, var(--plw-aurora), transparent 55%)
    );

  box-shadow:
    0 0 8px
      color-mix(in srgb, var(--plw-aurora), transparent 40%);
}

/* ============================
   VOLUME — AESTHETIC GLASS
============================ */
.volume-slider{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:3px;
  border-radius:10px;
  outline:none;

  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--plw-aurora), transparent 45%),
      rgba(255,255,255,.12)
    );
}

/* thumb = tiny pressed-flower bead */
.volume-slider::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:12px;
  height:12px;
  border-radius:50%;

  background:
    radial-gradient(
      circle,
      #fff 40%,
      color-mix(in srgb, var(--plw-aurora), transparent 50%)
    );

  box-shadow:
    0 0 8px
      color-mix(in srgb, var(--plw-aurora), transparent 45%);
}

.volume-slider::-moz-range-thumb{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#fff;
}


/* =========================================================
   POPUP TEXT — DARK AURORA (INK STYLE)
========================================================= */

.plw-popup-text{
  margin-top:16px;
  max-width:520px;
  position:relative;

  /* DARK aurora text */
  color: color-mix(
    in srgb,
    var(--plw-aurora),
    black 55%
  );

  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.7;
}

/* TITLE — slightly stronger */
.plw-popup-text .plw-popup-title{
  font-size:18px;
  margin-bottom:12px;
  font-weight:500;
  letter-spacing:0.04em;

  color: color-mix(
    in srgb,
    var(--plw-aurora),
    black 45%
  );

  padding-bottom:6px;
  border-bottom:1px solid color-mix(
    in srgb,
    var(--plw-aurora),
    black 60%
  );
}

/* NORMAL POST TEXT */
.plw-popup-text p,
.plw-popup-text span{
  color: color-mix(
    in srgb,
    var(--plw-aurora),
    black 55%
  );
}

/* =========================================================
   POEM BOX — GLASS AURORA (MOBILE SLIDER READY)
======================================================== */

.plw-poem-box{
  max-height:220px;
  overflow-y:auto;
  padding:14px 16px;

  background: color-mix(
    in srgb,
    var(--plw-aurora),
    transparent 12%
  );

  backdrop-filter: blur(10px) saturate(120%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);

  border:1px solid color-mix(in srgb, var(--plw-aurora), transparent 20%);
  border-radius:14px;

  box-sizing:border-box;
  scrollbar-width: thin;
}
/* =========================================================
   POEM TEXT — DARK AURORA (INKED, READABLE)
========================================================= */

.plw-popup-poem,
.plw-popup-poem span{
  color: color-mix(
    in srgb,
    var(--plw-aurora),
    black 55%
  );

  text-shadow: none;
  transition: color .3s ease;
}


/* =========================================================
   SCROLLBAR — AURORA FLAT (NO GLOW)
========================================================= */

.plw-right-area{
  scrollbar-width: thin;
  scrollbar-color: var(--plw-aurora) transparent;
}

.plw-right-area::-webkit-scrollbar{
  width: 4px;
}

.plw-right-area::-webkit-scrollbar-track{
  background: transparent;
}

.plw-right-area::-webkit-scrollbar-thumb{
  background: var(--plw-aurora);
  border-radius: 4px;
}

@media (max-width:768px){

  .plw-media-user-wrap{
    flex-direction:column !important;
  }

  .plw-right-area{
    width:100%;
    flex:1 1 auto;
  }

  .plw-popup-text,
  .plw-comment-box{
    display:block !important;
  }

}

/* =========================
   MOBILE — HIDE DESKTOP TEXT + COMMENT
   ========================= */
@media (max-width: 768px){

  /* content block */
  .plw-popup-text{
    display: none !important;
  }

  /* comment box */
  .plw-comment-box{
    display: none !important;
  }

}











@media (max-width: 768px){
  .plw-big-popup{
    width: 95vw !important;           /* slightly smaller than full width */
    max-width: 95vw !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 12px;              /* gentle curve */
    padding: 10px;                     /* small breathing room */
  }

  .plw-big-inner{
    flex-direction: column;
    gap: 10px;
  }

  .plw-media-area img,
  .plw-media-area video{
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 10px;
  }
}


