/* ── Atölye Pasta — Sepet & Ürün Detay Stilleri ── */

/* Alpine init öncesi flash önleme */
[x-cloak] { display: none !important; }

.ap-text-logo a {
    color:var(--ap-brown);
    font-family:'Cormorant Garamond',serif;
    font-size:27px;
    font-weight:600;
    line-height:1.1;
    text-decoration:none;
}

/* Number input — tarayıcı spinner okları gizle */
input[type=number].ap-counter-val::-webkit-inner-spin-button,
input[type=number].ap-counter-val::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number].ap-counter-val { -moz-appearance: textfield; appearance: textfield; }

/* ── Genel Form Elemanları ── */
.ap-label   { display:block; font-size:14px; font-weight:600; color:var(--ap-brown); margin-bottom:7px; }
.ap-input   {
    width:100%; min-height:44px; padding:10px 13px; border:1px solid var(--ap-border);
    border-radius:var(--ap-radius-sm); background:var(--ap-white);
    font-family:'DM Sans',sans-serif; font-size:16px; color:var(--ap-brown);
    outline:none; transition:border-color var(--ap-transition),box-shadow var(--ap-transition),background var(--ap-transition);
}
.ap-input::placeholder { color:#806d5d; opacity:1; }
.ap-input:focus { border-color:var(--ap-terra); box-shadow:0 0 0 3px rgba(196,114,74,.16); }
textarea.ap-input { min-height:80px; resize:vertical; }

.ap-radio-group, .ap-check-group { display:flex; flex-wrap:wrap; gap:8px; }
.ap-radio-opt, .ap-check-opt {
    position:relative; display:flex; align-items:center; gap:7px;
    min-height:44px; padding:8px 14px; border-radius:var(--ap-action-radius); cursor:pointer;
    border:1px solid var(--ap-border); background:var(--ap-white);
    font-size:13px; font-weight:400; color:var(--ap-brown);
    transition:background .2s,border-color .2s;
    user-select:none;
}
.ap-radio-opt input, .ap-check-opt input {
    position:absolute; inline-size:1px; block-size:1px; opacity:0;
}
.ap-radio-opt:focus-within, .ap-check-opt:focus-within {
    outline:3px solid rgba(196,114,74,.30); outline-offset:2px;
}
.ap-radio-opt.aktif, .ap-check-opt.aktif { background:var(--ap-berry); color:#fff; border-color:var(--ap-berry); }

/* ── Sayaç ── */
.ap-counter { display:flex; align-items:center; gap:0; border:1px solid var(--ap-border); border-radius:var(--ap-radius-sm); overflow:hidden; width:fit-content; }
.ap-counter-btn {
    width:44px; height:44px; border:none; background:var(--ap-cream2);
    font-size:20px; font-weight:300; color:var(--ap-brown); cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:background .2s; line-height:1; padding:0;
}
.ap-counter-btn:hover { background:var(--ap-berry); color:#fff; }
.ap-counter-btn:disabled { opacity:.35; cursor:not-allowed; }
.ap-counter-val { width:56px; text-align:center; font-size:17px; font-weight:600; color:var(--ap-brown); }

/* ── Butonlar ── */
.ap-btn-primary {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    background:var(--ap-berry); color:#fff; padding:13px 20px;
    border-radius:var(--ap-action-radius); font-size:14px; font-weight:700;
    border:none; cursor:pointer; width:100%;
    letter-spacing:.015em; transition:background var(--ap-transition),transform var(--ap-transition);
    font-family:'DM Sans',sans-serif;
}
.ap-btn-primary:hover   { background:var(--ap-berry-dark); }
.ap-btn-primary:active { transform:translateY(1px); }
.ap-btn-primary:disabled { opacity:.5; cursor:not-allowed; }
.ap-btn-secondary {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    background:transparent; color:var(--ap-brown); padding:12px 18px;
    border-radius:var(--ap-action-radius); font-size:14px; font-weight:600;
    border:1px solid rgba(59,42,26,.38); cursor:pointer; width:100%;
    transition:background var(--ap-transition),transform var(--ap-transition);
    font-family:'DM Sans',sans-serif; text-decoration:none;
}
.ap-btn-secondary:hover { background:var(--ap-cream2); border-color:var(--ap-brown); }
.ap-btn-secondary:active { transform:translateY(1px); }
.ap-btn-primary:focus-visible,
.ap-btn-secondary:focus-visible,
.ap-btn-wa:focus-visible,
.ap-btn-ghost:focus-visible,
.ap-banner-cta:focus-visible {
    outline:3px solid rgba(196,114,74,.38);
    outline-offset:3px;
}

/* ── Header sepet badge ── */
.ap-header-sepet { display:inline-flex; align-items:center; position:relative; }
.ap-sepet-badge {
    position:absolute; top:-6px; right:-8px;
    background:var(--ap-terra); color:#fff; font-size:12px; font-weight:700;
    min-width:20px; height:20px; padding:0 6px;
    border-radius:10px; display:flex; align-items:center; justify-content:center;
    line-height:1; font-family:'DM Sans',sans-serif;
}

/* ── Parent tema wrapper reset (grid kırmayı önle) ──
   Tüm child template'lerimiz için parent layout'u nötrleştir */
body.single-urun .asterthemes-page,
body.post-type-archive-urun .asterthemes-page,
body.tax-urun_kategori .asterthemes-page,
body.page-template-default .asterthemes-page,
body.page .asterthemes-page,
body.home .asterthemes-page {
    display: block !important;
    padding: 0 !important;
    margin-top: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

/* Header: müşteri siparişleri ve sepet */
.bottom-header-right-part {
    display: flex;
    align-items: center;
    gap: 16px;
}

.ap-header-account,
.ap-header-sepet {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: #fff !important;
    font-size: 20px;
    text-decoration: none;
}

.ap-header-account:hover,
.ap-header-sepet:hover {
    color: var(--ap-cream) !important;
}

/* Müşteri sipariş portalı */
.ap-orders-main {
    min-height: 65vh;
    padding: 44px 20px 72px;
    background-color:var(--ap-cream);
    background-image:radial-gradient(circle, #D4C9B4 1px, transparent 1px);
    background-size:18px 18px;
}

.ap-orders-wrap {
    width: min(980px, 100%);
    margin: 0 auto;
}

.ap-orders-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.ap-orders-head h1 {
    margin: 4px 0 0;
    color: var(--ap-brown);
    font: 600 44px/1.05 "Cormorant Garamond", serif;
    letter-spacing: 0;
}

.ap-eyebrow {
    color: var(--ap-terra);
    font-size: 12px;
    font-weight: 700;
}

.ap-login-card,
.ap-orders-empty,
.ap-orders-loading {
    width: min(520px, 100%);
    margin: 30px auto;
    padding: 30px;
    border: 1px solid var(--ap-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--ap-shadow-sm);
}

.ap-login-card h2,
.ap-orders-empty h2 {
    margin: 0 0 8px;
    color: var(--ap-brown);
    font: 600 30px/1.1 "Cormorant Garamond", serif;
    letter-spacing: 0;
}

.ap-login-card p {
    margin: 0 0 22px;
    color: var(--ap-brown2);
}

.ap-login-card .ap-input {
    margin-bottom: 18px;
}

.ap-login-card .ap-btn-primary {
    width: 100%;
}

.ap-link-button {
    border: 0;
    background: transparent;
    color: var(--ap-brown2);
    text-decoration: underline;
    cursor: pointer;
    padding: 8px 0;
}

.ap-login-card .ap-link-button {
    display: block;
    margin: 10px auto 0;
}

.ap-code-input {
    text-align: center;
    font-size: 26px !important;
    font-weight: 700;
    letter-spacing: 8px !important;
}

.ap-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
}

.ap-orders-account {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding: 12px 16px;
    border: 1px solid var(--ap-border);
    border-radius: 6px;
    background: rgba(255, 255, 255, .82);
    color: var(--ap-brown2);
    font-size: 14px;
}

.ap-order-list {
    display: grid;
    gap: 18px;
}

.ap-order-card {
    overflow: hidden;
    border: 1px solid var(--ap-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--ap-shadow-sm);
}

.ap-order-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--ap-border);
}

.ap-order-no {
    display: block;
    color: var(--ap-brown);
    font-weight: 700;
}

.ap-order-created {
    display: block;
    margin-top: 3px;
    color: var(--ap-muted);
    font-size: 12px;
}

.ap-order-status {
    padding: 5px 9px;
    border-radius: 6px;
    background: var(--ap-cream2);
    color: var(--ap-brown);
    font-size: 12px;
    font-weight: 700;
}

.ap-order-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 16px 20px;
}

.ap-order-summary div {
    padding: 10px 12px;
    border-radius: 6px;
    background: var(--ap-cream);
}

.ap-order-summary span,
.ap-order-summary strong {
    display: block;
}

.ap-order-summary span {
    margin-bottom: 3px;
    color: var(--ap-muted);
    font-size: 11px;
}

.ap-order-summary strong {
    color: var(--ap-brown);
    font-size: 14px;
}

.ap-order-products {
    padding: 0 20px;
}

.ap-order-product {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid var(--ap-border);
}

.ap-order-product img {
    width: 58px;
    height: 58px;
    object-fit: cover;
    border-radius: 6px;
}

.ap-order-product strong,
.ap-order-product span {
    display: block;
}

.ap-order-product strong { color: var(--ap-brown); }
.ap-order-product span { margin-top: 2px; color: var(--ap-brown2); font-size: 12px; }

.ap-order-details {
    margin: 4px 20px 0;
    padding: 12px 0;
    border-top: 1px solid var(--ap-border);
}

.ap-order-details summary {
    color: var(--ap-brown2);
    font-weight: 600;
    cursor: pointer;
}

.ap-order-details dl { margin: 12px 0 0; }
.ap-order-details dl div { display: grid; grid-template-columns: 130px 1fr; gap: 12px; padding: 5px 0; }
.ap-order-details dt { color: var(--ap-muted); }
.ap-order-details dd { margin: 0; color: var(--ap-brown); white-space: pre-line; }

.ap-order-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    padding: 16px 20px 20px;
}

