/*
Theme Name: Alpdo Dondurma
Theme URI: https://alpdodondurma.com
Author: Furkan Pekmezci
Description: Alpdo Dondurma için özel WordPress teması.
Version: 1.0
*/

:root {
  --bg:       #FCF9F4;
  --accent:   #A28452;
  --dark:     #171F26;
  --card:     #FFFFFF;
  --muted:    #6B6B6B;
  --border:   rgba(162,132,82,.15);
  --shadow:   rgba(162,132,82,.15);
  --accent-light: rgba(162,132,82,.10);
}

*  { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Poppins',sans-serif; background:var(--bg); color:var(--dark); }

/* ── TYPOGRAPHY ─────────────────────────────── */
h1,h2,h3,h4 { color:var(--dark); font-weight:800; line-height:1.2; }
p { line-height:1.8; color:var(--muted); }
a { text-decoration:none; color:inherit; }

/* ── NAV ─────────────────────────────────────── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(252,249,244,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  padding:0 5%;
  display:flex; align-items:center; justify-content:space-between;
  height:70px;
}
.nav-logo { display:flex; align-items:center; gap:12px; }
.nav-logo img { height:44px; width:auto; border-radius:8px; }
.nav-logo-text { font-size:1.1rem; font-weight:800; color:var(--dark); }
.nav-logo-text span { color:var(--accent); }

.nav-links { display:flex; gap:2.2rem; list-style:none; }
.nav-links a {
  font-size:.9rem; font-weight:500; color:var(--dark);
  transition:.2s; position:relative; padding-bottom:4px;
}
.nav-links a::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:2px; background:var(--accent); transition:.2s;
}
.nav-links a:hover::after { width:100%; }
.nav-links a:hover { color:var(--accent); }

.nav-cta {
  background:var(--accent); color:#fff;
  padding:.5rem 1.4rem; border-radius:50px;
  font-size:.85rem; font-weight:600;
  transition:.2s; box-shadow:0 4px 14px var(--shadow);
}
.nav-cta:hover { transform:translateY(-2px); box-shadow:0 8px 22px var(--shadow); }

.nav-hamburger {
  display:none; flex-direction:column; gap:5px; cursor:pointer;
  background:none; border:none; padding:4px;
}
.nav-hamburger span {
  display:block; width:24px; height:2px;
  background:var(--dark); border-radius:2px; transition:.3s;
}

/* ── HERO ─────────────────────────────────────── */
.hero {
  min-height:100vh;
  display:flex; align-items:center;
  padding:100px 5% 70px;
  background:linear-gradient(135deg,#FCF9F4 0%,#F5EFE6 60%,#EDE4D6 100%);
  overflow:hidden; position:relative;
}
.hero::before {
  content:''; position:absolute; top:-120px; right:-120px;
  width:550px; height:550px; border-radius:50%;
  background:radial-gradient(circle,rgba(162,132,82,.08) 0%,transparent 70%);
  pointer-events:none;
}
.hero-inner {
  max-width:1200px; margin:0 auto; width:100%;
  display:grid; grid-template-columns:1fr 1fr;
  gap:60px; align-items:center;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:7px;
  background:var(--accent-light); border:1px solid var(--border);
  color:var(--accent); padding:.38rem 1.1rem; border-radius:50px;
  font-size:.78rem; font-weight:600; margin-bottom:1.3rem;
  text-transform:uppercase; letter-spacing:.06em;
}
.hero h1 {
  font-size:clamp(2.2rem,3.8vw,3.3rem);
  font-weight:900; margin-bottom:1.2rem; color:var(--dark);
}
.hero h1 span { color:var(--accent); }
.hero p {
  font-size:1rem; margin-bottom:2rem; max-width:470px; color:var(--muted);
}
.hero-btns { display:flex; gap:1rem; flex-wrap:wrap; }

.btn-primary {
  background:var(--accent); color:#fff;
  padding:.85rem 2rem; border-radius:50px;
  font-weight:700; font-size:.95rem;
  box-shadow:0 6px 20px var(--shadow); transition:.3s;
  display:inline-flex; align-items:center; gap:8px;
}
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 12px 30px var(--shadow); filter:brightness(1.08); }
.btn-secondary {
  border:2px solid var(--accent); color:var(--accent);
  padding:.85rem 2rem; border-radius:50px;
  font-weight:600; font-size:.95rem; transition:.3s;
}
.btn-secondary:hover { background:var(--accent); color:#fff; }

.hero-img-wrap { position:relative; }
.hero-img-wrap img {
  width:100%; border-radius:28px;
  box-shadow:0 30px 80px var(--shadow);
  object-fit:cover; height:500px;
}
.hero-float {
  position:absolute; background:#fff;
  border-radius:16px; padding:.8rem 1.1rem;
  box-shadow:0 10px 36px rgba(0,0,0,.10);
  display:flex; align-items:center; gap:.7rem;
}
.hero-float.f1 { bottom:30px; left:-20px; }
.hero-float.f2 { top:30px; right:-20px; }
.hero-float .ico { font-size:1.6rem; }
.hero-float .lbl { font-size:.72rem; color:#999; }
.hero-float .val { font-size:.92rem; font-weight:700; color:var(--dark); }

/* ── SECTION ORTAK ───────────────────────────── */
section { padding:96px 5%; }
.section-inner { max-width:1200px; margin:0 auto; }
.section-tag {
  display:inline-block;
  background:var(--accent-light); color:var(--accent);
  padding:.3rem .95rem; border-radius:50px;
  font-size:.75rem; font-weight:700; margin-bottom:.9rem;
  text-transform:uppercase; letter-spacing:.07em;
}
.section-title {
  font-size:clamp(1.8rem,2.8vw,2.4rem);
  font-weight:800; color:var(--dark); margin-bottom:.8rem;
}
.section-sub { font-size:.97rem; color:var(--muted); max-width:520px; line-height:1.75; }
.section-head { text-align:center; margin-bottom:3.5rem; }
.section-head .section-sub { margin:0 auto; }

/* ── MENU / ÜRÜNLER ──────────────────────────── */
#menu { background:#fff; }
.menu-categories {
  display:flex; gap:.8rem; flex-wrap:wrap;
  justify-content:center; margin-bottom:2.5rem;
}
.cat-btn {
  padding:.45rem 1.2rem; border-radius:50px; border:2px solid var(--border);
  font-size:.82rem; font-weight:600; cursor:pointer; background:transparent;
  color:var(--dark); transition:.2s; font-family:'Poppins',sans-serif;
}
.cat-btn.active, .cat-btn:hover {
  background:var(--accent); color:#fff; border-color:var(--accent);
}
.products-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(270px,1fr));
  gap:1.8rem;
}
.product-card {
  background:var(--card); border-radius:20px;
  overflow:hidden; transition:.3s;
  box-shadow:0 4px 20px rgba(0,0,0,.06);
  border:1px solid var(--border);
}
.product-card:hover { transform:translateY(-6px); box-shadow:0 18px 44px var(--shadow); }
.product-card img,
.product-card .wp-post-image,
.product-card .product-card-img { width:100%; height:210px; object-fit:cover; display:block; }
.product-body { padding:1.3rem; }
.product-tag {
  font-size:.7rem; font-weight:700; color:var(--accent);
  background:var(--accent-light); padding:.25rem .75rem;
  border-radius:50px; display:inline-block; margin-bottom:.65rem;
  text-transform:uppercase; letter-spacing:.04em;
}
.product-name { font-size:1rem; font-weight:700; color:var(--dark); margin-bottom:.4rem; }
.product-desc { font-size:.82rem; color:#999; line-height:1.6; }
.product-price {
  margin-top:.8rem; font-size:1rem; font-weight:800;
  color:var(--accent);
}

/* ── HAKKIMIZDA ──────────────────────────────── */
#hakkimizda { background:var(--bg); }
.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:70px; align-items:center;
}
.about-img-wrap { position:relative; }
.about-img-wrap img {
  width:100%; border-radius:24px;
  object-fit:cover; height:460px;
  box-shadow:0 24px 64px var(--shadow);
}
.about-badge {
  position:absolute; bottom:-20px; right:-20px;
  background:var(--accent); color:#fff;
  border-radius:20px; padding:1.2rem 1.6rem;
  box-shadow:0 10px 30px var(--shadow); text-align:center;
}
.about-badge .num { font-size:2.1rem; font-weight:900; display:block; }
.about-badge .lbl { font-size:.75rem; font-weight:500; opacity:.9; }

.about-content { padding:1rem 0; }
.about-content .section-title { margin-bottom:1.2rem; }
.about-content p { color:var(--muted); line-height:1.85; margin-bottom:1.2rem; font-size:.95rem; }
.about-features { display:flex; flex-direction:column; gap:.9rem; margin-top:1.5rem; }
.about-feature { display:flex; align-items:flex-start; gap:.9rem; }
.about-feature .ico {
  width:38px; height:38px; border-radius:11px;
  background:var(--accent-light); color:var(--accent);
  display:flex; align-items:center; justify-content:center;
  font-size:1.15rem; flex-shrink:0;
}
.about-feature .txt .ttl { font-size:.9rem; font-weight:700; color:var(--dark); }
.about-feature .txt .dsc { font-size:.8rem; color:#aaa; line-height:1.55; }

/* ── ŞUBELER ─────────────────────────────────── */
#subeler { background:#fff; }
.branches-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:2rem;
}
.branch-card {
  border-radius:20px; overflow:hidden;
  border:1px solid var(--border);
  box-shadow:0 4px 20px rgba(0,0,0,.06);
  transition:.3s;
}
.branch-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px var(--shadow); }
.branch-card img { width:100%; height:200px; object-fit:cover; }
.branch-body { padding:1.4rem; }
.branch-name { font-size:1.05rem; font-weight:800; color:var(--dark); margin-bottom:.9rem; }
.branch-info { display:flex; flex-direction:column; gap:.55rem; }
.branch-row {
  display:flex; align-items:flex-start; gap:.7rem;
  font-size:.84rem; color:var(--muted);
}
.branch-row .ico { color:var(--accent); font-size:.95rem; flex-shrink:0; margin-top:1px; }
.branch-map-btn {
  display:inline-block; margin-top:1.1rem;
  background:var(--accent-light); color:var(--accent);
  padding:.45rem 1.1rem; border-radius:50px;
  font-size:.8rem; font-weight:600; transition:.2s;
}
.branch-map-btn:hover { background:var(--accent); color:#fff; }

/* ── GOOGLE YORUMLAR ─────────────────────────── */
#yorumlar { background:var(--bg); }
.reviews-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:1.6rem;
}
.review-card {
  background:#fff; border-radius:18px; padding:1.6rem;
  box-shadow:0 4px 20px rgba(0,0,0,.06);
  border:1px solid var(--border); transition:.3s;
}
.review-card:hover { transform:translateY(-4px); box-shadow:0 14px 36px var(--shadow); }
.review-header { display:flex; align-items:center; gap:.9rem; margin-bottom:1rem; }
.reviewer-avatar {
  width:46px; height:46px; border-radius:50%;
  object-fit:cover; background:var(--accent-light);
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; font-weight:700; color:var(--accent); flex-shrink:0;
}
.reviewer-avatar img { width:100%; height:100%; border-radius:50%; object-fit:cover; }
.reviewer-name { font-size:.92rem; font-weight:700; color:var(--dark); }
.review-date { font-size:.75rem; color:#bbb; margin-top:2px; }
.review-stars { color:#F5A623; font-size:1rem; margin-bottom:.7rem; }
.review-text { font-size:.86rem; color:var(--muted); line-height:1.7; }
.google-badge {
  display:flex; align-items:center; gap:.5rem;
  margin-top:1rem; font-size:.75rem; color:#aaa;
}
.google-badge svg { width:16px; height:16px; }

/* ── FRANCHİSE ───────────────────────────────── */
#franchise { background:#fff; }
.franchise-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:70px; align-items:center;
}
.franchise-img img {
  width:100%; border-radius:24px;
  object-fit:cover; height:440px;
  box-shadow:0 20px 60px var(--shadow);
}
.franchise-content .section-title { margin-bottom:1.2rem; }
.franchise-content p { color:var(--muted); line-height:1.85; margin-bottom:1.5rem; font-size:.95rem; }
.franchise-benefits { display:flex; flex-direction:column; gap:.8rem; margin-bottom:2rem; }
.franchise-benefit {
  display:flex; align-items:center; gap:.8rem;
  font-size:.9rem; color:var(--dark); font-weight:500;
}
.franchise-benefit::before {
  content:'✓'; width:26px; height:26px; border-radius:50%;
  background:var(--accent); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:.7rem; font-weight:900; flex-shrink:0;
}
.franchise-contact-box {
  background:var(--bg); border-radius:16px; padding:1.4rem;
  border:1px solid var(--border);
}
.franchise-contact-box p { font-size:.85rem; margin-bottom:.7rem; }
.franchise-contact-box a {
  color:var(--accent); font-weight:600; font-size:.9rem;
}

/* ── İLETİŞİM ────────────────────────────────── */
#iletisim { background:var(--bg); }
.contact-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:50px; align-items:start;
}
.contact-cards { display:flex; flex-direction:column; gap:1rem; }
.contact-card {
  display:flex; align-items:center; gap:1.1rem;
  background:#fff; border-radius:16px; padding:1.3rem 1.5rem;
  border:1px solid var(--border);
  box-shadow:0 2px 12px rgba(0,0,0,.04); transition:.2s;
}
.contact-card:hover { box-shadow:0 8px 28px var(--shadow); }
.contact-card .ico {
  width:46px; height:46px; border-radius:12px;
  background:var(--accent); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; flex-shrink:0;
}
.contact-card .info .lbl { font-size:.73rem; color:#bbb; font-weight:500; }
.contact-card .info .val { font-size:.93rem; font-weight:700; color:var(--dark); margin-top:2px; }
.contact-card a { color:var(--dark); }
.contact-card a:hover { color:var(--accent); }

.map-wrap {
  border-radius:20px; overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,.08);
  height:340px;
}
.map-wrap iframe { width:100%; height:100%; border:0; }
.map-placeholder {
  height:100%; background:#F0EDE8;
  display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:.6rem; color:#bbb; font-size:.9rem;
}

