/*
Theme Name: Ezmex Divi 5 Starter Child
Theme URI: https://ezmex.com/
Description: Divi 5 child theme and populated starter site for Ezmex Web Design. Includes a one-click page installer with native Divi 5 block layouts.
Author: Ezmex
Author URI: https://ezmex.com/
Template: Divi
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ezmex-divi5-starter
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root{
  --ez-bg:#f7f8fa;
  --ez-surface:#ffffff;
  --ez-text:#17212b;
  --ez-muted:#5e6b78;
  --ez-line:#dfe5ea;
  --ez-brand:#143d59;
  --ez-brand-2:#0d6b78;
  --ez-accent:#f59e0b;
  --ez-accent-hover:#ffb72f;
  --ez-radius:22px;
  --ez-shadow:0 18px 50px rgba(23,33,43,.10);
  --ez-max:1180px;
}

/* Divi parent chrome */
body.ezmex-divi5-starter{color:var(--ez-text);background:var(--ez-bg)}
body.ezmex-divi5-starter,
body.ezmex-divi5-starter p,
body.ezmex-divi5-starter input,
body.ezmex-divi5-starter textarea,
body.ezmex-divi5-starter select,
body.ezmex-divi5-starter button{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
body.ezmex-divi5-starter h1,
body.ezmex-divi5-starter h2,
body.ezmex-divi5-starter h3,
body.ezmex-divi5-starter h4{
  color:var(--ez-text);
  letter-spacing:-.025em;
  line-height:1.12
}
#main-header{
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--ez-line);
  box-shadow:0 6px 24px rgba(23,33,43,.05)!important;
  backdrop-filter:blur(12px)
}
#top-menu a{font-weight:700;color:var(--ez-text)!important}
#top-menu li.current-menu-item>a,#top-menu a:hover{color:var(--ez-brand-2)!important}
#top-menu>li:last-child>a{
  background:var(--ez-brand);color:#fff!important;border-radius:999px;
  padding:12px 18px!important;margin-top:-12px
}
#main-footer{background:#0e1d28!important}
#footer-bottom{background:#0a151d!important}

