/* File: css/styles.css */
html {
    scroll-behavior: smooth;
}
body {
    font-family: 'Poppins', sans-serif;
    background-color: #ffffff;
    color: #5C544B;
}
h1, h2, h3, h4, .font-serif {
    font-family: 'Playfair Display', serif;
    color: #4A423A;
}

/* Updated Hero Section styles */
.hero-bg {
    background-image: url('/images/hero-background.jpg');
    background-size: cover;
    background-position: center right;
    position: relative; /* Needed for the overlay */
}

.hero-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(248, 245, 242, 0); /* Transparent by default */
    transition: background-color 0.3s ease-in-out;
    z-index: 1;
}

.hero-bg > * {
    position: relative;
    z-index: 2;
}

@media (max-width: 768px) {
    .hero-bg::before {
        background-color: rgba(248, 245, 242, 0.6); /* 60% white overlay on mobile */
    }
    .hero-bg {
        background-position: center center; /* Center the image on mobile */
    }
}

.section-bg {
    background-color: #F8F5F2;
}
.cta-button {
    transition: all 0.3s ease;
    border: 1px solid #c9c0b7;
    color: #5C544B;
}
.cta-button:hover {
    background-color: #4A423A;
    color: #fff;
    border-color: #4A423A;
}
.package-card ul {
    list-style-position: inside;
    padding-left: 0;
}
.package-card li::before {
    content: '•';
    color: #A89A8D;
    font-weight: bold;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}
.testimonial-bg {
    background-image: url('/images/back_2.png');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}
/* Animation Styles */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.6s ease-out;
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 200ms; }
.reveal-delay-2 { transition-delay: 400ms; }
.reveal-delay-3 { transition-delay: 600ms; }

.phone-float {
  position: fixed;
  width: 100px; /* Increase this value to make the icon bigger */
  height: 100px; /* Increase this value to make the icon bigger */
  bottom: 20px;
  right: 20px;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease-in-out;
}
.phone-float:hover {
  transform: scale(1.2);
}
.phone-float img {
  width: 100%; /* Image will fill the circle */
  height: 100%;
}
/*
 * Custom Styles for the Business Card Designer
 * ADD THESE RULES TO THE BOTTOM of your main /css/styles.css file.
*/

/* --- General Theming --- */
.designer-header {
    background-color: #F8F5F2; /* Matches your .section-bg */
}

.control-panel h3 {
    font-family: 'Playfair Display', serif; /* Use serif font for headings */
    color: #4A423A;
}

/* --- Button Theming --- */

/* Main button style for the control panel (Add Image, Save, etc.) */
.control-btn {
    width: 100%;
    background-color: #F8F5F2; /* Use light section background */
    color: #5C544B;
    font-weight: 600;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid #c9c0b7;
    transition: all 0.3s ease;
}

.control-btn:hover {
    background-color: #4A423A; /* Use dark heading color for hover */
    color: #ffffff;
    border-color: #4A423A;
}

/* Style for active/selected control buttons (e.g., Design Front/Back) */
.control-btn.active {
    background-color: #4A423A;
    color: #ffffff;
    border-color: #4A423A;
}

/* --- Component Styles --- */

/* Styles for the canvas container */
.canvas-container {
    border: 2px solid #e5e7eb;
    border-radius: 0.5rem;
    margin: auto;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

/* Loading spinner animation */
.loader {
    border: 4px solid #f3f4f6;
    border-top: 4px solid #4A423A; /* Use brand color for spinner */
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* General styles for form elements in the control panel */
.control-panel input, .control-panel select {
    width: 100%;
    padding: 0.5rem;
    border-radius: 0.375rem;
    border: 1px solid #d1d5db;
    font-family: 'Poppins', sans-serif; /* Ensure form elements use correct font */
}

/* Styling for labels containing checkboxes */
.toggle-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 1rem;
    color: #5C544B;
}

/* Transition for the pop-up notification toast */
#notification {
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

