/* ==========================================================================
   ODEME (CHECKOUT) SAYFASI  —  tek sayfa akis
   Sol: numarali form bloklari (teslimat / kargo / odeme)
   Sag: yapiskan siparis ozeti + kupon + sozlesmeler
   Renk dili sitenin geri kalaniyla ayni: koyu yesil zemin, altin vurgu,
   kirmizi yalnizca uyari ve son adim icin.
   ========================================================================== */

/* [hidden] verilen satirlar flex/grid kurallari yuzunden gorunur kalmasin */
.ap-co [hidden]{
  display:none !important;
}

.ap-co{
  width:min(1500px,100%);
  margin-inline:auto;
  padding:0 24px 84px;
}

.ap-co .ap-breadcrumb{
  padding:22px 0 16px;
}

/* ============================================================ SAYFA BASLIGI */
.ap-co-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:34px;
  padding:30px 38px 32px;
  border:1px solid rgba(224,185,100,.26);
  border-radius:26px;
  background:linear-gradient(160deg,#284234 0%,#365547 55%,#2c4a3b 100%);
  box-shadow:0 20px 44px rgba(28,44,36,.18);
}

.ap-co-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 92% -20%,rgba(224,185,100,.26),transparent 46%),
    linear-gradient(90deg,transparent 38%,rgba(30,48,38,.55) 100%),
    linear-gradient(180deg,rgba(255,255,255,.06),transparent 30%);
}

.ap-co-hero::after{
  content:"";
  position:absolute;
  top:0;
  left:24%;
  right:24%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(224,185,100,.62),transparent);
}

.ap-co-hero-bg{
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.3;
}

.ap-co-hero-copy{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}

.ap-co-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#e0b964;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.ap-co-eyebrow::before{
  content:"";
  width:26px;
  height:1px;
  background:currentColor;
  opacity:.65;
}

.ap-co-hero-title{
  margin:0;
  color:#fff;
  font-size:clamp(26px,2.6vw,38px);
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.035em;
}

.ap-co-hero-title em{
  font-style:normal;
  color:#e6c37a;
}

.ap-co-hero-text{
  margin:0;
  max-width:62ch;
  color:rgba(255,255,255,.74);
  font-size:14px;
  line-height:1.7;
}

/* Guvence rozetleri */
.ap-co-hero-chips{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:4px;
}

.ap-co-hero-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:rgba(255,255,255,.9);
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(6px);
  font-size:12px;
  font-weight:700;
}

.ap-co-hero-chip svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:#e0b964;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* ------------------------------------------------------- ILERLEME ADIMLARI */
.ap-co-steps{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:0;
}

.ap-co-step{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  width:112px;
  text-align:center;
}

/* Adimlari birlestiren ince cizgi */
.ap-co-step + .ap-co-step::before{
  content:"";
  position:absolute;
  top:17px;
  right:calc(50% + 20px);
  left:calc(-50% + 20px);
  height:1.5px;
  border-radius:2px;
  background:rgba(255,255,255,.26);
}

.ap-co-step.is-done + .ap-co-step::before,
.ap-co-step.is-active + .ap-co-step::before{
  background:linear-gradient(90deg,rgba(224,185,100,.75),rgba(224,185,100,.35));
}

.ap-co-step-dot{
  position:relative;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1.5px solid rgba(255,255,255,.24);
  border-radius:50%;
  color:rgba(255,255,255,.6);
  background:rgba(255,255,255,.06);
  font-size:12.5px;
  font-weight:900;
  transition:.25s ease;
}

.ap-co-step-dot svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-step.is-done .ap-co-step-dot{
  border-color:rgba(224,185,100,.6);
  color:#e6c37a;
  background:rgba(224,185,100,.12);
}

.ap-co-step.is-active .ap-co-step-dot{
  border-color:transparent;
  color:#24361f;
  background:linear-gradient(145deg,#eccb7f,#c69b3f);
  box-shadow:0 0 0 5px rgba(224,185,100,.16);
}

.ap-co-step-label{
  color:rgba(255,255,255,.66);
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.02em;
}

.ap-co-step.is-active .ap-co-step-label{
  color:#fff;
}

.ap-co-step.is-done .ap-co-step-label{
  color:rgba(255,255,255,.8);
}

/* ================================================================ YERLESIM */
.ap-co-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 400px;
  align-items:start;
  gap:26px;
  margin-top:26px;
}

.ap-co-main{
  display:flex;
  flex-direction:column;
  gap:18px;
  min-width:0;
}

/* --------------------------------------------------- UYELIK HATIRLATMA SERIDI */
.ap-co-login{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 20px;
  border:1px solid rgba(224,185,100,.4);
  border-radius:18px;
  background:linear-gradient(120deg,#fffdf7,#fff9ec);
}

.ap-co-login-icon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
}

.ap-co-login-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:#b48c34;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-login-text{
  flex:1 1 auto;
  min-width:0;
  color:#5c4a1e;
  font-size:13.5px;
  font-weight:600;
  line-height:1.55;
}

.ap-co-login-text b{
  color:#3f3312;
  font-weight:800;
}

.ap-co-login-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 18px;
  border:1.4px solid rgba(180,140,52,.5);
  border-radius:12px;
  color:#7a5f1c;
  background:#fff;
  font-size:12.5px;
  font-weight:800;
  cursor:pointer;
  transition:.22s ease;
}

.ap-co-login-btn svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .22s ease;
}

.ap-co-login-btn:hover{
  color:#4a3a10;
  border-color:#c69b3f;
  background:#fffaf0;
}

.ap-co-login-btn:hover svg{
  transform:translateX(3px);
}

/* ============================================================ FORM BLOKLARI */
.ap-co-block{
  overflow:hidden;
  border:1px solid rgba(36,27,28,.09);
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 26px rgba(36,27,28,.045);
  transition:border-color .25s ease,box-shadow .25s ease;
}

.ap-co-block.is-active{
  border-color:rgba(54,85,71,.26);
  box-shadow:0 16px 36px rgba(35,54,45,.09);
}

.ap-co-block-head{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 24px;
  border-bottom:1px solid rgba(36,27,28,.07);
  background:linear-gradient(180deg,#fbfaf7,#fff);
}

/* Numara: tamamlaninca altin halkaya ve tike doner */
.ap-co-no{
  position:relative;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#3d5f50,#2b4638);
  font-size:13px;
  font-weight:900;
  box-shadow:0 6px 14px rgba(54,85,71,.24);
}

.ap-co-no svg{
  position:absolute;
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:0;
  transform:scale(.5);
  transition:.25s ease;
}

.ap-co-no span{
  transition:.2s ease;
}

.ap-co-block.is-done .ap-co-no{
  color:#24361f;
  background:linear-gradient(145deg,#eccb7f,#c69b3f);
  box-shadow:0 6px 16px rgba(160,120,40,.28);
}

.ap-co-block.is-done .ap-co-no svg{
  opacity:1;
  transform:scale(1);
}

.ap-co-block.is-done .ap-co-no span{
  opacity:0;
  transform:scale(.5);
}

.ap-co-block-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  color:#201d1d;
  font-size:16.5px;
  font-weight:900;
  letter-spacing:-.02em;
}

.ap-co-block-title svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-block-hint{
  margin-left:auto;
  color:#6b625c;
  font-size:12px;
  font-weight:700;
}

.ap-co-block-body{
  padding:24px;
}

/* Blok icindeki ara baslik */
.ap-co-sub{
  display:flex;
  align-items:center;
  gap:10px;
  margin:26px 0 14px;
  color:#3a3132;
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.ap-co-sub::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:linear-gradient(90deg,rgba(36,27,28,.12),transparent);
}

.ap-co-sub svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:#c69b3f;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* ================================================================= FORM ALANLARI */
.ap-co-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
}

.ap-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}

.ap-field--full{
  grid-column:1 / -1;
}

.ap-field-label{
  display:flex;
  align-items:center;
  gap:6px;
  color:#4c4244;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.01em;
}

.ap-field-label i{
  color:var(--red);
  font-style:normal;
}

.ap-field-label em{
  color:#6f6863;
  font-style:normal;
  font-weight:700;
}

.ap-input,
.ap-select,
.ap-textarea{
  width:100%;
  min-height:50px;
  padding:0 16px;
  border:1.5px solid rgba(36,27,28,.11);
  border-radius:14px;
  outline:none;
  color:#201d1d;
  background:#faf9f6;
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}

.ap-textarea{
  min-height:112px;
  padding:14px 16px;
  line-height:1.6;
  resize:vertical;
}

.ap-input::placeholder,
.ap-textarea::placeholder{
  color:#b0a7a3;
  font-weight:500;
}

.ap-input:hover,
.ap-select:hover,
.ap-textarea:hover{
  border-color:rgba(54,85,71,.3);
}

.ap-input:focus,
.ap-select:focus,
.ap-textarea:focus{
  border-color:var(--green);
  background:#fff;
  box-shadow:0 0 0 4px rgba(54,85,71,.10);
}

/* Dogrulama hatasi */
.ap-field.is-error .ap-input,
.ap-field.is-error .ap-select,
.ap-field.is-error .ap-textarea{
  border-color:rgba(201,16,32,.55);
  background:#fff6f6;
}

