/* ============================================================
   Meliá × The Hangart — add-on styles (brand foundation = style.css)
   ============================================================ */
:root{
  --terra:#ae4b1e; --terra-deep:#7d3414; --cream:#f8f4eb; --cream-warm:#f1e9d8;
  --ink:#2b1810; --ink-soft:#6a5a4a; --line:#e0d4c0;
}

/* co-brand tag next to logo */
.brand{display:flex;align-items:center;gap:12px}
.brand__co{font-family:var(--sans,'Outfit',sans-serif);font-size:.72rem;letter-spacing:.06em;
  color:var(--ink-soft);white-space:nowrap;opacity:.85;padding-left:12px;border-left:1px solid var(--line)}
@media (max-width:600px){.brand__co{display:none}}

/* index — five ways grid */
.idx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,20px);margin-top:34px}
.idx-card{position:relative;display:block;border-radius:4px;overflow:hidden;aspect-ratio:3/4;background:var(--cream-warm)}
.idx-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.idx-card:hover img{transform:scale(1.05)}
.idx-card__t{position:absolute;left:16px;bottom:14px;color:#fff;font-family:var(--serif,'Cormorant Garamond',serif);
  font-size:clamp(1.1rem,1.8vw,1.6rem);text-shadow:0 2px 20px rgba(0,0,0,.5);z-index:2}
.idx-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(43,24,16,.6),transparent 55%);z-index:1}
@media (max-width:820px){.idx-grid{grid-template-columns:repeat(2,1fr)}}

/* workshops grid */
.ws-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,24px)}
.ws-card{border-radius:4px;overflow:hidden;background:var(--cream-warm);position:relative}
.ws-card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.ws-card:hover img{transform:scale(1.05)}
.ws-card__b{padding:16px 18px}
.ws-card__b h4{font-family:var(--serif,'Cormorant Garamond',serif);font-size:1.25rem;color:var(--ink)}
@media (max-width:980px){.ws-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:680px){.ws-grid{grid-template-columns:repeat(2,1fr)}}

/* spaces gallery */
.sp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(10px,1.4vw,18px)}
.sp-item{border-radius:4px;overflow:hidden;background:var(--cream-warm)}
.sp-item:nth-child(1){grid-column:span 4;aspect-ratio:16/10}
.sp-item:nth-child(2){grid-column:span 2;aspect-ratio:3/4}
.sp-item:nth-child(3){grid-column:span 2;aspect-ratio:3/4}
.sp-item:nth-child(4){grid-column:span 2;aspect-ratio:1/1}
.sp-item:nth-child(5){grid-column:span 2;aspect-ratio:1/1}
.sp-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.sp-item:hover img{transform:scale(1.04)}
@media (max-width:820px){.sp-grid{grid-template-columns:repeat(2,1fr)}
  .sp-item,.sp-item:nth-child(n){grid-column:span 1;aspect-ratio:4/3}}

/* footer add-ons */
.footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.footer__col h5{font-family:var(--sans,'Outfit',sans-serif);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--terra);margin-bottom:14px;opacity:.9}
.footer__col a,.footer__addr{display:block;color:rgba(248,244,235,.82);font-size:.92rem;line-height:1.9;text-decoration:none}
.footer__col a:hover{color:#fff}
.footer__logo{height:52px;width:auto;margin-bottom:16px}
.footer__tag{max-width:34ch;color:rgba(248,244,235,.75);font-size:.95rem;line-height:1.7}
.footer__by{color:rgba(248,244,235,.6)}
@media (max-width:820px){.footer__cols{grid-template-columns:1fr 1fr;gap:24px}}
@media (max-width:520px){.footer__cols{grid-template-columns:1fr}}

/* cta inner */
.cta__inner{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}

/* ============================================================
   LOGIN + DASHBOARD (internal)
   ============================================================ */
.auth{min-height:100vh;display:grid;place-items:center;background:var(--cream);padding:24px}
.auth__card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:38px 34px;box-shadow:0 30px 80px -50px rgba(43,24,16,.4)}
.auth__logo{height:44px;margin-bottom:20px}
.auth__eyebrow{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);font-weight:600}
.auth__title{font-family:var(--serif,'Cormorant Garamond',serif);font-size:1.9rem;color:var(--ink);margin:6px 0 4px}
.auth__lead{font-size:.92rem;color:var(--ink-soft);line-height:1.6;margin-bottom:22px}
.auth label{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--terra);margin-bottom:7px;font-weight:600}
.auth input{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--cream);
  font-family:inherit;font-size:1rem;color:var(--ink);letter-spacing:.02em}
.auth input:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px rgba(174,75,30,.12)}
.auth input.code{text-align:center;font-size:1.6rem;letter-spacing:.5em;font-family:var(--serif,serif)}
.auth__btn{width:100%;margin-top:18px;padding:14px;border-radius:46px;background:var(--terra);color:var(--cream);
  font-family:inherit;font-weight:500;font-size:.95rem;letter-spacing:.02em;cursor:pointer;border:none;transition:background .3s}
.auth__btn:hover{background:var(--terra-deep)}
.auth__btn:disabled{opacity:.5;cursor:default}
.auth__msg{margin-top:14px;font-size:.86rem;color:var(--ink-soft);min-height:20px;text-align:center}
.auth__msg.err{color:#b23b2e}
.auth__hint{margin-top:18px;font-size:.76rem;color:var(--ink-soft);text-align:center;line-height:1.6}
.auth__back{background:none;border:none;color:var(--terra);cursor:pointer;font-family:inherit;font-size:.82rem;margin-top:10px;text-decoration:underline}

/* dashboard */
.dash{min-height:100vh;background:var(--cream)}
.dash__bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px clamp(18px,4vw,44px);
  background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;flex-wrap:wrap}