.ap-order-actions .ap-btn-primary,
.ap-order-actions .ap-btn-secondary,
.ap-order-actions .ap-btn-danger {
    width: auto;
    min-height: 40px;
    padding: 9px 14px;
}

.ap-btn-danger {
    border: 1px solid #B42318;
    border-radius: var(--ap-action-radius);
    background: #fff;
    color: #B42318;
    font-weight: 600;
    cursor: pointer;
}

.ap-order-lock {
    margin: -6px 20px 18px;
    color: var(--ap-muted);
    font-size: 12px;
}

@media (max-width: 640px) {
    .ap-orders-main { padding: 28px 14px 54px; }
    .ap-orders-head h1 { font-size: 36px; }
    .ap-login-card { padding: 22px 18px; }
    .ap-order-summary { grid-template-columns: 1fr 1fr; }
    .ap-order-summary div:last-child { grid-column: 1 / -1; }
    .ap-order-details dl div { grid-template-columns: 1fr; gap: 2px; }
    .ap-order-actions { display: grid; }
    .ap-order-actions .ap-btn-primary,
    .ap-order-actions .ap-btn-secondary,
    .ap-order-actions .ap-btn-danger { width: 100%; }
    .ap-orders-account { display: block; }
    .ap-orders-account strong { display: block; margin-top: 3px; overflow-wrap: anywhere; }
}
body.single-urun #content.site-content,
body.post-type-archive-urun #content.site-content,
body.tax-urun_kategori #content.site-content,
body.page #content.site-content {
    padding: 0 !important;
    margin-top: 0 !important;
}
body.single-urun div#content,
body.post-type-archive-urun div#content,
body.tax-urun_kategori div#content,
body.page div#content {
    margin-top: 0 !important;
}
body.single-urun .asterthemes-wrapper,
body.post-type-archive-urun .asterthemes-wrapper,
body.tax-urun_kategori .asterthemes-wrapper,
body.page .asterthemes-wrapper {
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}
body.single-urun #primary,
body.single-urun #main,
body.single-urun .site-main,
body.single-urun #content,
body.single-urun #content.site-content,
body.single-urun .asterthemes-page,
body.single-urun .asterthemes-wrapper {
    padding: 0 !important;
    max-width: none !important;
    width: 100% !important;
    display: block !important;
    float: none !important;
}

