.elementor-21 .elementor-element.elementor-element-7d80947{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-7d80947:not(.elementor-motion-effects-element-type-background), .elementor-21 .elementor-element.elementor-element-7d80947 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ranchdurum.com/wp-content/uploads/2026/03/masaustu-arkaplan.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-21 .elementor-element.elementor-element-50116c1{--display:flex;--min-height:28px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-21 .elementor-element.elementor-element-50116c1.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-21 .elementor-element.elementor-element-3b008fd img{border-radius:50px 50px 50px 50px;}.elementor-21 .elementor-element.elementor-element-3b008fd{padding:0px 0px 0px 0px;}.elementor-21 .elementor-element.elementor-element-6641127{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-21 .elementor-element.elementor-element-6641127:not(.elementor-motion-effects-element-type-background), .elementor-21 .elementor-element.elementor-element-6641127 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ranchdurum.com/wp-content/uploads/2026/03/masaustu-arkaplan.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-21 .elementor-element.elementor-element-f378208{--display:flex;--min-height:75vh;--padding-top:0px;--padding-bottom:33px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-f378208.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-21 .elementor-element.elementor-element-f30b41e{--display:flex;}.elementor-21 .elementor-element.elementor-element-226293a img{width:75%;border-radius:50px 50px 50px 50px;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-21 .elementor-element.elementor-element-226293a img{width:100%;}}@media(min-width:768px){.elementor-21 .elementor-element.elementor-element-7d80947{--content-width:100%;}.elementor-21 .elementor-element.elementor-element-50116c1{--width:36.617%;}.elementor-21 .elementor-element.elementor-element-6641127{--content-width:100%;}.elementor-21 .elementor-element.elementor-element-f378208{--width:54.314%;}.elementor-21 .elementor-element.elementor-element-f30b41e{--width:50%;}}/* Start custom CSS *//* ===== Elementor - Body Scroll Snap (Wrapper yoksa en sağlam yöntem) ===== */

/* scroll container: body */
html, body{
  height: 100%;
}

body{
  overflow-y: scroll;              /* şart: scroll container body olsun */
  scroll-snap-type: y proximity;   /* snap burada aktif */
  scroll-behavior: smooth;
  margin: 0;
}

.snap-section{
  scroll-snap-align: start;
  scroll-snap-stop: always;
  min-height: 100vh;
}

:root{ --headerH: 62px; }

.snap-section{
  scroll-margin-top: var(--headerH);
  padding-top: var(--headerH);
  min-height: calc(100vh - var(--headerH));
}
/* =========================
   MOBİL HEADER OVERRIDE
   ========================= */

@media (max-width: 767px){

  :root{
    --headerH: 0px; /* MOBİL header yüksekliği */
  }

}


/* Global yatay taşma kilidi */
html, body{
  overflow-x: hidden !important;
}


/* === Ranch Premium Seamless Edges === */
:root{
  --ranch-edge-h: clamp(70px, 9vw, 150px);  /* geçiş yüksekliği */
  --ranch-smoke: rgba(0,0,0,.55);          /* duman yoğunluğu */
  --ranch-glow1: rgba(142,31,19,.10);      /* #8E1F13 hafif parıltı */
  --ranch-glow2: rgba(255,184,0,.06);      /* sıcak sarı */
}

/* uygulanacak section/container ortak */
.ranch-edge-bottom,
.ranch-edge-top,
.ranch-edge-both{
  position: relative;
  overflow: hidden; /* şart */
}

/* ALT geçiş */
.ranch-edge-bottom::after,
.ranch-edge-both::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:-1px;
  width:100vw;
  max-width:100vw;
  height: var(--ranch-edge-h);
  pointer-events:none;
  z-index: 10;

  background:
    radial-gradient(80% 120% at 50% 100%,
      var(--ranch-smoke) 0%,
      rgba(0,0,0,.25) 45%,
      rgba(0,0,0,0) 72%),
    linear-gradient(to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.18) 40%,
      rgba(0,0,0,.55) 100%),
    linear-gradient(to right,
      rgba(0,0,0,0) 0%,
      var(--ranch-glow1) 22%,
      var(--ranch-glow2) 50%,
      var(--ranch-glow1) 78%,
      rgba(0,0,0,0) 100%);

  filter: blur(7px);
  opacity: .95;
}

/* ÜST geçiş */
.ranch-edge-top::before,
.ranch-edge-both::before{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:-1px;
  width:100vw;
  max-width:100vw;
  height: var(--ranch-edge-h);
  pointer-events:none;
  z-index: 10;

  background:
    radial-gradient(80% 120% at 50% 0%,
      var(--ranch-smoke) 0%,
      rgba(0,0,0,.25) 45%,
      rgba(0,0,0,0) 72%),
    linear-gradient(to top,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.18) 40%,
      rgba(0,0,0,.55) 100%),
    linear-gradient(to right,
      rgba(0,0,0,0) 0%,
      var(--ranch-glow1) 22%,
      var(--ranch-glow2) 50%,
      var(--ranch-glow1) 78%,
      rgba(0,0,0,0) 100%);

  filter: blur(7px);
  opacity: .95;
}




/* =========================
   Ranch Dürüm - Premium Franchise Form
   Target: .rd-franchise-box
   ========================= */

.rd-franchise-box{
  --rd-bordo:#8E1F13;
  --rd-bordo-2:#6f150e;
  --rd-gold:#f4c21f;

  --bg:#0f0f10;
  --card:#ffffff;
  --ink:#141416;
  --muted:#6c717a;
  --line:rgba(17,18,20,.10);

  --radius:18px;
  --shadow: 0 22px 65px rgba(0,0,0,.18);

  max-height: 75vh;              /* ✅ 100vh'nin %75'i */
  height: auto;
  overflow: hidden;              /* iç scroll form-body'de */
  border-radius: var(--radius);
  background:
    radial-gradient(1200px 600px at 15% 10%, rgba(142,31,19,.10), transparent 55%),
    radial-gradient(900px 520px at 85% 0%, rgba(244,194,31,.10), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.92));
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: var(--shadow);
  position: relative;
}

