/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/* COPY ALL OF THIS INTO: Appearance → Customize → Additional CSS */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: #333;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Navigation */
nav {
    position: fixed;
    top: 0;
    width: 100%;
    background: white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    z-index: 1000;
    padding: 16px 0;
}

nav .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-size: 24px;
    font-weight: bold;
    color: #1a202c;
}

.nav-links {
    display: flex;
    gap: 32px;
    list-style: none;
}

.nav-links a {
    color: #4a5568;
    text-decoration: none;
    transition: color 0.3s;
}

.nav-links a:hover {
    color: #1a202c;
}

.btn-primary {
    background: #2563eb;
    color: white;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.3s;
    display: inline-block;
}

.btn-primary:hover {
    background: #1d4ed8;
}

.btn-secondary {
    border: 2px solid #2563eb;
    color: #2563eb;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s;
    display: inline-block;
}

.btn-secondary:hover {
    background: #eff6ff;
}

/* Hero Section */
.hero {
    padding: 160px 24px 80px;
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
}

.hero .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.hero h1 {
    font-size: 48px;
    font-weight: bold;
    color: #1a202c;
    margin-bottom: 24px;
    line-height: 1.2;
}

.hero p {
    font-size: 20px;
    color: #4a5568;
    margin-bottom: 32px;
}

.hero-buttons {
    display: flex;
    gap: 16px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}

.hero-stats {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.stat-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #4a5568;
}

.checkmark {
    color: #16a34a;
    font-weight: bold;
}

/* Section Styles */
section {
    padding: 80px 24px;
}

.bg-white {
    background: white;
}

.bg-gray {
    background: #f9fafb;
}

.section-title {
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 16px;
}

.section-subtitle {
    font-size: 18px;
    color: #4a5568;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 48px;
}

/* Why Me Section */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 32px;
}

.feature-card {
    text-align: center;
}

.feature-icon {
    width: 64px;
    height: 64px;
    background: #dbeafe;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    color: #2563eb;
    font-size: 32px;
}

.feature-card h3 {
    font-size: 20px;
    margin-bottom: 12px;
}

.feature-card p {
    color: #4a5568;
}

/* Process Section */
.process-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 32px;
}

.process-card {
    background: white;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.process-number {
    width: 48px;
    height: 48px;
    background: #2563eb;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 16px;
}

.process-card h3 {
    font-size: 18px;
    margin-bottom: 8px;
}

.process-card p {
    color: #4a5568;
    font-size: 14px;
}

/* Services Section */
.blue-box {
    background: #eff6ff;
    border-radius: 12px;
    padding: 32px;
    margin-bottom: 48px;
}

.blue-box h3 {
    font-size: 24px;
    margin-bottom: 16px;
    text-align: center;
}

.blue-box p {
    color: #374151;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 24px;
}

.content-icons {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 24px;
}

.content-icon {
    text-align: center;
}

.icon-circle {
    width: 48px;
    height: 48px;
    background: #2563eb;
    border-radius: 50%;
    margin: 0 auto 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
}

.content-icon p {
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

.service-types {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 32px;
    margin-bottom: 48px;
}

.service-card {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 32px;
}

.service-card h4 {
    font-size: 20px;
    margin-bottom: 16px;
}

.service-card > p {
    color: #4a5568;
    margin-bottom: 16px;
}

.service-card ul {
    list-style: none;
}

.service-card li {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 14px;
    color: #374151;
}

.approach-box {
    background: #f9fafb;
    border-radius: 12px;
    padding: 32px;
    margin-bottom: 32px;
}

.approach-box h3 {
    font-size: 24px;
    margin-bottom: 24px;
    text-align: center;
}

.approach-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 24px;
}

.approach-item h4 {
    font-size: 18px;
    margin-bottom: 8px;
}

.approach-item p {
    color: #4a5568;
    font-size: 14px;
}

.note-box {
    border-left: 4px solid #2563eb;
    background: #eff6ff;
    border-radius: 0 12px 12px 0;
    padding: 24px;
}

.note-box h4 {
    font-size: 18px;
    margin-bottom: 12px;
}

.note-box p {
    color: #374151;
    font-size: 14px;
}

/* Pricing Section */
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    margin-bottom: 32px;
}

.pricing-card {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    padding: 24px;
    position: relative;
}

.pricing-card.featured {
    background: #2563eb;
    color: white;
    border-color: #2563eb;
}

.pricing-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: #fbbf24;
    color: #1a202c;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: bold;
}

.pricing-card h4 {
    font-size: 20px;
    margin-bottom: 8px;
}

.pricing-card .price {
    font-size: 36px;
    font-weight: bold;
    color: #2563eb;
    margin-bottom: 16px;
}

.pricing-card.featured .price {
    color: white;
}

.pricing-card > p {
    margin-bottom: 16px;
}

.pricing-card.featured > p {
    color: #bfdbfe;
}

.pricing-card ul {
    list-style: none;
}

.pricing-card li {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 14px;
}

.pricing-card.featured li {
    color: white;
}

.pricing-footer {
    background: white;
    border-radius: 12px;
    padding: 24px;
    text-align: center;
}

.pricing-footer p:first-child {
    color: #374151;
    margin-bottom: 8px;
}

.pricing-footer p:last-child {
    color: #4a5568;
    font-weight: 600;
    margin-top: 16px;
}

/* Testimonials */
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 32px;
}

.testimonial-card {
    background: white;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.stars {
    display: flex;
    gap: 4px;
    margin-bottom: 16px;
}

.star {
    color: #fbbf24;
}

.testimonial-card p {
    color: #374151;
    margin-bottom: 16px;
}

.testimonial-card .author {
    font-weight: 600;
}

/* CTA Section */
.cta {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    color: white;
}

.cta h2 {
    font-size: 40px;
    margin-bottom: 24px;
}

.cta > p {
    font-size: 20px;
    color: #bfdbfe;
    margin-bottom: 32px;
}

.cta-content {
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}

.contact-form {
    background: white;
    border-radius: 12px;
    padding: 32px;
    text-align: left;
}

.form-group {
    margin-bottom: 16px;
}

.form-group label {
    display: block;
    color: #374151;
    font-weight: 600;
    margin-bottom: 8px;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 16px;
    font-family: inherit;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.form-group textarea {
    min-height: 120px;
    resize: vertical;
}

.submit-btn {
    width: 100%;
    background: #2563eb;
    color: white;
    padding: 16px;
    border: none;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s;
}

.submit-btn:hover {
    background: #1d4ed8;
}

/* Footer */
footer {
    background: #1a202c;
    color: white;
    padding: 48px 24px;
}

footer .container {
    text-align: center;
}

footer .logo {
    color: white;
    margin-bottom: 16px;
}

footer p {
    color: #9ca3af;
    margin-bottom: 24px;
}

.footer-links {
    display: flex;
    justify-content: center;
    gap: 24px;
    list-style: none;
    margin-bottom: 24px;
}

.footer-links a {
    color: #9ca3af;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-links a:hover {
    color: white;
}

footer .copyright {
    font-size: 14px;
    color: #6b7280;
}

/* Responsive */
@media (max-width: 768px) {
    .nav-links {
        display: none;
    }

    .hero .container {
        grid-template-columns: 1fr;
    }

    .hero h1 {
        font-size: 32px;
    }

    .content-icons {
        grid-template-columns: repeat(2, 1fr);
    }

    .pricing-grid,
    .testimonials-grid {
        grid-template-columns: 1fr;
    }
}
