/* =======================================================
   Leopardessa Academy — Core UI (internal + shared)
   Created: 2026-01-19
   Scope: dashboard, selezione, capi, form, messaggi
   ======================================================= */

/* Layout wrapper */
.academy-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px 20px;
}

/* Headings */
.academy-wrap h1{
  margin: 0 0 12px;
  line-height: 1.1;
}
.academy-wrap h2{
  margin: 22px 0 10px;
  line-height: 1.2;
}

/* Gate */
.academy-gate-btn{
  display: inline-block;
  padding: 10px 14px;
  border: 1px solid #111;
  text-decoration: none;
}
.academy-gate-msg{
  padding: 10px 12px;
  border: 1px dashed #777;
  margin: 12px 0;
  font-size: 14px;
}

/* Pills */
.academy-pill{
  display: inline-block;
  border: 1px solid #111;
  padding: 6px 10px;
  margin-right: 8px;
  font-size: 13px;
  line-height: 1;
}
.academy-pill--submitted{ border-style: dashed; }
.academy-pill--approved{ border-style: solid; }
.academy-pill--in_use{ border-style: double; }
.academy-pill--completed{ border-style: dotted; }
.academy-pill--rejected,
.academy-pill--cancelled{ border-style: dashed; opacity: .7; }

/* Grid + Card */
.academy-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 16px;
}

.academy-card{
  border: 1px solid #ddd;
  padding: 12px;
  background: #fff;
}

.academy-card__thumb{
  position: relative;
  display: block;
  overflow: hidden;
}

.academy-card__thumb img{
  width: 100%;
  height: auto;
  display: block;
}

.academy-card__title{
  font-size: 16px;
  margin: 10px 0 0;
  line-height: 1.2;
}
.academy-card__title a{
  text-decoration: none;
}

.academy-card__actions{
  margin-top: 10px;
}

/* Badge */
.academy-badge{
  position: absolute;
  left: 10px;
  top: 10px;
  padding: 6px 10px;
  border: 1px solid #111;
  background: #fff;
  font-size: 12px;
  line-height: 1;
}

/* Meta piccola (es. “Disponibile dal…”) */
.academy-item-meta{
  margin: 6px 0 8px;
  font-size: 13px;
  opacity: .85;
}

/* Buttons */
.academy-btn{
  display: inline-block;
  padding: 10px 12px;
  border: 1px solid #111;
  text-decoration: none;
  line-height: 1;
}
.academy-btn:hover{ text-decoration: none; }
.academy-btn[disabled]{ opacity: .55; cursor: not-allowed; }

/* Single item layout */
.academy-item-single__layout{
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 24px;
  align-items: start;
  margin-top: 14px;
}
.academy-item-single__media img{
  width: 100%;
  height: auto;
  display: block;
}
.academy-item-single__sidebar{
  border: 1px solid #ddd;
  padding: 16px;
  background: #fff;
}
.academy-item-single__meta p{
  margin: 0 0 10px;
}

/* Selection form */
.academy-selection-form{
  margin-top: 18px;
  padding: 14px;
  border: 1px solid #ddd;
  background: #fff;
}
.academy-selection-form label{
  display: inline-block;
  margin-bottom: 6px;
}
.academy-selection-form textarea{
  width: 100%;
  max-width: 100%;
}
.academy-selection-form input[type="date"]{
  padding: 8px 10px;
  border: 1px solid #ddd;
}