/* ── Ürün Detay (single-urun) ── */
.ap-single-wrap   { max-width:1100px; margin:0 auto; padding:20px 24px 60px; width:100%; box-sizing:border-box; }
.ap-single-grid   { display:grid !important; grid-template-columns:1fr 1fr; gap:48px; align-items:start; width:100%; }

.ap-single-gallery { position:sticky; top:24px; }
.ap-main-img {
    width:100%; aspect-ratio:4/3; object-fit:cover;
    border-radius:var(--ap-radius); border:1px solid var(--ap-border);
    background:var(--ap-cream2);
}
.ap-main-img-placeholder {
    width:100%; aspect-ratio:4/3; border-radius:var(--ap-radius);
    background:var(--ap-cream2); border:1px solid var(--ap-border);
    display:flex; align-items:center; justify-content:center; font-size:80px; opacity:.35;
}
.ap-thumb-row { display:flex; gap:8px; margin-top:10px; overflow-x:auto; scrollbar-width:none; }
.ap-thumb-row::-webkit-scrollbar { display:none; }
.ap-thumb {
    width:72px; height:72px; flex-shrink:0; border-radius:10px; overflow:hidden;
    border:2px solid transparent; cursor:pointer; transition:border-color .2s;
}
.ap-thumb.aktif { border-color:var(--ap-terra); }
.ap-thumb img   { width:100%; height:100%; object-fit:cover; }

