/*
Theme Name: Romantik Event
Theme URI: https://romantikevent.com
Author: Engin Demirel
Description: Romantik Event için özel tasarlanmış, siyah & altın temalı düğün, nişan, kına, sünnet ve organizasyon hizmetleri teması. İstemem, Nişan, Kına, Düğün, Sünnet ve Film hizmet kartları, filtrelenebilir galeri ve iletişim formu içerir.
Version: 1.4.6
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: romantik-event
*/

/* ==========================================================================
   0. Değişkenler
   ========================================================================== */
:root{
	--re-black:#ffffff;
	--re-black-2:#faf7f2;
	--re-black-3:#f1ece3;
	--re-gold:#c9a227;
	--re-gold-light:#e9c767;
	--re-gold-lighter:#f5e1a4;
	--re-gold-dark:#8a6d1d;
	--re-cream:#1f2430;
	--re-cream-dim:#4c5566;
	--re-line: rgba(0,0,0,.1);
	--re-radius: 4px;
	--re-shadow: 0 10px 40px rgba(0,0,0,.12);
	--font-display:'Playfair Display', 'Georgia', serif;
	--font-caps:'Cinzel', 'Playfair Display', serif;
	--font-body:'Montserrat', 'Segoe UI', sans-serif;
	--font-script:'Cinzel Decorative', 'Cinzel', 'Playfair Display', serif;
}

/* ==========================================================================
   1. Reset & Temel
   ========================================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
	margin:0;
	background:var(--re-black);
	color:var(--re-cream);
	font-family:var(--font-body);
	font-weight:400;
	line-height:1.7;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
::selection{ background:var(--re-gold); color:var(--re-black); }

.container{
	max-width:none;
	margin:0 auto;
	padding:0 12px;
}

.gold-text{
	background:linear-gradient(180deg,var(--re-gold-lighter) 0%,var(--re-gold) 45%,var(--re-gold-dark) 100%);
	-webkit-background-clip:text;
	background-clip:text;
	-webkit-text-fill-color:transparent;
	color:var(--re-gold);
}

.section-tag{
	display:block;
	text-align:center;
	font-family:var(--font-caps);
	letter-spacing:.35em;
	text-transform:uppercase;
	font-size:.72rem;
	font-weight:600;
	color:var(--re-gold-dark);
	margin-bottom:14px;
}

.section-title{
	text-align:center;
	font-family:var(--font-display);
	font-weight:700;
	font-size:clamp(1.9rem,4vw,2.9rem);
	margin:0 0 18px;
}

.section-divider{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	margin:0 auto 56px;
	max-width:360px;
}
.section-divider::before,.section-divider::after{
	content:"";
	flex:1;
	height:1px;
	background:linear-gradient(90deg,transparent,var(--re-gold));
}
.section-divider::after{ background:linear-gradient(90deg,var(--re-gold),transparent); }
.section-divider svg{ flex-shrink:0; width:16px; height:16px; fill:var(--re-gold); color:var(--re-gold); }

.btn{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:15px 38px;
	border:1px solid var(--re-gold);
	color:var(--re-gold-light);
	font-family:var(--font-caps);
	font-size:.8rem;
	letter-spacing:.2em;
	text-transform:uppercase;
	background:transparent;
	border-radius:var(--re-radius);
	transition:all .35s ease;
}
.btn:hover{
	background:var(--re-gold);
	color:var(--re-black);
	box-shadow:0 0 25px rgba(201,162,39,.45);
	transform:translateY(-2px);
}
.btn-solid{
	background:linear-gradient(180deg,var(--re-gold-light),var(--re-gold-dark));
	color:var(--re-black);
	border-color:transparent;
	font-weight:600;
}
.btn-solid:hover{
	box-shadow:0 0 30px rgba(201,162,39,.55);
	color:var(--re-black);
}

/* Sayfa ne kadar aşağı kaydırıldığını gösteren ince ilerleme çubuğu */
.re-scroll-progress{
	position:fixed;
	top:0; left:0; right:0;
	height:3px;
	z-index:9999;
	background:transparent;
	pointer-events:none;
}
.re-scroll-progress-bar{
	height:100%;
	width:0%;
	background:linear-gradient(90deg, var(--re-gold-dark), var(--re-gold), var(--re-gold-light));
	transition:width .1s linear;
}

