/* Tattoo studio — dark premium theme */
:root{
  --tm-bg:#0b0b0d;
  --tm-ink:#f5f0e8;
  --tm-muted:#a8a29a;
  --tm-gold:#c9a24b;
  --tm-gold-ink:#0b0b0d;
  --tm-card-bg:rgba(255,255,255,0.04);
  --tm-card-border:rgba(255,255,255,0.08);
}

body, body.elementor-page{
  background:var(--tm-bg) !important;
  color:var(--tm-ink);
  font-family:'Helvetica Neue',Arial,sans-serif;
}
a{ color:var(--tm-gold); }

/* generic heading tag styling (Elementor renders header_size as the real tag) */
h1.elementor-heading-title{ color:var(--tm-ink) !important; font-size:clamp(34px,6vw,64px) !important; font-weight:800 !important; line-height:1.1 !important; max-width:16ch; margin:0 auto; }
h2.elementor-heading-title{ color:var(--tm-ink) !important; font-size:clamp(26px,4vw,40px) !important; font-weight:800 !important; }
h3.elementor-heading-title{ color:var(--tm-gold) !important; font-size:18px !important; font-weight:700 !important; margin-bottom:4px; }
.elementor-widget-text-editor p{ color:var(--tm-muted) !important; font-size:15px; line-height:1.6; }

/* nav */
.tm-nav{ position:sticky; top:0; z-index:999; backdrop-filter:blur(10px); border-bottom:1px solid var(--tm-card-border); }
.tm-nav div.elementor-heading-title{ color:var(--tm-ink) !important; font-weight:700; letter-spacing:.08em; font-size:16px !important; }
.tm-nav .elementor-widget-text-editor a{ color:var(--tm-muted) !important; text-decoration:none; margin-left:28px; font-size:14px; transition:color .2s ease; }
.tm-nav .elementor-widget-text-editor a:hover{ color:var(--tm-gold) !important; }
.tm-nav .elementor-widget-text-editor p{ margin:0; }

/* hero */
.tm-hero div.elementor-heading-title{ color:var(--tm-gold) !important; letter-spacing:.18em; font-size:13px !important; text-transform:uppercase; font-weight:600 !important; }
.elementor-element-hero0004 p{ color:var(--tm-muted) !important; font-size:18px; max-width:52ch; margin:0 auto; }
.elementor-element-hero0008 p{ color:var(--tm-muted) !important; font-size:13px; letter-spacing:.02em; opacity:.8; margin-top:20px; }

/* buttons */
.elementor-element-hero0006 .elementor-button,
.elementor-element-cont0005 .elementor-button{
  background:var(--tm-gold) !important; color:var(--tm-gold-ink) !important; font-weight:700 !important; border-radius:999px !important;
  padding:16px 34px !important; transition:transform .2s ease, box-shadow .2s ease; border:none !important;
}
.elementor-element-hero0006 .elementor-button:hover,
.elementor-element-cont0005 .elementor-button:hover{ transform:translateY(-2px); box-shadow:0 10px 30px -8px rgba(201,162,75,.55); }
.elementor-element-hero0007 .elementor-button{
  background:transparent !important; color:var(--tm-ink) !important; border:1px solid var(--tm-card-border) !important; border-radius:999px !important; padding:16px 34px !important;
  transition:border-color .2s ease, color .2s ease;
}
.elementor-element-hero0007 .elementor-button:hover{ border-color:var(--tm-gold) !important; color:var(--tm-gold) !important; }

/* sections & text helpers */
.tm-section{ }
.tm-center{ text-align:center; }
.elementor-element-port0003 p{ color:var(--tm-muted); font-size:14px; letter-spacing:.04em; text-align:center; }
.elementor-element-port0005 p{ color:var(--tm-muted); font-size:13px; opacity:.7; text-align:center; margin-top:10px; }
.elementor-element-calc0003 p{ text-align:center; color:var(--tm-muted); }