/* Dashboard blocks */
.academy-dashboard__block{
  margin-top: 18px;
  padding: 14px;
  border: 1px solid #ddd;
  background: #fff;
}
.academy-dashboard__list{
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.academy-request-card{
  border: 1px solid #ddd;
  background: #fff;
  padding: 12px;
  margin-top: 10px;
}
.academy-request-card--history{
  padding: 10px;
  opacity: .9;
}
.academy-request-card strong a{ text-decoration: none; }
.academy-request-card strong a:hover{ text-decoration: underline; }

.academy-pagination{ margin-top: 18px; }

/* Empty state (selection) */
.academy-empty-state{
  text-align: center;
  padding: 24px 12px;
  border: none;
  background: transparent;
}
.academy-empty-state__img{
  max-width: 360px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 18px;
}
.academy-empty-state__title{
  margin: 6px 0 6px;
  font-weight: 400;
  letter-spacing: .02em;
}
.academy-empty-state__text{
  margin: 0 0 14px;
  opacity: .85;
}

/* Roleline (serve anche nel form compila profilo) */
.academy-profile-roleline{
  margin-top: 6px;
  font-size: 13px;
  opacity: .75;
}

/* Responsive */
@media (max-width: 1200px){
  .academy-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px){
  .academy-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .academy-item-single__layout{ grid-template-columns: 1fr; }
}
@media (max-width: 600px){
  .academy-grid{ grid-template-columns: 1fr; }
  .academy-wrap{ padding: 22px 16px; }
}
/* Dashboard helpers (no inline) */
.academy-dashboard__top-actions{
  margin: 10px 0 18px;
}

.academy-muted{
  opacity: .75;
}

.academy-dashboard__toggle{
  margin-top: 12px;
}

.academy-request-head{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.academy-request-status{
  margin-top:8px;
}

.academy-request-hint{
  margin-left:6px;
  opacity:.85;
}

.academy-request-dates{
  margin-top:8px;
  opacity:.8;
}

.academy-request-return{
  margin-top:6px;
  opacity:.85;
}

.academy-request-pickup{
  margin-top:8px;
  opacity:.85;
}
/* Request view (no inline) */
.academy-request-view__statusbox{
  margin-top: 10px;
}

.academy-request-view__hint{
  margin-top: 6px;
  opacity: .85;
}

.academy-request-view__pickupbox{
  margin-top: 12px;
}

.academy-request-view__pickupmeta{
  margin-top: 6px;
  opacity: .9;
}

.academy-request-view__pickuptext{
  margin-top: 8px;
  white-space: pre-wrap;
}

.academy-request-view__back{
  margin-top: 12px;
}

.academy-request-view__items-title{
  margin-top: 16px;
}
.academy-date-range__sep{
  display:inline-block;
  margin: 0 8px;
  opacity: .7;
}

.academy-profile-edit__avatar{
  max-width: 180px;
  height: auto;
  display: block;
}
/* Academy login gate */
.academy-login-gate__grid{
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 18px;
  align-items: center;
}

.academy-login-gate__img{
  width: 100%;
  height: auto;
  display:block;
}

.academy-login-gate__box{
  border:1px solid #ddd;
  background:#fff;
  padding: 16px;
}

.academy-login-gate__title{
  margin: 0 0 10px;
}

.academy-login-gate__text{
  opacity: .85;
  margin: 0 0 14px;
}

.academy-login-gate__hint{
  opacity:.75;
  margin-top: 12px;
  font-size: 13px;
}

@media (max-width: 980px){
  .academy-login-gate__grid{ grid-template-columns: 1fr; }
}
/* Academy accesso (gate illustrato) — refinement */
.academy-login-gate{
  background: #fff;
}

.academy-login-gate__grid{
  align-items: center;
}

.academy-login-gate__art{
  background: transparent;
  border: 0;
  padding: 0;
}

.academy-login-gate__img{
  background: transparent;
  display: block;
  width: 100%;
  height: auto;
}
/* Login form (wp_login_form) — alignment */
.academy-login-gate__box #loginform p{
  margin: 0 0 14px;
}

.academy-login-gate__box #loginform label{
  display: block;
  margin: 0 0 6px;
  opacity: .85;
}

.academy-login-gate__box #loginform input[type="text"],
.academy-login-gate__box #loginform input[type="password"],
.academy-login-gate__box #loginform input[type="email"]{
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #ddd;
  background: #fff;
}

.academy-login-gate__box #loginform .forgetmenot{
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
}

.academy-login-gate__box #loginform .forgetmenot label{
  margin: 0;
  display: inline;
}

