/* /public/css/themes/rose.css */
/* Theme Rose — Romantic Feminine Elegance */
/* Contains: :root tokens, texture overlay, @keyframes, structural overrides */

:root {
    /* Color tokens */
    --theme-primary: #E11D48;
    --theme-secondary: #F472B6;
    --theme-accent: #E11D48;
    --theme-background: #FEF7F7;
    --theme-text: #881337;
    --theme-text-secondary: #BE185D;
    --theme-text-light: #FFFFFF;
    --theme-surface: #FFFFFF;
    --theme-card-bg: #FFFFFF;
    --theme-border-light: #FDF2F8;
    --theme-input-bg: #FDF2F8;
    --theme-btn-bg-hover: #BE185D;
    --theme-bg-secondary: #FDF2F8;
    --theme-primary-rgb: 225, 29, 72;

    /* Decorative */
    --theme-decorative-gold: #C9A86A;

    /* Border radius — softer, romantic */
    --radius-sm: 0.75rem;
    --radius-md: 1rem;
    --radius-lg: 1.5rem;
    --radius-xl: 2rem;
    --radius-pill: 9999px;

    /* Shadows — soft and romantic */
    --shadow-sm: 0 2px 8px rgba(225, 29, 72, 0.08);
    --shadow-md: 0 4px 16px rgba(225, 29, 72, 0.12);
    --shadow-lg: 0 10px 24px rgba(225, 29, 72, 0.15);
    --shadow-xl: 0 20px 32px rgba(225, 29, 72, 0.18);
}

/* ===== TEXTURE OVERLAY ===== */
body.theme-rose::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image:
        repeating-linear-gradient(
            45deg,
            transparent,
            transparent 2px,
            rgba(225, 29, 72, 0.01) 2px,
            rgba(225, 29, 72, 0.01) 4px
        );
    pointer-events: none;
    z-index: 1;
}

/* ===== ROSE THEME ANIMATIONS ===== */
@keyframes rose-float {
    0%, 100% { transform: translateY(0px) rotate(-2deg); }
    50% { transform: translateY(-15px) rotate(2deg); }
}

@keyframes petal-drift {
    0% { transform: translateY(0) translateX(0) rotate(0deg); opacity: 0.3; }
    50% { transform: translateY(-20px) translateX(5px) rotate(5deg); opacity: 0.5; }
    100% { transform: translateY(-40px) translateX(-5px) rotate(10deg); opacity: 0; }
}

@keyframes rose-shimmer {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.05); }
}

@keyframes rose-glow {
    0%, 100% { filter: drop-shadow(0 0 8px rgba(225, 29, 72, 0.3)); }
    50% { filter: drop-shadow(0 0 16px rgba(225, 29, 72, 0.6)); }
}

@keyframes bloom {
    0% { transform: scale(0.95) rotate(-5deg); opacity: 0.8; }
    100% { transform: scale(1) rotate(0deg); opacity: 1; }
}

@keyframes gold-glint {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 0.8; }
}

@keyframes rose-bloom-pulse {
    0%, 100% { transform: scale(1) rotate(-3deg); opacity: 0.5; }
    50%       { transform: scale(1.08) rotate(3deg); opacity: 0.7; }
}

@keyframes slideshow-dot-pulse {
    0%, 100% { transform: scale(1); opacity: 0.3; }
    50% { transform: scale(1.1); opacity: 0.1; }
}

/* ===== SERVICE CARD HOVER ANIMATION ===== */
.theme-rose .service-card:hover .service-icon {
    animation: rose-glow 2s ease-in-out infinite;
}

/* ===== SECTION TITLE ROSEBUD ORNAMENT ===== */
.theme-rose .section-title::before {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='none' stroke='%23E11D48' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M30 38 C30 44 30 50 30 57'/%3E%3Cpath d='M26 36 Q30 33 34 36'/%3E%3Cpath d='M30 35 C22 30 18 20 22 12 C24 6 36 6 38 12 C42 20 38 30 30 35'/%3E%3Cpath d='M30 33 C24 28 22 20 26 14 C28 10 32 10 34 14 C38 20 36 28 30 33'/%3E%3Cpath d='M30 30 C28 26 28 20 30 16 C32 20 32 26 30 30'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.4;
    z-index: 1;
    pointer-events: none;
}

/* ===== SECTION DIVIDER (Rose hairline variant) ===== */
.theme-rose .section-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: var(--spacing-2xl) 0;
    gap: 12px;
}

.theme-rose .section-divider::before,
.theme-rose .section-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--theme-primary);
    max-width: 120px;
    opacity: 0.3;
}

/* ===== FOOTER WATERMARK ===== */
.theme-rose .footer::after {
    content: '';
    position: absolute;
    width: 300px;
    height: 300px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120' fill='none' stroke='%23E11D48' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M50 76 C49 88 50 102 50 116'/%3E%3Cpath d='M50 102 C44 97 37 89 34 79 Q41 82 50 102Z'/%3E%3Cpath d='M50 92 C56 87 63 79 66 69 Q59 72 50 92Z'/%3E%3Cpath d='M44 73 Q50 69 56 73'/%3E%3Cpath d='M50 52 C40 44 28 40 28 26 C28 16 38 12 46 18 C50 22 50 36 50 44'/%3E%3Cpath d='M50 52 C60 44 72 40 72 26 C72 16 62 12 54 18 C50 22 50 36 50 44'/%3E%3Cpath d='M50 56 C38 54 26 46 28 34 C30 24 42 22 48 32 C50 36 50 48 50 52'/%3E%3Cpath d='M50 56 C62 54 74 46 72 34 C70 24 58 22 52 32 C50 36 50 48 50 52'/%3E%3Cpath d='M50 60 C42 56 36 48 38 38 C40 30 50 28 54 34 C58 40 56 54 50 60'/%3E%3Cpath d='M50 60 C58 56 64 48 62 38 C60 30 50 28 46 34 C42 40 44 54 50 60'/%3E%3Cpath d='M50 56 C46 50 46 42 50 38 C54 42 54 50 50 56'/%3E%3Ccircle cx='50' cy='42' r='4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.04;
    pointer-events: none;
    z-index: 0;
}