/* ── SOSYAL MEDYA BANNER ─────────────────────── */
.social-banner {
  background:linear-gradient(135deg,var(--dark) 0%,#2A3540 100%);
  border-radius:24px; padding:2.8rem;
  display:flex; align-items:center;
  justify-content:space-between; margin-top:3rem; flex-wrap:wrap; gap:2rem;
}
.social-banner .left { display:flex; align-items:center; gap:1.2rem; }
.social-icons-wrap { display:flex; gap:.8rem; }
.social-icon-btn {
  width:48px; height:48px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.1); transition:.2s; color:#fff; font-size:1.3rem;
}
.social-icon-btn:hover { background:var(--accent); transform:translateY(-3px); }
.social-banner-text .ttl { color:#fff; font-size:1.25rem; font-weight:800; }
.social-banner-text .sub { color:rgba(255,255,255,.65); font-size:.88rem; margin-top:3px; }
.social-follow-btns { display:flex; gap:.8rem; flex-wrap:wrap; }
.social-follow-btn {
  padding:.75rem 1.5rem; border-radius:50px;
  font-weight:700; font-size:.85rem; transition:.2s;
  display:inline-flex; align-items:center; gap:.5rem;
}
.social-follow-btn.insta {
  background:linear-gradient(135deg,#F77737,#E1306C);
  color:#fff; box-shadow:0 4px 16px rgba(225,48,108,.3);
}
.social-follow-btn.insta:hover { transform:translateY(-3px); }
.social-follow-btn.fb {
  background:#1877F2; color:#fff;
  box-shadow:0 4px 16px rgba(24,119,242,.3);
}
.social-follow-btn.fb:hover { transform:translateY(-3px); }
.social-follow-btn.wa {
  background:#25D366; color:#fff;
  box-shadow:0 4px 16px rgba(37,211,102,.3);
}
.social-follow-btn.wa:hover { transform:translateY(-3px); }

/* ── FLOATING WHATSAPP ───────────────────────── */
.whatsapp-float {
  position:fixed; bottom:28px; right:28px; z-index:9999;
  width:58px; height:58px; border-radius:50%;
  background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:1.6rem;
  box-shadow:0 6px 24px rgba(37,211,102,.5);
  transition:.3s; animation:waPulse 2.5s infinite;
}
.whatsapp-float:hover { transform:scale(1.12); }
@keyframes waPulse {
  0%,100% { box-shadow:0 6px 24px rgba(37,211,102,.5); }
  50%      { box-shadow:0 6px 38px rgba(37,211,102,.75); }
}

/* ── FOOTER ──────────────────────────────────── */
footer {
  background:var(--dark); color:rgba(255,255,255,.5);
  padding:3.5rem 5% 2rem;
}
.footer-inner {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1.4fr 1fr 1fr;
  gap:3rem; padding-bottom:2rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-brand .footer-logo { display:flex; align-items:center; gap:10px; margin-bottom:1rem; }
.footer-brand .footer-logo img { height:38px; width:auto; border-radius:7px; }
.footer-brand .footer-logo-name { font-size:1rem; font-weight:800; color:#fff; }
.footer-brand p { font-size:.85rem; line-height:1.7; max-width:260px; }
.footer-social { display:flex; gap:.65rem; margin-top:1.2rem; }
.footer-social a {
  width:36px; height:36px; border-radius:10px;
  background:rgba(255,255,255,.07);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.6); font-size:1rem; transition:.2s;
}
.footer-social a:hover { background:var(--accent); color:#fff; }

.footer-col h4 { color:#fff; font-size:.9rem; font-weight:700; margin-bottom:1rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.5rem; }
.footer-col ul li a { font-size:.84rem; color:rgba(255,255,255,.5); transition:.2s; }
.footer-col ul li a:hover { color:var(--accent); }

.footer-bottom {
  max-width:1200px; margin:1.5rem auto 0;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1rem; font-size:.8rem;
}
.footer-bottom span { color:var(--accent); }

/* ── RESPONSIVE ──────────────────────────────── */
@media(max-width:1024px) {
  .franchise-grid { gap:40px; }
}
@media(max-width:900px) {
  .hero-inner, .about-grid, .contact-grid, .franchise-grid { grid-template-columns:1fr; }
  .hero-img-wrap { display:none; }
  .hero { min-height:auto; padding-top:130px; }
  .about-img-wrap img { height:300px; }
  .about-badge { bottom:-10px; right:10px; }
  .nav-links, .nav-cta { display:none; }
  .nav-hamburger { display:flex; }
  .footer-inner { grid-template-columns:1fr; gap:2rem; }
}
@media(max-width:600px) {
  section { padding:64px 5%; }
  .products-grid { grid-template-columns:1fr; }
  .reviews-grid  { grid-template-columns:1fr; }
  .branches-grid { grid-template-columns:1fr; }
  .social-banner { flex-direction:column; }
}

/* ── MOBILE NAV ──────────────────────────────── */
.mobile-menu {
  display:none; position:fixed; top:70px; left:0; right:0; z-index:999;
  background:rgba(252,249,244,.98); backdrop-filter:blur(12px);
  padding:1.5rem 5%; flex-direction:column; gap:1rem;
  border-bottom:1px solid var(--border);
}
.mobile-menu.open { display:flex; }
.mobile-menu a {
  font-size:1rem; font-weight:600; color:var(--dark);
  padding:.6rem 0; border-bottom:1px solid var(--border);
}
.mobile-menu a:last-child { border-bottom:none; }
.mobile-menu a:hover { color:var(--accent); }

/* ── ACF IMAGE FALLBACK ──────────────────────── */
.img-placeholder {
  background:linear-gradient(135deg,#F5EFE6,#EDE4D6);
  display:flex; align-items:center; justify-content:center;
  color:var(--accent); font-size:2.5rem;
}
