/* ==========================================================================
   24K Studios — components
   ========================================================================== */

/* ---------- layout ---------- */
.k24-container{max-width:var(--k24-container);margin-inline:auto;padding-inline:var(--k24-s3)}
.k24-prose{max-width:var(--k24-prose)}
.k24-section{padding-block:var(--k24-section)}
.k24-section--light{background:#F7F5F1;color:#16161A}
.k24-section--light h1,.k24-section--light h2,.k24-section--light h3{color:#16161A}
.k24-section--light a{color:#6B5310}

/* ---------- buttons ---------- */
.k24-btn,.wp-block-button__link,.button,button,input[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--k24-s1);
  min-height:48px;padding:14px 28px;                 /* 48px clears the 44px tap-target floor */
  font-family:var(--k24-font-display);font-weight:600;font-size:1rem;letter-spacing:.01em;
  border-radius:var(--k24-radius);border:1px solid transparent;cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
  text-decoration:none;
}
.k24-btn--primary,.wp-block-button__link,.button.alt,input[type=submit]{
  background:var(--k24-gold);color:var(--k24-base);border-color:var(--k24-gold);
}
.k24-btn--primary:hover,.wp-block-button__link:hover,.button.alt:hover,input[type=submit]:hover{
  background:var(--k24-gold-hi);border-color:var(--k24-gold-hi);color:var(--k24-base);transform:translateY(-1px);
}
.k24-btn--primary:active{background:var(--k24-gold-dim)}
.k24-btn--ghost{background:transparent;color:var(--k24-text);border-color:var(--k24-hairline)}
.k24-btn--ghost:hover{border-color:var(--k24-gold);color:var(--k24-gold-hi)}

/* ---------- cards ---------- */
.k24-card{
  background:var(--k24-surface-1);border:1px solid var(--k24-hairline);
  border-radius:var(--k24-radius);padding:var(--k24-s4);
  transition:background-color .2s ease,border-color .2s ease;
}
.k24-card:hover{background:var(--k24-surface-2);border-color:var(--k24-gold-dim)}
.k24-card__meta{color:var(--k24-text-muted);font-size:.9375rem}
.k24-price{font-family:var(--k24-font-display);font-weight:700;color:var(--k24-gold);font-size:1.5rem}

/* ---------- hero ---------- */
.k24-hero{position:relative;min-height:min(78vh,720px);display:flex;align-items:flex-end;
  aspect-ratio:16/9;overflow:hidden;background:var(--k24-surface-1)}
.k24-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.k24-hero::after{content:"";position:absolute;inset:0;background:var(--k24-scrim)}
.k24-hero__inner{position:relative;z-index:1;padding:var(--k24-s6) var(--k24-s3);width:100%;
  max-width:var(--k24-container);margin-inline:auto}
.k24-hero__kicker{font-family:var(--k24-font-display);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;font-size:.8125rem;color:var(--k24-gold)}
@media (max-width:768px){.k24-hero{aspect-ratio:4/5;min-height:60vh}}

/* ---------- forms ---------- */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],
input[type=password],input[type=search],select,textarea{
  background:var(--k24-surface-1);color:var(--k24-text);
  border:1px solid var(--k24-hairline);border-radius:var(--k24-radius);
  padding:12px 14px;min-height:48px;font-family:var(--k24-font-body);font-size:1rem;width:100%;
}
input:focus,select:focus,textarea:focus{border-color:var(--k24-gold);outline:2px solid var(--k24-gold-hi);outline-offset:1px}
::placeholder{color:var(--k24-text-muted);opacity:1}
label{display:block;margin-bottom:6px;font-weight:600;font-size:.9375rem}

/* ---------- header / nav ---------- */
.site-header,#masthead{background:var(--k24-base);border-bottom:1px solid var(--k24-hairline)}
.main-navigation a{font-family:var(--k24-font-display);font-weight:600;letter-spacing:.02em;
  text-transform:uppercase;font-size:.875rem;color:var(--k24-text)}
.main-navigation a:hover,.main-navigation .current-menu-item>a{color:var(--k24-gold)}

/* ---------- footer ---------- */
.site-footer,#colophon{background:var(--k24-surface-1);border-top:1px solid var(--k24-hairline);
  color:var(--k24-text-muted)}
.site-footer a{color:var(--k24-text)}
.site-footer a:hover{color:var(--k24-gold)}

/* ---------- WooCommerce ---------- */
.woocommerce .price,.woocommerce-Price-amount{color:var(--k24-gold);font-family:var(--k24-font-display);font-weight:700}
.woocommerce ul.products li.product{background:var(--k24-surface-1);border:1px solid var(--k24-hairline);
  border-radius:var(--k24-radius);padding:var(--k24-s2)}
.woocommerce-message,.woocommerce-info{background:var(--k24-surface-1);border-top-color:var(--k24-gold);color:var(--k24-text)}
.woocommerce-error{background:var(--k24-surface-1);border-top-color:var(--k24-danger);color:var(--k24-text)}
.woocommerce table.shop_table{background:var(--k24-surface-1);border-color:var(--k24-hairline)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--k24-hairline);color:var(--k24-text)}

/* The deposit line — customers must see what they pay now vs at the studio. */
.k24-deposit-line{display:flex;justify-content:space-between;gap:var(--k24-s2);
  padding:var(--k24-s2) 0;border-top:1px solid var(--k24-hairline)}
.k24-deposit-line--balance{color:var(--k24-text-muted)}
.k24-deposit-line--now{color:var(--k24-gold);font-weight:700;font-size:1.125rem}

/* ---------- utilities ---------- */
.k24-muted{color:var(--k24-text-muted)}
.k24-gold{color:var(--k24-gold)}
.k24-stack>*+*{margin-top:var(--k24-s3)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:99999;width:auto;height:auto;clip:auto;
  padding:12px 20px;background:var(--k24-gold);color:var(--k24-base);font-weight:600}