/* ==========================================================================
   2. Header / Navigasyon
   ========================================================================== */
.site-header{
	position:sticky;
	top:0;
	z-index:100;
	background:var(--re-black);
	border-bottom:1px solid var(--re-line);
	box-shadow:0 2px 12px rgba(0,0,0,.05);
}

.header-bar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	padding:14px 0;
}

/* Küçük logo/video kutusu */
.site-logo-mini{
	display:block;
	width:270px;
	height:70px;
	flex-shrink:0;
	overflow:hidden;
	border:1px solid var(--re-line);
	border-radius:var(--re-radius);
}
.site-logo-mini video,
.site-logo-mini img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Yuvarlak amblem tarzı logolar için (video kutusundan farklı olarak kare/daire oran) */
.site-logo-badge{
	display:block;
	width:112px;
	height:112px;
	flex-shrink:0;
	overflow:hidden;
	border-radius:50%;
	border:1px solid var(--re-line);
}
.site-logo-badge img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }

.site-title-mini{
	font-family:var(--font-script);
	font-weight:700;
	font-size:1.3rem;
	letter-spacing:.02em;
	color:var(--re-cream);
	white-space:nowrap;
}
.site-title-mini small{
	display:block;
	font-family:var(--font-caps);
	font-size:.55rem;
	letter-spacing:.3em;
	text-transform:uppercase;
	color:var(--re-cream-dim);
	font-weight:400;
}

/* ---------- Header mücevher (elmas) navigasyonu — kompakt ikon+etiket ---------- */
.header-diamond-nav{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:12px;
	perspective:700px;
}
.hdn-item{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:82px;
	height:72px;
	flex-shrink:0;
	opacity:0;
	backface-visibility:hidden;
	animation:hdnSpinIn .9s cubic-bezier(.25,.7,.35,1) both;
	animation-delay:var(--hdn-delay,0s);
}
.hdn-item:nth-child(1){ --hdn-delay:.05s; }
.hdn-item:nth-child(2){ --hdn-delay:.22s; }
.hdn-item:nth-child(3){ --hdn-delay:.39s; }
.hdn-item:nth-child(4){ --hdn-delay:.56s; }
.hdn-item:nth-child(5){ --hdn-delay:.73s; }
.hdn-item:nth-child(6){ --hdn-delay:.9s; }
@keyframes hdnSpinIn{
	0%{ opacity:0; transform:translateY(10px) scale(.75) rotateY(130deg); }
	55%{ opacity:1; }
	100%{ opacity:1; transform:translateY(0) scale(1) rotateY(0deg); }
}
@media (prefers-reduced-motion: reduce){
	.hdn-item{ animation:none; opacity:1; transform:none; }
}

.hdn-gem{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	overflow:hidden;
	color:var(--re-gold);
	transition:color .2s ease;
}
.hdn-gem svg{
	width:100%;
	height:100%;
	display:block;
	filter:drop-shadow(0 5px 7px rgba(120,90,20,.35)) drop-shadow(0 1px 1px rgba(120,90,20,.25));
}
.hdn-gem .re-gem-outline{ fill:rgba(201,162,39,.08); }
.hdn-item:hover .hdn-gem{ color:var(--re-gold-dark); }

/* Açılışta elmasın üzerinden geçen ışık parıltısı, dönüş animasyonuyla aynı zamanlamada */
.hdn-gem::after{
	content:"";
	position:absolute;
	top:-10%;
	left:-70%;
	width:35%;
	height:120%;
	background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.9) 50%, transparent 100%);
	transform:skewX(-20deg);
	opacity:0;
	animation:hdnShine .9s ease-out both;
	animation-delay:var(--hdn-delay,0s);
	pointer-events:none;
}
@keyframes hdnShine{
	0%{ left:-70%; opacity:0; }
	40%{ opacity:.85; }
	65%{ opacity:0; }
	100%{ left:135%; opacity:0; }
}
@media (prefers-reduced-motion: reduce){
	.hdn-gem::after{ animation:none; opacity:0; }
}

/* Şu an içinde bulunulan sayfanın elması: dolgun altın çıkışıyla belirginleşir */
.hdn-item.is-current-page .hdn-gem{ color:var(--re-gold-dark); }
.hdn-item.is-current-page .hdn-gem .re-gem-outline{ fill:rgba(201,162,39,.28); }
.hdn-item.is-current-page .hdn-main{ color:var(--re-gold-dark); }