.rd-franchise-box::before{
  content:"";
  position:absolute; inset:-1px;
  background: linear-gradient(135deg, rgba(142,31,19,.22), rgba(244,194,31,.12), rgba(0,0,0,0));
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  padding: 1px;
  border-radius: var(--radius);
  pointer-events:none;
}

/* Header */
.rd-form-header{
  padding: 18px 18px 14px;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.70);
  backdrop-filter: blur(10px);
}

.rd-form-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  letter-spacing:.12em;
  font-weight:700;
  color: var(--rd-bordo);
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(142,31,19,.08);
  border: 1px solid rgba(142,31,19,.18);
}

.rd-form-header h2{
  margin: 12px 0 6px;
  color: var(--ink);
  font-size: clamp(20px, 1.6vw, 26px);
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.rd-form-header p{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
  max-width: 60ch;
}

/* Body: internal scroll */
.rd-form-body{
  padding: 16px 18px 18px;
  overflow: auto;                 /* ✅ içerik taşarsa içerden akar */
  max-height: calc(75vh - 118px); /* header yüksekliğini düş */
  scrollbar-gutter: stable;
}

/* Custom scrollbar (premium) */
.rd-form-body::-webkit-scrollbar{
  width: 10px;
}
.rd-form-body::-webkit-scrollbar-track{
  background: rgba(0,0,0,.04);
  border-radius: 999px;
}
.rd-form-body::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, rgba(142,31,19,.75), rgba(111,21,14,.75));
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.75);
}
.rd-form-body{
  scrollbar-width: thin;
  scrollbar-color: rgba(142,31,19,.75) rgba(0,0,0,.05);
}

/* Grid */
.rd-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* Fields */
.rd-input{
  display:grid;
  gap: 8px;
  margin-bottom: 12px;
}

.rd-input label{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ink);
}

.rd-input label span{
  color: var(--rd-bordo);
  font-weight: 800;
}

.rd-input input,
.rd-input select,
.rd-input textarea{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.92);
  padding: 12px 12px;
  font-size: 14px;
  color: var(--ink);
  outline: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
}