.ap-field.is-error .ap-input:focus,
.ap-field.is-error .ap-select:focus,
.ap-field.is-error .ap-textarea:focus{
  box-shadow:0 0 0 4px rgba(201,16,32,.10);
}

.ap-field-error{
  display:none;
  align-items:center;
  gap:6px;
  color:var(--red);
  font-size:11.5px;
  font-weight:700;
}

.ap-field.is-error .ap-field-error{
  display:flex;
}

.ap-field-error svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
}

/* Ozel select oku */
.ap-select-wrap{
  position:relative;
}

.ap-select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:44px;
  cursor:pointer;
}

.ap-select-wrap svg{
  position:absolute;
  top:50%;
  right:16px;
  width:16px;
  height:16px;
  fill:none;
  stroke:#8b7f78;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
  transform:translateY(-50%);
  transition:transform .2s ease;
}

.ap-select-wrap:focus-within svg{
  stroke:var(--green);
}

.ap-select:disabled{
  color:#b0a7a3;
  background:#f3f1ed;
  cursor:not-allowed;
}

/* ============================================================ ADRES KARTLARI */
.ap-co-addr-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(216px,1fr));
  gap:14px;
  margin-bottom:22px;
}

.ap-co-addr{
  position:relative;
  display:block;
  min-width:0;
}

.ap-co-addr input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}

.ap-co-addr-box{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:6px;
  height:100%;
  padding:16px 16px 15px;
  border:1.5px solid rgba(36,27,28,.11);
  border-radius:16px;
  background:#fff;
  cursor:pointer;
  transition:.22s ease;
}

.ap-co-addr-box:hover{
  border-color:rgba(54,85,71,.42);
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(35,54,45,.08);
}

.ap-co-addr input:checked + .ap-co-addr-box{
  border-color:var(--green);
  background:rgba(54,85,71,.045);
  box-shadow:0 10px 24px rgba(54,85,71,.13);
}

.ap-co-addr input:focus-visible + .ap-co-addr-box{
  outline:2px solid rgba(201,16,32,.45);
  outline-offset:2px;
}

.ap-co-addr-name{
  display:flex;
  align-items:center;
  gap:8px;
  color:#201d1d;
  font-size:13.5px;
  font-weight:900;
}

.ap-co-addr-name svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-addr-text{
  color:#776d6f;
  font-size:12px;
  font-weight:600;
  line-height:1.6;
}

.ap-co-addr-flag{
  position:absolute;
  top:-9px;
  right:12px;
  padding:2px 9px;
  border-radius:999px;
  color:#22331f;
  background:linear-gradient(145deg,#eccb7f,#c69b3f);
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  box-shadow:0 6px 14px rgba(160,120,40,.24);
}

/* Yeni adres karti: kesikli cerceve */
.ap-co-addr--new .ap-co-addr-box{
  align-items:center;
  justify-content:center;
  gap:8px;
  border-style:dashed;
  border-color:rgba(54,85,71,.3);
  background:rgba(54,85,71,.03);
  text-align:center;
}

.ap-co-addr--new .ap-co-addr-name{
  color:var(--green);
}

/* --------------------------------------------------- ANAHTAR (SWITCH) SATIRI */
.ap-co-switch-row{
  display:flex;
  align-items:center;
  gap:14px;
  padding:15px 18px;
  border:1px dashed rgba(54,85,71,.26);
  border-radius:16px;
  background:rgba(54,85,71,.035);
}

.ap-co-switch-row > svg{
  flex:0 0 auto;
  width:19px;
  height:19px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-switch-copy{
  flex:1 1 auto;
  min-width:0;
}

.ap-co-switch-copy b{
  display:block;
  color:#201d1d;
  font-size:13.5px;
  font-weight:900;
}

.ap-co-switch-copy span{
  display:block;
  margin-top:2px;
  color:#776d6f;
  font-size:12px;
  font-weight:600;
}

.ap-co-switch{
  position:relative;
  flex:0 0 auto;
  display:inline-flex;
  cursor:pointer;
}

.ap-co-switch input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}

.ap-co-switch-track{
  position:relative;
  width:50px;
  height:28px;
  border-radius:999px;
  background:#d7d2cb;
  transition:.25s ease;
}

.ap-co-switch-track::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 3px 8px rgba(0,0,0,.16);
  transition:.25s cubic-bezier(.4,1.4,.5,1);
}

.ap-co-switch input:checked + .ap-co-switch-track{
  background:linear-gradient(145deg,#3d5f50,#2b4638);
}

.ap-co-switch input:checked + .ap-co-switch-track::after{
  transform:translateX(22px);
}

.ap-co-switch input:focus-visible + .ap-co-switch-track{
  outline:2px solid rgba(201,16,32,.45);
  outline-offset:3px;
}

/* Acilir bolum (fatura formu) */
.ap-co-reveal{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .32s ease;
}

.ap-co-reveal.is-open{
  grid-template-rows:1fr;
}

.ap-co-reveal > div{
  overflow:hidden;
  min-height:0;
}

.ap-co-reveal-inner{
  padding-top:20px;
}

/* Bireysel / Kurumsal secici */
.ap-co-seg{
  display:inline-flex;
  gap:4px;
  padding:4px;
  border:1px solid rgba(36,27,28,.09);
  border-radius:14px;
  background:#f5f3ef;
}

.ap-co-seg-btn{
  min-height:38px;
  padding:0 20px;
  border:0;
  border-radius:11px;
  color:#6c6264;
  background:transparent;
  font-size:12.5px;
  font-weight:800;
  cursor:pointer;
  transition:.22s ease;
}

.ap-co-seg-btn:hover{
  color:#201d1d;
}

.ap-co-seg-btn.is-active{
  color:#fff;
  background:linear-gradient(145deg,#3d5f50,#2b4638);
  box-shadow:0 6px 14px rgba(54,85,71,.2);
}

/* Sipariş notu aç/kapa bağlantısı */
.ap-co-note-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  padding:0;
  border:0;
  color:var(--green);
  background:transparent;
  font-size:12.5px;
  font-weight:800;
  cursor:pointer;
  transition:color .2s ease;
}

.ap-co-note-toggle:hover{
  color:var(--red);
}

.ap-co-note-toggle svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}

.ap-co-note-toggle.is-open svg{
  transform:rotate(45deg);
}

/* ============================================================ KARGO SECENEKLERI */
.ap-co-opts{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.ap-co-opt{
  position:relative;
  display:block;
}

.ap-co-opt input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}

.ap-co-opt-box{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:15px 18px;
  border:1.5px solid rgba(36,27,28,.11);
  border-radius:16px;
  background:#fff;
  cursor:pointer;
  transition:.22s ease;
}

.ap-co-opt-box:hover{
  border-color:rgba(54,85,71,.42);
  box-shadow:0 10px 22px rgba(35,54,45,.07);
}

.ap-co-opt input:checked + .ap-co-opt-box{
  border-color:var(--green);
  background:rgba(54,85,71,.045);
  box-shadow:0 10px 26px rgba(54,85,71,.13);
}

.ap-co-opt input:focus-visible + .ap-co-opt-box{
  outline:2px solid rgba(201,16,32,.45);
  outline-offset:2px;
}

/* Sol taraftaki isaret halkasi */
.ap-co-radio{
  position:relative;
  flex:0 0 auto;
  width:21px;
  height:21px;
  border:1.8px solid rgba(36,27,28,.2);
  border-radius:50%;
  background:#fff;
  transition:.22s ease;
}

.ap-co-radio::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:var(--green);
  opacity:0;
  transform:scale(.4);
  transition:.22s ease;
}

.ap-co-opt-box:hover .ap-co-radio,
.ap-co-paypane .ap-co-opt-box:hover .ap-co-radio{
  border-color:rgba(54,85,71,.5);
}

.ap-co-opt input:checked + .ap-co-opt-box .ap-co-radio{
  border-color:var(--green);
}

.ap-co-opt input:checked + .ap-co-opt-box .ap-co-radio::after{
  opacity:1;
  transform:scale(1);
}

.ap-co-opt-main{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
}

.ap-co-opt-main > svg{
  flex:0 0 auto;
  width:26px;
  height:26px;
  fill:none;
  stroke:#5f6f66;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:stroke .22s ease;
}

.ap-co-opt input:checked + .ap-co-opt-box .ap-co-opt-main > svg{
  stroke:var(--green);
}

.ap-co-opt-copy{
  min-width:0;
}

.ap-co-opt-name{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  color:#201d1d;
  font-size:14px;
  font-weight:800;
}