/* Elmasların köşesindeki parıltı: sürekli, birbirinden bağımsız yanıp sönen ışıltı */
.hdn-gem .re-gem-sparkle{
	transform-origin:21px 14px;
	animation:hdnSparkle 2.6s ease-in-out infinite;
	animation-delay:calc(var(--hdn-delay,0s) + .9s);
}
@keyframes hdnSparkle{
	0%, 100%{ opacity:.2; transform:scale(.6); }
	50%{ opacity:1; transform:scale(1.25); }
}
@media (prefers-reduced-motion: reduce){
	.hdn-gem .re-gem-sparkle{ animation:none; opacity:.85; }
}

.hdn-main{
	position:relative;
	z-index:1;
	max-width:58px;
	font-family:var(--font-caps);
	font-size:.6rem;
	font-weight:700;
	line-height:1.3;
	letter-spacing:.01em;
	text-transform:uppercase;
	text-align:center;
	color:#000;
	transition:color .2s ease;
}
.hdn-item:hover .hdn-main{ color:var(--re-gold-dark); }

.header-social{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.header-social-link{
	display:flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	border-radius:50%;
	background:var(--re-black-2);
	border:1px solid var(--re-line);
	color:var(--re-gold-dark);
	transition:background .2s ease, color .2s ease, transform .2s ease;
}
.header-social-link svg{ width:17px; height:17px; }
.header-social-link:hover{ background:var(--re-gold); color:#fff; transform:translateY(-2px); }

/* ==========================================================================
   3. Hero
   ========================================================================== */
.screen-reader-text{
	position:absolute !important;
	width:1px; height:1px;
	overflow:hidden;
	clip:rect(1px,1px,1px,1px);
	white-space:nowrap;
}

/* Tek parça, tam genişlikte salon fotoğrafı; üstte nav kartı, altında başlık + şeffaf menü paneli */
.hero-full{
	position:relative;
	min-height:100vh;
	background-size:cover;
	background-position:center;
	background-color:var(--re-black-3);
	overflow:hidden;
}
.hero-full::before{
	content:"";
	position:absolute; inset:0;
	background:linear-gradient(90deg, rgba(10,9,8,.55) 0%, rgba(10,9,8,.25) 45%, rgba(10,9,8,.4) 100%);
}

.hero-content-wrap{
	position:relative;
	z-index:2;
	min-height:100vh;
	display:flex;
	flex-direction:column;
	padding:32px clamp(20px,4vw,60px) 50px;
}

.hero-nav-card{
	background:rgba(255,255,255,.95);
	padding:8px 30px;
	border-radius:var(--re-radius);
	box-shadow:0 4px 15px rgba(10,9,8,.15);
}

.hero-body{
	flex:1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:40px;
	margin-top:40px;
}

.hero-full-content{ max-width:560px; }
.hero-headline{
	font-family:var(--font-display);
	font-weight:800;
	text-transform:uppercase;
	font-size:clamp(1.9rem,3.6vw,3.1rem);
	line-height:1.18;
	color:#fff;
	text-shadow:0 2px 10px rgba(0,0,0,.5);
	margin:0 0 20px;
}
.hero-headline em{ font-style:normal; color:var(--re-gold-light); }
.hero-headline-sub{
	color:rgba(255,255,255,.9);
	font-size:1rem;
	line-height:1.7;
	max-width:460px;
	margin:0 0 32px;
}

/* Şeffaf menü paneli: fotoğrafın üzerinde durur, arka plan hafif kararmış camsı bir katman */
.hero-side{
	width:340px;
	flex-shrink:0;
	background:rgba(10,9,8,.25);
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);
	border:1px solid rgba(255,255,255,.3);
	border-radius:var(--re-radius);
	padding:28px 24px;
	display:flex;
	flex-direction:column;
	gap:22px;
}
.hero-side-tag{
	text-align:center;
	font-family:var(--font-caps);
	font-size:.72rem;
	letter-spacing:.25em;
	text-transform:uppercase;
	color:var(--re-gold-light);
	margin:0;
}

/* Hizmet listesi: kart değil, ince ayraçlı bir menü */
.services-menu{
	display:flex;
	flex-direction:column;
}
.services-menu-item{
	display:flex;
	align-items:center;
	gap:14px;
	width:100%;
	background:transparent;
	border:none;
	border-bottom:1px solid rgba(255,255,255,.22);
	padding:13px 4px;
	text-align:left;
	font:inherit;
	color:#fff;
	cursor:pointer;
	transition:background .2s ease, padding-left .2s ease;
}
.services-menu-item:last-child{ border-bottom:none; }
.services-menu-item:hover,
.services-menu-item.is-active{ background:rgba(255,255,255,.08); padding-left:10px; }
.services-menu-icon{ width:22px; height:22px; flex-shrink:0; color:var(--re-gold-light); }
.services-menu-icon svg{ width:100%; height:100%; }
.services-menu-item h4{
	font-family:var(--font-caps);
	font-size:.76rem;
	letter-spacing:.03em;
	text-transform:uppercase;
	color:#fff;
	font-weight:500;
	margin:0;
}

.quote-form-mini{
	background:transparent;
	border-top:1px solid rgba(255,255,255,.3);
	padding-top:22px;
}
.quote-form-mini h3{
	font-family:var(--font-display);
	font-size:1.1rem;
	color:#fff;
	text-align:center;
	margin:0 0 18px;
}
.quote-form-mini-selected{
	font-size:.8rem;
	color:rgba(255,255,255,.8);
	margin:-2px 0 12px;
}
.quote-form-mini-selected strong{ color:var(--re-gold-light); font-weight:600; }
.quote-form-mini .contact-form{ background:transparent; border:none; padding:0; }
.quote-form-mini .form-group label{ color:rgba(255,255,255,.75); }
.quote-form-mini .form-row{ grid-template-columns:1fr 1fr; gap:10px; }
.quote-form-mini .form-group{ margin-bottom:10px; }
.quote-form-mini .form-group:last-of-type{ margin-bottom:16px; }
.quote-form-mini .form-group input,
.quote-form-mini .form-group textarea{ padding:11px 13px; font-size:.85rem; background:rgba(255,255,255,.92); border-color:transparent; }
.quote-form-mini .form-group textarea{ min-height:70px; }
.quote-form-mini .btn-solid{ width:100%; justify-content:center; padding:13px; }

/* ==========================================================================
   4. Hizmetler
   ========================================================================== */
.services{ padding:50px 0 100px; background:var(--re-black-2); position:relative; }
.services-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1px;
	background:var(--re-line);
	border:1px solid var(--re-line);
	margin:0 20px;
	box-shadow:0 15px 45px rgba(31,36,48,.08);
}
.service-card{
	background:var(--re-black);
	padding:52px 34px;
	text-align:center;
	position:relative;
	transition:background .3s ease, transform .3s ease;
}
.service-card:hover{ background:var(--re-black-3); transform:translateY(-4px); }
.service-card .service-icon{
	width:52px; height:52px;
	margin:0 auto 22px;
	position:relative;
}
.service-card .service-icon::before,
.service-card .service-icon::after{
	content:"";
	position:absolute;
	inset:0;
	border:1.5px solid var(--re-gold-dark);
	transform:rotate(45deg);
	transition:transform .5s ease, opacity .5s ease;
}
.service-card:hover .service-icon::before{ transform:rotate(90deg); }
.service-card .service-icon svg{
	position:relative; z-index:1;
	width:100%; height:100%;
	padding:13px;
	fill:var(--re-gold-dark);
	color:var(--re-gold-dark);
}
.service-card h3{
	font-family:var(--font-caps);
	font-size:1.05rem;
	letter-spacing:.12em;
	text-transform:uppercase;
	font-weight:600;
	margin:0 0 14px;
	color:var(--re-cream);
}
.service-card p{
	font-size:.92rem;
	color:var(--re-cream-dim);
	margin:0;
	font-weight:400;
	line-height:1.65;
}

