/*
Theme Name:   Sunjoy Child
Theme URI:    https://sunjoyfoods.co.mz
Description:  Sunjoy Foods — Elementor Child Theme for Astra. Complete brand styling for immediate use.
Author:       Sunjoy Foods
Template:     astra
Version:      1.0.0
Text Domain:  sunjoy-child
*/
:root{
  --sj-red:#C8111E;--sj-red-dark:#8B0A14;--sj-red-deep:#5A0008;
  --sj-gold:#D4AF37;--sj-gold-lt:#F5DB50;--sj-gold-dk:#9A6E00;
  --sj-cream:#FDF6E8;--sj-beige:#F0E4C0;
  --sj-text:#1A0A00;--sj-text-mid:#5A3020;--sj-text-lt:#8B6040;
  --sj-white:#FFFFFF;
}
*,*::before,*::after{box-sizing:border-box;}
body{font-family:'Barlow',sans-serif;color:var(--sj-text);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;color:var(--sj-text);}
a{color:var(--sj-red);transition:color .2s;}
a:hover{color:var(--sj-red-dark);}

/* ── HEADER ── */
.site-header,.ast-primary-header-bar{background-color:var(--sj-red)!important;box-shadow:0 4px 20px rgba(0,0,0,.3)!important;}
.ast-sticky-active .site-header{background-color:var(--sj-red-dark)!important;}
.custom-logo{max-height:64px!important;width:auto!important;}
.main-header-menu .menu-item>a{color:rgba(255,255,255,.88)!important;font-family:'Barlow',sans-serif!important;font-weight:700!important;font-size:13px!important;letter-spacing:1.5px!important;text-transform:uppercase!important;padding:8px 14px!important;border-radius:4px!important;transition:all .2s!important;}
.main-header-menu .menu-item>a:hover,.main-header-menu .current-menu-item>a{color:#fff!important;background:rgba(255,255,255,.1)!important;}
.main-header-menu .menu-item:last-child>a,.main-header-menu .menu-item.menu-cta>a{background:linear-gradient(135deg,var(--sj-gold-lt),var(--sj-gold))!important;color:var(--sj-red-deep)!important;font-weight:900!important;}
.ast-mobile-header-content{background:var(--sj-red-dark)!important;}

/* ── FOOTER ── */
.site-footer,#colophon{background-color:var(--sj-red-deep)!important;color:rgba(255,255,255,.7)!important;border-top:4px solid var(--sj-gold)!important;}
.footer-widget-area .widget-title{color:var(--sj-gold-lt)!important;font-family:'Barlow',sans-serif!important;font-size:12px!important;font-weight:800!important;letter-spacing:2px!important;text-transform:uppercase!important;}
.site-footer a{color:rgba(255,255,255,.6)!important;}
.site-footer a:hover{color:var(--sj-gold-lt)!important;}
.ast-footer-copyright{background:#3A0005!important;color:rgba(255,255,255,.5)!important;font-size:12px!important;}

/* ── BUTTONS ── */
.ast-btn,.wp-block-button__link,button[type=submit],input[type=submit]{
  background:linear-gradient(135deg,var(--sj-red),var(--sj-red-dark))!important;
  color:#fff!important;font-family:'Barlow',sans-serif!important;font-weight:800!important;
  font-size:13px!important;letter-spacing:1.5px!important;text-transform:uppercase!important;
  border-radius:4px!important;border:none!important;
  transition:all .25s!important;
}
.ast-btn:hover,.wp-block-button__link:hover,button[type=submit]:hover{transform:translateY(-2px)!important;}

/* ── ELEMENTOR OVERRIDES ── */
.elementor-widget-heading .elementor-heading-title{line-height:1.15;}
.elementor-widget-image-box .elementor-image-box-img{background:linear-gradient(135deg,var(--sj-red),var(--sj-red-dark));border-radius:12px 12px 0 0;padding:32px;min-height:200px;display:flex;align-items:center;justify-content:center;}
.elementor-widget-image-box .elementor-image-box-img img{filter:brightness(0) invert(1);opacity:.9;mix-blend-mode:screen;}
.elementor-widget-icon-box .elementor-icon-box-wrapper{transition:transform .2s;}
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper{transform:translateY(-4px);}
.elementor-testimonial-wrapper{position:relative;}
.elementor-testimonial-wrapper::before{content:'"';position:absolute;top:16px;left:24px;font-family:'Playfair Display',serif;font-size:80px;color:var(--sj-red);opacity:.1;line-height:1;}
.elementor-column .elementor-widget-image img{mix-blend-mode:screen;}
.e-con,.e-con-inner{--content-max-width:1280px;}

/* ── ANIMATIONS ── */
@keyframes sj-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.sj-hero .elementor-column:last-child .elementor-widget-image{animation:sj-float 6s ease-in-out infinite;}

/* ── UTILITY CLASSES (use in Elementor CSS Classes field) ── */
.sj-gold-border-top{border-top:4px solid var(--sj-gold)!important;}
.sj-gold-border-bottom{border-bottom:4px solid var(--sj-gold)!important;}
.sj-text-gold{color:var(--sj-gold)!important;}
.sj-text-gold-lt{color:var(--sj-gold-lt)!important;}
.sj-text-cream{color:var(--sj-cream)!important;}
.sj-bg-red{background-color:var(--sj-red)!important;}
.sj-bg-red-deep{background-color:var(--sj-red-deep)!important;}
.sj-bg-cream{background-color:var(--sj-cream)!important;}
.sj-card{background:#fff;border-radius:12px;border:1px solid rgba(212,175,55,.2);box-shadow:0 4px 20px rgba(0,0,0,.08);transition:all .3s;}
.sj-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(200,17,30,.15);border-color:var(--sj-gold);}

@media(max-width:768px){
  .elementor-section.elementor-section-boxed>.elementor-container{max-width:100%!important;}
}
