:root { --brand:#2563eb; --brand-dark:#1d4ed8; --brand-soft:#eaf1ff; --on-brand:#fff; --accent:#f59e0b; --bg:#f4f6f9; --surface:#fff; --text:#111827; --muted:#6b7280; --border:#e5e7eb;
  --header-bg:#fff; --header-text:#111827; --footer-bg:#0f172a; --footer-text:#cbd5e1; --radius:10px; --font-body:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; --font-head:var(--font-body); --head-weight:700; --brand-text:#2563eb; --on-accent:#111; }
body.site { background: var(--bg); color: var(--text); font-family: var(--font-body); display:flex; flex-direction:column; min-height:100vh; -webkit-font-smoothing:antialiased; }
body.site main.site-main { flex:1 0 auto; }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.display-5,.brand-name { font-family: var(--font-head); font-weight: var(--head-weight); }
strong,b,.fw-bold,.fw-semibold { font-family: var(--font-body); }
body.site { --bs-link-color-rgb: var(--link-rgb, 37,99,235); --bs-link-hover-color-rgb: var(--link-rgb, 37,99,235); }
.text-muted { color: var(--muted) !important; }
.text-brand { color: var(--brand-text) !important; }
.bg-brand { background-color: var(--brand) !important; }
.bg-brand-soft, .iban-box { background: var(--brand-soft); }
.btn { border-radius: var(--radius); font-weight: 500; }
.btn-primary { --bs-btn-bg: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-color: var(--on-brand); --bs-btn-hover-bg: var(--brand-dark); --bs-btn-hover-border-color: var(--brand-dark); --bs-btn-hover-color: var(--on-brand);
  --bs-btn-active-bg: var(--brand-dark); --bs-btn-active-border-color: var(--brand-dark); --bs-btn-active-color: var(--on-brand); --bs-btn-disabled-bg: var(--brand); --bs-btn-disabled-border-color: var(--brand); --bs-btn-disabled-color: var(--on-brand); }
.btn-outline-primary { --bs-btn-color: var(--brand-text); --bs-btn-border-color: var(--brand); --bs-btn-hover-bg: var(--brand); --bs-btn-hover-border-color: var(--brand); --bs-btn-hover-color: var(--on-brand); --bs-btn-active-bg: var(--brand); --bs-btn-active-color: var(--on-brand); }
.btn-icon { border: 0; background: transparent; color: var(--header-text); padding: .4rem .55rem; }
.btn-icon:hover { color: var(--brand-text); }
.form-control, .form-select { border-radius: var(--radius); background-color: var(--surface); border-color: var(--border); color: var(--text); }
.form-control:focus, .form-select:focus { border-color: var(--brand); box-shadow: 0 0 0 .2rem var(--brand-soft); background-color: var(--surface); color: var(--text); }
.form-check-input:checked { background-color: var(--brand); border-color: var(--brand); }
.list-group-item { background: var(--surface); border-color: var(--border); color: var(--text); }
.list-group-item.active { background: var(--brand); border-color: var(--brand); color: var(--on-brand); }
.page-link { color: var(--brand-text); background: var(--surface); border-color: var(--border); }
.page-item.active .page-link { background: var(--brand); border-color: var(--brand); color: var(--on-brand); }
.dropdown-menu { background: var(--surface); border-color: var(--border); }
.dropdown-item { color: var(--text); }
.breadcrumb a { text-decoration: none; }

.panel { background: var(--surface); border: 1px solid var(--border); border-radius: calc(var(--radius) + 4px); padding: 1.35rem; }
.section-title { position: relative; padding-inline-start: .9rem; font-weight: 700; }
.section-title::before { content: ""; position: absolute; inset-inline-start: 0; top: .15em; bottom: .15em; width: 4px; border-radius: 4px; background: var(--brand); }

/* Üst alan */
.announce { background: var(--brand); color: var(--on-brand); padding: .4rem 0; }
.topbar { background: var(--footer-bg); color: var(--footer-text); }
.topbar a { color: var(--footer-text) !important; text-decoration: none; }
.topbar a:hover { text-decoration: underline; }
.site-header { background: var(--header-bg); color: var(--header-text); border-bottom: 1px solid var(--border); z-index: 1030; }
.site-header a { text-decoration: none; }
.brand { color: var(--header-text) !important; }
.brand-mark { width: 40px; height: 40px; border-radius: calc(var(--radius) - 2px); background: var(--brand); color: var(--on-brand); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; }
.brand-name { font-weight: 700; font-size: 1.2rem; letter-spacing: -.01em; }
.brand-logo { max-height: 46px; max-width: 190px; width: auto; }
.search-box { max-width: 560px; }
.search-box .form-control { border-start-end-radius: 0; border-end-end-radius: 0; }
.search-box .btn { border-start-start-radius: 0; border-end-start-radius: 0; }
.cat-nav { gap: 1.4rem; padding: .35rem 0 .6rem; font-size: .92rem; overflow-x: auto; white-space: nowrap; }
.cat-nav a { color: var(--header-text) !important; opacity: .85; padding: .15rem 0; border-bottom: 2px solid transparent; }
.cat-nav a:hover { opacity: 1; border-bottom-color: var(--brand); }
.cart-badge { position: absolute; top: -2px; inset-inline-end: -2px; background: var(--accent); color: var(--on-accent); font-size: .68rem; font-weight: 700; min-width: 18px; height: 18px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; padding: 0 4px; }
.mob-links .list-group-item { background: transparent; border-color: var(--border); color: var(--header-text); }
.hero { background: linear-gradient(135deg, var(--brand), var(--brand-dark)); color: var(--on-brand); border-radius: calc(var(--radius) + 8px); padding: 4.2rem 2.2rem; position: relative; overflow: hidden; background-size: cover; background-position: center; }
.hero.has-img::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,var(--ov,.45)); }
.hero .inner { position: relative; max-width: 640px; color: #fff; }
.hero:not(.has-img) .inner { color: var(--on-brand); }
.hero .btn-light { --bs-btn-bg:#fff; --bs-btn-color:#111; --bs-btn-hover-bg:#f1f1f1; --bs-btn-hover-color:#111; --bs-btn-border-color:#fff; --bs-btn-hover-border-color:#f1f1f1; --bs-btn-active-bg:#e8e8e8; --bs-btn-active-color:#111; }
.hero.hero-center { text-align: center; }
.hero.hero-center .inner { margin-inline: auto; }
.hero h1 { font-weight: 700; letter-spacing: -.02em; }
.hero-poster img { width: 100%; height: auto; border-radius: calc(var(--radius) + 8px); display: block; }
.feature-box { display: flex; gap: .85rem; align-items: center; background: var(--surface); border: 1px solid var(--border); border-radius: calc(var(--radius) + 2px); padding: 1rem 1.1rem; height: 100%; }
.feature-box > i { font-size: 1.6rem; color: var(--brand-text); }
.cat-card { display: block; background: var(--surface); border: 1px solid var(--border); border-radius: calc(var(--radius) + 2px); text-decoration: none; color: var(--text) !important; overflow: hidden; transition: transform .15s, box-shadow .15s; height: 100%; }
.cat-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.1); }
.cat-card .ph { aspect-ratio: 16/9; background: var(--brand-soft); display: flex; align-items: center; justify-content: center; font-size: 2.2rem; color: var(--brand-text); }
.cat-card .ph img { width: 100%; height: 100%; object-fit: cover; }