/* Hizmet kartlarının altında: salon organizasyonu kapsamı + servis menüsü */
.services-detail{
	max-width:1080px;
	margin:70px auto 0;
	padding:0 20px;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:40px;
}
.services-detail-col{
	background:var(--re-black);
	border:1px solid var(--re-line);
	border-radius:var(--re-radius);
	padding:40px 36px;
	box-shadow:0 15px 45px rgba(31,36,48,.06);
}
.services-detail-col h3{
	font-family:var(--font-caps);
	font-size:1.05rem;
	letter-spacing:.08em;
	text-transform:uppercase;
	text-align:center;
	color:var(--re-gold-dark);
	margin:0 0 26px;
}
.services-detail-list{
	display:flex;
	flex-direction:column;
	gap:16px;
}
.services-detail-list li{
	display:flex;
	align-items:flex-start;
	gap:12px;
	font-size:.94rem;
	color:var(--re-cream);
	line-height:1.5;
}
.services-detail-list .ic{
	width:19px;
	height:19px;
	flex-shrink:0;
	margin-top:2px;
	color:var(--re-gold);
}
.services-detail-list .ic svg{ width:100%; height:100%; display:block; }

/* ==========================================================================
   5. Galeri
   ========================================================================== */
.gallery-section{ padding:120px 0; background:var(--re-black); }
.gallery-filters{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:12px;
	margin-bottom:50px;
}
.gallery-filters button{
	background:transparent;
	border:1px solid var(--re-line);
	color:var(--re-cream-dim);
	font-family:var(--font-caps);
	font-size:.72rem;
	letter-spacing:.15em;
	text-transform:uppercase;
	padding:11px 24px;
	border-radius:30px;
	transition:all .3s ease;
}
.gallery-filters button:hover{ border-color:var(--re-gold); color:var(--re-gold-dark); }
.gallery-filters button.is-active{
	background:var(--re-gold);
	border-color:var(--re-gold);
	color:var(--re-black);
}

