/*=========================================
MATRIMEE
style.css
==========================================*/

:root{

--olive:#556B2F;
--olive-dark:#445623;
--olive-light:#8A9A5B;

--gold:#B79B5A;

--cream:#F8F6F1;

--white:#ffffff;

--text:#454545;

--shadow:0 15px 40px rgba(0,0,0,.10);

--radius:18px;

--transition:.35s ease;

}

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

body{

font-family:'Poppins',sans-serif;

background:var(--cream);

color:var(--text);

line-height:1.7;

overflow-x:hidden;

}

img{

max-width:100%;

display:block;

}

a{

text-decoration:none;

color:inherit;

}

.container{

width:min(1180px,92%);

margin:auto;

}

section{

padding:90px 0;

}

.title{

text-align:center;

margin-bottom:60px;

}

.title h2{

font-family:'Cormorant Garamond',serif;

font-size:48px;

color:var(--olive);

margin-bottom:15px;

}

.title p{

font-size:18px;

color:#777;

max-width:700px;

margin:auto;

}

/*=============================
NAVBAR
==============================*/

.navbar{

position:fixed;

top:0;

left:0;

width:100%;

padding:18px 8%;

display:flex;

justify-content:space-between;

align-items:center;

background:rgba(255,255,255,.92);

backdrop-filter:blur(10px);

box-shadow:0 5px 18px rgba(0,0,0,.06);

z-index:999;

}

.logo{

font-family:'Cormorant Garamond',serif;

font-size:40px;

font-weight:700;

color:var(--olive);

}

.navbar ul{

display:flex;

align-items:center;

gap:35px;

list-style:none;

}

.navbar ul li a{

font-weight:500;

transition:.3s;

}

.navbar ul li a:hover{

color:var(--olive);

}

.btn-nav{

background:var(--olive);

padding:12px 28px;

border-radius:40px;

color:white!important;

transition:var(--transition);

}

.btn-nav:hover{

background:var(--olive-dark);

transform:translateY(-2px);

}

/*=============================
HERO
==============================*/

.hero{

height:100vh;

background:url("images/hero.webp") center center/cover;

display:flex;

align-items:center;

justify-content:center;

position:relative;

}

.overlay{

position:absolute;

inset:0;

background:linear-gradient(rgba(40,45,30,.55),
rgba(40,45,30,.55));

}

.hero-content{

position:relative;

z-index:2;

text-align:center;

color:white;

width:min(850px,90%);

}

.hero h1{

font-family:'Cormorant Garamond',serif;

font-size:74px;

line-height:1.1;

margin-bottom:25px;

}

.hero p{

font-size:21px;

margin-bottom:35px;

opacity:.95;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.btn-primary{

display:inline-block;

padding:16px 36px;

border-radius:50px;

background:var(--olive);

color:white;

font-weight:600;

transition:.35s;

box-shadow:var(--shadow);

}

.btn-primary:hover{

background:var(--olive-dark);

transform:translateY(-5px);

}

.btn-secondary{

display:inline-block;

padding:16px 36px;

border-radius:50px;

border:2px solid white;

color:white;

transition:.35s;

}

.btn-secondary:hover{

background:white;

color:var(--olive);

}

/*=============================
CARDS
==============================*/

.cards{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:30px;

}

.card{

background:white;

padding:40px 35px;

border-radius:var(--radius);

box-shadow:var(--shadow);

transition:var(--transition);

text-align:center;

}

.card:hover{

transform:translateY(-12px);

}

.card .icon{

width:75px;

height:75px;

background:rgba(85,107,47,.12);

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

margin:auto;

margin-bottom:25px;

}

.card .icon i{

font-size:32px;

color:var(--olive);

}

.card h3{

font-family:'Cormorant Garamond',serif;

font-size:32px;

margin-bottom:12px;

color:var(--olive);

}

.card p{

color:#666;

}

/*=============================
GALERIA
==============================*/

.gallery{

background:white;

}

.gallery-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

.gallery-item{

position:relative;

overflow:hidden;

border-radius:18px;

box-shadow:var(--shadow);

cursor:pointer;

}

.gallery-item img{

height:420px;

width:100%;

object-fit:cover;

transition:.6s;

}

.gallery-item:hover img{

transform:scale(1.08);

}

.gallery-text{

position:absolute;

bottom:0;

left:0;

width:100%;

padding:30px;

background:linear-gradient(transparent,rgba(0,0,0,.75));

color:white;

}

.gallery-text h3{

font-family:'Cormorant Garamond',serif;

font-size:32px;

}

/*==================================================
FEATURES
==================================================*/

.features{

background:#fdfcf8;

}

.features-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

margin-top:50px;

}