.ap-single-info { display:flex; flex-direction:column; gap:4px; }
.ap-single-info > * { margin-top:0 !important; margin-bottom:0 !important; }

.ap-single-kat   { font-size:12px; font-weight:500; color:var(--ap-terra); letter-spacing:.08em; text-transform:uppercase; margin:0 !important; padding:0 !important; }
.ap-single-title { font-family:'Cormorant Garamond',serif; font-size:32px; font-weight:600; color:var(--ap-brown); line-height:1.15; margin:0 !important; padding:0 !important; }
.ap-single-desc  { font-size:15px; font-weight:300; color:var(--ap-muted); line-height:1.7; margin:0 !important; padding:0 !important; }

.ap-form-section { background:rgba(255,255,255,.94); border:1px solid var(--ap-border); border-radius:var(--ap-radius); padding:22px; display:flex; flex-direction:column; gap:18px; margin-top:10px !important; }
.ap-form-row     { display:flex; flex-direction:column; gap:6px; }

.ap-eklendi-msg {
    display:flex; align-items:center; gap:8px; padding:12px 16px;
    background:#ECFDF5; border:1px solid #A7F3D0; border-radius:10px;
    font-size:14px; color:#065F46;
}

.ap-share-btn {
    display:inline-flex; align-items:center; gap:6px;
    background:none; border:1px solid var(--ap-border); cursor:pointer;
    min-height:44px; padding:8px 14px; border-radius:var(--ap-action-radius); font-size:13px; color:var(--ap-muted);
    font-family:'DM Sans',sans-serif; transition:background .2s;
}
.ap-share-btn:hover { background:var(--ap-cream2); }
.ap-price-note {
    display:flex; align-items:center; gap:7px;
    margin:0; color:var(--ap-muted); font-size:12px; font-weight:400;
}
.ap-price-note i { color:#168C49; font-size:15px; }
.ap-single-actions { display:flex; align-items:center; gap:12px; padding-top:2px; }
.ap-single-cart-link {
    display:inline-flex; align-items:center; min-height:44px;
    color:var(--ap-berry-dark); font-size:13px; font-weight:600; text-decoration:none;
}
.ap-single-cart-link:hover { color:var(--ap-brown); text-decoration:underline; text-underline-offset:3px; }

.ap-sepet-main {
    background-color:var(--ap-cream);
    background-image:radial-gradient(circle, #D4C9B4 1px, transparent 1px);
    background-size:18px 18px;
}
.ap-sepet-wrap  { max-width:1120px; margin:0 auto; padding:22px 24px 56px; }
.ap-sepet-head { margin-bottom:12px; max-width:720px; }
.ap-overline {
    margin:0 0 5px;
    color:var(--ap-terra);
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ap-sepet-title { font-family:'Cormorant Garamond',serif; font-size:34px; font-weight:600; color:var(--ap-brown); margin:0; }
.ap-sepet-title span { font-family:'DM Sans',sans-serif;font-size:15px;font-weight:400;color:var(--ap-muted); }
.ap-sepet-head p:last-child { margin:0; color:var(--ap-muted); font-size:15px; line-height:1.6; }

.ap-sepet-bos   { text-align:center; padding:60px 0; color:var(--ap-muted); }
.ap-sepet-bos svg { margin-bottom:16px; opacity:.4; }
.ap-sepet-bos p   { font-size:15px; font-weight:300; margin-bottom:20px; }

.ap-checkout-layout { display:flex; flex-direction:column; gap:18px; align-items:stretch; }
.ap-items-list  { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:0; max-height:230px; overflow:auto; padding-right:4px; }
.ap-items-list::-webkit-scrollbar { width:6px; }
.ap-items-list::-webkit-scrollbar-thumb { background:rgba(59,42,26,.18); border-radius:999px; }
.ap-sepet-item {
    background:var(--ap-white); border:1px solid var(--ap-border);
    border-radius:var(--ap-radius-sm); padding:12px 14px;
    display:flex; align-items:flex-start; gap:14px;
}
.ap-items-list > .ap-sepet-item:only-child,
.ap-items-list > .ap-sepet-item:first-of-type:last-of-type {
    grid-column:1 / -1;
    width:100%; max-width:780px; margin:0 auto;
}
.ap-item-icon   {
    width:54px; height:54px; font-size:18px; flex-shrink:0;
    border-radius:8px; overflow:hidden; background:var(--ap-cream2);
    display:flex; align-items:center; justify-content:center;
}
.ap-item-icon img { width:100%; height:100%; object-fit:cover; }
.ap-item-body   { flex:1; }
.ap-item-name   { font-size:15px; font-weight:600; color:var(--ap-brown); margin-bottom:4px; line-height:1.25; }
.ap-item-secim  { font-size:12px; font-weight:300; color:var(--ap-muted); line-height:1.45; max-height:36px; overflow:hidden; }
.ap-item-actions { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.ap-item-duzenle {
    display:inline-flex; align-items:center; justify-content:center;
    height:40px; padding:0 11px; border-radius:var(--ap-action-radius);
    border:1px solid var(--ap-border); background:var(--ap-cream);
    color:var(--ap-brown); font-size:12px; font-weight:600;
    text-decoration:none; cursor:pointer; font-family:'DM Sans',sans-serif;
}
.ap-item-duzenle:hover { background:var(--ap-terra); color:#fff; }
.ap-item-cikar  {
    width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
    background:none; border:none; cursor:pointer; color:var(--ap-muted); padding:0;
    border-radius:6px; flex-shrink:0; transition:color .2s,background .2s;
}
.ap-item-cikar:hover { color:#c0392b; background:#fef2f2; }

.ap-sepet-form  { width:100%; max-width:780px; margin:0 auto; background:var(--ap-white); border:1px solid var(--ap-border); border-radius:var(--ap-radius); padding:24px; display:flex; flex-direction:column; gap:20px; }
.ap-sepet-form h2 { font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;color:var(--ap-brown);margin:0;padding-bottom:12px;border-bottom:1px solid var(--ap-border); }
.ap-form-group  { display:flex; flex-direction:column; gap:7px; }
.ap-form-row2   { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ap-field-note { font-size:12px;color:var(--ap-muted);margin:0;font-weight:300;line-height:1.45; }

.ap-delivery-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ap-delivery-card {
    position:relative; display:flex; align-items:center; justify-content:center;
    min-height:52px;
    padding:12px 15px; border:1px solid var(--ap-border);
    border-radius:var(--ap-radius-sm); background:var(--ap-white); color:var(--ap-muted);
    cursor:pointer; transition:border-color var(--ap-transition), background var(--ap-transition), color var(--ap-transition);
}
.ap-delivery-card input { position:absolute; inline-size:1px; block-size:1px; opacity:0; }
.ap-delivery-card:focus-within { outline:3px solid rgba(196,114,74,.30); outline-offset:2px; }
.ap-delivery-card-title { color:var(--ap-brown);font-weight:700;font-size:14px; }
.ap-delivery-card span:not(.ap-delivery-card-title) { font-size:12px;line-height:1.45; }
.ap-delivery-card.aktif {
    border:2px solid var(--ap-terra);
    background:#FFF7F2;
}
.ap-pickup-box,
.ap-address-panel {
    display:flex; flex-direction:column; gap:12px;
    padding:16px; border:1px solid var(--ap-border);
    border-radius:var(--ap-radius-sm); background:#fffdf9;
}
.ap-map-frame {
    border-radius:12px; overflow:hidden; border:1px solid var(--ap-border);
    background:var(--ap-cream2); aspect-ratio:16/9;
}
.ap-map-frame iframe { display:block; width:100% !important; height:100% !important; min-height:230px; }
.ap-address-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ap-address-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ap-locked-input { background:var(--ap-cream2) !important;color:var(--ap-brown2) !important;cursor:not-allowed; }
.ap-label span { font-weight:300;color:var(--ap-muted); }

.ap-teslimat-info {
    background:#FFF8E7; border:1px solid #F0D080; border-radius:10px;
    padding:12px 16px; font-size:13px; color:#7A5C00; line-height:1.55;
}

/* Flatpickr override */
.flatpickr-calendar { font-family:'DM Sans',sans-serif !important; border-radius:14px !important; border:1px solid var(--ap-border) !important; box-shadow:var(--ap-shadow) !important; }
.flatpickr-day.selected, .flatpickr-day.selected:hover { background:var(--ap-terra) !important; border-color:var(--ap-terra) !important; }
.flatpickr-day:hover { background:var(--ap-cream2) !important; }
.flatpickr-day.today:not(.selected) {
    border-color:var(--ap-gold) !important;
    background:#FFF8E7 !important;
    color:var(--ap-brown) !important;
}
.flatpickr-day.today.flatpickr-disabled {
    color:#B39C7A !important;
    text-decoration:underline;
    text-underline-offset:3px;
}

.ap-kvkk-row    { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:var(--ap-muted); }
.ap-kvkk-row input[type=checkbox] { margin-top:2px; accent-color:var(--ap-terra); width:16px; height:16px; flex-shrink:0; cursor:pointer; }
.ap-kvkk-row a  { color:var(--ap-terra); }

.ap-hata { background:#FEF2F2; border:1px solid #FECACA; border-radius:10px; padding:12px 16px; font-size:14px; color:#991B1B; }

/* ── KVKK Modal ── */
.ap-modal-overlay {
    position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:9999;
    display:flex; align-items:center; justify-content:center; padding:20px;
    transform:none !important;
    transform-origin:center !important;
}
.ap-modal {
    background:#fff; border-radius:var(--ap-radius); padding:28px; max-width:480px; width:100%;
    max-height:80vh; overflow-y:auto;
}
.ap-modal h3 { font-family:'Cormorant Garamond',serif; font-size:22px; color:var(--ap-brown); margin-bottom:12px; }
.ap-modal p  { font-size:14px; font-weight:300; color:var(--ap-muted); line-height:1.7; }
.ap-modal-close {
    display:block; margin-top:20px; background:var(--ap-brown); color:#fff;
    border:none; border-radius:var(--ap-action-radius); padding:10px 18px; cursor:pointer;
    font-family:'DM Sans',sans-serif; font-size:14px;
}
.ap-edit-modal { max-width:560px; }
.ap-edit-product {
    margin:0 0 14px !important;
    color:var(--ap-muted) !important;
    font-size:14px !important;
}
.ap-edit-form {
    border:1px solid var(--ap-border);
    border-radius:var(--ap-radius);
    background:var(--ap-white);
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:16px;
}
.ap-edit-form .ap-counter { background:var(--ap-white); }
.ap-edit-form textarea.ap-input { min-height:74px; }
.ap-edit-extra-list {
    display:flex;
    flex-direction:column;
    gap:8px;
}
.ap-edit-extra-row {
    display:grid;
    grid-template-columns:1fr 1fr 34px;
    gap:8px;
    align-items:center;
}
.ap-edit-row-delete {
    width:30px; height:30px; border:none; border-radius:8px;
    background:#FEF2F2; color:#991B1B; cursor:pointer;
    font-size:18px; line-height:1;
}
.ap-edit-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:18px;
}

/* ── Başarı Ekranı ── */
.ap-basarili { text-align:center; padding:60px 20px; }
.ap-basarili-icon { font-size:64px; margin-bottom:16px; }
.ap-basarili h2 { font-family:'Cormorant Garamond',serif; font-size:28px; color:var(--ap-brown); margin-bottom:10px; }
.ap-basarili p  { font-size:15px; font-weight:300; color:var(--ap-muted); margin-bottom:24px; line-height:1.7; }
.ap-btn-wa {
    display:inline-flex; align-items:center; gap:8px;
    background:#1FAF5B; color:#fff; padding:13px 20px;
    border-radius:var(--ap-action-radius); font-size:14px; font-weight:700;
    letter-spacing:.015em; text-decoration:none; transition:background var(--ap-transition),transform var(--ap-transition);
}
.ap-btn-wa:hover { background:#168C49; color:#fff; }
.ap-btn-wa:active { transform:translateY(1px); }
.ap-btn-whatsapp-flow {
    background:#1FAF5B !important;
    color:#fff !important;
}
.ap-btn-whatsapp-flow:hover { background:#168C49 !important; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior:auto !important;
        transition-duration:0.01ms !important;
        animation-duration:0.01ms !important;
        animation-iteration-count:1 !important;
    }
}

/* ── Responsive ── */
@media (max-width:768px) {
    .ap-single-wrap  { padding:20px 12px 40px; }
    .ap-single-grid  { grid-template-columns:1fr; gap:24px; }
    .ap-single-title { font-size:26px; }
    .ap-single-gallery { position:static; }
    .ap-sepet-wrap   { padding:20px 12px 40px; }
    .ap-sepet-title  { font-size:29px; }
    .ap-checkout-layout { grid-template-columns:1fr; gap:16px; }
    .ap-items-list { grid-template-columns:1fr; max-height:250px; }
    .ap-form-row2    { grid-template-columns:1fr; }
    .ap-delivery-grid { grid-template-columns:1fr; }
    .ap-address-grid,
    .ap-address-grid-3 { grid-template-columns:1fr; }
    .ap-map-frame { aspect-ratio:4/3; }
    .ap-edit-extra-row { grid-template-columns:1fr; }
    .ap-edit-actions { grid-template-columns:1fr; }
}

/* Parent tema footer'ını tutarlı ve okunabilir hale getir. */
.site-footer {
    background:var(--ap-white) !important;
    margin-top:auto;
}
.site-footer .site-footer-bottom {
    background:var(--ap-white) !important;
    border-top:1px solid var(--ap-border);
    color:var(--ap-brown) !important;
    padding:18px 0 !important;
}
.site-footer .site-footer-bottom::before { display:none !important; }
.site-footer .site-info { text-align:center; width:100%; }
.ap-footer-social {
    display:flex; justify-content:center; align-items:center;
    gap:20px; margin-bottom:9px;
}
.ap-footer-social a {
    color:var(--ap-berry-dark) !important; font-size:18px;
    width:44px; height:44px; display:inline-flex;
    align-items:center; justify-content:center;
    border:1px solid rgba(164,58,89,.22); border-radius:var(--ap-action-radius); background:var(--ap-blush);
}
.ap-footer-social a:hover,
.ap-footer-social a:focus {
    color:var(--ap-white) !important;
    background:var(--ap-berry);
    border-color:var(--ap-berry);
}
.ap-footer-copy { font-size:13px; color:var(--ap-muted); font-weight:300; }

body.ap-menu-open { overflow:hidden; }
html, body { overflow-x:clip; }

.ap-page-main { width:100%; max-width:1200px; margin:0 auto; padding:34px 24px 60px; }
.ap-page-content { color:var(--ap-brown); font-size:15px; font-weight:300; line-height:1.8; }

/* İletişim ve galeri sayfaları */
.ap-contact { max-width:720px; margin:0 auto; }
.ap-contact h1,
.ap-page-gallery h1 {
    margin:0 0 10px;
    color:var(--ap-brown);
    font-family:'Cormorant Garamond',serif;
    font-size:34px;
    line-height:1.15;
}
.ap-contact > p,
.ap-page-gallery-head p { color:var(--ap-muted); margin:0 0 22px; }
.ap-contact-actions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.ap-contact-link {
    display:inline-flex; align-items:center; gap:8px;
    padding:12px 18px; border:1px solid var(--ap-border);
    border-radius:var(--ap-action-radius); background:var(--ap-white);
    color:var(--ap-brown); text-decoration:none; font-weight:500;
}
.ap-contact-link:hover { color:var(--ap-white); background:var(--ap-berry); border-color:var(--ap-berry); }
.ap-contact-address {
    padding:18px; border:1px solid var(--ap-border);
    border-radius:8px; background:var(--ap-white);
}
.ap-contact-address p { margin:6px 0 0; color:var(--ap-muted); }
.ap-contact-map-link {
    display:inline-flex; align-items:center; min-height:44px; margin-top:6px; font-weight:500;
    color:var(--ap-terra); text-decoration:none;
}
.ap-contact-map {
    margin-top:18px; overflow:hidden; border:1px solid var(--ap-border);
    border-radius:8px; background:var(--ap-white); aspect-ratio:16/8;
}
.ap-contact-map iframe { display:block; width:100%; height:100%; border:0; }
.ap-product-breadcrumb {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:4px;
    margin-bottom:16px;
    color:var(--ap-muted);
    font-size:13px;
    font-weight:300;
    line-height:1.5;
    overflow-wrap:anywhere;
}
.ap-product-breadcrumb a { color:var(--ap-terra); }
.ap-page-gallery { max-width:1100px; margin:0 auto; }
.ap-page-gallery-head { margin-bottom:22px; }
.ap-page-gallery-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.ap-page-gallery-item {
    position:relative; aspect-ratio:1/1; overflow:hidden;
    border-radius:8px; background:var(--ap-cream2);
    color:var(--ap-white); text-decoration:none;
}
.ap-page-gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.ap-page-gallery-item span {
    position:absolute; left:0; right:0; bottom:0;
    padding:28px 12px 11px;
    background:linear-gradient(transparent,rgba(0,0,0,.72));
    font-size:14px; font-weight:500;
}
.ap-page-gallery-item:hover img { transform:scale(1.04); }

@media (max-width:768px) {
    header.site-header .header-main-wrapper .top-header-part {
        min-height:0 !important;
        padding:0 !important;
    }
    header.site-header .header-main-wrapper .top-header-part .asterthemes-wrapper { padding:0 12px !important; }
    header.site-header .header-main-wrapper .top-header-part .bottom-topbar-part-wrapper {
        min-height:36px !important;
        padding:6px 0 !important;
        justify-content:center !important;
    }
    header.site-header .header-main-wrapper .top-header-part .header-phone-inner {
        margin:0 !important;
        width:auto !important;
    }
    header.site-header .header-main-wrapper .top-header-part .header-phone-inner p {
        margin:0 !important;
        font-size:13px !important;
    }

    header.site-header .header-main-wrapper .bottom-header-outer-wrapper,
    header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part {
        min-height:0 !important;
        height:auto !important;
    }
    header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part {
        padding:8px 0 !important;
    }
    header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .asterthemes-wrapper {
        padding:0 12px !important;
    }
    body header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .asterthemes-wrapper .bottom-header-part-wrapper {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 42px 90px;
        align-items:center !important;
        gap:6px !important;
        min-height:58px !important;
        height:auto !important;
        padding:0 !important;
    }
    body header.site-header .bottom-header-part-wrapper .bottom-header-middle-part,
    body header.site-header .bottom-header-part-wrapper .bottom-header-left-part,
    body header.site-header .bottom-header-part-wrapper .bottom-header-right-part,
    body header.site-header .bottom-header-part-wrapper .site-branding,
    body header.site-header .bottom-header-part-wrapper .site-logo {
        width:auto !important;
        height:auto !important;
        margin:0 !important;
        padding:0 !important;
    }
    body header.site-header .bottom-header-part-wrapper .bottom-header-middle-part { grid-column:1; grid-row:1; min-width:0; }
    body header.site-header .bottom-header-part-wrapper .bottom-header-left-part { grid-column:2; grid-row:1; }
    body header.site-header .bottom-header-part-wrapper .bottom-header-right-part {
        grid-column:3; grid-row:1;
        width:90px !important;
        min-height:42px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:6px !important;
    }
    body header.site-header .bottom-header-part-wrapper .bottom-header-right-part .ap-header-account,
    body header.site-header .bottom-header-part-wrapper .bottom-header-right-part .ap-header-sepet {
        width:42px !important;
        height:42px !important;
        flex:0 0 42px !important;
        font-size:18px !important;
    }
    .site-logo img {
        display:block;
        width:auto !important;
        height:54px !important;
        max-width:150px !important;
        object-fit:contain;
        margin:0 !important;
    }
    #site-navigation button.menu-toggle {
        display:flex;
        align-items:center;
        justify-content:center;
        width:44px;
        height:44px;
        position:relative !important;
        inset:auto !important;
        margin:0 !important;
    }
    #site-navigation .main-navigation-links {
        right:0 !important;
        left:auto !important;
        transform:translateX(110%);
        visibility:hidden;
        pointer-events:none;
        transition:transform .25s ease, visibility .25s ease !important;
        background:var(--ap-white) !important;
        border-left:1px solid var(--ap-border) !important;
        box-shadow:-8px 0 24px rgba(59,42,26,.16) !important;
    }
    #site-navigation .main-navigation-links a {
        color:var(--ap-brown) !important;
        border-radius:0 !important;
    }
    #site-navigation .main-navigation-links a:hover,
    #site-navigation .main-navigation-links a:focus-visible,
    #site-navigation .main-navigation-links .current-menu-item > a,
    #site-navigation .main-navigation-links .current_page_item > a {
        color:var(--ap-berry-dark) !important;
        background:var(--ap-blush) !important;
    }
    #site-navigation.toggled .main-navigation-links {
        transform:translateX(0);
        visibility:visible;
        pointer-events:auto;
    }
    #site-navigation button.menu-toggle.open {
        position:fixed !important;
        top:18px !important;
        right:24px !important;
    }
    #site-navigation button.menu-toggle.open span {
        background-color:var(--ap-berry) !important;
    }

    .ap-page-main { padding:24px 12px 42px; }
    .ap-contact h1,
    .ap-page-gallery h1 { font-size:28px; }
    .ap-page-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
}