.ap-co-opt-tag{
  padding:2px 8px;
  border-radius:999px;
  color:#22331f;
  background:linear-gradient(145deg,#eccb7f,#c69b3f);
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.ap-co-opt-tag--green{
  color:#fff;
  background:var(--green);
}

.ap-co-opt-note{
  margin-top:3px;
  color:#776d6f;
  font-size:12px;
  font-weight:600;
}

.ap-co-opt-price{
  flex:0 0 auto;
  color:#201d1d;
  font-size:15px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.ap-co-opt-price.is-free{
  color:var(--green);
}

.ap-co-opt-price small{
  display:block;
  margin-top:2px;
  color:#6f6863;
  font-size:10.5px;
  font-weight:700;
  text-align:right;
}

.ap-co-opt-price del{
  color:#b0a7a3;
  font-size:12px;
  font-weight:700;
}

/* Teslimat gunu cipleri */
.ap-co-days{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:6px;
}

.ap-co-day{
  position:relative;
}

.ap-co-day input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}

.ap-co-day-box{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  min-width:74px;
  padding:9px 12px;
  border:1.4px solid rgba(36,27,28,.11);
  border-radius:13px;
  background:#fff;
  cursor:pointer;
  transition:.22s ease;
}

.ap-co-day-box b{
  color:#201d1d;
  font-size:12.5px;
  font-weight:900;
}

.ap-co-day-box span{
  color:#6b625c;
  font-size:10.5px;
  font-weight:700;
}

.ap-co-day-box:hover{
  border-color:rgba(54,85,71,.42);
  transform:translateY(-2px);
}

.ap-co-day input:checked + .ap-co-day-box{
  border-color:var(--green);
  background:rgba(54,85,71,.06);
}

.ap-co-day input:checked + .ap-co-day-box b{
  color:var(--green);
}

/* ============================================================ ODEME YONTEMI */
.ap-co-paytabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:24px;
}

.ap-co-paytab{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:92px;
  padding:14px 12px;
  border:1.5px solid rgba(36,27,28,.11);
  border-radius:18px;
  color:#4c4244;
  background:#fff;
  font-family:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:.24s ease;
}

.ap-co-paytab svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:#5f6f66;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:.24s ease;
}

.ap-co-paytab-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
}

.ap-co-paytab small{
  color:#6f6863;
  font-size:10.5px;
  font-weight:700;
}

.ap-co-paytab:hover{
  border-color:rgba(54,85,71,.42);
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(35,54,45,.08);
}

.ap-co-paytab.is-active{
  border-color:var(--green);
  color:#1e2f26;
  background:rgba(54,85,71,.05);
  box-shadow:0 12px 28px rgba(54,85,71,.14);
}

.ap-co-paytab.is-active svg{
  stroke:var(--green);
}

.ap-co-paytab-flag{
  position:absolute;
  top:-9px;
  right:12px;
  padding:2px 9px;
  border-radius:999px;
  color:#22331f;
  background:linear-gradient(145deg,#eccb7f,#c69b3f);
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 6px 14px rgba(160,120,40,.24);
}

.ap-co-paypane{
  display:none;
}

.ap-co-paypane.is-active{
  display:block;
  animation:ap-co-fade .3s ease both;
}

@keyframes ap-co-fade{
  from{opacity:0;transform:translateY(8px);}
  to{opacity:1;transform:none;}
}

/* ------------------------------------------------------- KART GORSELI (3D) */
.ap-co-card-area{
  display:grid;
  grid-template-columns:340px minmax(0,1fr);
  align-items:start;
  gap:28px;
}

.ap-co-card-stage{
  perspective:1200px;
}

.ap-co-card3d{
  position:relative;
  width:100%;
  aspect-ratio:1.586;
  transform-style:preserve-3d;
  transition:transform .7s cubic-bezier(.4,.2,.2,1);
}

.ap-co-card3d.is-flipped{
  transform:rotateY(180deg);
}

.ap-co-card-face{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:20px;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  background:linear-gradient(140deg,#2d4a3a 0%,#1e3229 46%,#16241d 100%);
  box-shadow:0 22px 44px rgba(20,34,27,.34);
}

.ap-co-card-face::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 84% 8%,rgba(224,185,100,.28),transparent 44%),
    radial-gradient(circle at 8% 92%,rgba(201,16,32,.18),transparent 42%);
}

/* Kartin uzerindeki ince desen — sitedeki zeytin yapragi cizgisiyle ayni ruh */
.ap-co-card-face::after{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(115deg,transparent 0 22px,rgba(255,255,255,.035) 22px 23px);
}

.ap-co-card-back{
  transform:rotateY(180deg);
}

.ap-co-card-inner{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  height:100%;
  padding:20px 22px;
}

.ap-co-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

/* Altin cip */
.ap-co-card-chip{
  position:relative;
  width:44px;
  height:33px;
  border-radius:7px;
  background:linear-gradient(145deg,#f0d692,#c69b3f 60%,#a37f30);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.6);
}

.ap-co-card-chip::before,
.ap-co-card-chip::after{
  content:"";
  position:absolute;
  background:rgba(0,0,0,.18);
}

.ap-co-card-chip::before{
  top:0;
  bottom:0;
  left:50%;
  width:1.2px;
}

.ap-co-card-chip::after{
  left:0;
  right:0;
  top:50%;
  height:1.2px;
}

.ap-co-card-brand{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:26px;
  color:rgba(255,255,255,.9);
  font-size:14px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ap-co-card-brand svg{
  width:34px;
  height:22px;
}

.ap-co-card-number{
  color:#fff;
  font-size:19px;
  font-weight:700;
  letter-spacing:.085em;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
  text-shadow:0 2px 6px rgba(0,0,0,.35);
}

.ap-co-card-bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
}

.ap-co-card-label{
  display:block;
  margin-bottom:4px;
  color:rgba(224,185,100,.85);
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.ap-co-card-value{
  display:block;
  color:rgba(255,255,255,.94);
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:20ch;
}

/* Arka yuz */
.ap-co-card-strip{
  height:42px;
  margin:22px -22px 0;
  background:linear-gradient(180deg,#12100f,#221d1b);
}

.ap-co-card-cvvrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:20px;
}

.ap-co-card-cvvbox{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  height:34px;
  padding:0 12px;
  border-radius:5px;
  color:#241b1c;
  background:repeating-linear-gradient(105deg,#efe9df 0 6px,#e2dace 6px 12px);
  font-size:13px;
  font-weight:800;
  letter-spacing:.2em;
}

.ap-co-card-cvvlabel{
  flex:0 0 auto;
  color:rgba(224,185,100,.85);
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.ap-co-card-backnote{
  margin-top:auto;
  color:rgba(255,255,255,.45);
  font-size:9.5px;
  font-weight:600;
  line-height:1.6;
}

/* Kart sahibi guvence satiri */
.ap-co-card-secure{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:16px;
  padding:11px 14px;
  border:1px solid rgba(54,85,71,.18);
  border-radius:13px;
  background:rgba(54,85,71,.04);
  color:#41564b;
  font-size:11.5px;
  font-weight:700;
  line-height:1.5;
}

.ap-co-card-secure svg{
  flex:0 0 auto;
  width:17px;
  height:17px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* --------------------------------------------------------------- TAKSITLER */
.ap-co-inst{
  margin-top:24px;
}

.ap-co-inst-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:12px;
}

.ap-co-inst-head h4{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  color:#201d1d;
  font-size:14px;
  font-weight:900;
}

.ap-co-inst-head h4 svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:#c69b3f;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-inst-note{
  color:#6b625c;
  font-size:11.5px;
  font-weight:700;
}

.ap-co-inst-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(148px,1fr));
  gap:16px 10px;
}

.ap-co-inst-item{
  position:relative;
}

.ap-co-inst-item input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}

.ap-co-inst-box{
  display:flex;
  flex-direction:column;
  gap:3px;
  height:100%;
  padding:12px 14px;
  border:1.5px solid rgba(36,27,28,.11);
  border-radius:15px;
  background:#fff;
  cursor:pointer;
  transition:.22s ease;
}

.ap-co-inst-count{
  color:#201d1d;
  font-size:13px;
  font-weight:900;
}

.ap-co-inst-amount{
  color:var(--green);
  font-size:14px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}

.ap-co-inst-total{
  color:#6f6863;
  font-size:10.5px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}

.ap-co-inst-box:hover{
  border-color:rgba(54,85,71,.42);
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(35,54,45,.08);
}

.ap-co-inst-item input:checked + .ap-co-inst-box{
  border-color:var(--green);
  background:rgba(54,85,71,.05);
  box-shadow:0 10px 24px rgba(54,85,71,.14);
}

.ap-co-inst-item input:focus-visible + .ap-co-inst-box{
  outline:2px solid rgba(201,16,32,.45);
  outline-offset:2px;
}