.feature{

background:white;

padding:35px;

border-radius:18px;

text-align:center;

box-shadow:var(--shadow);

transition:all .35s ease;

border:1px solid rgba(85,107,47,.08);

}

.feature:hover{

transform:translateY(-10px);

box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.feature i{

font-size:42px;

color:var(--gold);

margin-bottom:20px;

}

.feature h3{

font-family:'Cormorant Garamond',serif;

font-size:30px;

margin-bottom:15px;

color:var(--olive);

}

.feature p{

font-size:15px;

color:#666;

}

/*==================================================
MOCKUP CELULAR
==================================================*/

.phone-section{

background:white;

}

.phone-container{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.phone-image{

display:flex;

justify-content:center;

}

.phone-image img{

max-width:340px;

filter:drop-shadow(0 25px 35px rgba(0,0,0,.20));

transition:.4s;

}

.phone-image img:hover{

transform:translateY(-10px);

}

.phone-text h2{

font-family:'Cormorant Garamond',serif;

font-size:48px;

line-height:1.15;

margin-bottom:20px;

color:var(--olive);

}

.phone-text p{

font-size:17px;

margin-bottom:25px;

color:#666;

}

.phone-text ul{

list-style:none;

padding:0;

margin:30px 0;

}

.phone-text li{

padding:10px 0;

font-size:16px;

color:#555;

border-bottom:1px solid rgba(0,0,0,.05);

}

/*==================================================
TIMELINE
==================================================*/

.timeline{

background:#eef2e5;

}

.timeline-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:30px;

margin-top:60px;

}

.step{

background:white;

padding:40px 30px;

border-radius:18px;

box-shadow:var(--shadow);

position:relative;

text-align:center;

transition:.35s;

}

.step:hover{

transform:translateY(-10px);

}

.step span{

width:70px;

height:70px;

background:var(--olive);

color:white;

display:flex;

align-items:center;

justify-content:center;

margin:auto;

border-radius:50%;

font-size:28px;

font-weight:bold;

margin-bottom:25px;

}

.step h3{

font-family:'Cormorant Garamond',serif;

font-size:32px;

margin-bottom:15px;

color:var(--olive);

}

.step p{

font-size:15px;

color:#666;

}

/*==================================================
TESTIMONIOS
==================================================*/

.testimonials{

background:white;

}

.testimonial-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:35px;

margin-top:50px;

}

.testimonial{

background:#faf9f5;

padding:40px;

border-radius:20px;

box-shadow:var(--shadow);

transition:.35s;

position:relative;

}

.testimonial:hover{

transform:translateY(-10px);

}

.testimonial::before{

content:"★★★★★";

display:block;

color:var(--gold);

font-size:20px;

margin-bottom:20px;

letter-spacing:3px;

}

.testimonial p{

font-style:italic;

color:#666;

margin-bottom:25px;

}

.testimonial strong{

color:var(--olive);

font-size:18px;

}

/*==================================================
ANIMACIONES
==================================================*/