.dash__brand{display:flex;align-items:center;gap:12px}
.dash__brand img{height:34px}
.dash__brand b{font-family:var(--serif,serif);font-size:1.05rem;color:var(--ink);font-weight:500}
.dash__who{font-size:.82rem;color:var(--ink-soft)}
.dash__who b{color:var(--terra)}
.dash__logout{background:none;border:1px solid var(--line);border-radius:40px;padding:8px 18px;font-family:inherit;
  font-size:.82rem;color:var(--ink);cursor:pointer}
.dash__logout:hover{border-color:var(--terra);color:var(--terra)}
.dash__main{padding:clamp(20px,4vw,44px);max-width:1400px;margin:0 auto}
.dash__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.dash__title{font-family:var(--serif,serif);font-size:clamp(1.8rem,3vw,2.6rem);color:var(--ink)}
.dash__tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
/* search — brand-styled: underline field, no chunky box */
.dash__searchwrap{position:relative;display:inline-flex;align-items:center}
.dash__searchwrap::before{content:"";position:absolute;left:2px;width:13px;height:13px;border:1.5px solid var(--ink-soft);
  border-radius:50%;opacity:.55;pointer-events:none}
.dash__searchwrap::after{content:"";position:absolute;left:13px;top:calc(50% + 4px);width:7px;height:1.5px;
  background:var(--ink-soft);transform:rotate(45deg);opacity:.55;pointer-events:none}
.dash__search{border:none;border-bottom:1px solid var(--line);border-radius:0;background:transparent;
  padding:9px 4px 9px 26px;font-family:inherit;font-size:.9rem;color:var(--ink);min-width:250px;
  letter-spacing:.01em;transition:border-color .4s var(--ease,ease)}
.dash__search::placeholder{color:var(--ink-soft);opacity:.6}
.dash__search:focus{outline:none;border-bottom-color:var(--terra)}
.dash__searchwrap:focus-within::before,.dash__searchwrap:focus-within::after{border-color:var(--terra);background:var(--terra);opacity:1}
.dash__searchwrap:focus-within::before{background:transparent}
.dash__filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.dash__chip{border:1px solid var(--line);background:#fff;border-radius:40px;padding:8px 16px;font-family:inherit;
  font-size:.82rem;color:var(--ink-soft);cursor:pointer;transition:.2s}
.dash__chip.on{background:var(--terra);color:var(--cream);border-color:var(--terra)}
.dash__stat{font-size:.86rem;color:var(--ink-soft)}
.dash__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.enq{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.enq__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.enq__name{font-family:var(--serif,serif);font-size:1.3rem;color:var(--ink)}
.enq__date{font-size:.74rem;color:var(--ink-soft);white-space:nowrap}
.enq__row{font-size:.9rem;color:var(--ink);display:flex;gap:8px}
.enq__row span:first-child{color:var(--ink-soft);min-width:72px}
.enq__notes{font-size:.88rem;color:var(--ink-soft);background:var(--cream);border-radius:8px;padding:10px 12px;line-height:1.5}
.enq__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;flex-wrap:wrap}
.enq__status{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:40px;font-weight:600}
.st-new{background:#fdecec;color:#b23b2e}
.st-in_progress{background:#fbf0e2;color:#ae4b1e}
.st-contacted{background:#eef3e6;color:#5a7d2e}
.st-closed{background:#eee7db;color:#8a7a6a}
.enq select{border:1px solid var(--line);border-radius:40px;padding:6px 12px;font-family:inherit;font-size:.8rem;color:var(--ink);background:var(--cream);cursor:pointer}
.enq a.enq__contact{color:var(--terra);text-decoration:none;font-size:.86rem}
.dash__empty{text-align:center;color:var(--ink-soft);padding:80px 20px;font-size:1rem}
.dash__loading{text-align:center;color:var(--ink-soft);padding:80px 20px}

/* ============ Dashboard — brand entrance animations (maximised) ============ */
@keyframes dashUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes dashFade{from{opacity:0}to{opacity:1}}
.dash__bar{animation:dashFade .5s ease both}
.dash__brand{animation:dashUp .6s cubic-bezier(.2,.8,.2,1) both}
.dash__title{animation:dashUp .75s .05s cubic-bezier(.2,.8,.2,1) both}
.dash__stat{animation:dashUp .75s .12s cubic-bezier(.2,.8,.2,1) both}
.dash__tools{animation:dashUp .75s .16s cubic-bezier(.2,.8,.2,1) both}
.dash__filters{animation:dashUp .75s .2s cubic-bezier(.2,.8,.2,1) both}
.enq{animation:dashUp .55s cubic-bezier(.2,.8,.2,1) both;
  transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, border-color .45s ease}
.enq:hover{transform:translateY(-4px);box-shadow:0 22px 48px -30px rgba(43,24,16,.45);border-color:rgba(174,75,30,.35)}
.enq__name{transition:color .35s ease}
.enq:hover .enq__name{color:var(--terra)}
.dash__chip{transition:all .3s cubic-bezier(.2,.8,.2,1)}
.dash__chip:hover{border-color:var(--terra);color:var(--terra)}
.dash__chip.on:hover{color:var(--cream)}
.dash__search{transition:box-shadow .3s ease,border-color .3s ease}
.dash__logout{transition:all .3s ease}
.enq select,.enq__contact{transition:all .3s ease}
@media (prefers-reduced-motion:reduce){
  .dash__bar,.dash__brand,.dash__title,.dash__stat,.dash__tools,.dash__filters,.enq{animation:none}
}
