/* LOOVIE-PUBLIC-AVAILABILITY-CALENDAR-V1 */

.loovie-public-availability-v1{
    --lpav-navy:#15243C;
    --lpav-gold:#CB9830;
    --lpav-cream:#FAF7F1;
    --lpav-card:#FFFFFF;
    --lpav-line:rgba(21,36,60,.12);
    --lpav-muted:#687386;
    --lpav-green:#2C9A64;
    --lpav-orange:#D69A21;
    --lpav-red:#D65157;
    --lpav-gray:#8D96A5;
    color:var(--lpav-navy);
    background:var(--lpav-cream);
}

.loovie-public-availability-v1 *{box-sizing:border-box}

.lpav-container{
    width:min(1420px,calc(100% - 34px));
    margin:0 auto;
}

.lpav-hero{
    padding:72px 0 46px;
    background:
        radial-gradient(circle at 88% 20%,rgba(203,152,48,.15),transparent 27%),
        linear-gradient(135deg,#13213A 0%,#1D2E49 60%,#3A0B10 100%);
    color:#fff;
}

.lpav-kicker{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    color:#F1D894;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.lpav-kicker span{
    width:36px;
    height:2px;
    background:currentColor;
}

.lpav-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
    gap:30px;
    align-items:end;
}

.lpav-hero h1{
    margin:0;
    max-width:820px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2.55rem,6vw,5.8rem);
    line-height:.92;
    letter-spacing:-.055em;
}

.lpav-hero p{
    max-width:760px;
    margin:22px 0 0;
    color:rgba(255,255,255,.76);
    font-size:1rem;
    line-height:1.75;
}

.lpav-public-limit{
    padding:20px 22px;
    border:1px solid rgba(255,255,255,.17);
    border-radius:22px;
    background:rgba(255,255,255,.07);
    backdrop-filter:blur(8px);
}

.lpav-public-limit strong{
    display:block;
    color:#F7E3A8;
    margin-bottom:8px;
}

.lpav-public-limit p{
    margin:0;
    font-size:.87rem;
    line-height:1.65;
}

.lpav-content{padding:30px 0 70px}

.lpav-filter-card{
    display:grid;
    grid-template-columns:minmax(260px,1fr) auto minmax(300px,.8fr);
    gap:13px;
    align-items:end;
    margin-bottom:16px;
    padding:16px;
    border:1px solid var(--lpav-line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 16px 38px rgba(21,36,60,.06);
}

.lpav-field label{
    display:block;
    margin-bottom:7px;
    color:var(--lpav-muted);
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.lpav-field select{
    width:100%;
    min-height:47px;
    padding:0 13px;
    border:1px solid var(--lpav-line);
    border-radius:14px;
    background:#fff;
    color:var(--lpav-navy);
}

.lpav-reset{
    min-height:47px;
    padding:0 17px;
    border:0;
    border-radius:14px;
    background:var(--lpav-gold);
    color:#fff;
    font-weight:900;
    cursor:pointer;
}

.lpav-range-note{
    align-self:center;
    color:var(--lpav-muted);
    font-size:.82rem;
    line-height:1.5;
    text-align:right;
}

.lpav-range-note strong{
    color:var(--lpav-navy);
}

.lpav-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 390px;
    gap:16px;
    align-items:start;
}

.lpav-calendar-card,
.lpav-detail-card{
    border:1px solid var(--lpav-line);
    border-radius:26px;
    background:#fff;
    box-shadow:0 20px 48px rgba(21,36,60,.07);
    overflow:hidden;
}

.lpav-calendar-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:20px 22px;
    border-bottom:1px solid var(--lpav-line);
}

.lpav-calendar-head span,
.lpav-detail-head > span{
    display:block;
    margin-bottom:5px;
    color:var(--lpav-gold);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.lpav-calendar-head h2,
.lpav-detail-head h2{
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.45rem,3vw,2rem);
}

.lpav-nav{
    display:flex;
    align-items:center;
    gap:8px;
}

.lpav-nav button{
    min-width:42px;
    min-height:42px;
    padding:0 13px;
    border:1px solid var(--lpav-line);
    border-radius:13px;
    background:#fff;
    color:var(--lpav-navy);
    font-weight:900;
    cursor:pointer;
}