.academy-login-gate__box #loginform .submit{
  margin: 0;
}

.academy-login-gate__box #loginform .button-primary{
  padding: 10px 14px;
  border: 1px solid #111;
  background: #111;
  color: #fff;
  cursor: pointer;
}
/* Gate login: compattazione box */
.academy-login-gate__box{
  padding: 14px;              /* prima era più arioso */
}

.academy-login-gate__title{
  margin: 0 0 8px;
  line-height: 1.05;
}

.academy-login-gate__text{
  margin: 0 0 12px;
  line-height: 1.35;
}

.academy-login-gate__hint{
  margin-top: 10px;
  line-height: 1.35;
}

/* Spaziatura form più compatta */
.academy-login-gate__box #loginform p{
  margin: 0 0 10px;
}

.academy-login-gate__box #loginform label{
  margin: 0 0 5px;
  line-height: 1.25;
}

.academy-login-gate__box #loginform input[type="text"],
.academy-login-gate__box #loginform input[type="password"],
.academy-login-gate__box #loginform input[type="email"]{
  padding: 9px 11px;
}

.academy-login-gate__box #loginform .forgetmenot{
  margin: 0 0 10px;
}
/* Pulsante disabilitato / già selezionato */
.academy-btn[disabled],
.academy-btn.is-disabled{
  background: #f0f0f0;
  color: #666;            /* 👈 più scuro */
  border-color: #ccc;
  opacity: 1;             /* 👈 NO opacity globale */
}
/* Card spacing refinement */
.academy-grid{
  gap: 22px; /* prima 18px */
}

.academy-card{
  padding: 14px; /* prima 12px */
}

.academy-card__title{
  margin-top: 12px;
  line-height: 1.25;
}

.academy-card__actions{
  margin-top: 12px;
}

/* Immagini: respiro e taglio più pulito */
.academy-card__thumb{
  background: #fff;
}
.academy-card__thumb img{
  border: 1px solid #eee;   /* micro cornice leggera */
}
.academy-badge{
  left: 12px;
  top: 12px;
  padding: 7px 10px;
  font-size: 14px;
}
.academy-item-meta{
  margin-top: 10px;
  opacity: .75;
}
.academy-item-single__cta-secondary{
  margin-top: 10px;
}

.academy-item-single__description--sidebar{
  margin-top: 16px;
  opacity: .95;
  line-height: 1.6;
}

.academy-item-single__used-projects{
  margin-top: 18px;
}

.academy-item-single__used-title{
  margin: 0 0 10px;
  font-size: 14px;
  opacity: .9;
}

.academy-item-single__used-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.academy-item-single__used-thumb{
  display: block;
}

.academy-item-single__used-thumb img{
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #eee;
}

.academy-item-single__used-thumb--empty{
  display:block;
  width:100%;
  padding-top:100%;
  border:1px solid #eee;
  background:#fafafa;
}

