/**
Theme Name: Delta-P Child
Author: Art Spot Web Studio | Bilyana Yordanova
Author URI: https://art-spot.net
Description: Custom child theme for Delta-P. Built by Art Spot.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: delta-p-child
Template: Astra
*/

/* ========================================
   IMPORTS & FONTS
   ======================================== */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Playfair+Display:wght@400;500;600;700&display=swap');

/* ========================================
   ROOT VARIABLES
   ======================================== */

:root {
  --primary-dark: #1B2A4A;
  --secondary-gold: #DBA958;
  --secondary-gold-light: #E6B86B;
  --accent-gold: #C4983A;
  --text-white: #FFFFFF;
  --text-light: #D1D5DB;
  --text-muted: #5F6D85;
  --bg-card: #FFFFFF;
  --bg-muted: #EBEEF2;
  --border-color: #D8DEE6;
  --font-heading: 'Playfair Display', serif;
  --font-body: 'DM Sans', sans-serif;
  --shadow-card: 0 4px 24px -4px rgba(27, 42, 74, 0.08);
  --shadow-elevated: 0 12px 40px -8px rgba(27, 42, 74, 0.12);
  --radius-sm: 0.5rem;
}

/* ========================================
   HEADER & NAVIGATION
   ======================================== */

.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
    transition: all 0.3s ease !important;
}

/* Push content down so it's not hidden under header */
.site-content {
    padding-top: 80px !important;
}

/* ========================================
   HERO SECTION - HOMEPAGE ONLY
   ======================================== */

.Hero.wp-block-cover {
  position: relative;
}

.Hero.wp-block-cover::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(to bottom, transparent 0%, rgba(255, 255, 255, 0.95) 100%);
  pointer-events: none;
  z-index: 1;
}

.Hero .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
}

.Hero .wp-block-paragraph:first-of-type {
  color: var(--secondary-gold);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.Hero .wp-block-paragraph:nth-of-type(2) {
  background: linear-gradient(135deg, #DBA958, #E6B86B);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.Hero .wp-block-button__link {
  font-family: var(--font-body);
  font-weight: 600;
  transition: all 0.3s ease;
}

.Hero .wp-block-button:first-child .wp-block-button__link {
  background: linear-gradient(135deg, #DBA958, #E6B86B);
  color: var(--primary-dark);
}

.Hero .wp-block-button:first-child .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -6px rgba(219, 169, 88, 0.3);
}

.Hero .wp-block-button:last-child .wp-block-button__link {
  background: transparent;
  color: var(--text-white);
  border: 2px solid var(--text-white);
}

.Hero .wp-block-button:last-child .wp-block-button__link:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-2px);
}

/* ========================================
   SERVICE CARDS & HOVER EFFECTS
   ======================================== */

div[class*="service-card"]:hover {
  border-color: var(--accent-gold) !important;
}

div[class*="service-card"]:hover div[class*="service-icon-bg"] {
  background-color: rgba(196, 152, 58, 0.36) !important;
}

/* ========================================
   PAGE-SPECIFIC STYLES
   ======================================== */

/* Services Page (ID 338) */
.page-id-338 .wp-block-image img,
.page-id-338 img {
    border-radius: 7px !important;
}

.page-id-338 .wp-block-list {
    list-style: none;
    padding-left: 0;
}

.page-id-338 .wp-block-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 8px;
}

.page-id-338 .wp-block-list li::before {
    content: "•";
    color: var(--accent-gold);
    font-size: 20px;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: -2px;
}

.page-id-338 .hero-services {
    min-height: 400px !important;
    height: 400px !important;
    margin-top: -50px !important;
    display: flex;
    align-items: center;
}

/* Contact Page (ID 336) */
.page-id-336 .is-layout-constrained {
    max-width: none !important;
    width: 100% !important;
}

.page-id-336 .Hero-contact {
    min-height: 300px !important;
    height: 300px !important;
    margin-top: -50px !important;
    display: flex;
    align-items: center;
}

.page-id-336 .Hero-contact::after {
    display: none !important;
}

/* ========================================
   CONTACT CARDS & MAP
   ======================================== */

.contact-cards {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    width: 100% !important;
    max-width: 100% !important;
}

.contact-cards .wp-block-column {
    flex: 1 1 0 !important;
    min-width: 250px !important;
    width: auto !important;
    max-width: none !important;
}

.map-wrapper iframe {
    border: 1px solid var(--border-color) !important;
    border-radius: 7px !important;
}

.map-wrapper {
    margin-bottom: 0 !important;
}

/* ========================================
   FOOTER
   ======================================== */

.site-footer {
    margin-top: 60px !important;
}

/* ========================================
   UTILITIES
   ======================================== */

.bg-card,
.card {
  background-color: var(--bg-card);
  box-shadow: var(--shadow-card);
  border-radius: var(--radius-sm);
}

.bg-muted {
  background-color: var(--bg-muted);
}

.text-muted {
  color: var(--text-muted);
}

.section-home {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.section-inner {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.stats-column {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    height: 100%;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 768px) {
    .site-header {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
    
    .site-content {
        padding-top: 60px !important;
    }
    
    .wp-block-cover .wp-block-button__link {
        padding: 12px 30px;
        font-size: 0.9375rem;
    }
    
    /* Add mobile-specific card stacking here after testing */
}


/* ========================================
   PAGE-SPECIFIC STYLES - FINAL TWEAKS
   ======================================== */

/* About page (ID 330) - gradient removal confirmed working */
.page-id-330 .hero-about.wp-block-cover::after {
    display: none !important;
}

/* Services page (ID 338) - force left alignment */
.page-id-338 .hero-services {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;  /* Left aligns content */
    text-align: left !important;
    padding-left: 4% !important;
    padding-right: 4% !important;
}

/* Force all inner content to obey */
.page-id-338 .hero-services * {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Contact page (ID 336) - vertical only, remove horizontal center */
.page-id-336 .hero-contact {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;  /* Keeps vertical centering */
    align-items: stretch !important;     /* Removes horizontal centering */
    text-align: left !important;         /* Back to left alignment */
    width: 100% !important;
}

/* Keep content left-aligned */
.page-id-336 .hero-contact * {
    text-align: left !important;
}

/* Ensure the inner group doesn't override */
.page-id-336 .hero-contact .wp-block-group {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Remove gradient from Contact page hero (new page ID 386) */
.page-id-386 .hero-contact.wp-block-cover::after {
    display: none !important;
}

/* Mobile: consistent spacing between all stacked stat items */
@media (max-width: 768px) {
    .stat-card {
        margin-bottom: 30px !important;
    }
    .stat-card:last-child {
        margin-bottom: 0 !important;
    }
}

/* Remove any default Astra gradient from Cover blocks */
.wp-block-cover {
    background: none !important;
}