.ap-co-inst-flag{
  position:absolute;
  top:-9px;
  right:10px;
  padding:2px 8px;
  border-radius:999px;
  color:#22331f;
  background:linear-gradient(145deg,#eccb7f,#c69b3f);
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  box-shadow:0 6px 14px rgba(160,120,40,.24);
  z-index:1;
}

/* ----------------------------------------------------------- HAVALE / EFT */
.ap-co-banks{
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* Banka satiri: solda ad, ortada IBAN, sagda kopyala */
.ap-co-bank{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  align-items:center;
  gap:9px 18px;
  padding:14px 18px;
  border:1.5px solid rgba(36,27,28,.1);
  border-radius:16px;
  background:#fff;
  transition:.22s ease;
}

.ap-co-bank:hover{
  border-color:rgba(54,85,71,.34);
  box-shadow:0 10px 24px rgba(35,54,45,.08);
}

.ap-co-bank-head{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.ap-co-bank-mark{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1.4px solid rgba(54,85,71,.22);
  border-radius:10px;
  color:var(--green);
  font-size:13px;
  font-weight:900;
}

.ap-co-bank-name{
  color:#201d1d;
  font-size:13.5px;
  font-weight:900;
}

.ap-co-bank-branch{
  margin-top:1px;
  color:#6b625c;
  font-size:11px;
  font-weight:700;
}

.ap-co-bank-iban{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#f7f5f1;
  color:#3a3132;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.03em;
  font-variant-numeric:tabular-nums;
}

.ap-co-bank-iban span{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ap-co-copy{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:0 11px;
  border:1.2px solid rgba(54,85,71,.26);
  border-radius:9px;
  color:var(--green);
  background:#fff;
  font-family:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  transition:.2s ease;
}

.ap-co-copy svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-copy:hover{
  color:#fff;
  background:var(--green);
  border-color:var(--green);
}

.ap-co-copy.is-done{
  color:#fff;
  background:#3d7a58;
  border-color:#3d7a58;
}

.ap-co-bank-holder{
  grid-column:1 / -1;
  padding-top:2px;
  border-top:1px dashed rgba(36,27,28,.1);
  color:#776d6f;
  font-size:11.5px;
  font-weight:700;
}

/* Bilgi kutusu (havale indirimi, kapida odeme ucreti vb.) */
.ap-co-info{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-bottom:18px;
  padding:14px 16px;
  border:1px solid rgba(224,185,100,.42);
  border-radius:15px;
  background:linear-gradient(120deg,#fffdf7,#fff8ea);
  color:#5c4a1e;
  font-size:12.5px;
  font-weight:600;
  line-height:1.65;
}

.ap-co-info b{
  color:#3f3312;
  font-weight:900;
}

.ap-co-info svg{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:1px;
  fill:none;
  stroke:#b48c34;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-info--green{
  border-color:rgba(54,85,71,.24);
  background:rgba(54,85,71,.045);
  color:#3f5348;
}

.ap-co-info--green b{
  color:#24382e;
}

.ap-co-info--green svg{
  stroke:var(--green);
}

/* ============================================================ SIPARIS OZETI */
.ap-co-side{
  position:sticky;
  top:18px;
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
}

.ap-co-summary{
  overflow:hidden;
  border:1px solid rgba(36,27,28,.09);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(36,27,28,.07);
}

.ap-co-sum-head{
  display:flex;
  align-items:center;
  gap:11px;
  padding:18px 22px;
  border-bottom:1px solid rgba(36,27,28,.07);
  background:linear-gradient(180deg,#fbfaf7,#fff);
}

.ap-co-sum-head h2{
  margin:0;
  color:#201d1d;
  font-size:16px;
  font-weight:900;
  letter-spacing:-.02em;
}

.ap-co-sum-count{
  margin-left:auto;
  padding:3px 10px;
  border-radius:999px;
  color:var(--green);
  background:rgba(54,85,71,.09);
  font-size:11px;
  font-weight:800;
}

.ap-co-sum-head > svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-sum-body{
  padding:18px 22px 22px;
}

/* -------------------------------------------------------------- URUN LISTESI */
.ap-co-items{
  display:flex;
  flex-direction:column;
  gap:4px;
  max-height:308px;
  overflow-y:auto;
  margin:0 -6px;
  padding:0 6px;
  scrollbar-width:thin;
  scrollbar-color:rgba(54,85,71,.28) transparent;
}

.ap-co-items::-webkit-scrollbar{
  width:5px;
}

.ap-co-items::-webkit-scrollbar-thumb{
  border-radius:99px;
  background:rgba(54,85,71,.24);
}

.ap-co-item{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:13px;
  padding:12px 4px;
  border-bottom:1px dashed rgba(36,27,28,.1);
}

.ap-co-item:last-child{
  border-bottom:0;
}

/* overflow:hidden yok — adet rozeti kosede disari tasiyor */
.ap-co-item-media{
  position:relative;
  width:58px;
  height:58px;
  border:1px solid rgba(36,27,28,.08);
  border-radius:13px;
  background:#f7f5f1;
}

.ap-co-item-media img{
  width:100%;
  height:100%;
  display:block;
  border-radius:12px;
  object-fit:cover;
}

.ap-co-item-qty{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:21px;
  height:21px;
  padding-inline:5px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:999px;
  color:#fff;
  background:var(--green);
  font-size:10px;
  font-weight:900;
}

.ap-co-item-copy{
  min-width:0;
}

.ap-co-item-name{
  display:block;
  color:#201d1d;
  font-size:12.5px;
  font-weight:800;
  line-height:1.45;
  transition:color .2s ease;
}

.ap-co-item-name:hover{
  color:var(--red);
}

.ap-co-item-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:5px;
}

.ap-co-item-unit{
  color:#6b625c;
  font-size:11px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}

.ap-co-item-price{
  margin-left:auto;
  color:#201d1d;
  font-size:13.5px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

/* Sepeti duzenle bagi */
.ap-co-edit{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:14px;
  color:var(--green);
  font-size:12px;
  font-weight:800;
  transition:color .2s ease;
}

.ap-co-edit svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-edit:hover{
  color:var(--red);
}

/* ================================================================== KUPON */
.ap-co-coupon{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid rgba(36,27,28,.09);
}

.ap-co-coupon-title{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:11px;
  color:#201d1d;
  font-size:13px;
  font-weight:900;
}

.ap-co-coupon-title svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:#c69b3f;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-coupon-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
}

.ap-co-coupon-input{
  width:100%;
  min-height:46px;
  padding:0 14px;
  border:1.5px dashed rgba(198,155,63,.5);
  border-radius:13px;
  outline:none;
  color:#201d1d;
  background:#fffdf7;
  font-family:inherit;
  font-size:13.5px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  transition:.2s ease;
}

.ap-co-coupon-input::placeholder{
  color:#c2b49a;
  font-weight:600;
  letter-spacing:.05em;
}

.ap-co-coupon-input:focus{
  border-color:#c69b3f;
  border-style:solid;
  background:#fff;
  box-shadow:0 0 0 4px rgba(198,155,63,.13);
}

.ap-co-coupon-btn{
  min-height:46px;
  padding:0 20px;
  border:0;
  border-radius:13px;
  color:#22331f;
  background:linear-gradient(145deg,#eccb7f,#c69b3f);
  font-family:inherit;
  font-size:12.5px;
  font-weight:900;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(160,120,40,.24);
  transition:.22s ease;
}

.ap-co-coupon-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(160,120,40,.3);
}

.ap-co-coupon-btn:disabled{
  color:#8b8577;
  background:#e8e4dc;
  box-shadow:none;
  cursor:not-allowed;
  transform:none;
}

/* Hata / basari mesaji */
.ap-co-coupon-msg{
  display:none;
  align-items:center;
  gap:7px;
  margin-top:9px;
  font-size:11.5px;
  font-weight:700;
  line-height:1.5;
}

.ap-co-coupon-msg.is-show{
  display:flex;
}

.ap-co-coupon-msg svg{
  flex:0 0 auto;
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-coupon-msg.is-error{
  color:var(--red);
}

.ap-co-coupon-msg.is-ok{
  color:#2f7a52;
}

.ap-co-coupon.is-error .ap-co-coupon-input{
  border-color:rgba(201,16,32,.55);
  border-style:solid;
  background:#fff6f6;
  animation:ap-co-shake .34s ease;
}

@keyframes ap-co-shake{
  0%,100%{transform:translateX(0);}
  20%{transform:translateX(-6px);}
  40%{transform:translateX(5px);}
  60%{transform:translateX(-3px);}
  80%{transform:translateX(2px);}
}

/* Uygulanan kupon: delikli bilet gorunumu */
.ap-co-applied{
  display:none;
  position:relative;
  align-items:center;
  gap:12px;
  padding:13px 16px;
  border:1.5px solid rgba(54,85,71,.28);
  border-radius:14px;
  background:
    linear-gradient(120deg,rgba(54,85,71,.07),rgba(224,185,100,.1));
}

.ap-co-applied.is-show{
  display:flex;
  animation:ap-co-fade .3s ease both;
}

/* Biletin iki yanindaki zimba delikleri */
.ap-co-applied::before,
.ap-co-applied::after{
  content:"";
  position:absolute;
  top:50%;
  width:14px;
  height:14px;
  border:1.5px solid rgba(54,85,71,.28);
  border-radius:50%;
  background:#fff;
  transform:translateY(-50%);
}

.ap-co-applied::before{
  left:-8px;
  clip-path:inset(0 0 0 50%);
}

.ap-co-applied::after{
  right:-8px;
  clip-path:inset(0 50% 0 0);
}

.ap-co-applied-mark{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
}

.ap-co-applied-mark svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-applied-copy{
  flex:1 1 auto;
  min-width:0;
}

.ap-co-applied-code{
  display:block;
  color:#1e2f26;
  font-size:13px;
  font-weight:900;
  letter-spacing:.07em;
}

.ap-co-applied-note{
  display:block;
  margin-top:2px;
  color:#5a6b62;
  font-size:11.5px;
  font-weight:700;
}

.ap-co-applied-remove{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:0;
  border-radius:9px;
  color:#6b625c;
  background:rgba(36,27,28,.05);
  cursor:pointer;
  transition:.2s ease;
}

.ap-co-applied-remove svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:round;
}

.ap-co-applied-remove:hover{
  color:#fff;
  background:var(--red);
}

/* Kuponlarim listesi */
.ap-co-coupon-more{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:12px;
  padding:0;
  border:0;
  color:var(--green);
  background:transparent;
  font-family:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  transition:color .2s ease;
}

.ap-co-coupon-more:hover{
  color:var(--red);
}

.ap-co-coupon-more svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}

.ap-co-coupon-more.is-open svg{
  transform:rotate(180deg);
}

.ap-co-coupon-list{
  display:flex;
  flex-direction:column;
  gap:9px;
  padding-top:12px;
}

.ap-co-coupon-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1.4px dashed rgba(198,155,63,.5);
  border-radius:13px;
  background:#fffdf7;
  transition:.22s ease;
}

.ap-co-coupon-card:hover{
  border-color:#c69b3f;
  background:#fffaf0;
}

.ap-co-coupon-code{
  display:block;
  color:#5c4a1e;
  font-size:12.5px;
  font-weight:900;
  letter-spacing:.09em;
}

.ap-co-coupon-desc{
  display:block;
  margin-top:3px;
  color:#6b625c;
  font-size:11px;
  font-weight:700;
  line-height:1.5;
}

.ap-co-coupon-use{
  flex:0 0 auto;
  min-height:32px;
  padding:0 13px;
  border:1.3px solid rgba(180,140,52,.5);
  border-radius:10px;
  color:#7a5f1c;
  background:#fff;
  font-family:inherit;
  font-size:11.5px;
  font-weight:800;
  cursor:pointer;
  transition:.2s ease;
}

.ap-co-coupon-card.is-applied{
  border-style:solid;
  border-color:rgba(54,85,71,.34);
  background:rgba(54,85,71,.05);
}

.ap-co-coupon-use:disabled{
  color:var(--green);
  border-color:rgba(54,85,71,.3);
  background:rgba(54,85,71,.08);
  cursor:default;
}

.ap-co-coupon-use:disabled:hover{
  color:var(--green);
  background:rgba(54,85,71,.08);
  border-color:rgba(54,85,71,.3);
}

.ap-co-coupon-use:hover{
  color:#fff;
  background:linear-gradient(145deg,#c69b3f,#a37f30);
  border-color:#a37f30;
}

/* -------------------------------------------------- UCRETSIZ KARGO CUBUGU */
.ap-co-freeship{
  margin-top:20px;
  padding:14px 16px;
  border:1px solid rgba(54,85,71,.18);
  border-radius:15px;
  background:rgba(54,85,71,.04);
}

.ap-co-freeship-text{
  display:flex;
  align-items:center;
  gap:9px;
  color:#3f5348;
  font-size:12px;
  font-weight:700;
  line-height:1.5;
}

.ap-co-freeship-text svg{
  flex:0 0 auto;
  width:18px;
  height:18px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-freeship-text b{
  color:#1e2f26;
  font-weight:900;
}

.ap-co-freeship-bar{
  position:relative;
  display:block;
  overflow:hidden;
  height:7px;
  margin-top:11px;
  border-radius:99px;
  background:rgba(36,27,28,.08);
}

.ap-co-freeship-bar span{
  display:block;
  height:100%;
  width:0;
  border-radius:99px;
  background:linear-gradient(90deg,#c69b3f,#eccb7f);
  transition:width .5s cubic-bezier(.3,1,.4,1);
}

.ap-co-freeship.is-done .ap-co-freeship-bar span{
  background:linear-gradient(90deg,#2b4638,#4c7a63);
}

/* ================================================================== TOPLAM */
.ap-co-totals{
  margin-top:20px;
  padding:16px 18px;
  border-radius:16px;
  background:#f8f6f2;
}

.ap-co-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:7px 0;
  color:#4c4244;
  font-size:13px;
  font-weight:700;
}

.ap-co-row span:last-child{
  font-variant-numeric:tabular-nums;
  font-weight:800;
  white-space:nowrap;
}

.ap-co-giftnote{
  margin-top:12px;
  padding:11px 13px;
  border:1px dashed rgba(54,85,71,.3);
  border-radius:12px;
  background:rgba(54,85,71,.04);
}

.ap-co-giftnote-label{
  display:block;
  margin-bottom:4px;
  color:var(--green-dark,#2b4638);
  font-size:11.5px;
  font-weight:800;
}

.ap-co-giftnote p{
  margin:0;
  color:#6c7a72;
  font-size:12.5px;
  font-style:italic;
  font-weight:600;
  overflow-wrap:anywhere;
}

.ap-co-row--off{
  color:#2f7a52;
}

.ap-co-row--off span:last-child{
  color:#2f7a52;
}

.ap-co-row--sub{
  padding-left:14px;
  color:#6b625c;
  font-size:12px;
  font-weight:600;
}

.ap-co-row--sub span:last-child{
  color:#6b625c;
  font-weight:700;
}

.ap-co-row--vat{
  margin-top:6px;
  padding-top:11px;
  border-top:1px dashed rgba(36,27,28,.13);
  color:#6f6863;
  font-size:11.5px;
  font-weight:600;
}

.ap-co-row--vat span:last-child{
  color:#6f6863;
  font-weight:700;
}

.ap-co-grand{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-top:12px;
  padding-top:15px;
  border-top:1.5px solid rgba(36,27,28,.12);
}

.ap-co-grand-label{
  color:#201d1d;
  font-size:14.5px;
  font-weight:900;
  letter-spacing:-.01em;
}

.ap-co-grand-label small{
  display:block;
  margin-top:3px;
  color:#6b625c;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0;
}

.ap-co-grand-value{
  position:relative;
  color:#1e2f26;
  font-size:26px;
  font-weight:900;
  letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.ap-co-grand-value::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-5px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,transparent,#c69b3f);
}

/* Kazanc rozeti */
.ap-co-saved{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:16px;
  padding:9px 12px;
  border-radius:12px;
  color:#2f7a52;
  background:rgba(61,122,88,.09);
  font-size:12px;
  font-weight:800;
}

.ap-co-saved svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-saved b{
  font-weight:900;
  font-variant-numeric:tabular-nums;
}

/* -------------------------------------------------------------- SOZLESMELER */
.ap-co-terms{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-top:18px;
}

.ap-co-term{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:9px 8px 9px 6px;
  margin-inline:-6px;
  border-radius:11px;
  color:#4c4244;
  font-size:12px;
  font-weight:600;
  line-height:1.6;
  cursor:pointer;
  transition:background .2s ease;
}

.ap-co-term:hover{
  background:rgba(54,85,71,.04);
}

.ap-co-term input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}

.ap-co-term .ap-check-box{
  margin-top:1px;
}

.ap-co-term input:checked ~ .ap-check-box{
  border-color:var(--green);
  background:var(--green);
}

.ap-co-term input:checked ~ .ap-check-box svg{
  opacity:1;
  transform:scale(1);
}

.ap-co-term input:focus-visible ~ .ap-check-box{
  outline:2px solid rgba(201,16,32,.45);
  outline-offset:2px;
}

.ap-co-term-link{
  padding:0;
  border:0;
  background:none;
  font:inherit;
  cursor:pointer;
}

.ap-co-term-link,
.ap-co-term a{
  color:var(--green);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-color:rgba(54,85,71,.35);
  transition:.2s ease;
}

.ap-co-term-link:hover,
.ap-co-term a:hover{
  color:var(--red);
  text-decoration-color:rgba(201,16,32,.5);
}

.ap-co-term-req{
  color:var(--red);
  font-weight:800;
}

.ap-co-terms.is-error .ap-check-box{
  border-color:rgba(201,16,32,.6);
  animation:ap-co-shake .34s ease;
}

.ap-co-terms-all{
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px 12px;
  margin-bottom:6px;
  border:1px dashed rgba(54,85,71,.26);
  border-radius:13px;
  background:rgba(54,85,71,.035);
  color:#24382e;
  font-size:12.5px;
  font-weight:900;
  cursor:pointer;
  transition:.2s ease;
}

.ap-co-terms-all:hover{
  border-color:rgba(54,85,71,.5);
  background:rgba(54,85,71,.06);
}

.ap-co-terms-all input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}

.ap-co-terms-all input:checked ~ .ap-check-box{
  border-color:var(--green);
  background:var(--green);
}

.ap-co-terms-all input:checked ~ .ap-check-box svg{
  opacity:1;
  transform:scale(1);
}

/* ---------------------------------------------------------------- SON BUTON */
.ap-co-submit{
  position:relative;
  overflow:hidden;
  width:100%;
  min-height:58px;
  margin-top:16px;
  padding:0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  border:0;
  border-radius:17px;
  color:#fff;
  background:linear-gradient(145deg,#d31625,#9b0915);
  font-family:inherit;
  font-size:14.5px;
  font-weight:900;
  letter-spacing:.03em;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(211,22,37,.26);
  transition:.25s ease;
}

/* Uzerinden gecen ince isik */
.ap-co-submit::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-60%;
  width:45%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);
  transform:skewX(-18deg);
  transition:left .55s ease;
}

.ap-co-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 38px rgba(211,22,37,.32);
}

.ap-co-submit:hover::after{
  left:120%;
}

.ap-co-submit svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-submit-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:13px;
  color:#6b625c;
  font-size:11.5px;
  font-weight:700;
}

.ap-co-submit-note svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:#8b7f78;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-paylogos{
  display:block;
  width:100%;
  max-width:280px;
  height:auto;
  margin:12px auto 0;
  opacity:.9;
}

/* ------------------------------------------------------- YARDIM KUTUSU (sag) */
.ap-co-help{
  display:flex;
  align-items:center;
  gap:13px;
  padding:16px 18px;
  border:1px solid rgba(36,27,28,.09);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(36,27,28,.045);
}

.ap-co-help svg{
  flex:0 0 auto;
  width:26px;
  height:26px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-help-copy b{
  display:block;
  color:#201d1d;
  font-size:13px;
  font-weight:900;
}

.ap-co-help-copy span{
  display:block;
  margin-top:2px;
  color:#776d6f;
  font-size:11.5px;
  font-weight:600;
  line-height:1.5;
}

.ap-co-help-copy a{
  color:var(--green);
  font-weight:800;
}

.ap-co-help-copy a:hover{
  color:var(--red);
}

/* ==================================================== MOBIL: OZET ACILIR BAS */
.ap-co-sum-toggle{
  display:none;
  width:100%;
  align-items:center;
  gap:12px;
  padding:16px 20px;
  border:0;
  background:transparent;
  font-family:inherit;
  cursor:pointer;
  text-align:left;
}

.ap-co-sum-toggle-copy b{
  display:block;
  color:#201d1d;
  font-size:14px;
  font-weight:900;
}

.ap-co-sum-toggle-copy span{
  display:block;
  margin-top:2px;
  color:#6b625c;
  font-size:11.5px;
  font-weight:700;
}

.ap-co-sum-toggle-total{
  margin-left:auto;
  color:#1e2f26;
  font-size:17px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}

.ap-co-sum-toggle-arrow{
  flex:0 0 auto;
  width:17px;
  height:17px;
  fill:none;
  stroke:#8b7f78;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .28s ease;
}

.ap-co-sum-toggle.is-open .ap-co-sum-toggle-arrow{
  transform:rotate(180deg);
}

/* ==================================================== MOBIL: ALT SABIT SERIT */
.ap-co-mbar{
  display:none;
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:90;
  align-items:center;
  gap:14px;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(36,27,28,.1);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  box-shadow:0 -8px 26px rgba(36,27,28,.1);
}

.ap-co-mbar-copy b{
  display:block;
  color:#1e2f26;
  font-size:19px;
  font-weight:900;
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}

.ap-co-mbar-copy span{
  display:block;
  color:#6b625c;
  font-size:10.5px;
  font-weight:700;
}

.ap-co-mbar-btn{
  flex:1 1 auto;
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  border-radius:15px;
  color:#fff;
  background:linear-gradient(145deg,#d31625,#9b0915);
  font-family:inherit;
  font-size:13.5px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(211,22,37,.24);
}

.ap-co-mbar-btn svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* ================================================================ DUYARLILIK */
@media (max-width:1280px){
  .ap-co-layout{
    grid-template-columns:minmax(0,1fr) 358px;
  }

  .ap-co-card-area{
    grid-template-columns:288px minmax(0,1fr);
    gap:22px;
  }
}

@media (max-width:1080px){
  .ap-co-hero{
    grid-template-columns:1fr;
    gap:24px;
    padding:26px 28px 28px;
  }

  .ap-co-steps{
    justify-content:flex-start;
  }

  .ap-co-layout{
    grid-template-columns:minmax(0,1fr);
  }

  /* Tek sutuna dusunce sira: katlanmis ozet -> formlar -> yardim kutusu.
     Sag sutun display:contents ile cozulup iki cocugu ayri ayri siralaniyor. */
  .ap-co-side{
    display:contents;
  }

  .ap-co-summary{
    order:-1;
  }

  .ap-co-help{
    order:1;
  }

  .ap-co-sum-head{
    padding:0;
    border-bottom:0;
    background:transparent;
  }

  .ap-co-sum-head > svg,
  .ap-co-sum-head h2,
  .ap-co-sum-count{
    display:none;
  }

  .ap-co-sum-toggle{
    display:flex;
  }

  /* Ozet govdesi katlanir; toplam basliktaki seritte gorunur */
  .ap-co-sum-body{
    display:none;
    padding:4px 22px 22px;
    border-top:1px solid rgba(36,27,28,.07);
  }

  .ap-co-sum-body.is-open{
    display:block;
  }

  .ap-co-items{
    max-height:none;
  }

  .ap-co-card-area{
    grid-template-columns:minmax(0,1fr);
  }

  .ap-co-card-stage{
    max-width:340px;
  }

  .ap-co-mbar{
    display:flex;
  }

  /* Alt seridin altinda icerik kalmasin.
     :has ile sinirli — bu dosya form alanlari icin hesabim.html'de de
     yukleniyor, oradaki alt menuye dokunmamali. */
  body:has(.ap-co-mbar){
    padding-bottom:calc(78px + env(safe-area-inset-bottom));
  }
}

/* 980px altinda tema mobil alt menuyu da sabitliyor; iki sabit cubuk ust uste
   binmesin diye odeme sayfasinda alt menunun yerini odeme seridi aliyor. */
@media (max-width:980px){
  body:has(.ap-co-mbar) .ap-bottom-nav{
    display:none !important;
  }

  body:has(.ap-co-mbar){
    padding-bottom:calc(80px + env(safe-area-inset-bottom));
  }

  /* WhatsApp dugmesi seridin uzerinde kalsin */
  body:has(.ap-co-mbar) .ap-wa{
    bottom:calc(90px + env(safe-area-inset-bottom));
  }
}

@media (max-width:820px){
  .ap-co{
    padding:0 0 84px;
  }

  .ap-co .ap-breadcrumb,
  .ap-co-hero,
  .ap-co-main,
  .ap-co-summary,
  .ap-co-help{
    margin-inline:auto;
    width:min(100% - 24px,1440px);
  }

  .ap-co-hero{
    border-radius:22px;
  }
}

@media (max-width:700px){
  .ap-co-hero{
    padding:22px 20px 24px;
  }

  .ap-co-hero-title{
    font-size:25px;
  }

  .ap-co-step{
    width:auto;
    min-width:88px;
  }

  .ap-co-step + .ap-co-step::before{
    right:calc(50% + 19px);
    left:calc(-50% + 19px);
  }

  .ap-co-step-label{
    font-size:10.5px;
  }

  .ap-co-login{
    flex-wrap:wrap;
    gap:11px;
    padding:14px 16px;
  }

  .ap-co-login-btn{
    width:100%;
    justify-content:center;
  }

  .ap-co-block-head{
    gap:11px;
    padding:15px 16px;
  }

  .ap-co-block-title{
    font-size:15px;
  }

  /* Ipucu metni basligin altina insin, sikismasin */
  .ap-co-block-hint{
    display:none;
  }

  .ap-co-block-body{
    padding:18px 16px;
  }

  .ap-co-grid{
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }

  .ap-co-paytabs{
    grid-template-columns:minmax(0,1fr);
    gap:9px;
  }

  /* Mobilde sekmeler yatay satir olur, dikey yigin degil */
  .ap-co-paytab{
    flex-direction:row;
    justify-content:flex-start;
    min-height:64px;
    gap:13px;
    text-align:left;
  }

  .ap-co-paytab-copy{
    align-items:flex-start;
  }

  .ap-co-opt-box{
    grid-template-columns:auto minmax(0,1fr);
    gap:12px;
    padding:14px;
  }

  .ap-co-opt-price{
    grid-column:2;
    justify-self:start;
    margin-top:2px;
  }

  .ap-co-opt-price small{
    text-align:left;
  }

  .ap-co-opt-main > svg{
    width:22px;
    height:22px;
  }

  .ap-co-sum-body{
    padding:4px 18px 20px;
  }

  .ap-co-grand-value{
    font-size:23px;
  }

  .ap-co-inst-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ap-co-bank{
    grid-template-columns:minmax(0,1fr);
    gap:10px;
  }

  .ap-co-switch-row{
    align-items:flex-start;
    padding:14px;
  }

  .ap-co-addr-list{
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width:420px){
  .ap-co-coupon-form{
    grid-template-columns:minmax(0,1fr);
  }

  .ap-co-mbar{
    gap:10px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  }

  .ap-co-mbar-copy b{
    font-size:17px;
  }

  .ap-co-mbar-btn{
    min-height:46px;
    font-size:12.5px;
  }
}

@media (prefers-reduced-motion:reduce){
  .ap-co-card3d,
  .ap-co-freeship-bar span,
  .ap-co-submit,
  .ap-co-submit::after,
  .ap-co-reveal{
    transition:none;
  }

  .ap-co-coupon.is-error .ap-co-coupon-input,
  .ap-co-terms.is-error .ap-check-box{
    animation:none;
  }
}

/* =============================================================== SOZLESME MODALI
   Uzun hukuki metinler icin okunabilirlik onceligi: genis satir araligi,
   net baslik hiyerarsisi, duzgun tablo ve liste bicimlendirmesi.
   ============================================================================ */
.orion-modal{
  position:fixed;
  inset:0;
  z-index:9000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(20,14,15,.62);
  backdrop-filter:blur(3px);
  animation:orionModalIn .18s ease;
}

.orion-modal[hidden]{ display:none; }

@keyframes orionModalIn{
  from{ opacity:0 }
  to{ opacity:1 }
}

.orion-modal-box{
  display:flex;
  flex-direction:column;
  width:100%;
  max-width:820px;
  max-height:88vh;
  max-height:88dvh;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
  box-shadow:0 28px 70px rgba(20,14,15,.34);
  animation:orionModalBox .22s cubic-bezier(.2,.9,.3,1);
}

@keyframes orionModalBox{
  from{ opacity:0; transform:translateY(14px) scale(.985) }
  to{ opacity:1; transform:none }
}

.orion-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex:0 0 auto;
  padding:18px 24px;
  border-bottom:1px solid rgba(36,27,28,.1);
  background:#fffdfa;
}

.orion-modal-head h3{
  margin:0;
  color:#201d1d;
  font-size:17px;
  font-weight:800;
  letter-spacing:-.01em;
}

.orion-modal-head button{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:36px;
  height:36px;
  padding:0;
  border:0;
  border-radius:50%;
  color:#6d6365;
  background:rgba(36,27,28,.06);
  cursor:pointer;
  transition:.18s ease;
}

.orion-modal-head button:hover{
  color:#201d1d;
  background:rgba(36,27,28,.12);
}

.orion-modal-head button svg{ width:19px; height:19px; }

/* --- Metin govdesi --- */
.orion-modal-body{
  flex:1 1 auto;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:22px 24px 26px;
  color:#463d3f;
  font-size:14px;
  line-height:1.75;
}

.orion-modal-body > *:first-child{ margin-top:0; }
.orion-modal-body > *:last-child{ margin-bottom:0; }

.orion-modal-body h1,
.orion-modal-body h2,
.orion-modal-body h3,
.orion-modal-body h4{
  margin:22px 0 8px;
  color:#201d1d;
  font-weight:800;
  line-height:1.35;
}

.orion-modal-body h1{ font-size:19px; }
.orion-modal-body h2{ font-size:17px; }
.orion-modal-body h3{ font-size:15.5px; }
.orion-modal-body h4{ font-size:14.5px; }

.orion-modal-body p{ margin:0 0 12px; }
.orion-modal-body strong,
.orion-modal-body b{ color:#201d1d; font-weight:700; }

.orion-modal-body ul,
.orion-modal-body ol{
  margin:0 0 14px;
  padding-left:22px;
}

.orion-modal-body li{ margin-bottom:6px; }

.orion-modal-body a{
  color:var(--green,#365547);
  text-decoration:underline;
  text-underline-offset:2px;
}

.orion-modal-body hr{
  margin:18px 0;
  border:0;
  border-top:1px solid rgba(36,27,28,.1);
}

/* --- Tablolar: dar ekranda yatay kaydirilir --- */
.orion-modal-body table{
  display:block;
  width:100%;
  margin:14px 0;
  overflow-x:auto;
  border-collapse:collapse;
  font-size:13px;
}

.orion-modal-body th,
.orion-modal-body td{
  padding:9px 11px;
  border:1px solid rgba(36,27,28,.14);
  text-align:left;
  vertical-align:top;
}

.orion-modal-body th{
  background:#faf7f2;
  color:#201d1d;
  font-weight:700;
  white-space:nowrap;
}

.orion-modal-body tr:nth-child(even) td{ background:#fcfaf7; }

/* --- Kaydirma cubugu --- */
.orion-modal-body::-webkit-scrollbar{ width:10px; }
.orion-modal-body::-webkit-scrollbar-thumb{
  border:3px solid #fff;
  border-radius:99px;
  background:rgba(36,27,28,.22);
}
.orion-modal-body::-webkit-scrollbar-thumb:hover{ background:rgba(36,27,28,.34); }

.orion-modal-foot{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  flex:0 0 auto;
  padding:15px 24px;
  border-top:1px solid rgba(36,27,28,.1);
  background:#faf8f5;
}

@media (max-width:640px){
  .orion-modal{ padding:0; }
  .orion-modal-box{
    max-width:100%;
    max-height:100dvh;
    border-radius:18px 18px 0 0;
    margin-top:auto;
  }
  .orion-modal-head,
  .orion-modal-body,
  .orion-modal-foot{ padding-left:18px; padding-right:18px; }
}

@media (prefers-reduced-motion:reduce){
  .orion-modal,
  .orion-modal-box{ animation:none; }
}

/* Modal alt butonlari — genel .ap-btn yerine modala ozel, dengeli olcu */
.orion-modal-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 20px;
  border:1px solid transparent;
  border-radius:12px;
  font:inherit;
  font-size:13.5px;
  font-weight:800;
  letter-spacing:.01em;
  cursor:pointer;
  transition:.2s ease;
  white-space:nowrap;
}

.orion-modal-btn svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.orion-modal-btn--ghost{
  color:#6d6365;
  background:#fff;
  border-color:rgba(36,27,28,.16);
}

.orion-modal-btn--ghost:hover{
  color:#201d1d;
  background:#f6f3ee;
  border-color:rgba(36,27,28,.28);
}

.orion-modal-btn--main{
  color:#fff;
  background:var(--green,#365547);
  box-shadow:0 6px 16px rgba(54,85,71,.26);
}

.orion-modal-btn--main:hover{
  background:var(--green-dark,#2b4638);
  box-shadow:0 8px 20px rgba(54,85,71,.34);
  transform:translateY(-1px);
}

.orion-modal-btn:focus-visible{
  outline:2px solid var(--green,#365547);
  outline-offset:2px;
}

.orion-modal-btn:active{ transform:translateY(0); }

@media (max-width:640px){
  .orion-modal-foot{ flex-direction:row-reverse; }
  .orion-modal-btn{ flex:1 1 auto; }
}

/* Kargo firmasi logosu — ikon yerine gecer, ayni hizada durur */
.ap-co-opt-logo{
  flex:0 0 auto;
  width:auto;
  max-width:74px;
  height:30px;
  object-fit:contain;
  object-position:left center;
}

/* Havale/EFT: banka hesabi secilebilir kart */
/* Seçilebilir banka kartı: .ap-co-bank'in grid düzeni KORUNMALI,
   display'i ezmiyoruz — yoksa IBAN hücresi grid'den düşüyor. */
.ap-co-bank--pick{
  position:relative;
  cursor:pointer;
}

.ap-co-bank--pick input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}

.ap-co-bank--pick:has(input:checked) .ap-co-radio{
  border-color:var(--green);
}

.ap-co-bank--pick:has(input:checked) .ap-co-radio::after{
  opacity:1;
  transform:scale(1);
}

.ap-co-bank--pick:has(input:checked){
  border-color:var(--green);
  background:rgba(54,85,71,.045);
  box-shadow:0 10px 26px rgba(54,85,71,.13);
}

.ap-co-bank--pick:has(input:focus-visible){
  outline:2px solid rgba(201,16,32,.45);
  outline-offset:3px;
}

.ap-co-bank--pick .ap-co-bank-head{
  align-items:center;
  gap:10px;
}

.ap-co-bank-logo{
  flex:0 0 auto;
  width:auto;
  max-width:82px;
  height:26px;
  object-fit:contain;
  object-position:left center;
}

/* Siparis notu acildiginda alttaki adres formuyla arasinda nefes payi kalsin */
.ap-co-reveal[data-reveal="note"] .ap-co-reveal-inner{
  padding-top:14px;
  padding-bottom:22px;
}

/* PayTR guvenli kart formu — odeme sayfasindaki Kredi Karti panelinin icinde acilir */
.ap-co-paytr-slot{
  margin-top:6px;
  padding:14px;
  border:1.5px solid rgba(36,27,28,.11);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(35,54,45,.06);
}

.ap-co-paytr-frame{
  display:block;
  width:100%;
  min-height:520px;
  border:0;
  border-radius:12px;
  background:#fff;
}

/* ───────────────────────────────────────────────────────────────────────────
   Üyelik teklifi — misafir ödemesinde "Bu bilgilerle hesap oluştur"
   Sözleşmelerin altında, sipariş butonunun hemen üstünde durur. Sözleşme
   kutucuklarıyla aynı .ap-check-box bileşenini kullanır; kurumsal yeşil
   (--green) ile kendini ayırır, altın rengi giriş şeridiyle karışmaz.
   ─────────────────────────────────────────────────────────────────────────── */
.ap-co-account{
  margin-top:0;                       /* .ap-co-main zaten gap:18px veriyor */
  border:1px solid rgba(54,85,71,.28);
  border-radius:14px;
  background:rgba(54,85,71,.045);
  transition:border-color .2s ease, background .2s ease;
}

.ap-co-account.is-open{
  border-color:rgba(54,85,71,.42);
  background:rgba(54,85,71,.055);
}

.ap-co-account-head{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:13px 15px;
  cursor:pointer;
}

.ap-co-account-head input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}

.ap-co-account-head .ap-check-box{
  margin-top:2px;
}

.ap-co-account-head input:checked ~ .ap-check-box{
  border-color:var(--green);
  background:var(--green);
}

.ap-co-account-head input:checked ~ .ap-check-box svg{
  opacity:1;
  transform:scale(1);
}

.ap-co-account-head input:focus-visible ~ .ap-check-box{
  outline:2px solid rgba(54,85,71,.45);
  outline-offset:2px;
}

.ap-co-account-title{
  display:flex;
  flex-direction:column;
  gap:3px;
  color:#2f4438;
  font-size:13px;
  font-weight:800;
  line-height:1.45;
}

.ap-co-account-title small{
  color:#6b7a71;
  font-size:11.5px;
  font-weight:600;
  line-height:1.5;
}

/* ── Açılan gövde: şifre alanı ── */
.ap-co-account-body{
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:0 15px 14px 50px;   /* 50px = kutucuk + boşluk hizası */
}

.ap-co-account-body[hidden]{
  display:none;               /* [hidden] flex'e yenilmesin */
}

.ap-co-account-label{
  color:#4c5a52;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.02em;
}

.ap-co-account-pw{
  position:relative;
  display:block;
}

.ap-co-account-pw input{
  width:100%;
  height:44px;
  padding:0 46px 0 14px;
  border:1px solid rgba(54,85,71,.22);
  border-radius:11px;
  background:#fff;
  color:#2f4438;
  font-family:inherit;
  font-size:13.5px;
  font-weight:600;
  transition:border-color .18s ease, box-shadow .18s ease;
}

.ap-co-account-pw input::placeholder{
  color:#9aa8a0;
  font-weight:600;
}

.ap-co-account-pw input:focus{
  outline:none;
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(54,85,71,.13);
}

.ap-co-account-eye{
  position:absolute;
  top:50%;
  right:6px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  transform:translateY(-50%);
  border:0;
  border-radius:9px;
  background:transparent;
  color:#7d8c84;
  cursor:pointer;
  transition:background .18s ease, color .18s ease;
}

.ap-co-account-eye svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-account-eye:hover{
  background:rgba(54,85,71,.08);
  color:var(--green);
}

.ap-co-account-eye.is-on{
  color:var(--green);
}

.ap-co-account-hint{
  color:#7d8c84;
  font-size:11px;
  font-weight:600;
  line-height:1.5;
}

.ap-co-account-hint b{
  color:#4c5a52;
  font-weight:800;
  word-break:break-all;
}

@media (max-width:700px){
  .ap-co-account-head{
    padding:12px 13px;
  }

  .ap-co-account-body{
    padding:0 13px 13px 13px;   /* dar ekranda girinti yerine tam genişlik */
  }
}

/* ───────────────────────────────────────────────────────────────────────────
   Teşekkür sayfası — üyelik "ikinci şansı"
   Misafir sipariş verdi, hesabı yok. Ödeme tamamlandığı için güven en yüksek
   noktada; tek istenen şifre.
   ─────────────────────────────────────────────────────────────────────────── */
.ap-cs-account{
  display:flex;
  flex-direction:column;
  gap:9px;
  margin-top:22px;
  padding:18px 20px;
  border:1px solid rgba(54,85,71,.22);
  border-radius:16px;
  background:linear-gradient(120deg,rgba(54,85,71,.05),rgba(54,85,71,.02));
}

.ap-cs-account-title{
  display:flex;
  align-items:center;
  gap:9px;
  color:#2f4438;
  font-size:14.5px;
  font-weight:800;
  line-height:1.4;
}

.ap-cs-account-title svg{
  flex:0 0 auto;
  width:20px;
  height:20px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-cs-account-text{
  margin:0;
  color:#6b7a71;
  font-size:12.5px;
  font-weight:600;
  line-height:1.6;
}

.ap-cs-account-text b{
  color:#2f4438;
  font-weight:800;
  word-break:break-all;
}

.ap-cs-account-form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:4px;
}

.ap-cs-account-pw{
  flex:1 1 180px;   /* iki şifre alanı yan yana sığsın, dar ekranda alta insin */
  min-width:0;
}

.ap-cs-account-pw input{
  width:100%;
  height:46px;
  padding:0 14px;
  border:1px solid rgba(54,85,71,.22);
  border-radius:11px;
  background:#fff;
  color:#2f4438;
  font-family:inherit;
  font-size:13.5px;
  font-weight:600;
  transition:border-color .18s ease, box-shadow .18s ease;
}

.ap-cs-account-pw input::placeholder{
  color:#9aa8a0;
  font-weight:600;
}

.ap-cs-account-pw input:focus{
  outline:none;
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(54,85,71,.13);
}

.ap-cs-account-form .ap-btn{
  flex:0 0 auto;
  height:46px;
}

.ap-cs-account-err{
  margin:18px 0 0;
  padding:11px 14px;
  border:1px solid rgba(201,16,32,.3);
  border-radius:11px;
  background:rgba(201,16,32,.05);
  color:#8d1420;
  font-size:12.5px;
  font-weight:700;
  line-height:1.55;
}

@media (max-width:700px){
  .ap-cs-account{
    padding:16px 15px;
  }

  .ap-cs-account-form .ap-btn{
    flex:1 1 100%;   /* dar ekranda buton tam genişlik */
  }
}


/* ── Üyelik kutusu: iki şifre alanı yan yana ───────────────────────────────
   Kutu formun EN ÜSTÜNDE duruyor; kullanıcı bilgileri girmeden üyeliği
   görsün diye. Şifre iki kez isteniyor (yazım hatasına karşı). */
.ap-co-account-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.ap-co-account-field{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}

/* İkinci alanda göz yok, yerinde eşleşme tiki var */
.ap-co-account-match{
  position:absolute;
  top:50%;
  right:12px;
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  transform:translateY(-50%);
  border-radius:50%;
  background:var(--green);
}

.ap-co-account-match svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:#fff;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-account-match[hidden]{
  display:none;
}

/* İkinci alanda sağda göz butonu olmadığı için iç boşluk daha az */
.ap-co-account-field:last-child .ap-co-account-pw input{
  padding-right:40px;
}

/* Şifreler tutmuyorsa ikinci alanı kırmızıya çevir */
.ap-co-account.is-mismatch .ap-co-account-field:last-child .ap-co-account-pw input{
  border-color:rgba(201,16,32,.5);
}

.ap-co-account.is-mismatch .ap-co-account-field:last-child .ap-co-account-pw input:focus{
  box-shadow:0 0 0 3px rgba(201,16,32,.12);
}

@media (max-width:560px){
  .ap-co-account-grid{
    grid-template-columns:1fr;   /* dar ekranda alt alta */
  }
}

/* ── "Bu e-posta ile zaten hesabınız var" şeridi ───────────────────────────
   Kutunun içinde, e-posta alanından çıkıldığında açılır. Aynı anda üyelik
   kutucuğu kendiliğinden kapanır — kullanıcı boşuna şifre yazmasın. */
.ap-co-account-known{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 15px 14px;
  padding:11px 13px;
  border:1px solid rgba(224,185,100,.5);
  border-radius:11px;
  background:linear-gradient(120deg,#fffdf7,#fff9ec);
  color:#5c4a1e;
  font-size:12.5px;
  font-weight:600;
  line-height:1.55;
}

.ap-co-account-known[hidden]{
  display:none;
}

.ap-co-account-known svg{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:1px;
  fill:none;
  stroke:#b48c34;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ap-co-account-known b{
  color:#3f3312;
  font-weight:800;
}

.ap-co-account-known a{
  color:#8a6d1c;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}

.ap-co-account-known a:hover{
  color:#5c4a1e;
}

/* E-posta kayıtlıysa üyelik teklifini geri plana al — teklif artık geçersiz */
.ap-co-account.is-known .ap-co-account-head{
  opacity:.5;
}

@media (max-width:700px){
  .ap-co-account-known{
    margin:0 13px 13px;
  }
}

/* ── Teşekkür sayfası: üyelik sonucu bildirimi ─────────────────────────────
   "Zaten hesabınız var" (bilgi) veya "hesap açılamadı" (uyarı). Sessiz
   başarısızlık olmasın diye var: kullanıcı şifre girdi, sonucu öğrenmeli. */
.ap-cs-account-info{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin-top:22px;
  padding:16px 18px;
  border:1px solid rgba(224,185,100,.5);
  border-radius:16px;
  background:linear-gradient(120deg,#fffdf7,#fff9ec);
}

.ap-cs-account-info.is-warn{
  border-color:rgba(201,16,32,.3);
  background:rgba(201,16,32,.04);
}

.ap-cs-account-info-title{
  color:#3f3312;
  font-size:14px;
  font-weight:800;
  line-height:1.4;
}

.ap-cs-account-info.is-warn .ap-cs-account-info-title{
  color:#8d1420;
}

.ap-cs-account-info p{
  margin:0;
  color:#5c4a1e;
  font-size:12.5px;
  font-weight:600;
  line-height:1.6;
}

.ap-cs-account-info.is-warn p{
  color:#7a3a41;
}

.ap-cs-account-info b{
  font-weight:800;
  word-break:break-all;
}

.ap-cs-account-info .ap-btn{
  margin-top:4px;
}