.card,
.feature,
.step,
.testimonial,
.gallery-item{

animation:fadeUp .8s ease;

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/* Transiciones generales */

.btn-primary,
.btn-secondary,
.btn-nav,
.card,
.feature,
.step,
.gallery-item,
.testimonial{

transition:all .35s ease;

}

/*==================================================
FAQ
==================================================*/

.faq{
    background:#fff;
}

.faq-item{
    max-width:900px;
    margin:20px auto;
}

.accordion{
    width:100%;
    background:#ffffff;
    color:var(--olive);
    cursor:pointer;
    padding:22px 30px;
    border:none;
    outline:none;
    text-align:left;
    font-size:18px;
    font-weight:600;
    border-radius:15px;
    box-shadow:var(--shadow);
    transition:.3s;
}

.accordion:hover{
    background:var(--olive);
    color:#fff;
}

.accordion.active{
    background:var(--olive);
    color:#fff;
}

.panel{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease;
    background:#fff;
    border-radius:0 0 15px 15px;
    box-shadow:var(--shadow);
}

.panel p{
    padding:25px 30px;
    color:#666;
    line-height:1.8;
}

/*==================================================
CTA FINAL
==================================================*/

.cta{
    background:linear-gradient(
        rgba(85,107,47,.92),
        rgba(68,86,35,.95)
    ),
    url("images/cta.webp") center/cover;
    color:#fff;
    text-align:center;
}

.cta h2{
    font-family:'Cormorant Garamond',serif;
    font-size:58px;
    margin-bottom:20px;
}

.cta p{
    max-width:700px;
    margin:auto;
    margin-bottom:40px;
    font-size:20px;
}

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

footer{
    background:#2d3820;
    color:#fff;
    padding-top:70px;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:60px;
    padding-bottom:50px;
}

footer h3{
    font-family:'Cormorant Garamond',serif;
    font-size:42px;
    margin-bottom:20px;
}

footer h4{
    margin-bottom:20px;
    color:var(--gold);
}

footer ul{
    list-style:none;
}

footer ul li{
    margin-bottom:12px;
}

footer a{
    color:#ddd;
    transition:.3s;
}

footer a:hover{
    color:#fff;
}

footer p{
    color:#ddd;
}

.copyright{
    text-align:center;
    padding:25px;
    border-top:1px solid rgba(255,255,255,.08);
    color:#bdbdbd;
    font-size:14px;
}

/*==================================================
BOTÓN WHATSAPP
==================================================*/

.whatsapp{

position:fixed;

bottom:30px;

right:30px;

width:65px;

height:65px;

border-radius:50%;

background:#25D366;

display:flex;

justify-content:center;

align-items:center;

font-size:34px;

color:white;

box-shadow:0 15px 35px rgba(0,0,0,.25);

z-index:999;

animation:pulse 2s infinite;

}

.whatsapp:hover{

transform:scale(1.1);

}

@keyframes pulse{

0%{
box-shadow:0 0 0 0 rgba(37,211,102,.45);
}

70%{
box-shadow:0 0 0 18px rgba(37,211,102,0);
}

100%{
box-shadow:0 0 0 0 rgba(37,211,102,0);
}

}

/*==================================================
BOTÓN ARRIBA
==================================================*/

#topBtn{

position:fixed;

bottom:110px;

right:35px;

width:52px;

height:52px;

border:none;

border-radius:50%;

background:var(--olive);

color:white;

cursor:pointer;

font-size:20px;

opacity:0;

visibility:hidden;

transition:.35s;

box-shadow:var(--shadow);

z-index:998;

}

#topBtn.show{

opacity:1;

visibility:visible;

}

#topBtn:hover{

background:var(--gold);

}

/*==================================================
SCROLLBAR
==================================================*/

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#efefef;
}

::-webkit-scrollbar-thumb{
background:var(--olive);
border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
background:var(--olive-dark);
}

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

@media(max-width:992px){

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

.phone-container{
grid-template-columns:1fr;
text-align:center;
}

.phone-image{
order:-1;
}

.footer-grid{
grid-template-columns:1fr;
text-align:center;
}

.navbar{
padding:18px 25px;
}

.navbar ul{
gap:18px;
}

}

/*==================================================
RESPONSIVE MÓVIL
==================================================*/

@media(max-width:768px){

.navbar{

flex-direction:column;

gap:18px;

padding:20px;

}

.navbar ul{

flex-wrap:wrap;

justify-content:center;

gap:12px;

}

.hero{

padding:0 25px;

}

.hero h1{

font-size:42px;

}

.hero p{

font-size:18px;

}

.hero-buttons{

flex-direction:column;

}

.btn-primary,
.btn-secondary{

width:100%;

text-align:center;

}

.title h2{

font-size:38px;

}

.cta h2{

font-size:42px;

}

.cta p{

font-size:18px;

}

.gallery-item img{

height:320px;

}

.cards,
.features-grid,
.timeline-grid,
.testimonial-grid{

grid-template-columns:1fr;

}

.whatsapp{

width:60px;

height:60px;

font-size:30px;

}

}

/*==================================================
PEQUEÑOS DETALLES
==================================================*/

::selection{
background:var(--olive);
color:#fff;
}

section{
overflow:hidden;
}

.card:hover,
.feature:hover,
.step:hover,
.testimonial:hover{

transform:translateY(-10px);

}

.gallery-item:hover .gallery-text{

background:linear-gradient(
transparent,
rgba(85,107,47,.90)
);

}