/* ============================================================
   LoveYouItaly — Atelier: custom select + date picker
   Replaces the OS-native popups so they match the site.
   ============================================================ */

/* the real controls stay for form semantics, but never render */
.lyi-sel > select,
.lyi-date > input[type="hidden"]{
  position:absolute!important;width:1px;height:1px;opacity:0;pointer-events:none;
  clip:rect(0 0 0 0);overflow:hidden;
}

.lyi-sel,.lyi-date{position:relative;width:100%}

/* ---------- trigger buttons: look exactly like the old inputs ---------- */
.lyi-sel-btn,.lyi-date-btn{
  width:100%;background:none;border:none;padding:0;margin:0;cursor:pointer;
  font-family:var(--sans);font-size:16.5px;font-weight:400;color:var(--ivory);
  text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;
  line-height:1.6;
}
.lyi-sel-btn::after{
  content:"";width:9px;height:9px;flex:none;margin-right:2px;
  border-right:1.4px solid var(--gold);border-bottom:1.4px solid var(--gold);
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s;
}
.lyi-sel.open .lyi-sel-btn::after{transform:rotate(225deg) translate(-2px,-2px)}
.lyi-date-ico{flex:none;width:18px;height:18px;color:var(--gold);font-size:18px;line-height:18px}
.lyi-date-txt.is-ph{color:rgba(34,48,42,.42)}

/* smaller trigger inside compact panels */
.book-card .lyi-sel-btn,.book-card .lyi-date-btn,
.filter-bar .lyi-sel-btn,.dir-field .lyi-sel-btn,
.contact-form .lyi-sel-btn{font-size:14.5px}

/* ---------- shared popup shell ---------- */
.lyi-sel-list,.lyi-cal{
  position:absolute;top:calc(100% + 12px);left:-14px;z-index:120;
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 22px 60px rgba(45,38,30,.20);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
}
.lyi-sel.open .lyi-sel-list,.lyi-date.open .lyi-cal{
  opacity:1;visibility:visible;transform:translateY(0);
}

/* ---------- select list ---------- */
.lyi-sel-list{min-width:calc(100% + 28px);padding:7px 0;max-height:290px;overflow:auto}
.lyi-sel-opt{
  padding:11px 22px;font-size:14.5px;color:var(--ivory-soft);cursor:pointer;
  white-space:nowrap;transition:.14s;
}
.lyi-sel-opt:hover{background:var(--night-2);color:var(--ivory)}
.lyi-sel-opt.is-on{color:var(--gold)}
.lyi-sel-opt.is-on::after{content:"·";margin-left:10px;color:var(--gold)}

/* ---------- calendar ---------- */
.lyi-cal{width:312px;padding:18px 18px 12px}
.lyi-cal{overflow:auto;overscroll-behavior:contain}
.lyi-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.lyi-cal-title{font-family:var(--serif);font-size:21px;color:var(--ivory);letter-spacing:.01em}
.lyi-cal-nav{
  width:32px;height:32px;border:1px solid var(--line);background:transparent;
  color:var(--gold);font-size:17px;line-height:1;cursor:pointer;transition:.18s;
}
.lyi-cal-nav .dashicons{width:16px;height:16px;font-size:16px;line-height:16px}
.lyi-cal-nav:hover{border-color:var(--gold);background:var(--night-2)}
.lyi-cal-dow{
  display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px;
  font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ivory-soft);text-align:center;
}
.lyi-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.lyi-cal-pad{height:36px}
.lyi-cal-day{
  height:36px;border:1px solid transparent;background:transparent;cursor:pointer;
  font-family:var(--sans);font-size:14px;color:var(--ivory);transition:.14s;
}
.lyi-cal-day:hover{border-color:var(--gold);color:var(--gold)}
.lyi-cal-day.is-today{border-color:var(--line);color:var(--gold)}
.lyi-cal-day.is-on{background:var(--gold);border-color:var(--gold);color:#FDF8F0}
.lyi-cal-day.is-past{color:rgba(34,48,42,.3);cursor:default}
.lyi-cal-day.is-past:hover{border-color:transparent;color:rgba(34,48,42,.3)}
.lyi-cal-foot{
  display:flex;justify-content:space-between;margin-top:12px;
  padding-top:11px;border-top:1px solid var(--line);
}
.lyi-cal-act{
  background:none;border:none;cursor:pointer;font-family:var(--sans);
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
}
.lyi-cal-act:hover{color:var(--ivory)}

/* popups anchored to a right-hand column open leftwards so they stay on screen */
.book-card .lyi-sel-list,.book-card .lyi-cal,
.search-card .field:last-of-type .lyi-sel-list{left:auto;right:-14px}

@media(max-width:640px){
  .lyi-cal{width:min(302px,calc(100vw - 56px))}
  .lyi-sel-list,.lyi-cal{left:0;right:auto}
  .lyi-sel-list{width:100%;min-width:100%;max-width:calc(100vw - 28px)}
  .book-card .lyi-sel-list,.book-card .lyi-cal,
  .search-card .field:last-of-type .lyi-sel-list{left:0;right:auto}
}

/* topbar must stay on one line on small screens */
@media(max-width:640px){
  .topbar{font-size:11.5px;letter-spacing:0}
  .topbar .container{gap:0;padding:0 14px}
  .topbar .dot{margin:0 6px}
  .topbar .container>div{white-space:nowrap}
}
@media(max-width:380px){
  .topbar{font-size:11px}
  .topbar .dot{margin:0 5px}
}

/* ============================================================
   Enhanced selects must inherit the look the native ones had.
   Without this the wrapper is a bare full-width block.
   ============================================================ */

/* filter bar: compact horizontal pills, arrow beside the label */
.filter-bar{gap:10px;align-items:center}
.filter-bar .lyi-sel{
  width:auto;flex:0 0 auto;
  border:1px solid var(--line);background:var(--panel);
  padding:11px 16px;transition:border-color .2s,background .2s;
}
.filter-bar .lyi-sel:hover{border-color:var(--gold-soft);background:var(--night-2)}
.filter-bar .lyi-sel.open{border-color:var(--gold)}
.filter-bar .lyi-sel-btn{font-size:13.5px;gap:16px;line-height:1.35}
.filter-bar .lyi-sel-btn::after{margin-right:0}
.filter-bar .lyi-sel-list{left:-1px;top:calc(100% + 8px);min-width:calc(100% + 2px)}
.filter-bar .lyi-sel-opt{padding:10px 16px;font-size:13.5px}
.filter-label{
  font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ivory-soft);margin-right:4px;flex:0 0 auto;
}

/* journal directory: keep the bordered field look */
.dir-field .lyi-sel{
  border:1px solid var(--line);background:var(--panel);
  padding:14px 18px;transition:border-color .2s;
}
.dir-field .lyi-sel:hover{border-color:var(--gold-soft)}
.dir-field .lyi-sel.open{border-color:var(--gold)}
.dir-field .lyi-sel-btn{font-size:14.5px}
.dir-field .lyi-sel-list{left:-1px;min-width:calc(100% + 2px)}

@media(max-width:640px){
  .filter-bar .lyi-sel{flex:1 1 calc(50% - 5px);width:auto}
  .filter-bar .clear{margin-left:0;width:100%}
  .filter-label{width:100%;margin-bottom:2px}
}