.rd-input textarea{ resize: vertical; min-height: 90px; }

.rd-input input::placeholder,
.rd-input textarea::placeholder{ color: rgba(20,20,22,.45); }

/* Focus premium glow */
.rd-input input:focus,
.rd-input select:focus,
.rd-input textarea:focus{
  border-color: rgba(142,31,19,.45);
  background: #fff;
  box-shadow:
    0 10px 30px rgba(0,0,0,.10),
    0 0 0 4px rgba(142,31,19,.14);
  transform: translateY(-1px);
}

/* Hover subtle */
@media (hover:hover){
  .rd-input input:hover,
  .rd-input select:hover,
  .rd-input textarea:hover{
    border-color: rgba(0,0,0,.16);
    transform: translateY(-1px);
  }
}

/* Divider */
.rd-divider{
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,.10), transparent);
  margin: 6px 0 14px;
}

/* KVKK checkbox */
.rd-kvkk{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  padding: 12px 12px;
  margin-top: 6px;
  border-radius: 14px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.06);
}

.rd-kvkk input{
  margin-top: 3px;
  width: 18px;
  height: 18px;
  accent-color: var(--rd-bordo);
}

.rd-kvkk span{
  font-size: 12.5px;
  line-height: 1.35;
  color: var(--muted);
}

/* Submit button */
.rd-submit{
  width:100%;
  margin-top: 12px;
  border: 0;
  cursor: pointer;
  border-radius: 16px;
  padding: 13px 14px;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .01em;
  color: #fff;
  background: linear-gradient(135deg, var(--rd-bordo), var(--rd-bordo-2));
  box-shadow: 0 18px 45px rgba(142,31,19,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  position: relative;
  overflow: hidden;
}

.rd-submit::before{
  content:"";
  position:absolute;
  inset: -40% -30%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.28), transparent 55%);
  transform: rotate(18deg);
  opacity:.9;
  pointer-events:none;
}

.rd-submit .rd-arrow{
  display:inline-block;
  transition: transform .18s ease;
}

@media (hover:hover){
  .rd-submit:hover{
    transform: translateY(-1px);
    box-shadow: 0 24px 60px rgba(142,31,19,.34);
    filter: saturate(1.05);
  }
  .rd-submit:hover .rd-arrow{ transform: translateX(3px); }
}

.rd-submit:active{
  transform: translateY(0px) scale(.99);
}

/* Info text */
.rd-info{
  margin: 10px 0 0;
  font-size: 12px;
  color: rgba(20,20,22,.62);
  line-height: 1.35;
  text-align: center;
}

/* Required invalid states (premium) */
.rd-form-body input:invalid,
.rd-form-body select:invalid,
.rd-form-body textarea:invalid{
  border-color: rgba(142,31,19,.22);
}

.rd-form-body input:invalid:focus,
.rd-form-body select:invalid:focus,
.rd-form-body textarea:invalid:focus{
  box-shadow:
    0 10px 30px rgba(0,0,0,.10),
    0 0 0 4px rgba(142,31,19,.18);
}

/* Mobile */
@media (max-width: 768px){
  .rd-franchise-box{ max-height: none; }            /* mobilde rahat */
  .rd-form-body{ max-height: none; overflow: visible; }
  .rd-row{ grid-template-columns: 1fr; }
}


/* =========================
   SCROLL KAPALI – 75VH FIX
   ========================= */

/* Ana kutu */
.rd-franchise-box{
  max-height: 75vh;
  overflow: hidden;      /* ❌ scroll yok */
}

/* Form body */
.rd-form-body{
  max-height: none;      /* ❌ iç scroll iptal */
  overflow: hidden;
}

/* Scrollbar ihtimali tamamen kapatılır */
.rd-form-body::-webkit-scrollbar{
  display: none;
}
.rd-form-body{
  scrollbar-width: none;
}

/* İçerik daha kompakt ama premium */
.rd-form-body{
  padding: 14px 18px 16px;
}

/* Input spacing optimize */
.rd-input{
  margin-bottom: 10px;
}

.rd-input input,
.rd-input select,
.rd-input textarea{
  padding: 11px 12px;
  font-size: 13.8px;
}

