/* Erzurum Sineklik — görsel iyileştirmeler (tema dosyalarının üzerine yüklenir) */

:root {
    --es-primary: #1677ff;
    --es-primary-dark: #0a56bd;
    --es-primary-soft: #eef5ff;
    --es-ink: #101114;
    --es-text: #22252a;
    --es-muted: #69717d;
    --es-line: #e2e7ee;
    --es-surface: #f7f9fc;
    --es-radius: 16px;
    --es-shadow: 0 1px 2px rgba(16, 17, 20, .04), 0 8px 24px rgba(16, 17, 20, .06);
    --es-shadow-hover: 0 2px 4px rgba(16, 17, 20, .05), 0 18px 40px rgba(16, 17, 20, .10);
}

/* Kapalı sepet çekmecesinin gölgesi sayfanın sağ kenarına taşmasın */
.ajax-cart:not(.is-open) .ajax-cart-panel {
    box-shadow: none;
    visibility: hidden;
    transition: transform .3s cubic-bezier(.22, .8, .3, 1), visibility 0s linear .3s;
}

.erd-mobile-menu:not(.is-open) .erd-mobile-menu-panel {
    box-shadow: none;
    visibility: hidden;
    transition: transform .3s cubic-bezier(.2, .9, .32, 1.1), visibility 0s linear .3s;
}

/* ---------- Ürün kartı ---------- */
body.erd-body .erd-product-card {
    background: #fff;
    border: 1px solid var(--es-line);
    border-radius: var(--es-radius);
    box-shadow: none;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}

body.erd-body .erd-product-card[hidden] {
    display: none !important;
}

body.erd-body .erd-product-card:hover {
    border-color: #cfd8e4;
    box-shadow: var(--es-shadow-hover);
    transform: translateY(-3px);
}

body.erd-body .erd-product-image {
    align-items: center;
    aspect-ratio: 1 / 1;
    background: #fff;
    border-bottom: 1px solid var(--es-line);
    display: flex;
    justify-content: center;
    padding: 18px;
}

body.erd-body .erd-product-image img {
    height: 100%;
    object-fit: contain;
    transition: transform .35s ease;
    width: 100%;
}

body.erd-body .erd-product-card:hover .erd-product-image img {
    transform: scale(1.03);
}

body.erd-body .erd-product-image img.is-placeholder {
    height: 40%;
    opacity: .35;
}

body.erd-body .erd-product-badge {
    background: var(--es-ink);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    left: 14px;
    letter-spacing: .02em;
    padding: 5px 10px;
    top: 14px;
}

body.erd-body .erd-product-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 6px;
    padding: 16px 18px 18px;
}

