/*
Theme Name: Astra Child - Unforgettable Occasions
Template: astra
Version: 1.0
*/

/* ===== VARIABLES ===== */
:root {
  --uo-orange: #FF6B35;
  --uo-orange-dark: #E55A2B;
  --uo-green: #7BC74D;
  --uo-green-light: #E8F5E0;
  --uo-green-dark: #5FA636;
  --uo-dark: #1A1A2E;
  --uo-cream: #FFF8F0;
  --uo-white: #FFFFFF;
  --uo-gray: #6B7C8F;
}

/* ===== RESET & BASE ===== */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: "Inter", -apple-system, sans-serif; color: var(--uo-dark); overflow-x: hidden; }
img { max-width:100%; height:auto; }

/* ===== FONTS ===== */
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:wght@300;400;500;600&family=Dancing+Script:wght@600;700&display=swap");

/* ===== NAVIGATION ===== */
.uo-nav {
  position: fixed; top:0; left:0; right:0; z-index:1000;
  background: rgba(26,26,46,0.95); backdrop-filter: blur(20px);
  padding: 0 40px; border-bottom: 1px solid rgba(255,107,53,0.2);
}
.uo-nav-inner {
  max-width:1400px; margin:0 auto; display:flex;
  align-items:center; justify-content:space-between; height:75px;
}
.uo-nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
.uo-nav-logo img { height:50px; width:auto; border-radius:8px; }
.uo-brand {
  font-family: "Dancing Script", cursive; font-size:1.5rem;
  color: var(--uo-orange); font-weight:700;
}
.uo-nav-links { display:flex; gap:8px; }
.uo-nav-link {
  color: rgba(255,255,255,0.8); text-decoration:none; padding:8px 16px;
  font-size:0.9rem; font-weight:500; border-radius:8px; transition:all 0.3s;
}
.uo-nav-link:hover { color:#fff; background:rgba(255,107,53,0.15); }
.uo-nav-cta {
  background: linear-gradient(135deg, var(--uo-orange), var(--uo-orange-dark)) !important;
  color:#fff !important; font-weight:600 !important;
}
.uo-nav-socials { display:flex; gap:8px; margin-left:16px; }
.uo-social-icon {
  display:flex; align-items:center; justify-content:center;
  width:36px; height:36px; background:rgba(123,199,77,0.15);
  border-radius:50%; transition:all 0.3s;
}
.uo-social-icon svg { width:16px; height:16px; fill: var(--uo-green); }
.uo-social-icon:hover { background:rgba(123,199,77,0.3); transform:scale(1.1); }

/* Mobile toggle */
.uo-mobile-toggle {
  display:none; background:none; border:2px solid var(--uo-orange);
  color: var(--uo-orange); font-size:1.5rem; padding:6px 10px;
  border-radius:8px; cursor:pointer;
}
@media (max-width:920px) {
  .uo-nav-links { display:none !important; }
  .uo-mobile-toggle { display:block !important; }
  .uo-nav { padding:0 20px; }
  .uo-nav-socials { display:flex !important; margin-right:8px !important; }
  .uo-social-icon { width:32px !important; height:32px !important; }
  .uo-social-icon svg { width:14px !important; height:14px !important; }
}

/* Mobile menu */
.uo-mobile-menu {
  display:none; position:fixed; top:0; left:0; right:0; bottom:0;
  background:rgba(26,26,46,0.98); z-index:9999;
  flex-direction:column; align-items:center; justify-content:center; gap:24px;
}
.uo-mobile-menu a {
  color:#fff; text-decoration:none; font-size:1.3rem; font-weight:500;
  padding:12px 32px; border-radius:12px; transition:all 0.3s;
}
.uo-mobile-menu a:hover { background:rgba(255,107,53,0.2); }
.uo-mobile-cta { background: var(--uo-orange) !important; }
.uo-mobile-close {
  position:absolute; top:20px; right:24px; background:none; border:none;
  color:#fff; font-size:2rem; cursor:pointer;
}

/* ===== HERO ===== */
.uo-hero {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, #1A1A2E 0%, #16213E 50%, #0F3460 100%);
  padding:120px 24px 80px; text-align:center; position:relative; overflow:hidden;
}
.uo-hero::before {
  content:""; position:absolute; top:-50%; right:-20%; width:600px; height:600px;
  background:radial-gradient(circle, rgba(255,107,53,0.1) 0%, transparent 70%);
  border-radius:50%;
}
.uo-hero::after {
  content:""; position:absolute; bottom:-30%; left:-10%; width:500px; height:500px;
  background:radial-gradient(circle, rgba(123,199,77,0.08) 0%, transparent 70%);
  border-radius:50%;
}
.uo-hero-content { position:relative; z-index:2; max-width:800px; }
.uo-hero-badge {
  display:inline-block; padding:8px 20px; border-radius:50px;
  background:rgba(123,199,77,0.15); border:1px solid rgba(123,199,77,0.3);
  color: var(--uo-green); font-size:0.85rem; font-weight:600;
  letter-spacing:2px; text-transform:uppercase; margin-bottom:24px;
}
.uo-hero h1 {
  font-family:"Playfair Display",serif; font-size:clamp(2.5rem,6vw,4.5rem);
  color:#fff; line-height:1.1; margin-bottom:24px; font-weight:700;
}
.uo-hero h1 em {
  font-style:normal; color: var(--uo-orange);
  background:linear-gradient(135deg, var(--uo-orange), #FF8C5A);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
.uo-hero-sub {
  font-size:1.15rem; color:rgba(255,255,255,0.7); line-height:1.8;
  max-width:600px; margin:0 auto 40px;
}
.uo-hero-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* Buttons */
.uo-btn {
  display:inline-flex; align-items:center; padding:14px 32px;
  border-radius:50px; font-weight:600; font-size:0.95rem;
  text-decoration:none; transition:all 0.3s; cursor:pointer;
}
.uo-btn-primary {
  background:linear-gradient(135deg, var(--uo-orange), var(--uo-orange-dark));
  color:#fff; box-shadow:0 4px 15px rgba(255,107,53,0.3);
}
.uo-btn-primary:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(255,107,53,0.4); }
.uo-btn-ghost {
  border:2px solid rgba(255,255,255,0.3); color:#fff; background:transparent;
}
.uo-btn-ghost:hover { border-color:var(--uo-green); color:var(--uo-green); }
.uo-btn-dark {
  background:var(--uo-dark); color:#fff; border:none;
}
.uo-btn-dark:hover { background:#2a2a4e; }

/* ===== SECTIONS ===== */
.uo-section { max-width:1200px; margin:0 auto; padding:80px 24px; }
.uo-section-full { width:100%; }
.uo-section-green { background: var(--uo-green-light); }
.uo-section-dark { background: var(--uo-dark); color:#fff; }
.uo-section-cream { background: var(--uo-cream); }

.uo-section-header { text-align:center; max-width:700px; margin:0 auto 50px; }
.uo-section-label {
  display:inline-block; padding:6px 16px; border-radius:50px;
  background:rgba(255,107,53,0.1); color:var(--uo-orange);
  font-size:0.8rem; font-weight:600; letter-spacing:2px;
  text-transform:uppercase; margin-bottom:16px;
}
.uo-section-header h2 {
  font-family:"Playfair Display",serif; font-size:clamp(1.8rem,4vw,2.8rem);
  color:var(--uo-dark); line-height:1.2; margin-bottom:16px;
}
.uo-section-dark .uo-section-header h2 { color:#fff; }
.uo-section-header p { color:var(--uo-gray); font-size:1.05rem; line-height:1.8; }
.uo-section-dark .uo-section-header p { color:rgba(255,255,255,0.7); }
.uo-orange-line {
  width:60px; height:3px; margin:20px auto 0;
  background:linear-gradient(90deg, var(--uo-orange), var(--uo-green));
  border-radius:2px;
}

/* ===== STORY SECTION ===== */
.uo-story { max-width:800px; margin:0 auto; }
.uo-story-text p {
  font-size:1.05rem; color:var(--uo-gray); line-height:1.9; margin-bottom:20px;
}
.uo-story-stats { display:flex; gap:40px; margin-top:40px; flex-wrap:wrap; }
.uo-stat { text-align:center; }
.uo-stat h3 {
  font-family:"Playfair Display",serif; font-size:1.8rem;
  color:var(--uo-orange); margin-bottom:4px;
}
.uo-stat p { font-size:0.85rem; color:var(--uo-gray); text-transform:uppercase; letter-spacing:1px; }

/* ===== FEATURES ===== */
.uo-features { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
@media (max-width:768px) { .uo-features { grid-template-columns:1fr; } }
.uo-feature {
  text-align:center; padding:40px 24px; border-radius:16px;
  background:var(--uo-white); border:1px solid rgba(26,26,46,0.06);
  transition:all 0.3s;
}
.uo-feature:hover { transform:translateY(-5px); box-shadow:0 10px 30px rgba(0,0,0,0.08); }
.uo-feature-icon {
  width:60px; height:60px; margin:0 auto 20px; border-radius:16px;
  background:rgba(255,107,53,0.1); display:flex; align-items:center; justify-content:center;
}
.uo-feature-icon svg { width:28px; height:28px; color:var(--uo-orange); }
.uo-feature h4 {
  font-family:"Playfair Display",serif; font-size:1.2rem;
  color:var(--uo-dark); margin-bottom:12px;
}
.uo-feature p { font-size:0.9rem; color:var(--uo-gray); line-height:1.7; }

/* ===== SERVICES GRID ===== */
.uo-services { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px,1fr)); gap:24px; }
.uo-service-card {
  background:var(--uo-white); border-radius:16px; overflow:hidden;
  border:1px solid rgba(26,26,46,0.06); transition:all 0.3s;
}
.uo-service-card:hover { transform:translateY(-5px); box-shadow:0 10px 30px rgba(0,0,0,0.08); }
.uo-service-img {
  height:200px; background:linear-gradient(135deg, var(--uo-green-light), var(--uo-cream));
  display:flex; align-items:center; justify-content:center;
  font-size:3rem; color:var(--uo-orange);
}
.uo-service-info { padding:24px; }
.uo-service-info h3 {
  font-family:"Playfair Display",serif; font-size:1.15rem;
  color:var(--uo-dark); margin-bottom:8px;
}
.uo-service-info p { font-size:0.9rem; color:var(--uo-gray); line-height:1.7; }

/* ===== FAQ ===== */
.uo-faq { max-width:800px; margin:0 auto; }
.uo-faq-item {
  border-bottom:1px solid rgba(26,26,46,0.08); padding:20px 0;
}
.uo-faq-q { display:flex; justify-content:space-between; align-items:center; cursor:pointer; }
.uo-faq-q h4 { font-size:1.05rem; color:var(--uo-dark); font-weight:500; }
.uo-faq-q span { color:var(--uo-orange); font-size:1.5rem; font-weight:300; }
.uo-faq-a { padding-top:12px; color:var(--uo-gray); line-height:1.8; font-size:0.95rem; }

/* ===== CTA BANNER ===== */
.uo-cta-banner {
  text-align:center; padding:60px 40px; border-radius:20px;
  background:linear-gradient(135deg, var(--uo-orange), #FF8C5A);
  position:relative; overflow:hidden;
}
.uo-cta-banner h2 {
  font-family:"Playfair Display",serif; font-size:clamp(1.5rem,3vw,2.2rem);
  color:#fff; margin-bottom:16px;
}
.uo-cta-banner p { color:rgba(255,255,255,0.9); margin-bottom:30px; font-size:1rem; }
.uo-cta-banner .uo-btn-primary {
  background:var(--uo-dark) !important; box-shadow:0 4px 15px rgba(0,0,0,0.3);
}

/* ===== FOOTER ===== */
.uo-footer {
  background:var(--uo-dark); color:rgba(255,255,255,0.7); padding:60px 24px 30px;
}
.uo-footer-inner {
  max-width:1200px; margin:0 auto; display:grid;
  grid-template-columns:2fr 1fr 1fr; gap:40px;
}
@media (max-width:768px) { .uo-footer-inner { grid-template-columns:1fr; } }
.uo-footer-brand .uo-brand { display:block; margin-bottom:16px; }
.uo-footer-brand p { font-size:0.9rem; line-height:1.7; }
.uo-footer h5 { color:#fff; font-size:1rem; margin-bottom:16px; }
.uo-footer-links { display:flex; flex-direction:column; gap:8px; }
.uo-footer-links a { color:rgba(255,255,255,0.6); text-decoration:none; font-size:0.9rem; }
.uo-footer-links a:hover { color:var(--uo-orange); }
.uo-footer-bottom {
  max-width:1200px; margin:40px auto 0; padding-top:20px;
  border-top:1px solid rgba(255,255,255,0.1); text-align:center;
}
.uo-footer-bottom p { font-size:0.85rem; }

/* ===== BREADCRUMBS & ASTRA HIDE ===== */
#ast-desktop-header, #ast-mobile-header, .ast-primary-header-bar, .ast-above-header-bar, .ast-below-header-bar,
.site-footer, .ast-small-footer, .ast-footer-overlay, #colophon, footer.site-footer,
.site-below-footer-wrap, .site-primary-footer-wrap, .ast-small-footer-section,
[data-section="section-primary-footer-builder"], [data-section="section-below-footer-builder"],
.ast-breadcrumbs-wrapper, .woocommerce-breadcrumb, .ast-breadcrumbs, .entry-header, .page-header {
  display: none !important;
}

/* ===== FORM STYLES ===== */
.wpforms-field-radio ul { list-style:none !important; padding:0 !important; display:flex !important; flex-wrap:wrap !important; gap:12px !important; }
.wpforms-field-radio li { display:inline-flex !important; align-items:center !important; gap:6px !important; }
.wpforms-field-radio input[type="radio"] { accent-color:var(--uo-orange) !important; }
.wpforms-submit { background:linear-gradient(135deg, var(--uo-orange), var(--uo-orange-dark)) !important; color:#fff !important; border:none !important; padding:16px 40px !important; border-radius:50px !important; font-size:1.05rem !important; font-weight:600 !important; cursor:pointer !important; }
.wpforms-submit:hover { transform:translateY(-2px) !important; }

/* ===== RESPONSIVE ===== */
@media (max-width:768px) {
  .uo-hero h1 { font-size:2.2rem; }
  .uo-story-stats { justify-content:center; }
  .uo-footer-inner { text-align:center; }
}
