/*
Theme Name: Cave Global
Theme URI: https://caveglobal.com.tr
Author: Cave Global
Description: Cave Global için hazırlanmış iki dilli, hafif ve editoryal WordPress teması.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: cave-global
*/

:root {
  --cg-ink: #102a43;
  --cg-ink-soft: #3f586d;
  --cg-blue: #1976d2;
  --cg-teal: #188c87;
  --cg-green: #719b7a;
  --cg-paper: #fbfaf6;
  --cg-sand: #f1eadf;
  --cg-white: #fff;
  --cg-line: rgba(16, 42, 67, .16);
  --cg-shadow: 0 24px 80px rgba(16, 42, 67, .11);
  --cg-serif: "Iowan Old Style", Baskerville, "Times New Roman", serif;
  --cg-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --cg-gutter: clamp(22px, 5.5vw, 92px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cg-paper); color: var(--cg-ink); font-family: var(--cg-sans); }
body.admin-bar .cg-header { top: 32px; }
img { display: block; height: auto; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px; }
.cg-wrap { margin-inline: auto; max-width: 1540px; width: 100%; }
.cg-eyebrow { font-size: 11px; font-weight: 750; letter-spacing: .16em; margin: 0 0 22px; text-transform: uppercase; }
.cg-display { font-family: var(--cg-serif); font-weight: 400; letter-spacing: -.045em; line-height: .93; margin: 0; }

.cg-header { align-items: center; background: rgba(251,250,246,.93); border-bottom: 1px solid var(--cg-line); display: grid; grid-template-columns: 1fr auto 1fr; height: 88px; left: 0; padding: 0 var(--cg-gutter); position: absolute; right: 0; top: 0; z-index: 50; }
.cg-brand { align-items: center; display: inline-flex; width: fit-content; }
.cg-brand img { height: 44px; width: auto; }
.cg-nav { display: flex; font-size: 13px; gap: 32px; }
.cg-nav a, .cg-language, .cg-header-cta { transition: opacity .2s ease; }
.cg-nav a:hover, .cg-language:hover, .cg-header-cta:hover { opacity: .58; }
.cg-header-actions { align-items: center; display: flex; gap: 24px; justify-content: flex-end; }
.cg-language { font-size: 12px; letter-spacing: .08em; }
.cg-language b { color: var(--cg-teal); font-weight: 500; margin: 0 3px; }
.cg-header-cta { border-bottom: 1px solid currentColor; font-size: 13px; padding: 9px 0 7px; }
.cg-menu-toggle { background: transparent; border: 0; display: none; height: 44px; padding: 0; width: 44px; }
.cg-menu-toggle span { background: currentColor; display: block; height: 1px; margin: 6px auto; width: 24px; }