/* Header biraz daha sıkı */
.rd-form-header{
  padding: 16px 18px 12px;
}

.rd-form-header h2{
  font-size: clamp(19px, 1.5vw, 24px);
}

/* Divider daha ince */
.rd-divider{
  margin: 4px 0 10px;
}

/* KVKK alanı sıkıştırıldı */
.rd-kvkk{
  padding: 10px 12px;
  margin-top: 4px;
}

.rd-kvkk span{
  font-size: 12.2px;
}

/* Submit button daha net */
.rd-submit{
  padding: 12px 14px;
  font-size: 14px;
  margin-top: 10px;
}

/* Footer bilgi minimal */
.rd-info{
  font-size: 11.8px;
  margin-top: 8px;
}

/* Desktop küçük ekranlar için ekstra sıkılaştırma */
@media (max-height: 780px){
  .rd-input{
    margin-bottom: 8px;
  }

  .rd-input textarea{
    min-height: 72px;
  }
}

/* Mobil: zaten tek kolon ve rahat */
@media (max-width: 768px){
  .rd-franchise-box{
    max-height: none;
  }
}

/* =========================
   75vh içinde TAM oturma
   ========================= */

.rd-franchise-box{
  height: 85vh;          /* max değil, net yükseklik */
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Header sabit yükseklik */
.rd-form-header{
  flex: 0 0 auto;
}

/* Form alanı kalan alanı alsın */
.rd-form-body{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* ⬅️ KRİTİK */
  overflow: hidden;
}

/* Form içeriği */
.rd-form-body > *{
  flex-shrink: 0;
}

/* Submit her zaman altta */
.rd-submit{
  margin-top: 12px;
  margin-bottom: 0;
}

/* Alt bilgi de butonla birlikte kalsın */
.rd-info{
  margin-bottom: 0;
}

/* Güvenlik: küçük ekran yükseklikleri */
@media (max-height: 760px){
  .rd-input{
    margin-bottom: 8px;
  }

  .rd-input textarea{
    min-height: 64px;
  }
}

/* Mobilde serbest */
@media (max-width: 768px){
  .rd-franchise-box{
    height: auto;
    max-height: none;
  }

  .rd-form-body{
    display: block;
  }
}


/* =========================
   SUBMIT ANIMATION
   ========================= */

.rd-submit{
  position: relative;
  overflow: hidden;
}

.rd-btn-text,
.rd-spinner,
.rd-success{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .35s ease;
}

/* Spinner */
.rd-spinner{
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  animation: rdSpin 1s linear infinite;
  opacity: 0;
  position: absolute;
}

/* Success check */
.rd-success{
  font-size: 20px;
  font-weight: 900;
  opacity: 0;
  position: absolute;
}

/* LOADING */
.rd-form-body.is-loading .rd-submit{
  pointer-events: none;
}

.rd-form-body.is-loading .rd-btn-text{
  opacity: 0;
  transform: translateY(-6px);
}

.rd-form-body.is-loading .rd-spinner{
  opacity: 1;
}

/* SUCCESS */
.rd-form-body.is-success .rd-submit{
  background: linear-gradient(135deg, #1f7a3a, #2fa35c);
  box-shadow: 0 18px 50px rgba(31,122,58,.45);
}

.rd-form-body.is-success .rd-spinner{
  opacity: 0;
}

.rd-form-body.is-success .rd-success{
  opacity: 1;
  transform: scale(1.2);
}

/* ERROR */
.rd-form-body.is-error .rd-submit{
  animation: rdShake .45s ease;
  background: linear-gradient(135deg, #8E1F13, #b32618);
}

/* Animations */
@keyframes rdSpin{
  to{ transform: rotate(360deg); }
}

@keyframes rdShake{
  0%,100%{ transform: translateX(0); }
  20%{ transform: translateX(-6px); }
  40%{ transform: translateX(6px); }
  60%{ transform: translateX(-4px); }
  80%{ transform: translateX(4px); }
}

.rd-hp{
  position:absolute !important;
  left:-9999px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}/* End custom CSS */