/* Divi layout utilities */
.et_pb_section.ez-section{padding:88px 0!important;background:var(--ez-bg)!important}
.et_pb_section.ez-section-tight{padding:58px 0!important;background:var(--ez-bg)!important}
.et_pb_section.ez-section-muted{background:#eef3f5!important}
.et_pb_section.ez-section-dark{
  background:linear-gradient(135deg,var(--ez-brand),#0c293d)!important
}
.et_pb_section.ez-section-dark h2,
.et_pb_section.ez-section-dark h3,
.et_pb_section.ez-section-dark p,
.et_pb_section.ez-section-dark li{color:#fff!important}
.et_pb_row.ez-intro-row{margin-bottom:28px!important}
.et_pb_row.ez-card-row,
.et_pb_row.ez-split-row,
.et_pb_row.ez-hero-row{gap:24px}
.et_pb_column.ez-max-900{max-width:900px;margin-inline:auto!important}
.ez-eyebrow p{
  color:var(--ez-brand-2)!important;font-size:13px!important;font-weight:800!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;margin-bottom:12px!important
}
.ez-eyebrow p:before{
  content:"";display:inline-block;width:28px;height:2px;background:var(--ez-accent);
  vertical-align:middle;margin-right:10px
}
.ez-h1 h1{
  font-size:clamp(44px,6vw,78px)!important;
  line-height:1.03!important;
  max-width:920px
}
.ez-lead p{
  color:var(--ez-muted)!important;
  font-size:clamp(18px,2vw,22px)!important;
  line-height:1.65!important;
  max-width:780px
}

/* Hero */
.et_pb_section.ez-hero{
  padding:98px 0 82px!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(13,107,120,.13),transparent 36%),
    radial-gradient(circle at 12% 70%,rgba(245,158,11,.12),transparent 28%),
    #fff!important
}
.ez-hero-panel{
  background:linear-gradient(160deg,var(--ez-brand),#0f2e43)!important;
  border-radius:30px!important;padding:34px!important;
  box-shadow:var(--ez-shadow)
}
.ez-hero-panel h3,.ez-hero-panel p,.ez-hero-panel li{color:#fff!important}
.ez-hero-panel ul{padding-left:1.1rem!important}
.ez-hero-panel li{margin:.5rem 0}

/* Cards */
.ez-card{
  background:var(--ez-surface)!important;
  border:1px solid var(--ez-line)!important;
  border-radius:var(--ez-radius)!important;
  padding:28px!important;
  box-shadow:0 10px 30px rgba(23,33,43,.05);
  height:auto!important
}
.ez-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--ez-shadow);
  transition:.2s ease
}
.ez-card h3{font-size:24px!important;margin-bottom:10px!important}
.ez-card p{color:var(--ez-muted)}
.ez-card ul,.ez-list ul{padding-left:1.2rem!important}
.ez-card li,.ez-list li{margin:.55rem 0}
.ez-section-dark .ez-card{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.16)!important
}
.ez-section-dark .ez-card h3,
.ez-section-dark .ez-card p,
.ez-section-dark .ez-card a{color:#fff!important}
.ez-text-link{font-weight:800;text-decoration:none;color:var(--ez-brand-2)}
.ez-section-dark .ez-text-link{color:#d9fbff}

/* Buttons — class is on Divi module wrapper */
.ez-button-primary{display:inline-block;margin:10px 10px 0 0!important}
.ez-button-primary .et_pb_button{
  background:var(--ez-accent)!important;
  border:2px solid var(--ez-accent)!important;
  color:#17212b!important;
  border-radius:999px!important;
  font-weight:800!important;
  padding:.8em 1.25em!important;
  box-shadow:none!important
}
.ez-button-primary .et_pb_button:hover{
  background:var(--ez-accent-hover)!important;
  border-color:var(--ez-accent-hover)!important
}
.ez-button-secondary{display:inline-block;margin:10px 10px 0 0!important}
.ez-button-secondary .et_pb_button{
  background:#fff!important;
  border:2px solid var(--ez-line)!important;
  color:var(--ez-text)!important;
  border-radius:999px!important;
  font-weight:800!important;
  padding:.8em 1.25em!important
}

/* Split and FAQ */
.ez-split-copy{padding:18px 0}
.ez-faq-row{margin-top:14px!important}
.ez-faq-item{
  background:#fff!important;border:1px solid var(--ez-line)!important;
  border-radius:16px!important;padding:24px!important
}
.ez-faq-item h3{font-size:21px!important;margin-bottom:7px!important}
.ez-faq-item p{color:var(--ez-muted)}

/* CTA */
.ez-cta{
  background:linear-gradient(135deg,var(--ez-brand),#0d5260)!important;
  border-radius:30px!important;
  padding:42px!important
}
.ez-cta h2,.ez-cta p{color:#fff!important}
.ez-cta-copy p{max-width:760px}

/* Content links and accessible focus */
body.ezmex-divi5-starter a:focus-visible,
body.ezmex-divi5-starter button:focus-visible,
body.ezmex-divi5-starter input:focus-visible,
body.ezmex-divi5-starter textarea:focus-visible,
body.ezmex-divi5-starter select:focus-visible{
  outline:3px solid rgba(245,158,11,.55)!important;
  outline-offset:3px
}

/* Installer notice */
.ezmex-admin-card{
  max-width:980px;background:#fff;border:1px solid #dcdcde;border-radius:12px;
  padding:22px;margin:20px 0
}
.ezmex-admin-card table{width:100%;border-collapse:collapse}
.ezmex-admin-card th,.ezmex-admin-card td{padding:9px;border-bottom:1px solid #eee;text-align:left}

/* Responsive */
@media(max-width:980px){
  .et_pb_section.ez-section{padding:68px 0!important}
  .et_pb_section.ez-hero{padding:68px 0 58px!important}
  .ez-h1 h1{font-size:clamp(40px,10vw,64px)!important}
  .ez-hero-panel{margin-top:22px!important}
  .et_pb_row.ez-card-row,.et_pb_row.ez-split-row,.et_pb_row.ez-hero-row{gap:18px}
}
@media(max-width:767px){
  .et_pb_section.ez-section{padding:56px 0!important}
  .ez-card,.ez-faq-item{padding:22px!important}
  .ez-cta{padding:28px!important}
}