.academy-item-single__used-empty{
  opacity: .75;
  font-size: 13px;
}
.academy-item-single__used-card{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.academy-item-single__used-name{
  font-size: 12px;
  line-height: 1.2;
  opacity: .8;
  /* truncation su 2 righe */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* =======================================================
   Dashboard — verve
   ======================================================= */

.academy-dashboard-hero{
  border: 1px solid #eee;
  background: #fff;
  padding: 18px 16px;
  margin: 12px 0 14px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.academy-dashboard-hero__title{
  margin: 0 0 6px;
}

.academy-dashboard-hero__subtitle{
  margin: 0;
  opacity: .78;
  line-height: 1.5;
  max-width: 680px;
}

.academy-dashboard-hero__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.academy-btn--primary{
  background: #111;
  color: #fff;
}

.academy-btn--primary:hover{ opacity: .92; }

.academy-dashboard-stats{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 16px 0 24px;
}

.academy-dashboard-stat{
  border: 1px solid #eee;
  background: #fff;
  padding: 16px 14px;
}

.academy-dashboard-stat__num{
  font-size: 30px;
  line-height: 1;
  margin-bottom: 6px;
}

.academy-dashboard-stat__label{
  font-size: 13px;
  opacity: .75;
}

/* Tablet */
@media (max-width: 1100px){
  .academy-dashboard-stats{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 600px){
  .academy-dashboard-stats{
    grid-template-columns: 1fr;
  }
}
/* =======================================================
   My selection — verve
   ======================================================= */

.academy-selection-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin: 6px 0 18px;
  padding: 16px;
  border: 1px solid #eee;
  background: #fff;
  flex-wrap: wrap;
}

.academy-selection-hero__title{
  margin: 0 0 6px;
}

.academy-selection-hero__subtitle{
  margin: 0;
  opacity: .75;
  line-height: 1.5;
}

.academy-selection-hero__right{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.academy-selection-hero__count strong{
  font-size: 22px;
  line-height: 1;
  margin-right: 6px;
}

.academy-selection-hero__count span{
  opacity: .75;
  font-size: 13px;
}

.academy-btn--primary{
  background:#111;
  color:#fff;
}

.academy-btn--primary:hover{ opacity:.92; }

/* Messaggi: varianti */
.academy-gate-msg--error{
  border-style: solid;
  border-color: #111;
}

.academy-gate-msg--info{
  border-style: solid;
  border-color: #eee;
}

/* Form invio: pulizia */
.academy-selection-form input[type="text"],
.academy-selection-form input[type="date"],
.academy-selection-form textarea{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
/* Request view header (NO box: evita scatole concentriche) */
.academy-request-view__header{
  border: none;
  background: transparent;
  padding: 0;
  margin: 12px 0 16px;
}

.academy-request-view__headrow{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}

.academy-request-view__title{
  margin: 0;
}

.academy-request-view__meta{
  margin-top: 10px;
  display: grid;
  gap: 6px;
  opacity: .9;
}

.academy-request-view__section-title{
  margin: 0 0 10px;
}
/* Project submit */
.academy-project-submit-hero{ margin: 6px 0 14px; }
.academy-project-submit-hero__text{ opacity:.8; max-width: 760px; line-height: 1.5; }

.academy-info-box{
  border: 1px dashed #ddd;
  background: #fff;
  padding: 14px 14px;
  margin: 14px 0 18px;
}
.academy-info-box ul{ margin: 8px 0 0; padding-left: 18px; }
.academy-info-box li{ margin: 6px 0; }

.academy-form .academy-field{ margin: 0 0 14px; }
.academy-form input[type="text"],
.academy-form select,
.academy-form textarea{
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #ddd;
  background: #fff;
}

.academy-field-hint{
  display:block;
  margin-top: 6px;
  opacity: .75;
  font-size: 13px;
}

.academy-actions{ margin-top: 14px; }
/* ============================
   Fix effetto scatole concentriche
   ============================ */

/* wrapper principali: MAI box */
.academy-wrap,
.academy-dashboard,
.academy-request-view{
  border: none;
  background: transparent;
}

/* header richiesta: deve respirare */
.academy-request-view__header{
  border: none;
  background: transparent;
  padding: 0;
}
/* =======================================================
   Profile edit — layout (compila profilo)
   ======================================================= */

.academy-profile-edit-form{
  margin-top: 14px;
}

.academy-profile-edit-grid{
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 22px;
  align-items: start;
}

.academy-profile-edit-section-title{
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 600;
}

.academy-profile-edit__avatar{
  width: 100%;
  max-width: 220px;
  height: auto;
  display: block;
  border: 1px solid #eee;
  background: #fff;
}

.academy-textarea{
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #ddd;
  background: #fff;
  min-height: 220px;
  resize: vertical;
}

.academy-profile-edit-actions{
  margin-top: 12px;
}

/* Mobile */
@media (max-width: 980px){
  .academy-profile-edit-grid{
    grid-template-columns: 1fr;
  }
  .academy-profile-edit__avatar{
    max-width: 180px;
  }
}
/* =======================================================
   Academy Filters — più curati (solo /academy/capi/)
   Scope: .academy-filters
   ======================================================= */

.academy-filters{
  margin: 14px 0 22px;
}

.academy-filters__row{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
}

/* “chip” / campi */
.academy-filters select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  padding: 10px 38px 10px 12px;  /* spazio freccia */
  border: 1px solid #dcdcdc;
  background: #fff;
  font-size: 14px;
  line-height: 1.2;
  border-radius: 6px;
  min-width: 190px;
  box-sizing: border-box;

  /* freccia custom (SVG inline) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 14px 14px;
}

.academy-filters select:focus{
  outline: none;
  border-color: #111;
}

/* Checkbox “Solo disponibili” */
.academy-filters__row label{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  opacity: .9;
}

.academy-filters input[type="checkbox"]{
  width: 18px;
  height: 18px;
  border: 1px solid #111;
  border-radius: 4px;
  accent-color: #111; /* moderno, pulito */
}

/* Bottoni Filtra / Reset */
.academy-filters .academy-btn{
  padding: 10px 14px;
  border-radius: 6px;
}

.academy-filters .academy-btn[type="submit"]{
  background: #111;
  color: #fff;
}

.academy-filters .academy-btn[type="submit"]:hover{
  opacity: .92;
}

.academy-filters .academy-btn:not([type="submit"]){
  background: #fff;
}

/* Responsive */
@media (max-width: 980px){
  .academy-filters select{
    min-width: 160px;
  }
}

@media (max-width: 600px){
  .academy-filters__row{
    gap: 10px;
  }
  .academy-filters select{
    width: 100%;
    min-width: 0;
  }
  .academy-filters .academy-btn{
    width: 100%;
    text-align: center;
  }
}
/* My selection — form refinement (force over Divi) */
.academy-selection .academy-selection-form{
  border: 1px solid #eee;
  background: #fff;
  padding: 18px 16px;
  margin-top: 22px;
}

.academy-selection .academy-selection-form p{
  margin: 0 0 16px;
}

.academy-selection .academy-selection-form label{
  display: block;
  font-size: 14px;
  margin-bottom: 6px;
  opacity: .8;
}

.academy-selection .academy-selection-form input[type="text"],
.academy-selection .academy-selection-form input[type="date"],
.academy-selection .academy-selection-form textarea{
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 11px 12px !important;
  border: 1px solid #ddd !important;
  background: #fff !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.academy-selection .academy-selection-form textarea{
  resize: vertical;
  min-height: 90px;
}

.academy-selection .academy-selection-form input:focus,
.academy-selection .academy-selection-form textarea:focus{
  outline: none !important;
  border-color: #111 !important;
}

.academy-selection .academy-date-range{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.academy-selection .academy-date-range input[type="date"]{
  flex: 1;
  min-width: 160px;
}

.academy-selection .academy-date-range__sep{
  opacity: .6;
  font-size: 16px;
}

@media (max-width: 600px){
  .academy-selection .academy-date-range{
    flex-direction: column;
    align-items: stretch;
  }
}
/* =======================================================
   Verve select — solo pagina Carica progetto
   (Richiesta collegata)
   ======================================================= */

.academy-project-submit .academy-select--verve{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  width: 100%;
  padding: 12px 44px 12px 12px;
  border: 1px solid #ddd;
  background: #fff;

  font-size: 14px;
  line-height: 1.2;
  border-radius: 6px;

  /* freccia custom */
  background-image:
    linear-gradient(45deg, transparent 50%, #111 50%),
    linear-gradient(135deg, #111 50%, transparent 50%),
    linear-gradient(to right, transparent, transparent);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%,
    0 0;
  background-size:
    6px 6px,
    6px 6px,
    100% 100%;
  background-repeat: no-repeat;
}

.academy-project-submit .academy-select--verve:focus{
  outline: none;
  border-color: #111;
}

.academy-project-submit .academy-select--verve option{
  color: #111;
}

/* (facoltativo) placeholder disabled più elegante */
.academy-project-submit .academy-select--verve option[disabled]{
  color: #777;
}