.lpav-nav button:disabled{
    opacity:.38;
    cursor:not-allowed;
}

.lpav-weekdays,
.lpav-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
}

.lpav-weekdays{
    border-bottom:1px solid var(--lpav-line);
    background:#FAFAFB;
}

.lpav-weekdays div{
    padding:12px 6px;
    color:var(--lpav-muted);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.08em;
    text-align:center;
    text-transform:uppercase;
}

.lpav-day{
    position:relative;
    min-height:116px;
    padding:9px;
    border-right:1px solid var(--lpav-line);
    border-bottom:1px solid var(--lpav-line);
    background:#fff;
    cursor:pointer;
    transition:background .15s ease,box-shadow .15s ease;
}

.lpav-day:nth-child(7n){border-right:0}
.lpav-day:hover{background:#FFFCF5}
.lpav-day.is-outside{background:#F7F8FA;color:#A5ADBA}
.lpav-day.is-disabled{background:#F5F6F8;color:#B2BAC6;cursor:not-allowed}
.lpav-day.is-selected{
    background:#FFF8E9;
    box-shadow:inset 0 0 0 2px rgba(203,152,48,.72);
}
.lpav-day.is-today .lpav-day-number{
    color:#A66F08;
}

.lpav-day-number{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    font-weight:900;
}

.lpav-day-indicator{
    width:11px;
    height:11px;
    border-radius:999px;
    background:#CBD0D8;
}

.lpav-day-status{
    margin-top:19px;
    color:var(--lpav-muted);
    font-size:.68rem;
    font-weight:800;
    line-height:1.35;
}

.lpav-day-counts{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin-top:7px;
}

.lpav-day-counts span{
    display:inline-flex;
    min-height:21px;
    align-items:center;
    padding:0 .42rem;
    border-radius:999px;
    background:#F2F4F7;
    font-size:.63rem;
    font-weight:900;
}

.lpav-day.is-available .lpav-day-indicator,
.lpav-legend .is-available{background:var(--lpav-green)}
.lpav-day.is-limited .lpav-day-indicator,
.lpav-legend .is-limited{background:var(--lpav-orange)}
.lpav-day.is-full .lpav-day-indicator,
.lpav-legend .is-full{background:var(--lpav-red)}
.lpav-day.is-unavailable .lpav-day-indicator,
.lpav-legend .is-unavailable{background:var(--lpav-gray)}

.lpav-legend{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    padding:15px 20px;
}

.lpav-legend span{
    display:flex;
    align-items:center;
    gap:7px;
    color:var(--lpav-muted);
    font-size:.77rem;
    font-weight:800;
}

.lpav-legend i{
    width:10px;
    height:10px;
    border-radius:999px;
}

.lpav-detail-card{
    position:sticky;
    top:18px;
}

.lpav-detail-head{
    padding:20px;
    border-bottom:1px solid var(--lpav-line);
}

.lpav-detail-head p{
    margin:9px 0 0;
    color:var(--lpav-muted);
    font-size:.82rem;
    line-height:1.55;
}

.lpav-product-list{
    display:flex;
    flex-direction:column;
    gap:11px;
    max-height:720px;
    padding:15px;
    overflow:auto;
}

.lpav-product{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    gap:12px;
    padding:11px;
    border:1px solid var(--lpav-line);
    border-radius:17px;
    background:#fff;
}

.lpav-product-image{
    width:82px;
    height:92px;
    padding:0;
    border:0;
    border-radius:13px;
    background:#F2F3F5;
    overflow:hidden;
    cursor:pointer;
}

.lpav-product-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.lpav-product-placeholder{
    display:flex;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    padding:8px;
    color:var(--lpav-muted);
    font-size:.67rem;
    font-weight:800;
    line-height:1.3;
    text-align:center;
}

.lpav-product-copy{min-width:0}

.lpav-product-copy small{
    display:block;
    color:var(--lpav-gold);
    font-size:.67rem;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.lpav-product-copy h3{
    margin:4px 0 5px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.08rem;
    line-height:1.15;
}

.lpav-product-copy p{
    margin:0;
    color:var(--lpav-muted);
    font-size:.75rem;
    line-height:1.45;
}

.lpav-sizes{
    margin-top:6px!important;
    color:var(--lpav-navy)!important;
    font-weight:800;
}

.lpav-product-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:9px;
}

.lpav-status{
    display:inline-flex;
    min-height:28px;
    align-items:center;
    padding:0 .62rem;
    border-radius:999px;
    font-size:.69rem;
    font-weight:900;
}

.lpav-status.is-available{background:rgba(44,154,100,.12);color:#20744A}
.lpav-status.is-limited{background:rgba(214,154,33,.14);color:#946309}
.lpav-status.is-full{background:rgba(214,81,87,.12);color:#A33238}
.lpav-status.is-unavailable{background:rgba(141,150,165,.15);color:#5D6674}

.lpav-product-link{
    color:var(--lpav-navy);
    font-size:.72rem;
    font-weight:900;
    text-decoration:none;
}

.lpav-empty,
.lpav-error{
    padding:34px 18px;
    color:var(--lpav-muted);
    line-height:1.6;
    text-align:center;
}

.lpav-error{
    margin:15px;
    padding:14px;
    border-radius:14px;
    background:#FFF1F2;
    color:#A33238;
}

.lpav-loading{opacity:.55;pointer-events:none}

.lpav-disclaimer{
    margin-top:16px;
    padding:16px 18px;
    border:1px dashed rgba(203,152,48,.48);
    border-radius:18px;
    background:#FFFBF3;
    color:#6B5B3B;
    line-height:1.65;
}

.lpav-modal{
    position:fixed;
    inset:0;
    z-index:1400;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(10,17,30,.78);
    backdrop-filter:blur(4px);
}

.lpav-modal[hidden]{display:none!important}

.lpav-modal-dialog{
    position:relative;
    width:min(920px,100%);
    max-height:90vh;
    padding:16px;
    border-radius:24px;
    background:#fff;
    box-shadow:0 34px 90px rgba(0,0,0,.32);
}

.lpav-modal-dialog img{
    display:block;
    width:100%;
    max-height:78vh;
    object-fit:contain;
    border-radius:17px;
    background:#F5F5F7;
}

.lpav-modal-dialog strong{
    display:block;
    padding:12px 4px 2px;
    color:var(--lpav-navy);
}

.lpav-modal-close{
    position:absolute;
    z-index:2;
    top:10px;
    right:10px;
    width:40px;
    height:40px;
    border:1px solid var(--lpav-line);
    border-radius:999px;
    background:#fff;
    color:var(--lpav-navy);
    font-size:1.45rem;
    cursor:pointer;
}

html.dark .loovie-public-availability-v1,
body.dark .loovie-public-availability-v1,
[data-theme="dark"] .loovie-public-availability-v1{
    --lpav-navy:#F4F6FA;
    --lpav-card:#202633;
    --lpav-line:rgba(255,255,255,.12);
    --lpav-muted:#AFB7C5;
    --lpav-cream:#171C27;
    background:var(--lpav-cream);
}

html.dark .loovie-public-availability-v1 .lpav-calendar-card,
html.dark .loovie-public-availability-v1 .lpav-detail-card,
html.dark .loovie-public-availability-v1 .lpav-filter-card,
html.dark .loovie-public-availability-v1 .lpav-product,
html.dark .loovie-public-availability-v1 select,
html.dark .loovie-public-availability-v1 .lpav-nav button,
body.dark .loovie-public-availability-v1 .lpav-calendar-card,
body.dark .loovie-public-availability-v1 .lpav-detail-card,
body.dark .loovie-public-availability-v1 .lpav-filter-card,
body.dark .loovie-public-availability-v1 .lpav-product,
body.dark .loovie-public-availability-v1 select,
body.dark .loovie-public-availability-v1 .lpav-nav button,
[data-theme="dark"] .loovie-public-availability-v1 .lpav-calendar-card,
[data-theme="dark"] .loovie-public-availability-v1 .lpav-detail-card,
[data-theme="dark"] .loovie-public-availability-v1 .lpav-filter-card,
[data-theme="dark"] .loovie-public-availability-v1 .lpav-product,
[data-theme="dark"] .loovie-public-availability-v1 select,
[data-theme="dark"] .loovie-public-availability-v1 .lpav-nav button{
    background:#202633;
}

html.dark .loovie-public-availability-v1 .lpav-day,
body.dark .loovie-public-availability-v1 .lpav-day,
[data-theme="dark"] .loovie-public-availability-v1 .lpav-day{
    background:#202633;
}

html.dark .loovie-public-availability-v1 .lpav-day.is-outside,
html.dark .loovie-public-availability-v1 .lpav-day.is-disabled,
body.dark .loovie-public-availability-v1 .lpav-day.is-outside,
body.dark .loovie-public-availability-v1 .lpav-day.is-disabled,
[data-theme="dark"] .loovie-public-availability-v1 .lpav-day.is-outside,
[data-theme="dark"] .loovie-public-availability-v1 .lpav-day.is-disabled{
    background:#1B202C;
}

@media(max-width:1080px){
    .lpav-layout{grid-template-columns:1fr}
    .lpav-detail-card{position:relative;top:auto}
    .lpav-product-list{max-height:none}
}

@media(max-width:820px){
    .lpav-hero{padding:54px 0 36px}
    .lpav-hero-grid{grid-template-columns:1fr}
    .lpav-filter-card{grid-template-columns:1fr}
    .lpav-range-note{text-align:left}
    .lpav-day{min-height:92px;padding:6px}
    .lpav-day-status{margin-top:13px;font-size:.61rem}
    .lpav-day-counts span{font-size:.58rem}
}

@media(max-width:560px){
    .lpav-container{width:min(100% - 16px,1420px)}
    .lpav-calendar-head{align-items:flex-start;flex-direction:column}
    .lpav-day{min-height:76px}
    .lpav-day-status{display:none}
    .lpav-day-counts{display:none}
    .lpav-product{grid-template-columns:68px minmax(0,1fr)}
    .lpav-product-image{width:68px;height:78px}
}

/* LOOVIE-PUBLIC-AVAILABILITY-CALENDAR-NAV-FIX-V2 */
.lpav-nav .lpav-calendar-nav-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    color:var(--lpav-navy)!important;
}

.lpav-nav .lpav-calendar-nav-button svg{
    display:block!important;
    width:20px!important;
    height:20px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2.2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    pointer-events:none!important;
}

.lpav-nav .lpav-calendar-nav-button
.loovie-darkmode-icon-wrap-v6,
.lpav-nav .lpav-calendar-nav-button
.loovie-darkmode-icon-wrap-v7,
.lpav-nav .lpav-calendar-nav-button
.loovie-darkmode-icon-wrap-v8,
.lpav-nav .lpav-calendar-nav-button
.loovie-darkmode-icon-wrap-v9,
.lpav-nav .lpav-calendar-nav-button
.loovie-darkmode-icon-wrap-v10{
    display:none!important;
}

.lpav-nav .lpav-calendar-nav-button[class*="loovie-darkmode"]{
    background:#fff!important;
    color:var(--lpav-navy)!important;
    border-color:var(--lpav-line)!important;
    box-shadow:none!important;
}

html.dark
.loovie-public-availability-v1
.lpav-nav
.lpav-calendar-nav-button,
body.dark
.loovie-public-availability-v1
.lpav-nav
.lpav-calendar-nav-button,
[data-theme="dark"]
.loovie-public-availability-v1
.lpav-nav
.lpav-calendar-nav-button{
    background:#202633!important;
    color:var(--lpav-navy)!important;
    border-color:var(--lpav-line)!important;
}
/* LOOVIE-PUBLIC-AVAILABILITY-CALENDAR-NAV-FIX-V2-END */

/* LOOVIE-AVAILABILITY-PUBLIC-INFO-REMOVED-V1 */
.lpav-hero-grid{
    grid-template-columns:minmax(0,1fr)!important;
}

.lpav-hero-grid > div:first-child{
    max-width:940px;
}

.lpav-public-limit{
    display:none!important;
}
/* LOOVIE-AVAILABILITY-PUBLIC-INFO-REMOVED-V1-END */