.cg-hero { display: grid; grid-template-columns: minmax(420px, 44%) 1fr; min-height: 830px; padding-top: 88px; }
.cg-hero-copy { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; padding: 80px clamp(42px, 6vw, 110px) 62px var(--cg-gutter); }
.cg-hero h1 { font-size: clamp(64px, 6.4vw, 116px); }
.cg-intro { color: var(--cg-ink-soft); font-size: clamp(16px, 1.2vw, 20px); line-height: 1.72; margin: 38px 0 0; max-width: 570px; }
.cg-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 30px; margin-top: 38px; }
.cg-button { align-items: center; background: var(--cg-ink); border: 1px solid var(--cg-ink); color: var(--cg-white); display: inline-flex; font-size: 13px; justify-content: center; min-height: 52px; min-width: 178px; padding: 14px 24px; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.cg-button:hover { background: var(--cg-teal); border-color: var(--cg-teal); transform: translateY(-2px); }
.cg-button--light { background: var(--cg-white); border-color: var(--cg-white); color: var(--cg-ink); }
.cg-link { border-bottom: 1px solid var(--cg-line); font-size: 13px; padding: 12px 0 8px; }
.cg-link span { margin-left: 8px; }
.cg-facts { border-top: 1px solid var(--cg-line); display: grid; gap: 22px; grid-template-columns: repeat(3,1fr); margin: 72px 0 0; padding-top: 23px; width: 100%; }
.cg-facts div { display: grid; gap: 5px; }
.cg-facts dt { font-family: var(--cg-serif); font-size: 21px; }
.cg-facts dd { color: var(--cg-ink-soft); font-size: 10px; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.cg-hero-visual { min-height: 742px; overflow: hidden; position: relative; }
.cg-hero-visual > img { animation: cg-drift 16s ease-in-out infinite alternate; height: 100%; object-fit: cover; width: 100%; }
.cg-hero-visual::after { background: linear-gradient(180deg,rgba(8,31,47,.03),transparent 45%,rgba(8,31,47,.34)); content: ""; inset: 0; pointer-events: none; position: absolute; }
@keyframes cg-drift { from { transform: scale(1.015); } to { transform: scale(1.07); } }
.cg-hero-caption { bottom: 24px; color: white; display: flex; font-size: 11px; justify-content: space-between; left: 28px; letter-spacing: .1em; position: absolute; right: 28px; text-transform: uppercase; z-index: 2; }
.cg-availability { align-items: center; background: rgba(251,250,246,.95); display: flex; gap: 14px; left: -36px; padding: 17px 22px; position: absolute; top: 48%; width: 310px; z-index: 3; }
.cg-status { background: var(--cg-teal); border-radius: 50%; box-shadow: 0 0 0 6px rgba(24,140,135,.13); flex: 0 0 auto; height: 9px; width: 9px; }
.cg-availability div { display: grid; gap: 3px; }
.cg-availability strong { font-size: 12px; }
.cg-availability small { color: var(--cg-ink-soft); font-size: 10px; }

.cg-trust { background: var(--cg-ink); color: #edf6f2; display: grid; font-size: 10px; gap: 20px; grid-template-columns: repeat(4,1fr); letter-spacing: .11em; padding: 21px var(--cg-gutter); text-align: center; text-transform: uppercase; }
.cg-trust span + span { border-left: 1px solid rgba(255,255,255,.18); }
.cg-section { padding: 130px var(--cg-gutter) 145px; }
.cg-section-head { align-items: end; display: grid; gap: 10vw; grid-template-columns: 1.2fr .8fr; margin-bottom: 64px; }
.cg-section-head h2, .cg-story h2, .cg-request-band h2, .cg-property-title h1, .cg-form-intro h1, .cg-simple h1 { font-family: var(--cg-serif); font-weight: 400; letter-spacing: -.045em; line-height: .96; margin: 0; }
.cg-section-head h2, .cg-story h2 { font-size: clamp(48px,5vw,82px); }
.cg-section-head > p { color: var(--cg-ink-soft); line-height: 1.72; margin: 0 0 6px; max-width: 460px; }
.cg-homes { display: grid; gap: 28px 24px; grid-template-columns: repeat(3,1fr); }
.cg-home-card:nth-child(4), .cg-home-card:nth-child(7) { margin-top: 42px; }
.cg-home-image { aspect-ratio: 4/5; overflow: hidden; position: relative; }
.cg-home-image img { height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); width: 100%; }
.cg-home-card a:hover .cg-home-image img { transform: scale(1.04); }
.cg-home-index { background: var(--cg-paper); bottom: 0; font-family: var(--cg-serif); font-size: 16px; left: 0; padding: 12px 14px; position: absolute; }
.cg-home-meta { align-items: start; border-top: 1px solid var(--cg-line); display: flex; justify-content: space-between; margin-top: 18px; padding-top: 15px; }
.cg-home-meta h3 { font-family: var(--cg-serif); font-size: 27px; font-weight: 400; margin: 0 0 6px; }
.cg-home-meta p, .cg-home-meta > span { color: var(--cg-ink-soft); font-size: 10px; letter-spacing: .07em; margin: 0; text-transform: uppercase; }
.cg-story { background: var(--cg-sand); padding: 140px var(--cg-gutter); text-align: center; }
.cg-story .cg-eyebrow { color: var(--cg-teal); }
.cg-story > p:last-child { color: var(--cg-ink-soft); line-height: 1.8; margin: 34px auto 0; max-width: 680px; }
.cg-city { padding: 130px var(--cg-gutter); }
.cg-city-head { display: grid; gap: 20px; grid-template-columns: .8fr 1.2fr; margin-bottom: 65px; }
.cg-city-head h2, .cg-rooms-head h2 { font-family: var(--cg-serif); font-size: clamp(44px,5vw,78px); font-weight: 400; letter-spacing: -.045em; line-height: .98; margin: 0; }
.cg-city-grid { border-bottom: 1px solid var(--cg-line); border-top: 1px solid var(--cg-line); display: grid; grid-template-columns: 1fr 1fr; }
.cg-city-grid article { padding: 54px 8vw 64px 0; }
.cg-city-grid article + article { border-left: 1px solid var(--cg-line); padding-left: 5vw; }
.cg-city-grid span, .cg-steps span { color: var(--cg-teal); font-family: var(--cg-serif); font-size: 14px; }
.cg-city-grid h3 { font-family: var(--cg-serif); font-size: 38px; font-weight: 400; margin: 34px 0 16px; }
.cg-city-grid p { color: var(--cg-ink-soft); line-height: 1.75; margin: 0; max-width: 520px; }
.cg-request-band { align-items: center; background: var(--cg-teal); color: white; display: flex; justify-content: space-between; padding: 80px var(--cg-gutter); }
.cg-request-band .cg-eyebrow { margin-bottom: 14px; }
.cg-request-band h2 { font-size: clamp(46px,5vw,76px); }

.cg-property-hero { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 720px; padding-top: 88px; }
.cg-property-image { min-height: 632px; overflow: hidden; }
.cg-property-image img { height: 100%; object-fit: cover; width: 100%; }
.cg-property-title { align-items: flex-start; background: var(--cg-sand); display: flex; flex-direction: column; justify-content: center; padding: 80px clamp(45px,7vw,130px); }
.cg-property-title h1 { font-size: clamp(66px,7vw,116px); line-height: .88; }
.cg-property-title > p:not(.cg-eyebrow) { color: var(--cg-ink-soft); font-size: 17px; line-height: 1.75; margin: 38px 0; max-width: 520px; }
.cg-property-facts { border-bottom: 1px solid var(--cg-line); display: grid; grid-template-columns: repeat(4,1fr); margin: 0 var(--cg-gutter); }
.cg-property-facts div { display: grid; gap: 9px; padding: 30px 20px 30px 0; }
.cg-property-facts div + div { border-left: 1px solid var(--cg-line); padding-left: 24px; }
.cg-property-facts span { color: var(--cg-ink-soft); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.cg-property-facts strong { font-family: var(--cg-serif); font-size: 17px; font-weight: 400; }
.cg-rooms { padding: 130px var(--cg-gutter); }
.cg-rooms-head { display: grid; grid-template-columns: .8fr 1.2fr; margin-bottom: 60px; }
.cg-rooms-head .cg-eyebrow { grid-row: span 2; }
.cg-rooms-head > p:last-child { color: var(--cg-ink-soft); line-height: 1.7; margin: 26px 0 0; max-width: 680px; }
.cg-room-list { border-top: 1px solid var(--cg-line); }
.cg-room-row { align-items: center; border-bottom: 1px solid var(--cg-line); display: grid; gap: 20px; grid-template-columns: 80px 1fr 1fr auto; min-height: 84px; transition: background .2s ease, padding .2s ease; }
.cg-room-row:hover { background: var(--cg-sand); padding: 0 20px; }
.cg-room-row > span { color: var(--cg-teal); font-family: var(--cg-serif); font-size: 13px; }
.cg-room-row strong { font-family: var(--cg-serif); font-size: 22px; font-weight: 400; }
.cg-room-row small { color: var(--cg-ink-soft); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.cg-room-row b { font-size: 13px; font-weight: 500; }
.cg-note { background: #edf4ef; border-left: 3px solid var(--cg-green); margin-top: 36px; max-width: 780px; padding: 22px 26px; }
.cg-note strong { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.cg-note p { color: var(--cg-ink-soft); line-height: 1.65; margin: 8px 0 0; }
.cg-process { background: var(--cg-ink); color: white; padding: 110px var(--cg-gutter); }
.cg-steps { display: grid; grid-template-columns: repeat(3,1fr); }
.cg-steps article { border-top: 1px solid rgba(255,255,255,.22); padding: 36px 5vw 10px 0; }
.cg-steps article + article { border-left: 1px solid rgba(255,255,255,.18); padding-left: 3vw; }
.cg-steps h3 { font-family: var(--cg-serif); font-size: 28px; font-weight: 400; margin: 38px 0 14px; }
.cg-steps p { color: rgba(255,255,255,.72); line-height: 1.7; margin: 0; max-width: 370px; }

.cg-form-shell { display: grid; grid-template-columns: .78fr 1.22fr; min-height: 100vh; padding-top: 88px; }
.cg-form-photo { min-height: calc(100vh - 88px); overflow: hidden; position: sticky; top: 0; }
.cg-form-photo img { height: 100%; object-fit: cover; width: 100%; }
.cg-form-photo figcaption { bottom: 30px; color: white; display: flex; font-family: var(--cg-serif); font-size: 18px; justify-content: space-between; left: 30px; position: absolute; right: 30px; }
.cg-inquiry { align-content: center; display: grid; gap: 26px 22px; grid-template-columns: 1fr 1fr; padding: 80px clamp(40px,7vw,120px); }
.cg-form-intro { grid-column: 1/-1; margin-bottom: 18px; }
.cg-form-intro h1 { font-size: clamp(52px,6vw,88px); }
.cg-form-intro p { color: var(--cg-ink-soft); line-height: 1.7; margin: 26px 0 0; max-width: 680px; }
.cg-inquiry label { display: grid; gap: 9px; }
.cg-inquiry label > span { font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.cg-inquiry input, .cg-inquiry select, .cg-inquiry textarea { appearance: none; background: transparent; border: 0; border-bottom: 1px solid var(--cg-line); border-radius: 0; color: var(--cg-ink); min-height: 49px; outline: none; padding: 8px 0; width: 100%; }
.cg-inquiry input:focus, .cg-inquiry select:focus, .cg-inquiry textarea:focus { border-bottom-color: var(--cg-teal); }
.cg-inquiry textarea { border: 1px solid var(--cg-line); padding: 14px; resize: vertical; }
.cg-wide { grid-column: 1/-1; }
.cg-consent { align-items: start; display: flex !important; font-size: 12px; gap: 10px !important; line-height: 1.5; }
.cg-consent input { flex: 0 0 18px; min-height: 18px; width: 18px; }
.cg-honeypot { left: -9999px; position: absolute; }
.cg-alert { background: #edf4ef; border-left: 3px solid var(--cg-teal); grid-column: 1/-1; line-height: 1.6; padding: 18px 22px; }
.cg-alert--error { background: #f9ece9; border-color: #a6483c; }

.cg-simple { min-height: 70vh; padding: 190px var(--cg-gutter) 110px; }
.cg-simple h1 { font-size: clamp(54px,7vw,105px); }
.cg-simple .entry-content { color: var(--cg-ink-soft); font-size: 17px; line-height: 1.8; margin-top: 48px; max-width: 780px; }
.cg-footer { background: #0b2236; color: rgba(255,255,255,.8); padding: 68px var(--cg-gutter) 34px; }
.cg-footer-top { display: grid; gap: 60px; grid-template-columns: 1.2fr 1fr 1fr; }
.cg-footer-brand img { filter: brightness(0) invert(1); height: 42px; width: auto; }
.cg-footer p { line-height: 1.7; max-width: 430px; }
.cg-footer nav { display: grid; font-size: 13px; gap: 12px; }
.cg-footer h2 { color: white; font-size: 11px; letter-spacing: .12em; margin: 0 0 18px; text-transform: uppercase; }
.cg-footer-bottom { border-top: 1px solid rgba(255,255,255,.14); display: flex; font-size: 11px; justify-content: space-between; margin-top: 58px; padding-top: 22px; }

@media (max-width: 980px) {
  body.admin-bar .cg-header { top: 46px; }
  .cg-header { grid-template-columns: 1fr auto; }
  .cg-menu-toggle { display: block; }
  .cg-nav { background: var(--cg-paper); border-bottom: 1px solid var(--cg-line); display: none; flex-direction: column; grid-column: 1/-1; left: 0; padding: 28px var(--cg-gutter); position: absolute; right: 0; top: 88px; }
  .cg-nav.is-open { display: flex; }
  .cg-header-cta { display: none; }
  .cg-hero { grid-template-columns: 1fr; }
  .cg-hero-copy { min-height: 700px; padding: 150px var(--cg-gutter) 70px; }
  .cg-hero-visual { min-height: 620px; }
  .cg-availability { left: 22px; }
  .cg-section-head { gap: 45px; grid-template-columns: 1fr; }
  .cg-homes { grid-template-columns: 1fr 1fr; }
  .cg-home-card:nth-child(4), .cg-home-card:nth-child(7) { margin-top: 0; }
  .cg-property-hero { grid-template-columns: 1fr; }
  .cg-property-image, .cg-property-title { min-height: 560px; }
  .cg-property-facts { grid-template-columns: 1fr 1fr; }
  .cg-property-facts div:nth-child(3) { border-left: 0; }
  .cg-form-shell { grid-template-columns: 1fr; }
  .cg-form-photo { min-height: 520px; position: relative; }
}

@media (max-width: 640px) {
  .cg-header { height: 72px; padding-inline: 20px; }
  .cg-brand img { height: 34px; }
  .cg-nav { top: 72px; }
  .cg-header-actions { gap: 12px; }
  .cg-hero { padding-top: 72px; }
  .cg-hero-copy { min-height: 630px; padding: 100px 24px 54px; }
  .cg-hero h1 { font-size: 56px; }
  .cg-intro { font-size: 16px; }
  .cg-facts { gap: 12px; }
  .cg-facts dd { line-height: 1.35; }
  .cg-hero-visual { min-height: 520px; }
  .cg-availability { bottom: 58px; left: 18px; top: auto; width: calc(100% - 36px); }
  .cg-trust { gap: 0; grid-template-columns: 1fr 1fr; padding: 12px 18px; }
  .cg-trust span { line-height: 1.5; padding: 10px; }
  .cg-trust span + span { border-left: 0; }
  .cg-section { padding: 90px 24px 110px; }
  .cg-section-head { margin-bottom: 44px; }
  .cg-section-head h2, .cg-story h2 { font-size: 46px; }
  .cg-homes { grid-template-columns: 1fr; }
  .cg-city { padding: 90px 24px; }
  .cg-city-head, .cg-rooms-head { grid-template-columns: 1fr; }
  .cg-city-grid, .cg-steps { grid-template-columns: 1fr; }
  .cg-city-grid article + article, .cg-steps article + article { border-left: 0; border-top: 1px solid var(--cg-line); padding-left: 0; }
  .cg-property-hero { padding-top: 72px; }
  .cg-property-image { min-height: 430px; }
  .cg-property-title { min-height: 510px; padding: 70px 24px; }
  .cg-property-title h1 { font-size: 62px; }
  .cg-property-facts { margin-inline: 24px; }
  .cg-property-facts div { padding: 22px 12px 22px 0; }
  .cg-property-facts div + div { padding-left: 12px; }
  .cg-rooms, .cg-process { padding: 90px 24px; }
  .cg-room-row { gap: 12px; grid-template-columns: 38px 1fr auto; }
  .cg-room-row small { display: none; }
  .cg-form-shell { padding-top: 72px; }
  .cg-form-photo { min-height: 350px; }
  .cg-inquiry { grid-template-columns: 1fr; padding: 60px 24px 90px; }
  .cg-inquiry label, .cg-wide, .cg-form-intro { grid-column: 1; }
  .cg-story { padding: 100px 24px; }
  .cg-request-band { align-items: flex-start; flex-direction: column; gap: 38px; padding: 70px 24px; }
  .cg-footer-top { grid-template-columns: 1fr; }
  .cg-footer-bottom { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cg-hero-visual > img { animation: none; }
  .cg-home-image img, .cg-button { transition: none; }
}
