/*
Theme Name: AustralGuard - Elementor PRO Premium Companion Theme
Theme URI: https://camilofontanilla.cl/
Description: Un tema de autor premium adaptado para Elementor PRO y WooCommerce. Diseñado estratégicamente para artesanías y peluches australes con pertinencia territorial.
Author: camilofontanilla.cl
Author URI: https://camilofontanilla.cl/
Version: 1.5.0
License: GNU GPLv2 or later
Tags: elementor, grid-layout, custom-colors, custom-header, full-width-template, translation-ready, woocommerce, drag-and-drop, block-patterns, elegant-typography
*/

:root {
  --color-primary: #059669;
  --color-accent: #eb5e28;
  --color-bg-style: "patagonia";
  --font-base-size: 16px;
  --font-heading-family: 'Open Sans', 'Playfair Display', sans-serif;
  --font-body-family: 'Open Sans', 'Inter', sans-serif;
}

html, body {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ensure the main site wraps break free from rigid, squished widths of legacy templates/plugins */
#page, .site {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body {
    font-size: var(--font-base-size);
    font-family: var(--font-body-family);
    background-size: cover !important;
    background-attachment: fixed !important;
    transition: all 0.3s ease;
}

/* Base Body Styles depending on the customizer background setting */
body.bg-patagonia {
    background-color: #f7f5ef !important;
    background-image: 
      radial-gradient(rgba(139, 92, 26, 0.04) 1px, transparent 1px),
      linear-gradient(rgba(92, 105, 90, 0.01) 1px, transparent 1px) !important;
    background-size: 24px 24px !important;
    color: #1e293b !important;
}
body.bg-cosmic {
    background-color: #0b100e !important;
    background-image: 
      radial-gradient(circle, rgba(254, 240, 138, 0.03) 1.5px, transparent 1.5px),
      radial-gradient(circle, rgba(255, 255, 255, 0.02) 1px, transparent 1px) !important;
    background-size: 48px 48px, 16px 16px !important;
    color: #f1f5f9 !important;
}
body.bg-nature {
    background-color: #f1f7f4 !important;
    background-image: radial-gradient(#dceae1 1.5px, transparent 1.5px) !important;
    background-size: 20px 20px !important;
    color: #1e293b !important;
}
body.bg-vintage {
    background-color: #fcfbf7 !important;
    background-image: radial-gradient(#ebead9 1px, transparent 1px) !important;
    background-size: 24px 24px !important;
    color: #1e293b !important;
}
body.bg-oceanic {
    background-color: #f4f7f8 !important;
    background-image: radial-gradient(#e5ecf0 1.5px, transparent 1.5px) !important;
    background-size: 28px 28px !important;
    color: #1e293b !important;
}
body.bg-clean {
    background-color: #ffffff !important;
    color: #1e293b !important;
    background-image: none !important;
}

.site-main {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Cosmic Background overrides for premium accessibility and high-contrast styling */
body.bg-cosmic h1, 
body.bg-cosmic h2, 
body.bg-cosmic h3, 
body.bg-cosmic h4, 
body.bg-cosmic h5, 
body.bg-cosmic h6,
body.bg-cosmic .site-title a {
    color: #ffffff !important;
}
body.bg-cosmic p, 
body.bg-cosmic span:not(.font-mono), 
body.bg-cosmic li, 
body.bg-cosmic td, 
body.bg-cosmic a:not(.wp-theme-btn):not(.site-title a) {
    color: #e2e8f0 !important;
}
body.bg-cosmic .wp-card-preset {
    background: rgba(15, 23, 42, 0.9) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}
body.bg-cosmic .wp-card-preset p {
    color: #94a3b8 !important;
}
body.bg-cosmic details {
    background: #0f172a !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
body.bg-cosmic summary {
    color: #ffffff !important;
}
body.bg-cosmic details p {
    color: #94a3b8 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.wp-text-muted {
    color: #64748b !important;
}
body.bg-cosmic .wp-text-muted {
    color: #cbd5e1 !important;
}

/* Responsive padding overrides preventing layout squeezing on mobile viewports */
.responsive-section-padding {
    padding: 48px 16px !important;
}
@media (min-width: 768px) {
    .responsive-section-padding {
        padding: 96px 48px !important;
    }
}

.responsive-card-padding {
    padding: 24px 16px !important;
}
@media (min-width: 768px) {
    .responsive-card-padding {
        padding: 48px 40px !important;
    }
}

.wp-theme-grid {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
}

/* Default mobile behaviour: all direct children of the grid span full width */
.wp-theme-grid > div {
    grid-column: span 12 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.wp-col-12 { 
    grid-column: span 12 !important; 
    width: 100% !important; 
    max-width: 100% !important; 
}

@media (min-width: 768px) {
    .wp-theme-grid > .wp-col-md-3 { grid-column: span 3 !important; width: 100% !important; max-width: 100% !important; }
    .wp-theme-grid > .wp-col-md-4 { grid-column: span 4 !important; width: 100% !important; max-width: 100% !important; }
    .wp-theme-grid > .wp-col-md-5 { grid-column: span 5 !important; width: 100% !important; max-width: 100% !important; }
    .wp-theme-grid > .wp-col-md-6 { grid-column: span 6 !important; width: 100% !important; max-width: 100% !important; }
    .wp-theme-grid > .wp-col-md-7 { grid-column: span 7 !important; width: 100% !important; max-width: 100% !important; }
    .wp-theme-grid > .wp-col-md-11 { grid-column: span 11 !important; width: 100% !important; max-width: 100% !important; }
    .wp-theme-grid > .wp-col-md-12 { grid-column: span 12 !important; width: 100% !important; max-width: 100% !important; }
}

@keyframes wpFadeSlideIn {
    0% { opacity: 0; transform: translateY(10px); filter: blur(1px); }
    100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}
.wp-animate-update {
    animation: wpFadeSlideIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

/* Custom card style presets for products, blogs, reviews and map */
.wp-card-preset {
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.wp-card-cozy_forest {
    border: 1px solid rgba(128,128,128,0.15) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
    border-radius: 16px !important;
}
.wp-card-cozy_forest:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 24px rgba(0,0,0,0.08) !important;
}
.wp-card-elementor_bold {
    border: 3px solid #0f172a !important;
    box-shadow: 6px 6px 0px #0f172a !important;
    border-radius: 12px !important;
}
.wp-card-elementor_bold:hover {
    transform: translate(-3px, -3px) !important;
    box-shadow: 9px 9px 0px #0f172a !important;
}
.wp-card-minimal_patagonia {
    border: none !important;
    border-bottom: 4px solid var(--color-primary) !important;
    box-shadow: none !important;
    border-radius: 0px !important;
}
.wp-card-minimal_patagonia:hover {
    background-color: rgba(128,128,128,0.04) !important;
}

/* Smooth fade-in and staggering animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
    animation: fadeIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Base interactive transitions */
section, .wp-theme-grid > div {
    animation: fadeIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}
section:nth-of-type(1) { animation-delay: 0.05s; }
section:nth-of-type(2) { animation-delay: 0.1s; }
section:nth-of-type(3) { animation-delay: 0.15s; }
section:nth-of-type(4) { animation-delay: 0.2s; }
section:nth-of-type(5) { animation-delay: 0.25s; }

.site-header {
    backdrop-filter: blur(8px);
    transition: all 0.3s ease;
}

.nav-link {
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 1.5px;
    transition: color 0.2s ease;
}
.nav-link:hover {
    color: var(--color-accent) !important;
}

.wp-theme-btn {
    display: inline-block;
    padding: 12px 28px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 12px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.wp-theme-btn:hover {
    transform: scale(1.02);
    opacity: 0.95;
}