@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,600;1,400;1,600&family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,500;0,700;1,400&display=swap');

:root{
  --bg-cream:#fefaf6;
  --bg-soft:#fff8f5;
  --text-dark:#2c1810;
  --text-muted:rgba(44,24,16,.65);
  --text-soft:rgba(44,24,16,.82);
  --accent:#b22222;
  --accent2:#ffd700;
  --accent3:#ff6b8b;
  --radius-lg:24px;
  --radius-md:16px;
  --radius:18px;
  --line: rgba(178, 34, 34, .12);
  --shadow-soft:0 12px 30px rgba(42,13,26,.10);
  --shadow-medium:0 20px 50px rgba(42,13,26,.14);
  --shadow-strong:0 30px 70px rgba(42,13,26,.18);
}

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

/* Elementor içinde body'e müdahale etmek yerine kapsayıcı kullanalım */
.gp-page{
  font-family:'Inter',sans-serif;
  color:var(--text-dark);
  background:
    radial-gradient(1200px 600px at 10% 15%, rgba(178,34,34,.05), transparent 60%),
    linear-gradient(160deg,var(--bg-cream),var(--bg-soft));
  line-height:1.6;
  overflow-x:hidden;
  min-height:100vh;
}

@keyframes heartbeat{
  0%{transform:scale(1)}
  20%{transform:scale(1.03)}
  35%{transform:scale(1)}
  55%{transform:scale(1.06)}
  70%{transform:scale(1)}
  100%{transform:scale(1)}
}

@keyframes swayRomance{
  0%{transform:translateY(0) rotate(-1.5deg)}
  50%{transform:translateY(-16px) rotate(1.5deg)}
  100%{transform:translateY(0) rotate(-1.5deg)}
}

@keyframes blink{50%{opacity:0}}


.brand{
  font-family:"Playfair Display",serif;
  font-weight:700;
  font-size:22px;
  color:var(--accent);
  letter-spacing:.4px;
}

/* HEART MENU (sağ üstte sabit) */
.heart-main-wrapper{
  position:fixed;
  top:10px;
  right:18px;
  z-index:99999;
  text-align:right;
}
.heart-btn{
  font-size:40px;
  color:var(--accent);
  cursor:pointer;
  animation: heartbeat 2.6s infinite;
  user-select:none;
  line-height:1;
}

.heart-nav-panel{
  max-height:0;
  opacity:0;
  overflow:hidden;
  background: rgba(255,255,255,0.98);
  margin-top:10px;
  border-radius:22px;
  box-shadow:0 10px 40px rgba(0,0,0,0.10);
  transition: all .45s cubic-bezier(.4,0,.2,1);
  padding:0 20px;
  border:1px solid rgba(178,34,34,0.12);
  width:220px;
}
.heart-nav-panel.open{
  max-height:600px;
  opacity:1;
  padding:16px 20px;
}

.m-links{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:0;
}
.m-item{
  text-decoration:none;
  color:#333;
  font-weight:800;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:2px;
  transition:.25s;
}
.m-item:hover{color:var(--accent);}

/* HERO */
.hero{min-height:80vh; display:flex; align-items:center; padding-top:120px;}
.hero-grid{
  width:min(1200px,92%);
  margin:0 auto;
  padding:0 20px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:60px;
  align-items:center;
}
@media(max-width:992px){
  .hero-grid{grid-template-columns:1fr; text-align:center;}
  .hero{padding-top:140px;}
}
.hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(32px,5vw,56px);
  line-height:1.2;
  margin-bottom:18px;
  font-style:italic;
}
.caret{
  display:inline-block;
  width:3px;
  height:0.8em;
  background:var(--accent);
  margin-left:6px;
  animation: blink 1s infinite;
  vertical-align: middle;
}
.hero-desc{
  font-family:'Crimson Pro',serif;
  font-size:22px;
  color:var(--text-soft);
  font-style:italic;
  padding:20px 25px;
  border-left:4px solid var(--accent2);
  background:rgba(255,255,255,.50);
  backdrop-filter:blur(10px);
  border-radius:0 20px 20px 0;
  box-shadow:var(--shadow-soft);
}
@media(max-width:992px){
  .hero-desc{
    border-left:none;
    border-top:3px solid var(--accent2);
    border-radius:18px;
  }
}
.photo-frame{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-strong);
}
.photo-frame img{width:100%; height:450px; object-fit:cover; display:block;}
.badge{
  background:linear-gradient(135deg,var(--accent),var(--accent3));
  color:#fff;
  padding:18px;
  border-radius:var(--radius-md);
  text-align:center;
  animation:heartbeat 2.5s infinite;
  margin-top:18px;
  box-shadow:var(--shadow-soft);
}

/* SECTIONS */
.section{padding:80px 0;}
.section-wrap{width:min(1200px,92%); margin:0 auto; padding:0 20px;}
.section-head{text-align:center; margin-bottom:40px;}
.section-head h2{
  font-family:'Playfair Display',serif;
  font-size:36px;
  color:var(--accent);
}
.divider{width:50px;height:2px;background:var(--accent2);margin:15px auto 0;}

.gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:30px;
}
.quote-card{
  background:#fff;
  padding:35px;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
  border:1px solid var(--line);
  transition:.25s;
}
.quote-card:hover{transform:translateY(-5px);}
.quote{
  font-family:'Crimson Pro',serif;
  font-size:24px;
  font-style:italic;
}

.g-item{
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-medium);
  background:#fff;
  animation:swayRomance 8s ease-in-out infinite;
  animation-delay:calc(.5s * var(--i));
}
.g-item img{width:100%; height:300px; object-fit:cover; display:block;}
.g-item figcaption{
  padding:15px;
  text-align:center;
  font-style:italic;
  font-family:'Crimson Pro',serif;
}

.footer{
  padding:60px 0;
  text-align:center;
  background:#fff;
  border-top:1px solid var(--line);
  font-family:'Crimson Pro',serif;
  font-style:italic;
}
