:root{--av-wine:#991331;--av-dark:#6f0a22;--av-ink:#202836;--av-muted:#687286;--av-paper:#fffdfd;--av-line:#eadfe3;--av-soft:#f7f1f3}
.availability-page{min-height:100vh;overflow:hidden;color:var(--av-ink);background:linear-gradient(rgba(153,19,49,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(153,19,49,.025) 1px,transparent 1px),#fbf9fa;background-size:32px 32px;padding-bottom:5rem}
.availability-hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 78% -40%,rgba(255,255,255,.16),transparent 40%),linear-gradient(118deg,#670719 0%,#94112f 58%,#b62c4c 100%);padding:clamp(5.25rem,8vw,6.5rem) 0 2.75rem}.availability-hero:after{content:'';position:absolute;width:300px;height:300px;right:7vw;top:-140px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 76px rgba(255,255,255,.025);pointer-events:none}
.availability-hero__inner{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:2rem}.availability-eyebrow{margin:0 0 .65rem;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.72}
.availability-hero h1{margin:0;color:#fff;font-size:clamp(2.2rem,5vw,4.25rem);line-height:.98;letter-spacing:-.045em}.availability-intro{margin:1rem 0 0;max-width:42rem;opacity:.82}
.availability-query-date{display:flex;align-items:center;gap:.7rem;width:max-content;margin:1.35rem 0 0;padding:.48rem .75rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(70,2,21,.22);font-size:.75rem;letter-spacing:.03em}.availability-query-date span{opacity:.72;text-transform:uppercase}.availability-query-date strong{font-weight:800}
.availability-pdf{display:inline-flex;align-items:center;gap:.7rem;flex:0 0 auto;border:1px solid rgba(255,255,255,.5);border-radius:999px;color:#fff;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);padding:.9rem 1.3rem;font-weight:750;box-shadow:0 12px 35px rgba(62,2,19,.16);transition:.2s ease}.availability-pdf:hover{background:#fff;color:var(--av-wine);transform:translateY(-2px)}
.availability-content{margin-top:-2rem;padding:0!important;position:relative;z-index:2}.availability-state{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:10rem;border:1px solid var(--av-line);border-radius:1.25rem;background:var(--av-paper)}.availability-state--error{color:#8b1730}.availability-loader{width:1.2rem;height:1.2rem;border:2px solid #e0c7ce;border-top-color:var(--av-wine);border-radius:50%;animation:av-spin .75s linear infinite}@keyframes av-spin{to{transform:rotate(360deg)}}
.availability-section{padding:0!important;min-height:0;border:1px solid var(--av-line);border-radius:1.25rem;background:rgba(255,253,253,.96);box-shadow:0 18px 55px rgba(70,26,38,.08);overflow:hidden;margin-bottom:1.25rem}.availability-group>summary{list-style:none;cursor:pointer}.availability-group>summary::-webkit-details-marker{display:none}
.availability-section__header{position:relative;display:flex;align-items:center;padding:1.15rem 1.5rem 1.05rem;color:#fff;background:linear-gradient(110deg,#262b33 0%,#3b424d 70%,#505864 100%)}.availability-section__header:before{content:'';width:4px;height:2rem;margin-right:.85rem;border-radius:999px;background:rgba(255,255,255,.72)}.availability-section__header h2{margin:0;color:#fff;font-size:clamp(1.35rem,2.5vw,1.8rem);font-weight:800;letter-spacing:-.025em}.availability-group>summary:after{content:'+';margin-left:auto;font-size:1.35rem;font-weight:400}.availability-group[open]>summary:after{content:'-'}
.availability-section__body{border-top:1px solid var(--av-line);padding:1rem}
.availability-group{border:1px solid var(--av-line);border-radius:.9rem;overflow:hidden;margin-bottom:.75rem;background:#fff}.availability-group:last-child{margin-bottom:0}.availability-group>summary{display:flex;align-items:center;gap:.65rem;padding:1rem 1.1rem;color:#fff;background:linear-gradient(110deg,#68717c,#7d8691);font-weight:750}.availability-group__content{border-top:1px solid var(--av-line);padding:.8rem}.availability-subgroups{padding:.65rem;background:var(--av-soft)}.availability-subgroup{margin-bottom:.6rem}.availability-subgroup:last-child{margin-bottom:0}.availability-subgroup>summary{font-size:.95rem;color:#495264;background:#fff}
.availability-table-wrap{width:100%;overflow-x:auto;border-radius:.65rem}.availability-table{width:100%;min-width:880px;border-collapse:collapse;font-size:.88rem}.availability-table th{padding:.7rem .65rem;color:var(--av-muted);background:#faf7f8;border-bottom:1px solid var(--av-line);font-size:.68rem;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}.availability-table td{padding:.72rem .65rem;border-bottom:1px solid #f0e9eb;vertical-align:middle}.availability-table tr:last-child td{border-bottom:0}.availability-table tbody tr:hover{background:#fcf8f9}
.availability-image-button{position:relative;display:block;width:66px;height:66px;padding:0;border:0;border-radius:.65rem;overflow:hidden;background:#eee}.availability-image-button img{width:100%;height:100%;object-fit:cover}.availability-image-button span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:rgba(33,13,19,.48);opacity:0;transition:opacity .2s ease}.availability-image-button:hover span,.availability-image-button:focus-visible span{opacity:1}.availability-empty{margin:0;padding:1.35rem;color:var(--av-muted);text-align:center}.availability-date{white-space:nowrap}
.availability-image-missing{display:grid;place-items:center;width:66px;height:66px;border:1px dashed #d8c8cd;border-radius:.65rem;color:#81747a;background:linear-gradient(135deg,#faf7f8,#f1eaed);font-size:.72rem;font-weight:800;letter-spacing:.08em;cursor:default;user-select:none}
.availability-modal{border:0;border-radius:1rem;background:#171416;overflow:hidden}.availability-modal__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;color:#fff}.availability-modal__bar p{margin:0;font-weight:700}.availability-modal__bar button{width:2.4rem;height:2.4rem;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.12)}.availability-modal img{display:block;width:100%;max-height:80vh;object-fit:contain;background:#0c0b0b}
@media(max-width:767px){.availability-hero:after{right:-180px}.availability-hero__inner{align-items:flex-start;flex-direction:column}.availability-query-date{margin-top:1rem}.availability-pdf{width:100%;justify-content:center;font-size:.9rem}.availability-section__header{padding:.9rem 1rem}.availability-section__body{padding:.65rem}}