/* cards */
.tm-card{
  background:var(--tm-card-bg); border:1px solid var(--tm-card-border); border-radius:16px;
  backdrop-filter:blur(6px); transition:transform .25s ease, border-color .25s ease, background .25s ease;
}
.tm-card:hover{ transform:translateY(-4px); border-color:rgba(201,162,75,.4); background:rgba(255,255,255,.06); }

.tm-photo-card{ background:linear-gradient(135deg, rgba(201,162,75,.12), rgba(255,255,255,.03)); flex:0 1 calc(33.333% - 16px) !important; max-width:calc(33.333% - 16px) !important; min-width:260px; }
.tm-grid-3{ flex:0 1 calc(33.333% - 16px) !important; max-width:calc(33.333% - 16px) !important; min-width:260px; }
.tm-grid-2{ flex:0 1 calc(50% - 30px) !important; max-width:calc(50% - 30px) !important; min-width:300px; }
.tm-form-wrap, .tm-narrow{ max-width:640px !important; width:100% !important; margin-left:auto !important; margin-right:auto !important; }
.tm-photo-card div.elementor-heading-title{ color:var(--tm-muted) !important; font-size:14px !important; letter-spacing:.05em; font-weight:400 !important; }

.tm-card div.elementor-heading-title{ color:var(--tm-gold) !important; font-size:14px !important; margin-top:8px; font-weight:600 !important; }

/* form */
.tm-form-wrap .wpcf7-form p{ margin-bottom:14px; }
.tm-form-wrap .wpcf7-form-control{
  width:100%; background:rgba(255,255,255,.05); border:1px solid var(--tm-card-border); border-radius:10px;
  color:var(--tm-ink); padding:13px 16px; font-size:14.5px;
}
.tm-form-wrap select.wpcf7-form-control{ appearance:none; }
.tm-form-wrap .wpcf7-form-control::placeholder{ color:var(--tm-muted); }
.tm-form-wrap input[type="submit"]{
  width:auto; background:var(--tm-gold); color:var(--tm-gold-ink); font-weight:700; border:none; border-radius:999px;
  padding:15px 34px; cursor:pointer; transition:transform .2s ease;
}
.tm-form-wrap input[type="submit"]:hover{ transform:translateY(-2px); }
.tm-form-wrap .wpcf7-response-output{ border-radius:10px; color:var(--tm-ink); border-color:var(--tm-card-border) !important; margin-top:14px; }

.tm-map-placeholder{ background:repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 10px, rgba(255,255,255,.015) 10px 20px); }

/* accordion (native Elementor classes, always present) */
.elementor-accordion .elementor-tab-title{
  background:var(--tm-card-bg) !important; border:1px solid var(--tm-card-border) !important; border-radius:10px !important;
  color:var(--tm-ink) !important; margin-bottom:10px; padding:16px 20px !important;
}
.elementor-accordion .elementor-tab-title.elementor-active{ border-color:rgba(201,162,75,.4) !important; }
.elementor-accordion .elementor-tab-content{
  background:transparent !important; color:var(--tm-muted) !important; border:none !important; padding:6px 20px 18px !important;
}
.elementor-icon-list-items .elementor-icon-list-item{ color:var(--tm-muted); padding:6px 0; }
.elementor-icon-list-item .elementor-icon-list-text{ color:var(--tm-muted) !important; }
.elementor-icon-list-icon i, .elementor-icon-list-icon svg{ color:var(--tm-gold) !important; fill:var(--tm-gold) !important; }
.elementor-tab-title .elementor-accordion-icon i{ color:var(--tm-gold) !important; }
.elementor-tab-title.elementor-active .elementor-accordion-icon i{ color:var(--tm-gold) !important; }

/* footer */
.tm-footer{ border-top:1px solid var(--tm-card-border); }
.tm-footer .elementor-widget-text-editor p{ color:var(--tm-muted); font-size:13px; opacity:.7; text-align:center; }

@media (max-width:768px){
  .tm-nav .elementor-widget-text-editor{ display:none; }
  .tm-card, .tm-photo-card, .tm-grid-2, .tm-grid-3, .tm-form-wrap{ max-width:100% !important; flex-basis:100% !important; }
}