.gallery-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px;
}
.gallery-item{
	position:relative;
	aspect-ratio:1/1;
	overflow:hidden;
	border:1px solid var(--re-line);
	cursor:pointer;
	background:var(--re-black-2);
}
.gallery-item img{
	width:100%; height:100%; object-fit:cover;
	transition:transform .6s ease, filter .6s ease;
	filter:grayscale(15%);
}
.gallery-item:hover img{ transform:scale(1.08); filter:grayscale(0%); }
.gallery-item .gallery-overlay{
	position:absolute; inset:0;
	background:linear-gradient(0deg, rgba(10,9,8,.88) 0%, rgba(10,9,8,0) 55%);
	display:flex; flex-direction:column; justify-content:flex-end;
	padding:20px;
	opacity:0; transition:opacity .4s ease;
}
.gallery-item:hover .gallery-overlay{ opacity:1; }
.gallery-overlay .cat{
	font-family:var(--font-caps);
	font-size:.65rem;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:var(--re-gold-light);
}
.gallery-overlay .ttl{ font-family:var(--font-display); font-size:1.05rem; margin-top:4px; }

.gallery-item.gallery-placeholder{
	background:
		linear-gradient(135deg, rgba(201,162,39,.06) 0%, transparent 40%),
		repeating-linear-gradient(45deg, rgba(201,162,39,.04) 0 2px, transparent 2px 14px);
	border-style:dashed;
	cursor:default;
	display:flex;
}
.gallery-item.gallery-placeholder .gallery-overlay{
	position:static;
	background:none !important;
	align-items:center;
	text-align:center;
	margin:auto;
}

.gallery-empty{
	text-align:center;
	color:var(--re-cream-dim);
	font-family:var(--font-caps);
	letter-spacing:.1em;
	padding:40px 0;
}

.gallery-more{ text-align:center; margin-top:50px; }

/* Lightbox */
.re-lightbox{
	position:fixed; inset:0; z-index:1000;
	background:rgba(6,5,4,.94);
	display:none;
	align-items:center; justify-content:center;
	padding:40px;
}
.re-lightbox.is-open{ display:flex; }
.re-lightbox img{ max-width:90vw; max-height:85vh; border:1px solid var(--re-gold); box-shadow:0 0 60px rgba(0,0,0,.6); }
.re-lightbox-close{
	position:absolute; top:26px; right:32px;
	width:44px; height:44px;
	border:1px solid var(--re-gold);
	background:transparent; color:var(--re-gold-light);
	font-size:1.3rem; line-height:1;
	border-radius:50%;
}

/* ==========================================================================
   6. İletişim
   ========================================================================== */