body.erd-body .erd-product-card-meta {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

body.erd-body .erd-product-meta {
    color: var(--es-muted);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.erd-body .erd-product-mode {
    align-items: center;
    background: var(--es-primary-soft);
    border-radius: 999px;
    color: var(--es-primary-dark);
    display: inline-flex;
    font-size: 11px;
    font-weight: 600;
    gap: 4px;
    padding: 3px 9px;
}

body.erd-body .erd-product-mode.is-ready {
    background: #f1f3f6;
    color: #48505b;
}

body.erd-body .erd-product-name,
body.erd-body .erd-product-name a {
    color: var(--es-ink);
    font-family: Outfit, system-ui, sans-serif !important;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    margin: 2px 0 0;
}

body.erd-body .erd-product-name a:hover {
    color: var(--es-primary) !important;
}

body.erd-body .erd-product-desc {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: var(--es-muted);
    display: -webkit-box;
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    overflow: hidden;
}

body.erd-body .erd-listing-card-bottom {
    align-items: flex-end;
    border-top: 1px dashed var(--es-line);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 14px;
}

body.erd-body .erd-listing-price {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

body.erd-body .erd-listing-price del {
    color: #98a1ad;
    font-size: 13px;
}

body.erd-body .erd-listing-price strong {
    color: var(--es-ink);
    font-size: 20px;
    font-weight: 800;
}

body.erd-body .erd-listing-price small {
    color: var(--es-muted);
    font-size: 12px;
    margin-top: 2px;
}

body.erd-body .erd-card-buy .erd-btn,
body.erd-body .erd-listing-card-bottom .erd-btn {
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 18px;
    white-space: nowrap;
}

.erd-favorite-form {
    position: absolute;
    right: 12px;
    top: 12px;
    z-index: 2;
}

.erd-favorite-form button,
.erd-favorite-form span {
    align-items: center;
    background: rgba(255, 255, 255, .92);
    border: 1px solid var(--es-line);
    border-radius: 50%;
    color: #5d6873;
    display: flex;
    font-size: 1.15rem;
    height: 36px;
    justify-content: center;
    transition: color .2s ease, border-color .2s ease;
    width: 36px;
}

.erd-favorite-form button:hover,
.erd-favorite-form span:hover {
    border-color: var(--es-primary);
    color: var(--es-primary);
}

/* ---------- Ana sayfa: ürünler ve sekmeler ---------- */
.erd-home-products,
.erd-home-steps {
    padding: 72px 0;
}

.erd-home-products {
    background: var(--es-surface);
}

.erd-home-steps {
    background: #fff;
}

.erd-home-products-head {
    align-items: flex-end;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 24px;
}

.erd-eyebrow {
    color: var(--es-primary);
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

body.erd-body .erd-home-products-head h2 {
    color: var(--es-ink);
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 800;
    letter-spacing: -.02em;
    margin: 0 0 8px;
}

.erd-home-products-head p {
    color: var(--es-muted);
    font-size: 16px;
    margin: 0;
}

.erd-home-tabs {
    display: flex;
    gap: 8px;
    margin: 0 0 28px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
}

.erd-home-tabs::-webkit-scrollbar {
    display: none;
}

.erd-home-tabs button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--es-line);
    border-radius: 999px;
    color: var(--es-text);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 600;
    gap: 8px;
    padding: 9px 16px;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.erd-home-tabs button small {
    background: #f1f3f6;
    border-radius: 999px;
    color: var(--es-muted);
    font-size: 12px;
    padding: 1px 8px;
}

.erd-home-tabs button:hover {
    border-color: var(--es-primary);
    color: var(--es-primary);
}

.erd-home-tabs button.is-active {
    background: var(--es-ink);
    border-color: var(--es-ink);
    color: #fff;
}

.erd-home-tabs button.is-active small {
    background: rgba(255, 255, 255, .16);
    color: #fff;
}

body.erd-body .erd-home-products .erd-product-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.erd-steps-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.erd-steps-grid li {
    background: var(--es-surface);
    border: 1px solid var(--es-line);
    border-radius: var(--es-radius);
    display: flex;
    gap: 16px;
    padding: 24px;
}

.erd-steps-grid li > span {
    align-items: center;
    background: var(--es-primary);
    border-radius: 12px;
    color: #fff;
    display: flex;
    flex: 0 0 40px;
    font-size: 18px;
    font-weight: 800;
    height: 40px;
    justify-content: center;
}

.erd-steps-grid b {
    color: var(--es-ink);
    display: block;
    font-size: 17px;
    margin-bottom: 4px;
}

.erd-steps-grid p {
    color: var(--es-muted);
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

/* ---------- Güven kartları ve kategori şeridi ---------- */
body.erd-body .erd-trust-card {
    border-radius: var(--es-radius);
}

body.erd-body .erd-cat-strip-item {
    border-radius: var(--es-radius);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.erd-body .erd-cat-strip-item:hover {
    border-color: var(--es-primary);
    box-shadow: var(--es-shadow);
    transform: translateY(-2px);
}

/* ---------- Sayfa başlıkları ---------- */
body.erd-body .commerce-head h1 {
    font-size: clamp(32px, 4vw, 44px);
    letter-spacing: -.02em;
}

body.erd-body .commerce-items:has(> .commerce-empty:only-child) {
    grid-column: 1 / -1;
}

body.erd-body .commerce-empty {
    border-radius: var(--es-radius);
    margin-inline: auto;
    max-width: 640px;
}

/* ---------- Sepet ve ödeme: okunabilir yazı boyutları ---------- */
body.erd-body .commerce-item-info > small {
    font-size: 12px;
}

body.erd-body .commerce-item-info span,
body.erd-body .commerce-qty label {
    font-size: 13px;
}

body.erd-body .commerce-summary dt,
body.erd-body .commerce-summary dd {
    font-size: 14px;
}

body.erd-body .commerce-summary .is-total dt,
body.erd-body .commerce-summary .is-total dd {
    font-size: 18px;
}

body.erd-body .commerce-summary > small,
body.erd-body .commerce-safe {
    font-size: 13px;
}

body.erd-body .commerce-coupon {
    display: flex;
    gap: 8px;
    margin: 0 0 16px;
}

body.erd-body .commerce-coupon input {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    color: #fff;
    flex: 1;
    font-size: 14px;
    min-width: 0;
    padding: 10px 12px;
    text-transform: uppercase;
}

body.erd-body .commerce-coupon input::placeholder {
    color: rgba(255, 255, 255, .5);
    text-transform: none;
}

body.erd-body .commerce-coupon button {
    background: #fff;
    border: 0;
    border-radius: 10px;
    color: var(--es-ink);
    font-size: 14px;
    font-weight: 600;
    padding: 0 16px;
}

body.erd-body .checkout-card-head small {
    font-size: 11px;
}

body.erd-body .checkout-fields label,
body.erd-body .auth-new-card label {
    font-size: 13px;
}

body.erd-body .checkout-fields input,
body.erd-body .checkout-fields textarea,
body.erd-body .auth-new-card input {
    border-radius: 10px;
    font-size: 15px;
}

body.erd-body .checkout-error {
    border-radius: 10px;
    font-size: 14px;
}

body.erd-body .payment-methods b {
    font-size: 15px;
}

body.erd-body .payment-methods small {
    font-size: 13px;
}

body.erd-body .payment-methods em {
    border-radius: 999px;
    font-size: 11px;
}

body.erd-body .checkout-mini b,
body.erd-body .checkout-mini strong {
    font-size: 13px;
}

body.erd-body .checkout-mini small {
    font-size: 12px;
}

body.erd-body .result-card > small {
    font-size: 12px;
}

body.erd-body .paytr-head p,
body.erd-body .paytr-head small,
body.erd-body .tracking-hero label,
body.erd-body .tracking-timeline b,
body.erd-body .tracking-products p {
    font-size: 13px;
}

body.erd-body .tracking-timeline span,
body.erd-body .tracking-shipment a {
    font-size: 12px;
}

body.erd-body .tracking-hero input {
    border-radius: 10px;
}

/* ---------- Bildirim ---------- */
.erd-toast {
    align-items: center;
    background: var(--es-ink);
    border-radius: 14px;
    bottom: 24px;
    box-shadow: 0 18px 40px rgba(16, 17, 20, .25);
    color: #fff;
    display: flex;
    font-size: 15px;
    gap: 12px;
    left: 50%;
    max-width: calc(100vw - 32px);
    padding: 14px 16px 14px 18px;
    position: fixed;
    transform: translateX(-50%);
    transition: opacity .3s ease, transform .3s ease;
    width: max-content;
    z-index: 1300;
}

.erd-toast .erd-svg-icon {
    color: #5ee0a0;
}

.erd-toast.is-error .erd-svg-icon {
    color: #ff8a8a;
}

.erd-toast button {
    background: transparent;
    border: 0;
    color: rgba(255, 255, 255, .7);
    font-size: 22px;
    line-height: 1;
    padding: 0 0 0 6px;
}

.erd-toast.is-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 12px);
}

/* ---------- Duyarlı düzen ---------- */
@media (max-width: 1199.98px) {
    body.erd-body .erd-home-products .erd-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    body.erd-body .erd-home-products .erd-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .erd-steps-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .erd-home-products,
    .erd-home-steps {
        padding: 44px 0;
    }

    .erd-home-products-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    body.erd-body .erd-hero-search {
        display: none;
    }

    body.erd-body .erd-hero-banner {
        height: 320px;
    }

    body.erd-body .erd-hero-banner-content h1 {
        font-size: 1.6rem !important;
        line-height: 1.2;
    }

    body.erd-body .erd-trust-grid {
        gap: 10px;
    }

    body.erd-body .erd-trust-card {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        padding: 14px;
    }

    body.erd-body .erd-trust-ico {
        height: 38px;
        width: 38px;
    }

    body.erd-body .erd-trust-ico .erd-svg-icon {
        height: 20px;
        width: 20px;
    }

    body.erd-body .erd-trust-card b {
        font-size: 14px;
        line-height: 1.25;
    }

    body.erd-body .erd-trust-card span {
        font-size: 12.5px;
        line-height: 1.4;
    }

    body.erd-body .erd-product-badge {
        font-size: 10px;
        left: 8px;
        padding: 4px 8px;
        top: 8px;
    }

    .erd-favorite-form {
        right: 8px;
        top: 8px;
    }

    .erd-favorite-form button,
    .erd-favorite-form span {
        height: 32px;
        width: 32px;
    }

    body.erd-body .erd-home-products .erd-product-grid {
        gap: 12px;
    }

    body.erd-body .erd-product-image {
        padding: 10px;
    }

    body.erd-body .erd-product-body {
        padding: 12px;
    }

    body.erd-body .erd-product-mode,
    body.erd-body .erd-product-desc {
        display: none;
    }

    body.erd-body .erd-product-name,
    body.erd-body .erd-product-name a {
        font-size: 15px;
    }

    body.erd-body .erd-listing-card-bottom {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    body.erd-body .erd-listing-price strong {
        font-size: 17px;
    }

    body.erd-body .erd-listing-card-bottom .erd-btn,
    body.erd-body .erd-listing-card-bottom form {
        justify-content: center;
        width: 100%;
    }

    .erd-toast {
        bottom: 96px;
    }
}

/* ---------- Okunabilirlik alt sınırı (tema genelindeki 8–11px yazılar) ---------- */
body.erd-body :is(.corporate-kicker, .measure-kicker, .measure-section-head span, .erd-pd-block-head small, .measure-type-top small, .contact-cards small, .checkout-card-head small, .about-story-visual span, .erd-product-meta, .erd-pd-badge, .erd-pd-cat-pill, .erd-pd-stock) {
    font-size: 12px !important;
}

body.erd-body :is(.checkout-summary-safe small, .checkout-summary-safe b, .checkout-shipping-info small, .checkout-shipping-info b, .checkout-progress b, .checkout-legal-consent span, .checkout-legal-consent a, .erd-pd-whatsapp small, .auth-pro-input button, .measure-visual-note small, .erd-review-form small, .checkout-fields small, .checkout-delivery-note small, .checkout-delivery-note b, .checkout-security-row span, .commerce-summary a, .auth-pro-help, .auth-pro-help a, .contact-location dt, .contact-map-label small, .measure-warning-card small, .erd-pd-rating small, .erd-pd-rating span, .erd-pd-rating b, .erd-pd-rating a, .auth-pro-check span, .auth-pro-check a, .erd-pd-price span, .erd-pd-price small, .erd-pd-measure-grid small, .erd-pd-measure-grid em, .erd-pd-measure p, .erd-pd-benefits small, .contact-cards em, .legal-company small, .erd-filter-price span, .cargo-form span, .contact-map em, .erd-listing-price small) {
    font-size: 13px !important;
}

body.erd-body :is(.erd-review-form label, .checkout-fields span, .checkout-fields label, .auth-pro-form span, .auth-pro-tabs button, .measure-mistakes span, .erd-cat-strip-name, .erd-pd-block-head a, .auth-pro-form-wrap p, .contact-help-grid a, .erd-pd-measure-grid b, .erd-pd-colors span, .erd-pd-add label, .erd-pd-whatsapp b, .contact-location dd, .measure-visual-note b, .measure-type-grid li, .legal-nav a, .legal-company dt, .contact-request-form label, .erd-review p, .erd-filter-block label.erd-stock-check) {
    font-size: 14px !important;
}

body.erd-body .erd-pd-rating a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Dokunma alanları: onay kutusu ve radyo düğmeleri */
body.erd-body input[type="checkbox"],
body.erd-body input[type="radio"]:not(.erd-pd-colors input):not(.payment-methods input) {
    accent-color: var(--es-primary);
    height: 20px;
    width: 20px;
}

body.erd-body .erd-cat-section-all {
    padding: 10px 0;
}

body.erd-body .contact-map {
    overflow: hidden;
}

/* ---------- SSS ---------- */
.erd-faq-section {
    background: var(--es-surface);
    padding: 56px 0 80px;
}

.erd-faq-grid {
    align-items: start;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(0, 1fr) 360px;
}

.erd-faq-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.erd-faq-item {
    background: #fff;
    border: 1px solid var(--es-line);
    border-radius: 14px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.erd-faq-item[open] {
    border-color: #cfd8e4;
    box-shadow: var(--es-shadow);
}

.erd-faq-item summary {
    align-items: center;
    color: var(--es-ink);
    cursor: pointer;
    display: flex;
    font-size: 17px;
    font-weight: 600;
    gap: 16px;
    justify-content: space-between;
    list-style: none;
    min-height: 56px;
    padding: 16px 20px;
}

.erd-faq-item summary::-webkit-details-marker {
    display: none;
}

.erd-faq-item summary .erd-svg-icon {
    color: var(--es-muted);
    flex: 0 0 auto;
    transition: transform .2s ease;
}

.erd-faq-item[open] summary .erd-svg-icon {
    color: var(--es-primary);
    transform: rotate(180deg);
}

.erd-faq-item p {
    color: var(--es-text);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
    padding: 0 20px 20px;
}

.erd-faq-help {
    background: #fff;
    border: 1px solid var(--es-line);
    border-radius: var(--es-radius);
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
    position: sticky;
    top: 16px;
}

body.erd-body .erd-faq-help h2 {
    font-size: 24px;
    margin: 0;
}

.erd-faq-help p {
    color: var(--es-muted);
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 4px;
}

body.erd-body .erd-faq-help .erd-btn {
    border-radius: 12px;
    justify-content: center;
    width: 100%;
}

body.erd-body .erd-faq-help .erd-btn-primary {
    color: #fff !important;
}

.erd-faq-link {
    align-items: center;
    color: var(--es-primary) !important;
    display: inline-flex;
    font-weight: 600;
    gap: 6px;
    padding: 8px 0;
}

/* ---------- Bülten ---------- */
.erd-footer-newsletter {
    margin-top: 20px;
    max-width: 360px;
}

.erd-footer-newsletter label {
    color: #c8ced8;
    display: block;
    font-size: 14px;
    margin-bottom: 8px;
}

.erd-footer-newsletter div {
    display: flex;
    gap: 8px;
}

.erd-footer-newsletter input {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 10px;
    color: #fff;
    flex: 1;
    font-size: 15px;
    min-width: 0;
    padding: 11px 12px;
}

.erd-footer-newsletter input::placeholder {
    color: rgba(255, 255, 255, .45);
}

.erd-footer-newsletter button {
    background: var(--es-primary);
    border: 0;
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    padding: 0 16px;
    white-space: nowrap;
}

/* ---------- AJAX durumları ---------- */
.erd-field-error {
    color: #c62828;
    display: block;
    font-size: 13px;
    margin: -8px 0 12px;
}

body.erd-body .is-invalid {
    border-color: #e5484d !important;
    box-shadow: 0 0 0 3px rgba(229, 72, 77, .12) !important;
}

form.is-busy button[type="submit"],
form.is-busy button:not([type]) {
    cursor: progress;
    opacity: .65;
}

#main {
    transition: opacity .2s ease;
}

#main.is-loading {
    opacity: .5;
    pointer-events: none;
}

.erd-favorite-form.is-active button {
    border-color: #ffd3d6;
    color: #e5484d;
}

.erd-toast-dot {
    background: #5ee0a0;
    border-radius: 50%;
    flex: 0 0 10px;
    height: 10px;
    width: 10px;
}

.erd-toast.is-error .erd-toast-dot {
    background: #ff8a8a;
}

@media (max-width: 991.98px) {
    .erd-faq-grid {
        grid-template-columns: 1fr;
    }

    .erd-faq-help {
        position: static;
    }
}

@media (max-width: 767.98px) {
    /* iOS, 16px altındaki alanlara dokununca sayfayı yakınlaştırır */
    body.erd-body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    body.erd-body select,
    body.erd-body textarea {
        font-size: 16px !important;
    }

    .erd-faq-section {
        padding: 32px 0 56px;
    }

    .erd-faq-item summary {
        font-size: 16px;
        padding: 14px 16px;
    }

    .erd-faq-item p {
        padding: 0 16px 16px;
    }

    .erd-footer-newsletter {
        max-width: none;
    }

    body.erd-body .erd-footer {
        padding-bottom: 96px;
    }
}

/* ---------- Genel alt sınır ve footer düzeltmeleri ---------- */
body.erd-body #main small {
    font-size: max(12px, .8em);
}

body.erd-body :is(.legal-footer-links span, .legal-footer-links a, .contact-bottom p) {
    font-size: 13px !important;
}

body.erd-body .contact-bottom small {
    font-size: 12px !important;
}

body.erd-body .legal-footer-links a {
    display: inline-block;
    padding: 6px 0;
}

body.erd-body .erd-footer-grid > * {
    min-width: 0;
}

@media (max-width: 767.98px) {
    body.erd-body .erd-footer-brand {
        grid-column: 1 / -1;
    }

    body.erd-body .legal-footer-links {
        padding-bottom: calc(88px + env(safe-area-inset-bottom));
    }

    body.erd-body .erd-footer {
        padding-bottom: 0;
    }
}

body.erd-body .erd-footer-newsletter div,
body.erd-body .erd-footer-newsletter input {
    width: 100%;
}

body.erd-body .erd-footer-newsletter button {
    flex: 0 0 auto;
}

@media (max-width: 575.98px) {
    body.erd-body .commerce-item {
        gap: 10px 14px;
        grid-template-columns: 84px minmax(0, 1fr) auto;
        position: relative;
    }

    body.erd-body .commerce-item > a img {
        height: 84px;
        width: 84px;
    }

    body.erd-body .commerce-item-info {
        grid-column: 2 / 4;
        padding-right: 36px;
    }

    body.erd-body .commerce-qty {
        grid-column: 2 / 3;
    }

    body.erd-body .commerce-qty input {
        width: 88px;
    }

    body.erd-body .commerce-item > form:last-child {
        position: absolute;
        right: 10px;
        top: 10px;
    }
}

@media (max-width: 991.98px) {
    body.erd-body .commerce-grid,
    body.erd-body .checkout-new-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ---------- Genel cila: başlıklar, köşeler, form alanları ---------- */
body.erd-body #main :is(h1, h2) {
    letter-spacing: -.025em !important;
}

body.erd-body :is(.contact-help-grid article, .contact-cards a, .contact-location, .contact-map, .measure-step-grid > *, .measure-type-grid > *, .about-values-grid > *, .legal-company, .tracking-card, .checkout-card, .commerce-item, .commerce-empty, .result-card, .paytr-page > .container, .auth-new-card) {
    border-radius: var(--es-radius) !important;
}

body.erd-body :is(.contact-help-grid article > span, .contact-cards span) {
    border-radius: 12px;
}

body.erd-body :is(.contact-request-form, .checkout-fields, .cargo-form, .tracking-hero form, .es-address-form, .erd-review-form) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    background: #fff;
    border: 1px solid #d6dde6;
    border-radius: 10px;
    color: var(--es-ink);
    font-size: 15px;
    min-height: 46px;
    padding: 11px 14px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

body.erd-body :is(.contact-request-form, .checkout-fields, .cargo-form, .tracking-hero form, .es-address-form, .erd-review-form) :is(input, select, textarea):focus {
    border-color: var(--es-primary);
    box-shadow: 0 0 0 4px rgba(22, 119, 255, .12);
    outline: none;
}

body.erd-body :is(.contact-request-form, .es-address-form, .erd-review-form) select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2369717d' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-position: right 14px center;
    background-repeat: no-repeat;
    padding-right: 40px;
}

body.erd-body .contact-request-form {
    border-radius: var(--es-radius);
}

body.erd-body :focus-visible {
    outline: 3px solid rgba(22, 119, 255, .45);
    outline-offset: 2px;
}

/* ---------- Hesabım ---------- */
.es-account {
    background: var(--es-surface);
    padding: 40px 0 80px;
}

.es-account-grid {
    align-items: start;
    display: grid;
    gap: 28px;
    grid-template-columns: 280px minmax(0, 1fr);
}

.es-account-nav {
    background: #fff;
    border: 1px solid var(--es-line);
    border-radius: var(--es-radius);
    padding: 20px;
    position: sticky;
    top: 16px;
}

.es-account-profile {
    align-items: center;
    border-bottom: 1px solid var(--es-line);
    display: flex;
    gap: 12px;
    margin-bottom: 12px;
    padding-bottom: 16px;
}

.es-account-profile div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.es-account-profile b {
    color: var(--es-ink);
    font-size: 16px;
}

.es-account-profile small {
    color: var(--es-muted);
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.es-account-avatar {
    align-items: center;
    background: var(--es-primary);
    border-radius: 50%;
    color: #fff;
    display: flex;
    flex: 0 0 46px;
    font-size: 19px;
    font-weight: 800;
    height: 46px;
    justify-content: center;
}

.es-account-nav nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.es-account-nav nav a,
.es-account-nav form button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 10px;
    color: var(--es-text) !important;
    display: flex;
    font-size: 15px;
    font-weight: 600;
    gap: 10px;
    min-height: 44px;
    padding: 0 12px;
    text-align: left;
    width: 100%;
}

.es-account-nav nav a:hover,
.es-account-nav nav a.is-active {
    background: var(--es-primary-soft);
    color: var(--es-primary-dark) !important;
}

.es-account-nav form {
    border-top: 1px solid var(--es-line);
    margin-top: 12px;
    padding-top: 12px;
}

.es-account-nav form button {
    color: #c62828 !important;
}

.es-account-nav form button:hover {
    background: #fff1f1;
}

.es-account-stats {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 28px;
}

.es-account-stats > * {
    background: #fff;
    border: 1px solid var(--es-line);
    border-radius: var(--es-radius);
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 18px 20px;
}

.es-account-stats span {
    color: var(--es-muted);
    font-size: 14px;
}

.es-account-stats b {
    color: var(--es-ink);
    font-size: 28px;
    font-weight: 800;
    line-height: 1.1;
}

.es-account-stats a:hover {
    border-color: var(--es-primary);
}

.es-account-section {
    margin-bottom: 36px;
    scroll-margin-top: 20px;
}

body.erd-body .es-account-section > header h2 {
    font-size: 22px;
    margin: 0 0 14px;
}

.es-order {
    background: #fff;
    border: 1px solid var(--es-line);
    border-radius: var(--es-radius);
    margin-bottom: 14px;
    overflow: hidden;
}

.es-order > header {
    align-items: center;
    background: #fafbfd;
    border-bottom: 1px solid var(--es-line);
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    padding: 14px 20px;
}

.es-order > header div {
    display: flex;
    flex-direction: column;
}

.es-order > header small {
    color: var(--es-muted);
    font-size: 12px;
}

.es-order > header b,
.es-order > header span:not(.es-status) {
    color: var(--es-ink);
    font-size: 15px;
}

.es-status {
    background: var(--es-primary-soft);
    border-radius: 999px;
    color: var(--es-primary-dark);
    font-size: 13px;
    font-weight: 600;
    padding: 5px 12px;
    white-space: nowrap;
}

.es-status.is-shipped { background: #fff4e0; color: #9a5b00; }
.es-status.is-production { background: #f1ecff; color: #5b3cc4; }
.es-status.is-completed { background: #e7f7ee; color: #1b7a44; }
.es-status.is-cancelled { background: #fdecec; color: #b42318; }

.es-order ul {
    list-style: none;
    margin: 0;
    padding: 8px 20px;
}

.es-order li {
    align-items: baseline;
    border-bottom: 1px dashed var(--es-line);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 10px 0;
}

.es-order li:last-child {
    border-bottom: 0;
}

.es-order li span {
    color: var(--es-ink);
    font-size: 15px;
    font-weight: 600;
}

.es-order li small {
    color: var(--es-muted);
    font-size: 13px;
    text-align: right;
}

.es-order > footer {
    align-items: center;
    border-top: 1px solid var(--es-line);
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    padding: 12px 20px;
}

.es-order > footer span {
    align-items: center;
    color: var(--es-muted);
    display: inline-flex;
    font-size: 13px;
    gap: 6px;
}

.es-order > footer a {
    align-items: center;
    color: var(--es-primary) !important;
    display: inline-flex;
    font-size: 14px;
    font-weight: 600;
    gap: 6px;
    margin-left: auto;
    min-height: 36px;
}

.es-address-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.es-address {
    background: #fff;
    border: 1px solid var(--es-line);
    border-radius: var(--es-radius);
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px 20px;
    position: relative;
}

.es-address-head {
    align-items: center;
    display: flex;
    gap: 8px;
}

.es-address-head b {
    color: var(--es-ink);
    font-size: 16px;
}

.es-address-head span {
    background: var(--es-primary-soft);
    border-radius: 999px;
    color: var(--es-primary-dark);
    font-size: 12px;
    font-weight: 600;
    padding: 2px 10px;
}

.es-address p {
    color: var(--es-text);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.es-address > small {
    align-items: center;
    color: var(--es-muted);
    display: inline-flex;
    font-size: 13px;
    gap: 6px;
}

.es-address form {
    position: absolute;
    right: 14px;
    top: 14px;
}

.es-address form button {
    background: transparent;
    border: 1px solid var(--es-line);
    border-radius: 8px;
    color: #b42318;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 12px;
}

.es-address form button:hover {
    background: #fdecec;
    border-color: #f5c2c0;
}

.es-address-new {
    border-style: dashed;
    grid-column: 1 / -1;
    padding: 0;
}

.es-address-new summary {
    align-items: center;
    color: var(--es-primary-dark);
    cursor: pointer;
    display: flex;
    font-size: 15px;
    font-weight: 600;
    gap: 12px;
    list-style: none;
    padding: 16px 20px;
}

.es-address-new summary::-webkit-details-marker {
    display: none;
}

.es-address-new summary span {
    align-items: center;
    background: var(--es-primary-soft);
    border-radius: 10px;
    display: flex;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.es-address-new[open] {
    border-style: solid;
}

.es-address-form {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0 20px 20px;
}

.es-address-form label {
    color: var(--es-text);
    display: flex;
    flex-direction: column;
    font-size: 14px;
    font-weight: 600;
    gap: 6px;
}

.es-address-form .is-wide {
    grid-column: 1 / -1;
}

.es-address-form textarea {
    min-height: 90px;
}

.es-address-form .is-check {
    align-items: center;
    flex-direction: row;
    font-weight: 500;
    grid-column: 1 / -1;
}

body.erd-body .es-address-form .erd-btn {
    border-radius: 10px;
    color: #fff !important;
    justify-self: start;
}

.es-empty {
    align-items: center;
    background: #fff;
    border: 1px dashed #cfd8e4;
    border-radius: var(--es-radius);
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 48px 24px;
    text-align: center;
}

.es-empty > span {
    align-items: center;
    background: var(--es-primary-soft);
    border-radius: 50%;
    color: var(--es-primary);
    display: flex;
    height: 68px;
    justify-content: center;
    margin-bottom: 6px;
    width: 68px;
}

body.erd-body .es-empty h3 {
    font-size: 20px;
    margin: 0;
}

.es-empty p {
    color: var(--es-muted);
    font-size: 15px;
    margin: 0 0 10px;
    max-width: 420px;
}

body.erd-body .es-empty .erd-btn {
    color: #fff !important;
}

body.erd-body .es-favorites-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
    .es-account-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .es-account-nav {
        padding: 12px;
        position: static;
    }

    .es-account-profile {
        display: none;
    }

    .es-account-nav nav {
        flex-direction: row;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .es-account-nav nav a {
        flex: 0 0 auto;
        width: auto;
    }

    .es-account-nav form {
        border: 0;
        margin: 0;
        padding: 0;
    }

    body.erd-body .es-favorites-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .es-account {
        padding: 20px 0 48px;
    }

    .es-account-stats {
        gap: 8px;
    }

    .es-account-stats > * {
        padding: 12px;
    }

    .es-account-stats b {
        font-size: 22px;
    }

    .es-account-stats span {
        font-size: 12px;
    }

    .es-order > header {
        grid-template-columns: 1fr 1fr;
        padding: 12px 16px;
    }

    .es-order > header .es-status {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .es-order ul,
    .es-order > footer {
        padding-left: 16px;
        padding-right: 16px;
    }

    .es-order li {
        flex-direction: column;
        gap: 2px;
    }

    .es-order li small {
        text-align: left;
    }

    .es-order > footer a {
        margin-left: 0;
    }

    .es-address-grid,
    .es-address-form {
        grid-template-columns: minmax(0, 1fr);
    }

    body.erd-body .es-favorites-grid {
        gap: 12px;
    }
}

/* ---------- Ana sayfa hero ---------- */
body.erd-body .erd-hero-banner-overlay {
    background: linear-gradient(180deg, rgba(8, 10, 14, .55) 0%, rgba(8, 10, 14, .62) 55%, rgba(8, 10, 14, .78) 100%) !important;
}

.erd-hero-cta {
    display: none;
    gap: 10px;
    justify-content: center;
    margin-top: 22px;
}

body.erd-body .erd-hero-cta .erd-btn {
    border-radius: 12px;
    color: #fff !important;
    font-weight: 600;
    justify-content: center;
    min-height: 48px;
}

body.erd-body .erd-hero-ghost {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .35);
    backdrop-filter: blur(6px);
}

.erd-hero-points {
    color: rgba(255, 255, 255, .9);
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    justify-content: center;
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}

.erd-hero-points li {
    align-items: center;
    display: inline-flex;
    font-size: 15px;
    gap: 6px;
}

.erd-hero-points .erd-svg-icon {
    color: #5ee0a0;
}

@media (max-width: 767.98px) {
    body.erd-body .erd-hero-banner {
        height: auto;
        min-height: 400px;
        padding: 48px 0 40px;
    }

    .erd-hero-cta {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .erd-hero-points {
        flex-direction: column;
        align-items: center;
        gap: 6px;
        margin-top: 18px;
    }

    .erd-hero-points li {
        font-size: 14px;
    }
}

@media (max-width: 991.98px) {
    .es-account-nav {
        align-items: center;
        display: flex;
        gap: 6px;
    }

    .es-account-nav nav {
        flex: 1;
        min-width: 0;
    }

    .es-account-nav form button {
        padding: 0 10px;
        white-space: nowrap;
    }
}

/* ---------- Stüdyo ürün fotoğrafları: zemin rengiyle kesintisiz görünüm ---------- */
body.erd-body .erd-product-image {
    background: #f2f5f8;
    padding: 0;
}

body.erd-body .erd-product-image img {
    object-fit: cover;
}

body.erd-body .erd-pd-image,
body.erd-body .erd-pd-image img,
body.erd-body .erd-pd-thumb,
body.erd-body .commerce-item > a img,
body.erd-body .checkout-mini img,
body.erd-body .erd-cat-thumb {
    background: #f2f5f8 !important;
}

body.erd-body .erd-product-card .erd-product-image img {
    height: 100% !important;
    object-fit: cover !important;
    padding: 0 !important;
    width: 100% !important;
}

@media (max-width: 991.98px) {
    body.erd-body .erd-filters:not(.is-open) {
        box-shadow: none;
        visibility: hidden;
        transition: transform .3s cubic-bezier(.2, .9, .32, 1.1), visibility 0s linear .3s;
    }
}

/* ---------- Kategori kartları (ana sayfa) ---------- */
.es-cat-tiles {
    background: #fff;
    padding: 28px 0 8px;
}

.es-cat-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.es-cat-tile {
    aspect-ratio: 4 / 5;
    border-radius: var(--es-radius);
    display: block;
    isolation: isolate;
    overflow: hidden;
    position: relative;
}

.es-cat-tile img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    transition: transform .5s ease;
    width: 100%;
    z-index: -2;
}

.es-cat-tile::after {
    background: linear-gradient(180deg, rgba(10, 12, 16, 0) 40%, rgba(10, 12, 16, .78) 100%);
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
}

.es-cat-tile:hover img {
    transform: scale(1.05);
}

.es-cat-tile-body {
    bottom: 0;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 2px;
    left: 0;
    padding: 16px;
    position: absolute;
    right: 0;
}

.es-cat-tile-body b {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
}

.es-cat-tile-body small {
    align-items: center;
    color: rgba(255, 255, 255, .8);
    display: inline-flex;
    font-size: 13px !important;
    gap: 4px;
}

/* ---------- Kategori sayfası kapak görseli ---------- */
body.erd-body .erd-listing-head-row {
    align-items: center;
}

.es-listing-cover {
    aspect-ratio: 16 / 10;
    border-radius: var(--es-radius);
    flex: 0 0 auto;
    object-fit: cover;
    width: 340px;
}

@media (max-width: 1199.98px) {
    .es-cat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .es-cat-tile {
        aspect-ratio: 16 / 11;
    }
}

@media (max-width: 767.98px) {
    .es-cat-tiles {
        padding: 20px 0 4px;
    }

    .es-cat-grid {
        display: flex;
        gap: 10px;
        margin: 0 -12px;
        overflow-x: auto;
        padding: 0 12px 6px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .es-cat-grid::-webkit-scrollbar {
        display: none;
    }

    .es-cat-tile {
        aspect-ratio: 4 / 5;
        flex: 0 0 42%;
        scroll-snap-align: start;
    }

    .es-cat-tile-body {
        padding: 12px;
    }

    .es-cat-tile-body b {
        font-size: 14px;
    }

    .es-listing-cover {
        display: none;
    }
}

body.erd-body .erd-listing-head-row:has(.es-listing-cover) .erd-listing-head-meta {
    display: none;
}

@media (max-width: 767.98px) {
    .es-cat-grid {
        scroll-padding-inline: 12px;
    }
}

/* ========== Ürün detay sayfası ========== */
.es-pd {
    background: #fff;
    padding: 20px 0 56px;
}

.es-pd-grid {
    align-items: start;
    display: grid;
    gap: 56px;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    margin-top: 20px;
}

.es-pd-gallery {
    position: sticky;
    top: 20px;
}

.es-pd-media {
    aspect-ratio: 1 / 1;
    background: #f2f5f8;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

.es-pd-media img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.es-pd-badge {
    background: var(--es-ink);
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    left: 16px;
    padding: 6px 12px;
    position: absolute;
    top: 16px;
}

.es-pd-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

.es-pd-thumb {
    background: #f2f5f8;
    border: 2px solid transparent;
    border-radius: 12px;
    height: 76px;
    overflow: hidden;
    padding: 0;
    width: 76px;
}

.es-pd-thumb.is-active {
    border-color: var(--es-primary);
}

.es-pd-thumb img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.es-pd-eyebrow {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.es-pd-eyebrow a {
    color: var(--es-primary) !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.es-pd-stock {
    align-items: center;
    color: #1b7a44;
    display: inline-flex;
    font-size: 13px;
    font-weight: 600;
    gap: 6px;
}

.es-pd-stock::before {
    background: currentColor;
    border-radius: 50%;
    content: "";
    height: 8px;
    width: 8px;
}

.es-pd-stock.is-out {
    color: #b42318;
}

body.erd-body .es-pd-info h1 {
    color: var(--es-ink);
    font-size: clamp(28px, 3.2vw, 40px);
    font-weight: 800;
    line-height: 1.12;
    margin: 10px 0 10px;
}

.es-pd-meta {
    align-items: center;
    color: var(--es-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    gap: 6px 16px;
}

.es-pd-rating {
    align-items: center;
    color: var(--es-text) !important;
    display: inline-flex;
    gap: 6px;
}

.es-pd-rating:hover {
    color: var(--es-primary) !important;
}

.es-pd-lead {
    color: var(--es-text);
    font-size: 17px;
    line-height: 1.6;
    margin: 16px 0 0;
}

.es-pd-price {
    align-items: baseline;
    border-bottom: 1px solid var(--es-line);
    border-top: 1px solid var(--es-line);
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    margin: 22px 0 6px;
    padding: 18px 0;
}

.es-pd-price strong {
    color: var(--es-ink);
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1;
}

.es-pd-price del {
    color: #98a1ad;
    font-size: 18px;
}

.es-pd-price span {
    color: var(--es-muted);
    flex-basis: 100%;
    font-size: 14px;
}

.es-pd-form {
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin-top: 18px;
}

.es-pd-field {
    border: 0;
    margin: 0;
    min-width: 0;
    padding: 0;
}

.es-pd-field legend {
    align-items: baseline;
    display: flex;
    font-size: 15px;
    font-weight: 700;
    justify-content: space-between;
    margin-bottom: 10px;
    width: 100%;
}

.es-pd-field legend span {
    color: var(--es-ink);
}

.es-pd-field legend b {
    color: var(--es-muted);
    font-weight: 500;
}

.es-pd-field legend a {
    color: var(--es-primary) !important;
    font-size: 14px;
    font-weight: 600;
}

.es-pd-size {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr auto 1fr;
}

.es-pd-size > i {
    color: var(--es-muted);
    font-style: normal;
}

.es-pd-size label {
    align-items: center;
    background: #fff;
    border: 1px solid #d6dde6;
    border-radius: 12px;
    display: flex;
    gap: 8px;
    min-height: 54px;
    padding: 0 14px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.es-pd-size label:focus-within {
    border-color: var(--es-primary);
    box-shadow: 0 0 0 4px rgba(22, 119, 255, .12);
}

.es-pd-size label span {
    color: var(--es-muted);
    font-size: 13px;
    font-weight: 600;
}

body.erd-body .es-pd-size input {
    background: transparent;
    border: 0;
    color: var(--es-ink);
    flex: 1;
    font-size: 18px;
    font-weight: 600;
    min-width: 0;
    outline: none;
    padding: 0;
    width: 100%;
}

.es-pd-size em {
    color: var(--es-muted);
    font-size: 14px;
    font-style: normal;
}

.es-pd-hint {
    color: var(--es-muted);
    display: block;
    font-size: 13px;
    line-height: 1.5;
    margin-top: 8px;
}

.es-pd-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.es-pd-swatches label {
    cursor: pointer;
    position: relative;
}

.es-pd-swatches input {
    opacity: 0;
    position: absolute;
}

.es-pd-swatches span {
    background: var(--swatch);
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px #d6dde6;
    display: block;
    height: 42px;
    transition: box-shadow .15s ease;
    width: 42px;
}

.es-pd-swatches input:checked + span {
    box-shadow: 0 0 0 2px var(--es-primary);
}

.es-pd-swatches input:focus-visible + span {
    outline: 3px solid rgba(22, 119, 255, .45);
    outline-offset: 3px;
}

.es-pd-swatches em {
    clip: rect(0 0 0 0);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.es-pd-buy {
    display: grid;
    gap: 12px;
    grid-template-columns: auto 1fr;
}

.es-qty {
    align-items: center;
    border: 1px solid #d6dde6;
    border-radius: 12px;
    display: flex;
    height: 56px;
    overflow: hidden;
}

.es-qty button {
    background: transparent;
    border: 0;
    color: var(--es-ink);
    font-size: 22px;
    height: 100%;
    width: 44px;
}

.es-qty button:hover {
    background: var(--es-surface);
}

body.erd-body .es-qty input {
    -moz-appearance: textfield;
    border: 0;
    font-size: 17px !important;
    font-weight: 700;
    height: 100%;
    outline: none;
    text-align: center;
    width: 44px;
}

.es-qty input::-webkit-inner-spin-button,
.es-qty input::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

.es-pd-cta {
    align-items: center;
    background: var(--es-primary);
    border: 0;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(22, 119, 255, .25);
    color: #fff;
    display: flex;
    font-size: 17px;
    font-weight: 700;
    gap: 10px;
    height: 56px;
    justify-content: center;
    transition: background .15s ease, transform .15s ease;
}

.es-pd-cta:hover {
    background: var(--es-primary-dark);
}

.es-pd-cta:active {
    transform: translateY(1px);
}

.es-pd-cta:disabled {
    background: #aab4c0;
    box-shadow: none;
    cursor: not-allowed;
}

.es-pd-assurances {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}

.es-pd-assurances li {
    align-items: center;
    color: var(--es-text);
    display: inline-flex;
    font-size: 14px;
    gap: 8px;
}

.es-pd-assurances .erd-svg-icon {
    color: var(--es-primary);
}

.es-pd-help {
    align-items: center;
    background: var(--es-surface);
    border-radius: 12px;
    color: var(--es-text) !important;
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    gap: 4px 8px;
    margin-top: 18px;
    padding: 14px 16px;
}

.es-pd-help .erd-svg-icon {
    color: #25d366;
}

.es-pd-help b {
    color: #128c4a;
}

/* Yıldızlar */
.es-stars {
    --percent: calc(var(--rating) / 5 * 100%);
    display: inline-block;
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 1;
}

.es-stars::before {
    -webkit-background-clip: text;
    background: linear-gradient(90deg, #f5a623 var(--percent), #d9dee5 var(--percent));
    background-clip: text;
    color: transparent;
    content: "★★★★★";
}

/* Açıklama ve teknik bilgiler */
.es-pd-details {
    background: var(--es-surface);
    border-top: 1px solid var(--es-line);
    padding: 64px 0;
}

.es-pd-details-grid {
    align-items: start;
    display: grid;
    gap: 40px;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
}

body.erd-body .es-pd-description h2 {
    font-size: 26px;
    margin: 0 0 14px;
}

.es-pd-description-text {
    color: var(--es-text);
    font-size: 16px;
    line-height: 1.75;
}

.es-pd-features {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}

.es-pd-features li {
    align-items: center;
    color: var(--es-text);
    display: flex;
    font-size: 15px;
    gap: 10px;
}

.es-pd-features .erd-svg-icon {
    background: #e7f7ee;
    border-radius: 50%;
    color: #1b7a44;
    flex: 0 0 26px;
    height: 26px;
    padding: 4px;
    width: 26px;
}

.es-pd-specs {
    background: #fff;
    border: 1px solid var(--es-line);
    border-radius: var(--es-radius);
    padding: 22px 24px;
}

body.erd-body .es-pd-specs h3 {
    font-size: 18px;
    margin: 0 0 8px;
}

.es-pd-specs dl {
    margin: 0;
}

.es-pd-specs dl > div {
    border-bottom: 1px solid var(--es-line);
    display: grid;
    gap: 12px;
    grid-template-columns: 120px minmax(0, 1fr);
    padding: 12px 0;
}

.es-pd-specs dl > div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.es-pd-specs dt {
    color: var(--es-muted);
    font-size: 14px;
    font-weight: 500;
}

.es-pd-specs dd {
    color: var(--es-ink);
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

.es-pd-specs dd a {
    color: var(--es-primary) !important;
}

/* Benzer ürünler */
.es-pd-related {
    background: #fff;
    padding: 64px 0;
}

body.erd-body .es-pd-related-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Yorumlar */
.es-pd-reviews {
    background: var(--es-surface);
    border-top: 1px solid var(--es-line);
    padding: 64px 0 80px;
}

.es-pd-reviews-grid {
    align-items: start;
    display: grid;
    gap: 40px;
    grid-template-columns: 360px minmax(0, 1fr);
}

body.erd-body .es-review-summary h2 {
    font-size: 26px;
    margin: 0 0 12px;
}

.es-review-summary > p {
    color: var(--es-muted);
    font-size: 15px;
    line-height: 1.6;
}

.es-review-score {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin-bottom: 18px;
}

.es-review-score b {
    color: var(--es-ink);
    font-size: 44px;
    font-weight: 800;
    line-height: 1;
}

.es-review-score .es-stars {
    font-size: 20px;
}

.es-review-score small {
    color: var(--es-muted);
    flex-basis: 100%;
    font-size: 14px;
}

.es-review-compose {
    margin-top: 16px;
}

.es-review-compose summary {
    align-items: center;
    background: #fff;
    border: 1px solid var(--es-ink);
    border-radius: 12px;
    color: var(--es-ink);
    cursor: pointer;
    display: inline-flex;
    font-size: 15px;
    font-weight: 700;
    height: 48px;
    justify-content: center;
    list-style: none;
    padding: 0 22px;
}

.es-review-compose summary::-webkit-details-marker {
    display: none;
}

.es-review-compose[open] summary {
    display: none;
}

body.erd-body .es-review-compose .erd-review-form {
    background: #fff;
    border: 1px solid var(--es-line);
    border-radius: var(--es-radius);
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 20px;
}

body.erd-body .es-review-compose .erd-review-form > label {
    display: flex;
    flex-direction: column;
    font-size: 14px !important;
    font-weight: 600;
    gap: 6px;
    margin: 0;
}

body.erd-body .es-review-compose .erd-review-form label small {
    color: var(--es-muted);
    font-weight: 400;
}

body.erd-body .es-review-compose .erd-btn {
    border-radius: 12px;
    color: #fff !important;
    justify-content: center;
    width: 100%;
}

.es-review-note {
    color: var(--es-muted);
    font-size: 13px;
    text-align: center;
}

.es-star-input {
    border: 0;
    margin: 0;
    padding: 0;
}

.es-star-input legend {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
}

.es-star-input div {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: 2px;
}

.es-star-input input {
    opacity: 0;
    position: absolute;
    width: 0;
}

.es-star-input label {
    color: #d9dee5;
    cursor: pointer;
    font-size: 32px;
    line-height: 1;
    transition: color .1s ease;
}

.es-star-input input:checked ~ label,
.es-star-input label:hover,
.es-star-input label:hover ~ label {
    color: #f5a623;
}

.es-star-input input:focus-visible + label {
    outline: 3px solid rgba(22, 119, 255, .45);
    outline-offset: 2px;
}

.es-review-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.es-review {
    background: #fff;
    border: 1px solid var(--es-line);
    border-radius: var(--es-radius);
    padding: 18px 20px;
}

.es-review header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
}

.es-review header b {
    color: var(--es-ink);
    font-size: 15px;
}

.es-review time {
    color: var(--es-muted);
    font-size: 13px;
    margin-left: auto;
}

body.erd-body .es-review h3 {
    font-size: 16px;
    margin: 10px 0 0;
}

.es-review p {
    color: var(--es-text);
    font-size: 15px;
    line-height: 1.65;
    margin: 8px 0 0;
}

.es-review-empty {
    align-items: center;
    border: 1px dashed #cfd8e4;
    border-radius: var(--es-radius);
    color: var(--es-muted);
    display: flex;
    flex-direction: column;
    font-size: 15px;
    gap: 10px;
    justify-content: center;
    min-height: 160px;
}

@media (max-width: 1199.98px) {
    body.erd-body .es-pd-related-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .es-pd-grid,
    .es-pd-details-grid,
    .es-pd-reviews-grid {
        gap: 28px;
        grid-template-columns: minmax(0, 1fr);
    }

    .es-pd-gallery {
        position: static;
    }

    body.erd-body .es-pd-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .es-pd {
        padding: 12px 0 40px;
    }

    .es-pd-grid {
        gap: 20px;
        margin-top: 12px;
    }

    .es-pd-media {
        border-radius: 16px;
    }

    .es-pd-lead {
        font-size: 16px;
    }

    .es-pd-price strong {
        font-size: 30px;
    }

    .es-qty button {
        width: 38px;
    }

    body.erd-body .es-qty input {
        width: 34px;
    }

    .es-pd-assurances {
        flex-direction: column;
    }

    .es-pd-details,
    .es-pd-related,
    .es-pd-reviews {
        padding: 44px 0;
    }

    body.erd-body .es-pd-related-grid {
        gap: 12px;
    }

    .es-pd-specs dl > div {
        grid-template-columns: 110px minmax(0, 1fr);
    }
}

.es-pd-media img {
    transition: opacity .18s ease;
}

.es-pd-media img.is-swapping {
    opacity: .35;
}

/* ---------- Uzun içerik (kategori rehberi, ürün açıklaması) ---------- */
.es-category-guide {
    background: #fff;
    border-top: 1px solid var(--es-line);
    padding: 64px 0;
}

.es-category-guide-grid {
    align-items: start;
    display: grid;
    gap: 48px;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
}

.es-prose {
    color: var(--es-text);
    font-size: 16px;
    line-height: 1.75;
}

body.erd-body .es-prose h2 {
    font-size: 24px;
    margin: 0 0 12px;
}

body.erd-body .es-prose h3 {
    font-size: 19px;
    margin: 28px 0 8px;
}

.es-prose p {
    margin: 0 0 14px;
}

.es-prose ul,
.es-prose ol {
    margin: 0 0 16px;
    padding-left: 20px;
}

.es-prose li {
    margin-bottom: 6px;
}

.es-prose strong {
    color: var(--es-ink);
}

.es-prose a {
    color: var(--es-primary) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.es-category-faq {
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: sticky;
    top: 16px;
}

body.erd-body .es-category-faq h2 {
    font-size: 20px;
    margin: 0 0 6px;
}

@media (max-width: 991.98px) {
    .es-category-guide-grid {
        gap: 32px;
        grid-template-columns: minmax(0, 1fr);
    }

    .es-category-faq {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .es-category-guide {
        padding: 40px 0;
    }
}

/* ---------- Geliştirici logosu ---------- */
.es-dev-credit {
    background: #0b0c0f;
    border-top: 1px solid rgba(255, 255, 255, .06);
    padding: 14px 0;
}

.es-dev-credit .container {
    display: flex;
    justify-content: center;
}

.es-dev-credit a {
    display: inline-flex;
    opacity: .55;
    padding: 4px;
    transition: opacity .2s ease;
}

.es-dev-credit a:hover,
.es-dev-credit a:focus-visible {
    opacity: 1;
}

.es-dev-credit img {
    height: auto;
    width: 88px;
}

@media (max-width: 767.98px) {
    body.erd-body .legal-footer-links {
        padding-bottom: 0;
    }

    .es-dev-credit {
        padding-bottom: calc(96px + env(safe-area-inset-bottom));
    }
}

body.erd-body .es-prose h2:not(:first-child) {
    margin-top: 36px;
}
