/* =====================================================================
   Antra — Elementor Widget Overrides
   Enqueued after style.css so it can safely target Elementor's own
   widget markup (.elementor-widget-*) and align it with the Antra
   design system. Mirrors the "Elementor → Custom CSS" block from the
   master plan, shipped as a real stylesheet instead so it survives a
   theme update / doesn't rely on per-site manual paste.
   ===================================================================== */

/* Global typography inside Elementor widgets */
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3{
  font-family: var(--font-heading);
  color: var(--color-heading);
}
.elementor-widget-text-editor{
  font-family: var(--font-body);
  color: var(--color-text-gray);
  line-height: 1.7;
}

/* Card-style widgets */
.elementor-widget-icon-box .elementor-icon-box-wrapper{
  background:#fff;
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-card);
  padding:2rem;
  transition:transform .3s ease, box-shadow .3s ease;
}
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper{
  transform:translateY(-8px);
  box-shadow:var(--shadow-card-hover);
}

/* Buttons */
.elementor-button{
  border-radius:50px;
  padding:14px 32px;
  font-size:.875rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:500;
  transition:all .3s ease;
}
.elementor-button.gold{ background-color:var(--color-gold); color:var(--color-espresso); }
.elementor-button.gold:hover{ background-color:var(--color-gold-dark); transform:translateY(-2px); }
.elementor-button.outline{ background-color:transparent; border:2px solid var(--color-espresso); color:var(--color-espresso); }
.elementor-button.outline:hover{ background-color:var(--color-espresso); color:#fff; }

/* Section background helper classes (apply via Section → Advanced → CSS Classes) */
.section-cream{ background-color:var(--color-cream); }
.section-white{ background-color:var(--color-white); }
.section-dark{ background-color:var(--color-espresso); color:#fff; }
.section-dark h1, .section-dark h2, .section-dark h3{ color:#fff; }

/* Counter widget (native Elementor "counter") tuned to brand */
.elementor-widget-counter .elementor-counter-number-wrapper{
  font-family:var(--font-heading);
  color:var(--color-gold);
}
.elementor-widget-counter .elementor-counter-title{
  font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; opacity:.8;
}

/* Native Image widget default radius, for consistency with cards */
.elementor-widget-image img{ border-radius:var(--radius-card); }

/* Native Star Rating */
.elementor-star-rating i{ color:var(--color-gold); }

/* Native Accordion → brand styling */
.elementor-accordion .elementor-tab-title{
  font-family:var(--font-heading);
  color:var(--color-heading);
}
.elementor-accordion .elementor-tab-title.elementor-active{
  color:var(--color-gold);
}
.elementor-accordion .elementor-icon{ color:var(--color-gold); }

/* Contact form (CF7) inside Elementor's Shortcode widget */
.elementor-widget-shortcode .wpcf7-form input,
.elementor-widget-shortcode .wpcf7-form textarea,
.elementor-widget-shortcode .wpcf7-form select{
  border-radius:8px;
  border:1px solid var(--color-border);
  padding:14px 18px;
  font-family:var(--font-body);
  transition:border-color .3s ease;
}
.elementor-widget-shortcode .wpcf7-form input:focus,
.elementor-widget-shortcode .wpcf7-form textarea:focus,
.elementor-widget-shortcode .wpcf7-form select:focus{
  border-color:var(--color-gold);
  outline:none;
}

/* Responsive tweaks scoped to Elementor's own breakpoints */
@media (max-width:1024px){
  .elementor-column{ margin-bottom:0; }
}
@media (max-width:768px){
  .elementor-button{ width:100%; text-align:center; justify-content:center; }
}

/* Single post: content + sidebar side-by-side on desktop, stacked on mobile */
@media (min-width:900px){
  .antra-post-layout{ grid-template-columns:2fr 1fr !important; align-items:start; }
}