.contact-section{
	padding:120px 0;
	background:var(--re-black-2);
	position:relative;
}
.contact-grid{
	display:grid;
	grid-template-columns:.85fr 1.15fr;
	gap:70px;
	align-items:start;
}
.contact-info h3{
	font-family:var(--font-display);
	font-size:1.6rem;
	margin:0 0 20px;
}
.contact-info p{ color:var(--re-cream-dim); margin-bottom:34px; }
.contact-list{ display:flex; flex-direction:column; gap:22px; }
.contact-list li{ display:flex; align-items:center; gap:16px; }
.contact-list .ic{
	width:44px; height:44px;
	border:1px solid var(--re-gold);
	border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	flex-shrink:0;
}
.contact-list .ic svg{ width:18px; height:18px; fill:var(--re-gold-dark); color:var(--re-gold-dark); }
.contact-list .label{ font-family:var(--font-caps); font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; color:var(--re-cream-dim); margin-bottom:3px; }
.contact-list .value{ font-size:1rem; color:var(--re-cream); }
.contact-list a.value:hover{ color:var(--re-gold-dark); }

.contact-form{
	background:var(--re-black);
	border:1px solid var(--re-line);
	padding:44px;
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-group{ margin-bottom:22px; }
.form-group label{
	display:block;
	font-family:var(--font-caps);
	font-size:.68rem;
	letter-spacing:.15em;
	text-transform:uppercase;
	color:var(--re-cream-dim);
	margin-bottom:9px;
}
.form-group input,
.form-group select,
.form-group textarea{
	width:100%;
	background:var(--re-black-2);
	border:1px solid var(--re-line);
	color:var(--re-cream);
	padding:13px 15px;
	font-family:var(--font-body);
	font-size:.92rem;
	border-radius:var(--re-radius);
	transition:border-color .25s;
}
.form-group textarea{ resize:vertical; min-height:120px; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{ outline:none; border-color:var(--re-gold); }
.form-group.hp{ position:absolute; left:-9999px; }

.form-msg{ padding:14px 18px; margin-bottom:22px; border-radius:var(--re-radius); font-size:.88rem; }
.form-msg.success{ background:rgba(76,175,80,.12); border:1px solid #4caf50; color:#a9dcab; }
.form-msg.error{ background:rgba(244,67,54,.12); border:1px solid #f44336; color:#f5b3ae; }

/* ==========================================================================
   7. Footer
   ========================================================================== */
.site-footer{
	background:var(--re-black);
	border-top:1px solid var(--re-line);
	padding:60px 0 30px;
	text-align:center;
}
.footer-logo{
	font-family:var(--font-script);
	font-weight:700;
	font-size:1.8rem;
	letter-spacing:.02em;
	margin-bottom:10px;
}
.footer-tagline{
	font-family:var(--font-caps);
	font-size:.68rem;
	letter-spacing:.3em;
	text-transform:uppercase;
	color:var(--re-cream-dim);
	margin-bottom:30px;
}
.footer-social{ display:flex; justify-content:center; gap:18px; margin-bottom:36px; }
.footer-social a{
	width:42px; height:42px;
	border:1px solid var(--re-gold);
	border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	transition:all .3s ease;
}
.footer-social a:hover{ background:var(--re-gold); }
.footer-social svg{ width:16px; height:16px; fill:var(--re-gold-dark); color:var(--re-gold-dark); transition:fill .3s, color .3s; }
.footer-social a:hover svg{ fill:var(--re-black); color:var(--re-black); }
.footer-links-menu{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:24px;
	margin-bottom:26px;
	font-family:var(--font-caps);
	font-size:.72rem;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--re-cream-dim);
}
.footer-links-menu a:hover{ color:var(--re-gold-dark); }

.footer-bottom{
	border-top:1px solid var(--re-line);
	padding-top:26px;
	font-size:.8rem;
	color:var(--re-cream-dim);
}
.footer-bottom a{ color:var(--re-gold-dark); }

/* Sağ altta sabit WhatsApp + arama butonları — sadece mobilde görünür (bkz. 10. Responsive) */
.re-float-buttons{
	display:none;
	position:fixed;
	right:16px;
	bottom:16px;
	z-index:200;
	flex-direction:column;
	gap:12px;
}
.re-float-btn{
	width:52px;
	height:52px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	box-shadow:0 10px 24px rgba(10,9,8,.3);
	transition:transform .2s ease;
}
.re-float-btn:hover{ transform:translateY(-3px); color:#fff; }
.re-float-btn svg{ width:24px; height:24px; }
.re-float-whatsapp{ background:#25d366; }
.re-float-phone{ background:var(--re-gold); }

/* ==========================================================================
   8. Sayfa içi (page.php / index.php) genel içerik
   ========================================================================== */
.site-main-page{ padding:80px 0 120px; min-height:60vh; }
.site-main-page .container{ max-width:820px; }
.site-main-page h1{ font-family:var(--font-display); font-size:2.4rem; margin-bottom:30px; }
.site-main-page article{ color:var(--re-cream-dim); }
.site-main-page article a{ color:var(--re-gold-dark); text-decoration:underline; }

.page-intro{ padding-top:80px; max-width:820px; }
.page-intro h1{ font-family:var(--font-display); font-size:2.4rem; margin-bottom:24px; }
.page-intro-content{ color:var(--re-cream-dim); margin-bottom:20px; }
.page-intro-content a{ color:var(--re-gold-dark); text-decoration:underline; }

.contact-map{
	margin-top:60px;
	border:1px solid var(--re-line);
	aspect-ratio:16/6;
	overflow:hidden;
}
.contact-map iframe{ width:100%; height:100%; border:0; display:block; }

/* ==========================================================================
   9. Reveal animasyonu
   ========================================================================== */
.re-reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s ease; }
.re-reveal.is-visible{ opacity:1; transform:translateY(0); }

/* ==========================================================================
   10. Responsive
   ========================================================================== */
@media (max-width:960px){
	.services-grid{ grid-template-columns:repeat(2,1fr); }
	.gallery-grid{ grid-template-columns:repeat(2,1fr); }
	.contact-grid{ grid-template-columns:1fr; gap:50px; }

	.re-float-buttons{ display:flex; }

	.hero-content-wrap{ min-height:0; }
	.hero-body{ flex-direction:column; align-items:stretch; }
	.hero-full-content{ margin-bottom:0; text-align:center; max-width:none; }
	.hero-headline-sub{ margin-left:auto; margin-right:auto; }
	.hero-side{ width:100%; }

	/* Mobilde nav çubuğu: video en üstte geniş bir banner olarak, altında elmaslar — sosyal ikonlar mobilde gizli */
	.hero-nav-card,
	.header-bar{
		flex-direction:column;
		align-items:stretch;
		gap:12px;
	}
	.header-diamond-nav{ width:100%; justify-content:center; gap:8px 10px; }
	.site-branding-mini{ width:100%; display:flex; justify-content:center; }
	.site-logo-mini{ width:100%; height:auto; aspect-ratio:5.2/1; }
	.site-logo-badge{ width:84px; height:84px; }
	.header-social{ display:none; }
}

@media (max-width:780px){
	.form-row{ grid-template-columns:1fr; }
	.services-detail{ grid-template-columns:1fr; gap:24px; margin-top:50px; }
	.services-detail-col{ padding:32px 26px; }
}

@media (max-width:640px){
	.services-grid{ grid-template-columns:1fr; margin:0 12px; }
	.gallery-grid{ grid-template-columns:1fr; }
	.contact-form{ padding:28px; }
	.contact-map{ margin-top:0; aspect-ratio:4/3; }

	.hero-content-wrap{ padding:20px 16px 32px; }
	.hero-nav-card{ padding:12px 14px; gap:10px; }
	.hero-headline{ font-size:1.7rem; }
	.hero-side{ padding:22px 18px; }

	.site-title-mini{ font-size:1.1rem; }

	.header-diamond-nav{ gap:4px; }
	.hdn-item{ width:52px; height:48px; }
	.hdn-gem svg{ filter:drop-shadow(0 2px 3px rgba(120,90,20,.3)); }
	.hdn-main{ font-size:.42rem; max-width:38px; line-height:1.15; }
}

@media (max-width:380px){
	.hero-content-wrap{ padding:16px 10px 28px; }
	.hero-nav-card{ padding:10px; }

	.header-diamond-nav{ gap:3px; }
	.hdn-item{ width:44px; height:42px; }
	.hdn-main{ font-size:.36rem; max-width:32px; letter-spacing:0; }
}
