/* ============================================================
   Almas Brand Kit — brand stylesheet
   Colours taken from the Almas logo (wine #A21D4F + charcoal).
   Edit the variables below to recolour the whole site.
   ============================================================ */
:root{
  --alm-wine:#A21D4F;
  --alm-wine-deep:#7A1640;
  --alm-wine-bright:#C12A62;
  --alm-plum:#1C0E15;
  --alm-plum2:#2A141F;
  --alm-ink:#191317;
  --alm-char:#636363;
  --alm-paper:#FBF8F9;
  --alm-mist:#F7EDF1;
  --alm-mist2:#EFDCE4;
  --alm-line:#EAE2E6;
  --alm-disp:'Bricolage Grotesque',sans-serif;
  --alm-body:'Instrument Sans',sans-serif;
  --alm-mono:'Space Mono',monospace;
}

/* ---- helper classes usable in Elementor "CSS Classes" field ---- */
.alm-eyebrow .elementor-heading-title,
.alm-eyebrow{font-family:var(--alm-mono)!important;font-size:12px!important;letter-spacing:.18em;text-transform:uppercase;color:var(--alm-wine)!important;display:inline-flex;align-items:center;gap:10px}
.alm-eyebrow .elementor-heading-title::before,
.alm-eyebrow::before{content:"";width:26px;height:1px;background:var(--alm-wine);display:inline-block}
.alm-eyebrow-light .elementor-heading-title{color:#E6A9C0!important}
.alm-eyebrow-light .elementor-heading-title::before{background:var(--alm-wine-bright)}

.alm-display .elementor-heading-title{font-family:var(--alm-disp)!important}
.alm-hl{color:var(--alm-wine-bright);font-style:italic}

/* chips (used inside a Text Editor widget) */
.alm-chip{display:inline-block;font-family:var(--alm-mono);font-size:12px;color:#e0cdd5;border:1px solid rgba(255,255,255,.16);padding:7px 14px;border-radius:100px;background:rgba(255,255,255,.04);margin:0 6px 8px 0}
.alm-tag{display:inline-block;font-family:var(--alm-mono);font-size:12px;background:var(--alm-mist);color:var(--alm-wine-deep);padding:7px 14px;border-radius:100px;border:1px solid var(--alm-mist2);margin:0 6px 8px 0}

/* counter accent (add class alm-counter to a Counter widget) */
.alm-counter .elementor-counter-number-wrapper{justify-content:flex-start;font-family:var(--alm-mono)!important;color:var(--alm-wine-deep)}
.alm-counter{border-left:2px solid var(--alm-wine);padding-left:22px}
.alm-counter .elementor-counter-title{text-align:left!important}

/* ---- shortcode: value cards [almas_values] ---- */
.alm-values{display:grid;grid-template-columns:repeat(4,1fr)}
.alm-values .c{padding:34px 26px;border-right:1px solid rgba(255,255,255,.14)}
.alm-values .c:last-child{border-right:0}
.alm-values .n{font-family:var(--alm-mono);font-size:13px;color:#edb9cd;letter-spacing:.1em}
.alm-values h3{font-family:var(--alm-disp);font-size:1.18rem;margin:14px 0 8px;color:#fff;font-weight:600}
.alm-values p{font-family:var(--alm-body);font-size:.92rem;color:#e7c9d4;line-height:1.5;margin:0}

/* ---- shortcode: courses [almas_courses] ---- */
.alm-courses-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.alm-course{position:relative;border-radius:16px;overflow:hidden;background:var(--alm-plum2);border:1px solid rgba(255,255,255,.08);min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;transition:transform .35s}
.alm-course img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s}
.alm-course::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(28,14,21,.05),rgba(28,14,21,.5) 45%,rgba(28,14,21,.95))}
.alm-course:hover{transform:translateY(-6px)}
.alm-course:hover img{transform:scale(1.07)}
.alm-course .b{padding:22px}
.alm-course .ty{font-family:var(--alm-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#E6A9C0}
.alm-course h3{font-family:var(--alm-disp);color:#fff;font-size:1.18rem;margin:10px 0 14px;font-weight:600;line-height:1.18}
.alm-course .lk{font-family:var(--alm-mono);font-size:12px;color:#fff;opacity:.85}
.alm-course:hover .lk{color:var(--alm-wine-bright);opacity:1}

/* ---- shortcode: events [almas_events] ---- */
.alm-ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.alm-ev{background:#fff;border:1px solid var(--alm-line);border-radius:18px;overflow:hidden;transition:.3s;display:block}
.alm-ev:hover{transform:translateY(-5px);box-shadow:0 26px 50px -32px rgba(162,29,79,.35)}
.alm-ev .th{aspect-ratio:16/10;overflow:hidden}
.alm-ev .th img{width:100%;height:100%;object-fit:cover;transition:.5s}
.alm-ev:hover .th img{transform:scale(1.06)}
.alm-ev .b{padding:22px}
.alm-ev .ct{font-family:var(--alm-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--alm-wine)}
.alm-ev h3{font-family:var(--alm-disp);font-size:1.18rem;margin:10px 0 14px;font-weight:600;color:var(--alm-ink)}
.alm-ev .lk{font-family:var(--alm-mono);font-size:12px;color:var(--alm-wine)}

/* ---- shortcode: gallery marquee [almas_gallery] ---- */
.alm-gallery{overflow:hidden}
.alm-gal{display:flex;gap:16px;width:max-content;animation:almslide 38s linear infinite}
.alm-gallery:hover .alm-gal{animation-play-state:paused}
.alm-gal img{height:300px;width:auto;border-radius:14px;object-fit:cover;border:1px solid rgba(255,255,255,.1)}
@keyframes almslide{to{transform:translateX(-50%)}}

/* ---- shortcode: ECG line [almas_ecg] ---- */
.alm-ecg{display:block;width:100%;height:110px;opacity:.95;pointer-events:none}
.alm-ecg path{fill:none;stroke:var(--alm-wine-bright);stroke-width:2.4;filter:drop-shadow(0 0 6px rgba(193,42,98,.6));stroke-dasharray:1600;stroke-dashoffset:1600;animation:almtrace 4.2s linear infinite}
@keyframes almtrace{to{stroke-dashoffset:0}}

/* ---- shortcode: app card [almas_app] ---- */
.alm-app{background:var(--alm-wine-deep);color:#fff;border-radius:18px;padding:34px;background-image:radial-gradient(500px 300px at 100% 0,rgba(193,42,98,.32),transparent 60%)}
.alm-app .ey{font-family:var(--alm-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#edb9cd}
.alm-app h3{font-family:var(--alm-disp);font-size:1.6rem;color:#fff;margin:14px 0 10px}
.alm-app p{font-family:var(--alm-body);color:#e3c6d1;margin:0 0 22px}
.alm-stores{display:flex;gap:12px;flex-wrap:wrap}
.alm-store{display:flex;flex-direction:column;gap:2px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);padding:11px 16px;border-radius:12px;transition:.25s;color:#fff}
.alm-store:hover{background:rgba(255,255,255,.18)}
.alm-store b{font-family:var(--alm-disp);font-size:15px;font-weight:600}
.alm-store span{font-family:var(--alm-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.8}

/* responsive */
@media(max-width:980px){
  .alm-values{grid-template-columns:1fr 1fr}
  .alm-courses-grid{grid-template-columns:repeat(2,1fr)}
  .alm-ev-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .alm-values{grid-template-columns:1fr}
  .alm-courses-grid{grid-template-columns:1fr}
  .alm-ev-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.alm-gal,.alm-ecg path{animation:none!important}}