/* Ürün */
.product-card { background: var(--surface); border: 1px solid var(--border); border-radius: calc(var(--radius) + 2px); overflow: hidden; display: flex; flex-direction: column; height: 100%; transition: box-shadow .15s, transform .15s; }
.product-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.1); transform: translateY(-2px); }
.product-card .img { position: relative; display: block; aspect-ratio: 1/1; background: var(--brand-soft); }
.product-card .img img { width: 100%; height: 100%; object-fit: cover; }
.product-card .body { padding: .95rem; display: flex; flex-direction: column; flex: 1; }
.product-card .name { color: var(--text) !important; text-decoration: none; font-weight: 600; font-size: .95rem; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
.price { font-weight: 700; color: var(--brand-text); font-size: 1.1rem; }
.old-price { color: var(--muted); text-decoration: line-through; font-size: .9rem; }
.badge-corner { position: absolute; top: .6rem; inset-inline-start: .6rem; z-index: 2; }
.badge.sale { background: var(--accent); color: var(--on-accent); }
.gallery-main { background: var(--surface); border: 1px solid var(--border); border-radius: calc(var(--radius) + 4px); overflow: hidden; aspect-ratio: 1/1; }
.gallery-main img { width: 100%; height: 100%; object-fit: contain; }
.gallery-thumbs { display: flex; gap: .5rem; margin-top: .6rem; flex-wrap: wrap; }
.gallery-thumbs button { width: 68px; height: 68px; padding: 2px; border: 2px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.gallery-thumbs button.active { border-color: var(--brand); }
.gallery-thumbs img { width: 100%; height: 100%; object-fit: cover; border-radius: calc(var(--radius) - 3px); }
.qty-group { max-width: 140px; }
.cart-img { width: 72px; height: 72px; object-fit: cover; border-radius: var(--radius); background: var(--brand-soft); }
.summary-sticky { position: sticky; top: 130px; }
.coupon-applied { background: var(--brand-soft); border: 1px dashed var(--brand); border-radius: var(--radius); padding: .6rem .8rem; }
.guest-box { border-inline-start: 4px solid var(--brand); }
.pay-option { display: block; border: 2px solid var(--border); border-radius: calc(var(--radius) + 2px); padding: 1rem; cursor: pointer; height: 100%; transition: border-color .15s; background: var(--surface); }
.pay-option.selected, .pay-option:has(input:checked) { border-color: var(--brand); background: var(--brand-soft); }
.success-icon { width: 76px; height: 76px; border-radius: 50%; background: #16a34a; color: #fff; font-size: 2.4rem; display: inline-flex; align-items: center; justify-content: center; }
.track-code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1.9rem; font-weight: 700; letter-spacing: .1em; color: var(--brand-text); }
.iban-box { border: 1px solid var(--border); }
.iban-code { color: var(--text); word-break: break-all; }
.receipt-form { border-top: 1px solid var(--border); padding-top: 1rem; }
.track-steps { display: flex; justify-content: space-between; margin-top: 1.6rem; position: relative; }
.track-steps::before { content: ""; position: absolute; top: 20px; inset-inline: 12%; height: 3px; background: var(--border); }
.track-step { text-align: center; flex: 1; font-size: .85rem; color: var(--muted); position: relative; }
.track-step .dot { width: 42px; height: 42px; border-radius: 50%; background: var(--border); color: var(--muted); margin: 0 auto .4rem; display: flex; align-items: center; justify-content: center; font-size: 1.15rem; position: relative; }
.track-step.done .dot { background: var(--brand); color: var(--on-brand); }
.track-step.current { color: var(--text); font-weight: 600; }
.page-content h2 { font-size: 1.2rem; font-weight: 700; margin: 1.6rem 0 .6rem; }
.page-content p, .page-content li { line-height: 1.75; }

/* Alt alan */
.trust-strip { background: var(--surface); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); color: var(--muted); margin-top: 2rem; }
.trust-strip i { color: var(--brand); margin-inline-end: .25rem; }
.site-footer { background: var(--footer-bg); color: var(--footer-text); flex-shrink: 0; }
.site-footer h5, .site-footer h6 { color: var(--footer-text); }
.site-footer a { color: var(--footer-text) !important; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.footer-links li { margin-bottom: .45rem; }
.pay-row { border-top: 1px solid rgba(255,255,255,.12); }
.pay-logo { background: #fff; border-radius: 6px; padding: 4px 10px; display: inline-flex; align-items: center; height: 36px; }
.pay-logo img { height: 24px; width: auto; display: block; }
.pay-text { color: #111 !important;  font-size: .85rem; gap: .35rem; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); font-size: .85rem; }
.wa-float { position: fixed; inset-inline-end: 18px; bottom: 18px; width: 54px; height: 54px; border-radius: 50%; background: #25d366; color: #fff !important; display: flex; align-items: center; justify-content: center; font-size: 1.7rem; z-index: 1040; box-shadow: 0 6px 18px rgba(0,0,0,.25); text-decoration: none; }
.cc-banner { position: fixed; inset-inline: 0; bottom: 0; background: var(--surface); color: var(--text); border-top: 1px solid var(--border); padding: .9rem 0; z-index: 1050; box-shadow: 0 -6px 20px rgba(0,0,0,.12); }
.cc-banner[hidden] { display: none; }
@media (max-width: 767.98px) {
  .hero { padding: 2.4rem 1.3rem; }
  .wa-float { bottom: 78px; }
  .cc-banner ~ .wa-float { bottom: 120px; }
  .summary-sticky { position: static; }
}

/* Ürün seçenekleri (beden / renk / model) */
.opt-group { margin-bottom: 1rem; }
.opt-group .opt-label { font-size: .85rem; font-weight: 600; margin-bottom: .4rem; display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.opt-group .opt-label .picked { color: var(--muted); font-weight: 400; }
.opt-list { display: flex; flex-wrap: wrap; gap: .45rem; }
.opt-list input { position: absolute; opacity: 0; pointer-events: none; }
.opt-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 2.7rem; padding: .42rem .8rem; border: 2px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text); cursor: pointer; font-size: .9rem; line-height: 1.1; user-select: none; transition: border-color .12s, background .12s; }
.opt-pill:hover { border-color: var(--brand); }
.opt-list input:checked + .opt-pill { border-color: var(--brand); background: var(--brand-soft); color: var(--text); font-weight: 600; box-shadow: 0 0 0 1px var(--brand); }
.opt-list input:focus-visible + .opt-pill, .opt-list input:focus-visible + .opt-swatch { outline: 2px solid var(--brand); outline-offset: 2px; }
.opt-list input:disabled + .opt-pill { opacity: .45; text-decoration: line-through; cursor: not-allowed; border-style: dashed; }
.opt-swatch { width: 2.3rem; height: 2.3rem; border-radius: 50%; border: 2px solid var(--border); cursor: pointer; display: inline-block; position: relative; box-shadow: inset 0 0 0 3px var(--surface); }
.opt-list input:checked + .opt-swatch { border-color: var(--brand); box-shadow: inset 0 0 0 3px var(--surface), 0 0 0 1px var(--brand); }
.opt-list input:disabled + .opt-swatch { opacity: .35; cursor: not-allowed; }
.opt-list input:disabled + .opt-swatch::after { content: ""; position: absolute; left: 50%; top: -2px; bottom: -2px; width: 2px; background: var(--muted); transform: rotate(45deg); }
.spec-table { width: 100%; font-size: .93rem; }
.spec-table th { width: 38%; font-weight: 600; color: var(--muted); padding: .55rem .75rem; border-bottom: 1px solid var(--border); vertical-align: top; text-align: start; }
.spec-table td { padding: .55rem .75rem; border-bottom: 1px solid var(--border); }
.page-content table, .guide-table { width: 100%; border-collapse: collapse; margin: .8rem 0 1.2rem; font-size: .93rem; }
.page-content th, .page-content td, .guide-table th, .guide-table td { border: 1px solid var(--border); padding: .5rem .7rem; text-align: center; }
.page-content tr:first-child td, .guide-table th { background: var(--brand-soft); font-weight: 600; }
.var-note { font-size: .85rem; color: var(--muted); }
.phone-cc { max-width: 9.5rem; flex: 0 0 auto; }
.filter-opt .form-check-label { font-size: .88rem; }
.swatch-dot { display: inline-block; width: .85rem; height: .85rem; border-radius: 50%; border: 1px solid var(--border); vertical-align: -1px; margin-inline-end: .3rem; }
@media (max-width: 767.98px) {
  body.site {
    overflow-x: hidden;
  }
  body.site main.site-main {
    min-width: 0;
  }
  .container,
  .container-fluid {
    max-width: 100%;
  }
  .site-header .container,
  .site-header .container-fluid {
    min-width: 0;
  }
  .site-header .d-flex {
    flex-wrap: wrap;
  }
  .brand-logo {
    max-width: 150px;
    max-height: 40px;
  }
  .brand-mark {
    width: 36px;
    height: 36px;
    font-size: 1.05rem;
    flex: 0 0 auto;
  }
  .brand-name {
    font-size: 1.08rem;
  }
  .search-box {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
  .cat-nav {
    gap: 1rem;
    padding: .5rem 0;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .hero {
    padding: 2rem 1.15rem;
    border-radius: calc(var(--radius) + 4px);
  }
  .hero h1 {
    font-size: clamp(1.55rem, 6vw, 2.15rem);
    line-height: 1.2;
  }
  .hero .btn {
    margin-top: .35rem;
  }
  .panel {
    padding: 1rem;
    border-radius: calc(var(--radius) + 2px);
  }
  .btn {
    padding: .48rem .78rem;
    min-height: 38px;
    font-size: .875rem;
    line-height: 1.25;
    border-radius: calc(var(--radius) - 2px);
    white-space: normal;
  }
  .btn-sm {
    padding: .36rem .62rem;
    min-height: 32px;
    font-size: .8rem;
  }
  .btn-lg {
    padding: .58rem .9rem;
    min-height: 42px;
    font-size: .95rem;
  }
  .btn-group > .btn,
  .btn-group-vertical > .btn {
    min-width: 0;
  }
  .form-control,
  .form-select {
    min-height: 42px;
    font-size: 16px;
  }
  textarea.form-control {
    min-height: 100px;
  }
  .product-card .body {
    padding: .75rem;
  }
  .product-card .name {
    font-size: .9rem;
    min-height: 2.45em;
  }
  .price {
    font-size: 1rem;
  }
  .old-price {
    font-size: .82rem;
  }
  .feature-box {
    padding: .8rem;
    gap: .65rem;
  }
  .feature-box > i {
    font-size: 1.35rem;
    flex: 0 0 auto;
  }
  .gallery-thumbs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: .25rem;
    -webkit-overflow-scrolling: touch;
  }
  .gallery-thumbs button {
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
  }
  .qty-group {
    max-width: 120px;
  }
  .cart-img {
    width: 60px;
    height: 60px;
    flex: 0 0 auto;
  }
  .summary-sticky {
    position: static;
  }
  .track-code {
    font-size: clamp(1.25rem, 5vw, 1.7rem);
    letter-spacing: .06em;
    overflow-wrap: anywhere;
  }
  .track-steps {
    gap: .2rem;
  }
  .track-step {
    font-size: .72rem;
    overflow-wrap: anywhere;
  }
  .track-step .dot {
    width: 34px;
    height: 34px;
    font-size: 1rem;
  }
  .track-steps::before {
    top: 16px;
  }
  .success-icon {
    width: 62px;
    height: 62px;
    font-size: 2rem;
  }
  .opt-list {
    gap: .4rem;
  }
  .opt-pill {
    min-width: 2.45rem;
    padding: .4rem .65rem;
    font-size: .85rem;
  }
  .opt-swatch {
    width: 2.1rem;
    height: 2.1rem;
  }
  .spec-table,
  .page-content table,
  .guide-table {
    font-size: .85rem;
  }
  .spec-table th,
  .spec-table td,
  .page-content th,
  .page-content td,
  .guide-table th,
  .guide-table td {
    padding: .45rem .55rem;
  }
  .page-content table,
  .guide-table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .trust-strip {
    margin-top: 1.25rem;
  }
  .site-footer .row {
    row-gap: 1.25rem;
  }
  .pay-row {
    row-gap: .6rem;
  }
  .wa-float {
    width: 48px;
    height: 48px;
    inset-inline-end: 14px;
    bottom: 78px;
    font-size: 1.45rem;
  }
  .cc-banner {
    padding: .7rem 0;
  }
  .cc-banner .container,
  .cc-banner .container-fluid {
    padding-inline: 1rem;
  }
  .cc-banner .btn {
    min-height: 34px;
  }
  .dropdown-menu {
    max-width: calc(100vw - 2rem);
  }
  .modal-dialog {
    margin: .65rem;
  }
  .modal-dialog-centered {
    min-height: calc(100% - 1.3rem);
  }
}
@media (max-width: 575.98px) {
  .container,
  .container-fluid {
    padding-inline: .85rem;
  }
  .hero {
    padding: 1.65rem 1rem;
  }
  .hero h1 {
    font-size: 1.55rem;
  }
  .panel {
    padding: .85rem;
  }
  .btn {
    padding: .44rem .68rem;
    min-height: 36px;
    font-size: .84rem;
  }
  .btn-sm {
    padding: .32rem .52rem;
    min-height: 30px;
    font-size: .77rem;
  }
  .product-card .body {
    padding: .62rem;
  }
  .product-card .name {
    font-size: .86rem;
  }
  .price {
    font-size: .95rem;
  }
  .cart-img {
    width: 52px;
    height: 52px;
  }
  .track-step {
    font-size: .66rem;
  }
  .track-step .dot {
    width: 30px;
    height: 30px;
    font-size: .9rem;
  }
  .track-steps::before {
    top: 14px;
  }
  .pay-logo {
    height: 32px;
    padding: 4px 8px;
  }
  .pay-logo img {
    height: 21px;
  }
  .footer-bottom {
    text-align: center;
  }
}
@media (max-width: 380px) {
  .brand-logo {
    max-width: 125px;
  }
  .hero {
    padding: 1.4rem .85rem;
  }
  .btn {
    padding-inline: .58rem;
  }
  .opt-pill {
    min-width: 2.2rem;
    padding-inline: .52rem;
  }
}
