/* ==========================================================================
   OptikSepeti — tasarım sistemi
   ========================================================================== */

:root {
    --os-canvas: #faf7f4;
    --os-surface: #ffffff;
    --os-blush: #f8ebe1;
    --os-blush-strong: #f0d5c3;
    --os-iris-soft: #eef1f7;
    --os-ink: #16213a;
    --os-ink-soft: #2c3652;
    --os-night: #0f1729;
    --os-muted: #5d6477;
    --os-line: #ebe4dd;
    --os-line-strong: #ddd3ca;
    --os-brand: #fc6914;
    /* Logo turuncusu üstünde beyaz yazı okunmuyor; dolgu butonlar lacivert, turuncu dolgularda yazı lacivert. */
    --os-cta: var(--os-brand);
    --os-cta-hover: #a94109;
    --os-gold: #e3c69d;
    --os-emerald: #2f6b55;

    --os-font: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --os-serif: "Instrument Serif", Georgia, serif;

    --os-r-sm: 10px;
    --os-r-md: 14px;
    --os-r-lg: 20px;
    --os-r-xl: 28px;
    --os-r-pill: 999px;

    --os-shadow-sm: 0 1px 2px rgb(22 33 58 / 0.06);
    --os-shadow-md: 0 10px 30px -12px rgb(22 33 58 / 0.18);
    --os-shadow-lg: 0 24px 60px -24px rgb(22 33 58 / 0.32);

    --os-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
    --os-container: 1240px;
    --os-gutter: clamp(20px, 4vw, 40px);
    --os-header-h: 76px;
}

/* --------------------------------------------------------------------------
   Temel
   ----------------------------------------------------------------------- */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: 140px;
}

body.os {
    margin: 0;
    background: var(--os-canvas);
    color: var(--os-ink);
    font-family: var(--os-font);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: clip;
}

body.os.is-locked {
    overflow: hidden;
}

img,
svg {
    display: block;
    max-width: 100%;
}

img {
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

h1, h2, h3, h4 {
    margin: 0;
    color: var(--os-ink);
    line-height: 1.15;
    letter-spacing: -0.02em;
}

p {
    margin: 0;
}

ul, ol {
    margin: 0;
    padding: 0;
}

button,
input,
select,
textarea {
    font: inherit;
    color: inherit;
}

:focus-visible {
    outline: 2px solid var(--os-cta);
    outline-offset: 3px;
    border-radius: 6px;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.os-skip {
    position: absolute;
    left: 16px;
    top: -60px;
    z-index: 100;
    padding: 10px 16px;
    border-radius: var(--os-r-sm);
    background: var(--os-ink);
    color: #fff;
    font-weight: 600;
}

.os-skip:focus {
    top: 12px;
}

.os-container {
    width: 100%;
    max-width: calc(var(--os-container) + 2 * var(--os-gutter));
    margin-inline: auto;
    padding-inline: var(--os-gutter);
}

.os-icon {
    width: 20px;
    height: 20px;
    flex: none;
}

.os-eyebrow {
    color: var(--os-cta);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.os-eyebrow--light {
    color: var(--os-gold);
}

/* --------------------------------------------------------------------------
   Butonlar
   ----------------------------------------------------------------------- */

.os-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 26px;
    border: 1px solid transparent;
    border-radius: var(--os-r-pill);
    background: var(--os-ink);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.005em;
    white-space: nowrap;   /* kural: buton yazısı asla iki satıra kaymaz; sığmıyorsa yazı kısaltılır ya da butonlar alt alta dizilir */
    cursor: pointer;
    transition: background-color 0.2s var(--os-ease), color 0.2s var(--os-ease), border-color 0.2s var(--os-ease), transform 0.2s var(--os-ease);
}

.os-btn .os-icon {
    width: 18px;
    height: 18px;
    transition: transform 0.2s var(--os-ease);
}

.os-btn:hover .os-icon {
    transform: translateX(3px);
}

.os-btn:hover .os-icon--down {
    transform: translateY(2px);
}

.os-btn--primary,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce .single_add_to_cart_button {
    background: var(--os-ink);
    color: #fff;
}

.os-btn--primary:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover {
    background: var(--os-night);
    color: #fff;
}

.os-btn--primary .os-icon {
    color: var(--os-cta);
}

.os-btn--navy,
.woocommerce a.button:not(.alt),
.woocommerce button.button:not(.alt) {
    background: var(--os-ink);
    color: #fff;
}

.os-btn--navy:hover,
.woocommerce a.button:not(.alt):hover,
.woocommerce button.button:not(.alt):hover {
    background: var(--os-ink-soft);
    color: #fff;
}

.os-btn--ghost,
.os-btn--outline {
    background: transparent;
    border-color: var(--os-line-strong);
    color: var(--os-ink);
}

.os-btn--ghost:hover,
.os-btn--outline:hover {
    border-color: var(--os-ink);
    background: var(--os-surface);
}

.os-btn--light {
    background: #fff;
    color: var(--os-ink);
}

/* WhatsApp eylemi (sipariş onayı / banka bilgisi): tanıdık yeşil */
.os-btn--wa {
    background: #1f8f4e;
    color: #fff;
}

.os-btn--wa:hover {
    background: #18773f;
    color: #fff;
}

.os-btn--wa .os-icon {
    color: #fff;
}

.os-btn--light:hover {
    background: var(--os-blush);
}

.os-btn--block {
    width: 100%;
}

.os-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--os-ink);
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

.os-link .os-icon {
    width: 18px;
    height: 18px;
    color: var(--os-cta);
    transition: transform 0.2s var(--os-ease);
}

.os-link:hover .os-icon {
    transform: translateX(3px);
}

.os-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: var(--os-r-pill);
    background: transparent;
    color: var(--os-ink);
    cursor: pointer;
}

.os-icon-btn:hover {
    background: var(--os-blush);
}

/* --------------------------------------------------------------------------
   Duyuru + Header
   ----------------------------------------------------------------------- */

.os-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgb(255 255 255 / 0.94);
    backdrop-filter: saturate(1.4) blur(14px);
    -webkit-backdrop-filter: saturate(1.4) blur(14px);
    border-bottom: 1px solid var(--os-line);
    transition: box-shadow 0.25s var(--os-ease);
}

.os-header.is-scrolled {
    box-shadow: var(--os-shadow-md);
}

.os-header__bar {
    display: flex;
    align-items: center;
    gap: 28px;
    height: var(--os-header-h);
}

.os-header__tools {
    display: none;
}

.os-header__menu {
    display: none;
    margin-left: -10px;
}

.os-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: none;
}

.os-logo .os-logo__img {
    display: block;
    width: auto;
    height: 42px;
    max-width: none;
}

.os-drawer__logo .os-logo__img {
    height: 34px;
}

.os-footer__logo .os-logo__img {
    height: 42px;
}

.os-search {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1;
    max-width: 560px;
    margin-inline: auto;
}

.os-search__icon {
    position: absolute;
    left: 18px;
    width: 19px;
    height: 19px;
    color: var(--os-muted);
    pointer-events: none;
}

.os-search input[type="search"] {
    width: 100%;
    height: 48px;
    padding: 0 92px 0 48px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-pill);
    background: var(--os-canvas);
    font-size: 15px;
    outline: none;
    transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
}

.os-search input[type="search"]::placeholder {
    color: #8a8f9d;
}

.os-search input[type="search"]:focus {
    border-color: var(--os-ink);
    background: #fff;
    box-shadow: 0 0 0 4px rgb(22 33 58 / 0.08);
}

.os-search__submit {
    position: absolute;
    right: 5px;
    height: 38px;
    padding: 0 18px;
    border: 0;
    border-radius: var(--os-r-pill);
    background: var(--os-ink);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.os-search__submit:hover {
    background: var(--os-ink-soft);
}

.os-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: none;
}

.os-actions__search {
    display: none;
}

.os-action {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    min-width: 64px;
    padding: 6px 8px;
    border-radius: var(--os-r-md);
    color: var(--os-ink);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.1;
}

.os-action:hover {
    background: var(--os-blush);
}

.os-action__icon {
    position: relative;
    display: inline-flex;
}

.os-cart-count {
    position: absolute;
    top: -6px;
    right: -9px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: var(--os-r-pill);
    background: var(--os-cta);
    color: var(--os-ink);
    font-size: 11px;
    font-weight: 800;
    line-height: 18px;
    text-align: center;
}

.os-cart-count.is-empty {
    display: none;
}

.os-nav {
    border-top: 1px solid var(--os-line);
}

/* Ana menü (masaüstü) */
.os-menu {
    list-style: none;
}

.os-menu__row {
    display: flex;
    align-items: center;
}

.os-menu__link {
    border: 0;
    background: none;
    font: inherit;
    cursor: pointer;
}

.os-menu--desktop {
    display: flex;
    align-items: center;
    gap: 4px;
    min-height: 50px;
}

.os-menu--desktop > .os-menu__item {
    position: relative;
}

.os-menu--desktop > .os-menu__item > .os-menu__link,
.os-menu--desktop > .os-menu__item > .os-menu__row > .os-menu__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 50px;
    padding: 0 14px;
    color: var(--os-ink-soft);
    font-size: 14.5px;
    font-weight: 600;
    white-space: nowrap;
}

.os-menu--desktop > .os-menu__item:first-child > .os-menu__link {
    padding-left: 0;
}

.os-menu--desktop > .os-menu__item > .os-menu__link::after,
.os-menu--desktop > .os-menu__item > .os-menu__row > .os-menu__link::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 2px;
    border-radius: 2px;
    background: var(--os-cta);
    transform: scaleX(0);
    transition: transform 0.25s var(--os-ease);
}

.os-menu--desktop > .os-menu__item:first-child > .os-menu__link::after {
    left: 0;
}

.os-menu--desktop > .os-menu__item > .os-menu__link:hover,
.os-menu--desktop > .os-menu__item.is-active > .os-menu__link,
.os-menu--desktop > .os-menu__item.is-active > .os-menu__row > .os-menu__link {
    color: var(--os-ink);
}

.os-menu--desktop > .os-menu__item > .os-menu__link:hover::after,
.os-menu--desktop > .os-menu__item.is-active > .os-menu__link::after,
.os-menu--desktop > .os-menu__item.is-active > .os-menu__row > .os-menu__link::after {
    transform: scaleX(1);
}

.os-menu--desktop .os-menu__toggle-label {
    padding-right: 4px !important;
}

.os-menu__toggle {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: var(--os-r-sm);
    background: none;
    color: var(--os-ink-soft);
    cursor: pointer;
}

.os-menu__toggle:hover {
    background: var(--os-blush);
    color: var(--os-ink);
}

.os-menu__toggle .os-icon {
    width: 18px;
    height: 18px;
    transition: transform 0.2s var(--os-ease);
}

[aria-expanded="true"].os-menu__toggle .os-icon {
    transform: rotate(180deg);
}

.os-menu--desktop > .os-menu__item--parent > .os-submenu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 45;
    min-width: 300px;
    padding: 8px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
    box-shadow: var(--os-shadow-lg);
    list-style: none;
}

.os-submenu {
    list-style: none;
}

.os-submenu[hidden] {
    display: none;
}

.os-submenu__item .os-menu__row {
    justify-content: space-between;
    gap: 8px;
}

.os-submenu__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex: 1;
    min-height: 44px;
    padding: 8px 12px;
    border-radius: var(--os-r-sm);
    color: var(--os-ink);
    font-size: 15px;
    font-weight: 600;
}

.os-submenu__link:hover,
.os-submenu__link.is-active {
    background: var(--os-canvas);
}

.os-submenu__link--brand {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.os-submenu__hint,
.os-submenu__count {
    color: var(--os-muted);
    font-size: 12.5px;
    font-weight: 500;
}

.os-submenu--series {
    margin: 2px 0 6px 12px;
    padding-left: 10px;
    border-left: 2px solid var(--os-blush-strong);
}

.os-submenu--series .os-submenu__link {
    min-height: 40px;
    font-size: 14.5px;
    font-weight: 500;
}

/* Mobil çekmece */
.os-drawer[hidden] {
    display: none;
}

.os-drawer {
    position: fixed;
    inset: 0;
    z-index: 60;
}

.os-drawer__backdrop {
    position: absolute;
    inset: 0;
    background: rgb(15 23 41 / 0.45);
    animation: os-fade 0.2s var(--os-ease);
}

.os-drawer__panel {
    position: absolute;
    inset: 0 auto 0 0;
    display: flex;
    flex-direction: column;
    width: min(88vw, 360px);
    background: var(--os-surface);
    box-shadow: var(--os-shadow-lg);
    animation: os-slide-in 0.28s var(--os-ease);
}

.os-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    padding: 0 12px 0 20px;
    border-bottom: 1px solid var(--os-line);
}

.os-drawer__nav {
    flex: 1;
    overflow-y: auto;
    padding: 8px 12px;
}

.os-menu--mobile > .os-menu__item > .os-menu__link,
.os-menu--mobile > .os-menu__item > .os-menu__row > .os-menu__link {
    display: flex;
    align-items: center;
    flex: 1;
    width: 100%;
    min-height: 52px;
    padding: 0 12px;
    border-radius: var(--os-r-sm);
    color: var(--os-ink);
    font-size: 16px;
    font-weight: 600;
    text-align: left;
}

.os-menu--mobile > .os-menu__item > .os-menu__link:hover,
.os-menu--mobile > .os-menu__item > .os-menu__row > .os-menu__link:hover {
    background: var(--os-canvas);
}

.os-menu--mobile > .os-menu__item.is-active > .os-menu__link {
    color: var(--os-cta);
}

.os-menu--mobile .os-menu__toggle {
    width: 44px;
    height: 44px;
}

.os-menu--mobile > .os-menu__item--parent > .os-submenu {
    margin: 2px 0 8px 12px;
    padding-left: 8px;
    border-left: 2px solid var(--os-line);
}

.os-drawer__foot {
    display: grid;
    gap: 4px;
    padding: 12px;
    border-top: 1px solid var(--os-line);
    background: var(--os-canvas);
}

.os-drawer__foot a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 12px;
    font-size: 15px;
    font-weight: 600;
}

@keyframes os-fade {
    from { opacity: 0; }
}

@keyframes os-slide-in {
    from { transform: translateX(-100%); }
}

/* --------------------------------------------------------------------------
   Bölümler
   ----------------------------------------------------------------------- */

.os-main {
    display: block;
}

.os-section {
    padding-block: clamp(56px, 8vw, 96px);
}

.os-section--tight {
    padding-block: clamp(32px, 5vw, 56px);
}

.os-section--blush {
    background: var(--os-blush);
}

.os-section__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: clamp(28px, 4vw, 44px);
}

.os-section__head--center {
    justify-content: center;
    text-align: center;
}

.os-section__head--center .os-section__lead {
    margin-inline: auto;
}

.os-section__title {
    margin-top: 10px;
    font-size: clamp(28px, 3.4vw, 42px);
    font-weight: 800;
    letter-spacing: -0.035em;
}

.os-section__title em,
.os-hero__title em {
    font-family: var(--os-serif);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.01em;
}

.os-section__lead {
    max-width: 52ch;
    margin-top: 12px;
    color: var(--os-muted);
    font-size: 17px;
}

/* --------------------------------------------------------------------------
   Hero
   ----------------------------------------------------------------------- */

.os-hero {
    position: relative;
    overflow: hidden;
    padding-block: clamp(32px, 5vw, 64px) clamp(48px, 6vw, 80px);
    background:
        radial-gradient(60% 70% at 85% 30%, var(--os-blush) 0%, transparent 70%),
        var(--os-canvas);
}

.os-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(32px, 6vw, 88px);
}

.os-hero__title {
    margin-top: 18px;
    font-size: clamp(40px, 5.6vw, 76px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.os-hero__title em {
    color: var(--os-cta);
    font-size: 1.1em;
    line-height: 0.9;
}

.os-hero__lead {
    max-width: 40ch;
    margin-top: 22px;
    color: var(--os-muted);
    font-size: clamp(16px, 1.4vw, 19px);
    line-height: 1.6;
}

.os-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.os-hero__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 40px;
    list-style: none;
    color: var(--os-muted);
    font-size: 14px;
}

.os-hero__facts li {
    padding-right: 24px;
    margin-right: 24px;
    border-right: 1px solid var(--os-line-strong);
}

.os-hero__facts li:last-child {
    border-right: 0;
    margin-right: 0;
    padding-right: 0;
}

.os-hero__facts strong {
    display: block;
    color: var(--os-ink);
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.1;
}

.os-hero__visual {
    position: relative;
    justify-self: end;
    width: 100%;
    max-width: 520px;
}

.os-hero__visual::before {
    content: "";
    position: absolute;
    inset: 28px -22px -22px 28px;
    border-radius: var(--os-r-xl);
    background: var(--os-blush-strong);
}

.os-hero__frame {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    max-height: 620px;
    border-radius: var(--os-r-xl);
    background: var(--os-blush);
}

.os-hero__frame picture {
    display: contents;
}

.os-hero__frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 40%;
}

.os-hero__card {
    position: absolute;
    left: -36px;
    bottom: 44px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 20px 10px 10px;
    border-radius: var(--os-r-lg);
    background: var(--os-surface);
    box-shadow: var(--os-shadow-lg);
    transition: transform 0.25s var(--os-ease);
}

.os-hero__card:hover {
    transform: translateY(-3px);
}

.os-hero__card-img img {
    width: 64px;
    height: 64px;
    border-radius: var(--os-r-md);
    object-fit: cover;
    object-position: 45% 60%;
}

.os-hero__card-body {
    display: grid;
    gap: 2px;
}

.os-hero__card-kicker {
    color: var(--os-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.os-hero__card-title {
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.os-hero__card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--os-cta);
    font-size: 13px;
    font-weight: 700;
}

.os-hero__card-link .os-icon {
    width: 15px;
    height: 15px;
}

/* --------------------------------------------------------------------------
   Hero slider
   ----------------------------------------------------------------------- */

.os-slider {
    background: var(--os-canvas);
}

.os-slider__track {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.os-slider__track::-webkit-scrollbar {
    display: none;
}

/* Banner görselleri 2560×800 (3,2:1) masaüstü, 1320×600 (2,2:1) mobil.
   Yüksekliği görselin kendisi belirler (width/height öznitelikleri oranı yükleme öncesinde de korur);
   Safari, kaydırılan flex öğelerinde aspect-ratio'yu güvenilir uygulamadığı için slayta oran verilmez. */
.os-slide {
    position: relative;
    flex: 0 0 100%;
    min-width: 0;
    overflow: hidden;
    background: var(--os-blush);
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.os-slide__link {
    display: block;
}

.os-slide__link:focus-visible {
    outline: 3px solid var(--os-brand);
    outline-offset: -3px;
}

.os-slide picture {
    display: block;
}

.os-slide img {
    display: block;
    width: 100%;
    height: auto;
    -webkit-user-drag: none;
}

.os-slider__stage {
    position: relative;
}

/* Oklar: yalnızca fareli cihazlarda, banner üzerine gelince belirir; dokunmatikte kaydırılır */
.os-slider__arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: none;
    place-items: center;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgb(255 255 255 / 0.9);
    color: var(--os-ink);
    box-shadow: 0 10px 28px -10px rgb(22 33 58 / 0.45);
    cursor: pointer;
    opacity: 0;
    transform: translateY(-50%) scale(0.92);
    transition: opacity 0.25s var(--os-ease), transform 0.25s var(--os-ease), background-color 0.2s var(--os-ease);
}

.os-slider__arrow--prev {
    left: clamp(12px, 2vw, 32px);
}

.os-slider__arrow--next {
    right: clamp(12px, 2vw, 32px);
}

.os-slider__arrow .os-icon {
    width: 22px;
    height: 22px;
    stroke-width: 2;
}

@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
    .os-slider__arrow {
        display: grid;
    }

    .os-slider__stage:hover .os-slider__arrow,
    .os-slider__stage:focus-within .os-slider__arrow {
        opacity: 1;
        transform: translateY(-50%) scale(1);
    }

    .os-slider__arrow:hover {
        background: #fff;
        transform: translateY(-50%) scale(1.06);
    }
}

.os-slider__nav {
    display: flex;
    justify-content: center;
    padding-block: 10px 6px;
}

.os-slider__dots {
    display: flex;
    list-style: none;
}

.os-slider__dot {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
}

.os-slider__dot::before {
    width: 8px;
    height: 8px;
    border-radius: var(--os-r-pill);
    background: var(--os-line-strong);
    content: "";
    transition: width 0.3s var(--os-ease), background-color 0.3s var(--os-ease);
}

.os-slider__dot:hover::before {
    background: var(--os-muted);
}

.os-slider__dot[aria-current="true"]::before {
    width: 24px;
    background: var(--os-ink);
}

@media (max-width: 760px) {

    .os-slider__nav {
        padding-block: 6px 2px;
    }
}

/* --------------------------------------------------------------------------
   Güven şeridi
   ----------------------------------------------------------------------- */

.os-trust {
    border-block: 1px solid var(--os-line);
    background: var(--os-surface);
}

.os-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.os-trust__item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 16px 20px;
    border-right: 1px solid var(--os-line);
}

.os-trust__item:first-child {
    padding-left: 0;
}

.os-trust__item:last-child {
    border-right: 0;
}

.os-trust__item > .os-icon {
    width: 38px;
    height: 38px;
    padding: 9px;
    border-radius: 50%;
    background: var(--os-blush);
    color: var(--os-cta);
}

.os-trust__item strong {
    display: block;
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.3;
}

.os-trust__item span {
    display: block;
    color: var(--os-muted);
    font-size: 13px;
    line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Seriler
   ----------------------------------------------------------------------- */

.os-series {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.os-series__tabs,
.os-link__short {
    display: none;
}

.os-series__card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 20px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: var(--os-surface);
    transition: border-color 0.25s var(--os-ease), box-shadow 0.25s var(--os-ease);
}

.os-series__card:hover {
    border-color: var(--os-line-strong);
    box-shadow: var(--os-shadow-md);
}

.os-series__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.os-series__name {
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.os-series__name a:hover {
    color: var(--os-cta);
}

.os-series__tag {
    padding: 5px 10px;
    border-radius: var(--os-r-pill);
    background: var(--os-blush);
    color: var(--os-cta-hover);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.os-series__shades {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    list-style: none;
}

.os-series__shade {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: var(--os-ink-soft);
    font-size: 13px;
    font-weight: 600;
}

.os-series__shade img,
.woocommerce .os-series__shade img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 702 / 491;
    object-fit: contain;
    border-radius: var(--os-r-sm);
    background: var(--os-blush);
    transition: box-shadow 0.2s var(--os-ease);
}

.os-series__shade:hover {
    color: var(--os-cta);
}

.os-series__shade:hover img {
    box-shadow: 0 0 0 2px var(--os-cta);
}

.os-series__text {
    color: var(--os-muted);
    font-size: 14px;
    line-height: 1.55;
}

.os-series__more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    color: var(--os-ink);
    font-size: 14px;
    font-weight: 700;
}

.os-series__more .os-icon {
    width: 16px;
    height: 16px;
    transition: transform 0.2s var(--os-ease);
}

.os-series__more:hover {
    color: var(--os-cta);
}

.os-series__more:hover .os-icon {
    transform: translateX(3px);
}

/* --------------------------------------------------------------------------
   Renk noktaları
   ----------------------------------------------------------------------- */

.os-dot {
    display: inline-block;
    flex: none;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--os-dot, #9aa0aa);
    box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.12);
}

.os-dot--lg {
    width: 22px;
    height: 22px;
}

.os-dot--yesil { --os-dot: #4a8b52; }
.os-dot--mavi { --os-dot: #4a6fa3; }
.os-dot--gri { --os-dot: #7a828c; }
.os-dot--ela { --os-dot: #a07a45; }
.os-dot--kahverengi { --os-dot: #7a4a28; }
.os-dot--zeytin-yesili { --os-dot: #6b7540; }
.os-dot--adacayi-yesili { --os-dot: #797f6b; }
.os-dot--mavi-yesil { --os-dot: #3f6e62; }

/* --------------------------------------------------------------------------
   Renge göre keşfet
   ----------------------------------------------------------------------- */

.os-colors {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 12px;
    list-style: none;
}

.os-colors__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 6px 4px;
    text-align: center;
}

.os-colors__lens {
    position: relative;
    display: block;
    overflow: hidden;
    width: min(100%, 112px);
    aspect-ratio: 1;
    margin-bottom: 8px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%, #111 0 17%, transparent 18%),
        repeating-conic-gradient(from 0deg, rgb(255 255 255 / 0.10) 0 4deg, transparent 4deg 9deg),
        radial-gradient(circle at 50% 50%, var(--os-dot, #8a8f9d) 0 46%, rgb(0 0 0 / 0.35) 47%, transparent 50%),
        #f4ece6;
    box-shadow: 0 0 0 4px #fff, var(--os-shadow-sm);
    transition: box-shadow 0.25s var(--os-ease), transform 0.25s var(--os-ease);
}

.os-colors__lens:has(img) {
    --os-tint: #fff;
    --os-tint: color-mix(in srgb, var(--os-dot, #8a8f9d) 18%, #fff);
    isolation: isolate;
    background: var(--os-tint);
    box-shadow: 0 0 0 4px var(--os-tint), var(--os-shadow-sm);
}

/* Lens görselinin beyaz zemini ve şeffaf orta kısmı, altındaki açık tonu alır */
.os-colors__lens img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: multiply;
}

.os-colors__lens--yesil { --os-dot: #4a8b52; }
.os-colors__lens--mavi { --os-dot: #4a6fa3; }
.os-colors__lens--gri { --os-dot: #7a828c; }
.os-colors__lens--ela { --os-dot: #a07a45; }
.os-colors__lens--kahverengi { --os-dot: #7a4a28; }
.os-colors__lens--zeytin-yesili { --os-dot: #6b7540; }
.os-colors__lens--adacayi-yesili { --os-dot: #797f6b; }
.os-colors__lens--mavi-yesil { --os-dot: #3f6e62; }

.os-colors__item:hover .os-colors__lens,
.os-colors__item:focus-visible .os-colors__lens {
    box-shadow: 0 0 0 4px var(--os-tint, #fff), 0 0 0 6px var(--os-dot, var(--os-cta));
    transform: translateY(-2px);
}

.os-colors__label {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
}

.os-colors__count {
    color: var(--os-muted);
    font-size: 12.5px;
}

/* --------------------------------------------------------------------------
   Ürün ızgarası + kart
   ----------------------------------------------------------------------- */

.os-grid,
.woocommerce ul.products.os-grid {
    display: grid;
    gap: 32px 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.os-grid::before,
.os-grid::after {
    content: none !important;
}

.os-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.os-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.os-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.woocommerce ul.products.os-grid li.product,
.os-card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0;
    float: none !important;
    text-align: left;
}

.os-card__media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 702 / 491;
    border-radius: var(--os-r-lg);
    background: var(--os-blush);
}

.os-card__media img,
.woocommerce ul.products li.product a img.os-card__img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: contain;
    border-radius: 0;
    box-shadow: none;
}

.os-card__badge {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 6px 11px;
    border-radius: var(--os-r-pill);
    background: var(--os-cta);
    color: var(--os-ink);
    font-size: 12px;
    font-weight: 700;
}

.os-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding-top: 14px;
}

.os-card__brand {
    color: var(--os-muted);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.os-card__title {
    margin-top: 4px;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
}

.os-card__title a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

.os-card:hover .os-card__title a {
    color: var(--os-cta);
}

.os-card__meta {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: var(--os-ink-soft);
    font-size: 13.5px;
    font-weight: 600;
    white-space: nowrap;
}

.os-card__price {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 10px;
}

.os-card__price > .amount,
.os-card__price > .woocommerce-Price-amount,
.os-card__price ins .amount {
    color: var(--os-ink);
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.os-card__price del {
    color: var(--os-muted);
    font-size: 14px;
    font-weight: 500;
}

.os-card__price ins {
    text-decoration: none;
}

.os-bundle-hint {
    display: block;
    color: var(--os-emerald);
    font-size: 12.5px;
    font-weight: 600;
    white-space: nowrap;
}

.os-bundle-hint strong,
.woocommerce ul.products li.product .os-bundle-hint strong {
    display: inline;
    font-weight: 800;
}

.os-card__actions {
    position: relative;
    z-index: 2;
    margin-top: auto;
    padding-top: 12px;
}

.os-card__actions .button,
.woocommerce ul.products li.product .os-card__actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 0 16px;
    border: 1px solid var(--os-ink);
    border-radius: var(--os-r-pill);
    background: var(--os-ink);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    transition: background-color 0.2s, border-color 0.2s;
}

.os-card__actions .button:hover,
.woocommerce ul.products li.product .os-card__actions .button:hover {
    border-color: var(--os-night);
    background: var(--os-night);
    color: #fff;
}

.os-card__actions .button.loading {
    opacity: 0.7;
    pointer-events: none;
}

.os-card__actions .button.added::after,
.os-card__actions .button.loading::after {
    position: static !important;
    margin-left: 8px;
    font-family: WooCommerce;
}

.os-card__actions .added_to_cart {
    display: none !important;
}

/* --------------------------------------------------------------------------
   Marka bölümü
   ----------------------------------------------------------------------- */

.os-brand {
    background: var(--os-ink);
    color: rgb(255 255 255 / 0.78);
    overflow: hidden;
}

.os-brand__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(32px, 6vw, 96px);
}

.os-brand__visual {
    position: relative;
    display: grid;
    place-items: center;
}

.os-brand__visual::before {
    content: "";
    position: absolute;
    width: 86%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgb(227 198 157 / 0.28) 0%, rgb(227 198 157 / 0) 68%);
}

.os-brand__visual img {
    position: relative;
    width: min(100%, 520px);
    filter: drop-shadow(0 30px 40px rgb(0 0 0 / 0.35));
}

.os-brand .os-section__title {
    color: #fff;
}

.os-brand .os-section__title em {
    color: var(--os-gold);
}

.os-brand__copy > p {
    max-width: 46ch;
    margin-top: 18px;
    font-size: 17px;
    line-height: 1.7;
}

.os-brand__list {
    display: grid;
    gap: 12px;
    margin: 28px 0 32px;
    list-style: none;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}

.os-brand__list li {
    display: flex;
    align-items: center;
    gap: 12px;
}

.os-brand__list .os-icon {
    width: 28px;
    height: 28px;
    padding: 6px;
    border-radius: 50%;
    background: rgb(227 198 157 / 0.16);
    color: var(--os-gold);
}

/* --------------------------------------------------------------------------
   Rehber + Kurumsal + Bülten
   ----------------------------------------------------------------------- */

.os-guides {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.os-guide {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 28px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: var(--os-surface);
    transition: border-color 0.25s var(--os-ease), transform 0.25s var(--os-ease);
}

.os-guide:hover {
    border-color: var(--os-cta);
    transform: translateY(-3px);
}

.os-guide__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 8px;
    border-radius: var(--os-r-md);
    background: var(--os-blush);
    color: var(--os-cta);
}

.os-guide__icon .os-icon {
    width: 22px;
    height: 22px;
}

.os-guide__title {
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
}

.os-guide__text {
    color: var(--os-muted);
    font-size: 15px;
}

.os-b2b {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: clamp(28px, 4vw, 48px);
    border-radius: var(--os-r-xl);
    background: var(--os-iris-soft);
}

.os-b2b__title {
    margin-top: 8px;
    font-size: clamp(24px, 2.6vw, 32px);
    font-weight: 800;
    letter-spacing: -0.03em;
}

.os-b2b p:not(.os-eyebrow) {
    max-width: 56ch;
    margin-top: 10px;
    color: var(--os-muted);
}

.os-b2b .os-btn {
    flex: none;
}

.os-newsletter {
    padding-block: 56px;
    border-top: 1px solid var(--os-line);
    background: var(--os-surface);
}

.os-newsletter__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 40px;
}

.os-newsletter__title {
    font-size: clamp(22px, 2.2vw, 28px);
    font-weight: 800;
    letter-spacing: -0.03em;
}

.os-newsletter__inner > div > p {
    margin-top: 8px;
    color: var(--os-muted);
}

.os-newsletter__row {
    display: flex;
    gap: 10px;
}

.os-newsletter__row input {
    flex: 1;
    min-width: 0;
    height: 52px;
    padding: 0 20px;
    border: 1px solid var(--os-line-strong);
    border-radius: var(--os-r-pill);
    background: var(--os-canvas);
    outline: none;
}

.os-newsletter__row input:focus {
    border-color: var(--os-ink);
    background: #fff;
    box-shadow: 0 0 0 4px rgb(22 33 58 / 0.08);
}

.os-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    color: var(--os-muted);
    font-size: 13px;
    line-height: 1.5;
}

.os-consent input {
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: var(--os-cta);
    flex: none;
}

.os-consent a {
    color: var(--os-ink);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.28em;
}

.os-form-note {
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: var(--os-r-sm);
    font-size: 14px;
    font-weight: 600;
}

.os-form-note.is-success {
    background: #e7f3ee;
    color: var(--os-emerald);
}

.os-form-note.is-error {
    background: #fbe9e5;
    color: var(--os-cta-hover);
}

/* --------------------------------------------------------------------------
   Footer
   ----------------------------------------------------------------------- */

.os-footer {
    background: var(--os-night);
    color: rgb(255 255 255 / 0.68);
    font-size: 15px;
}

.os-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
    gap: 40px;
    padding-block: 64px 48px;
}

.os-footer__brand p {
    max-width: 36ch;
    margin-top: 18px;
    line-height: 1.7;
}

.os-footer__mail {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    color: #fff;
    font-weight: 600;
}

.os-footer__mail .os-icon {
    width: 18px;
    height: 18px;
    color: var(--os-cta);
}

.os-footer__title {
    margin-bottom: 16px;
    color: rgb(255 255 255 / 0.45);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.os-footer ul {
    display: grid;
    gap: 10px;
    list-style: none;
}

.os-footer a:hover {
    color: #fff;
}

.os-footer__bottom {
    border-top: 1px solid rgb(255 255 255 / 0.08);
}

.os-footer__bottom-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
    padding-block: 22px;
    color: rgb(255 255 255 / 0.45);
    font-size: 13px;
}

/* Sağ alttaki WhatsApp / Instagram düğmeleri son satırın üstüne binmesin */
body:has(.os-float) .os-footer__bottom-inner {
    padding-right: 76px;
}

/* --------------------------------------------------------------------------
   Mağaza
   ----------------------------------------------------------------------- */

.os-shop-head {
    padding-block: 28px 36px;
    border-bottom: 1px solid var(--os-line);
    background:
        radial-gradient(50% 120% at 100% 0%, var(--os-blush) 0%, transparent 70%),
        var(--os-canvas);
}

.os-shop-head__title {
    margin-top: 14px;
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 800;
    letter-spacing: -0.035em;
}

.os-shop-head__lead {
    max-width: 62ch;
    margin-top: 10px;
    color: var(--os-muted);
    font-size: 16px;
}

.os-crumbs,
.woocommerce .os-crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: var(--os-muted);
    font-size: 13.5px;
}

.os-crumbs a:hover {
    color: var(--os-ink);
}

.os-crumbs__sep {
    color: var(--os-line-strong);
}

.os-shop {
    display: grid;
    grid-template-columns: 248px minmax(0, 1fr);
    align-items: start;
    gap: 48px;
    padding-block: 36px 88px;
}

.os-filters {
    position: sticky;
    top: calc(var(--os-header-h) + 70px);
    display: grid;
    gap: 28px;
}

.os-filters__head {
    display: none;
}

.os-filter__title {
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--os-muted);
}

.os-filter__list {
    display: grid;
    gap: 2px;
    list-style: none;
}

.os-filter__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 44px;
    padding: 0 12px;
    border-radius: var(--os-r-sm);
    font-size: 15px;
    font-weight: 600;
    color: var(--os-ink-soft);
}

.os-filter__link span {
    color: var(--os-muted);
    font-size: 13px;
    font-weight: 500;
}

.os-filter__link:hover {
    background: var(--os-surface);
}

.os-filter__link.is-active {
    background: var(--os-surface);
    color: var(--os-ink);
    box-shadow: inset 3px 0 0 var(--os-cta), var(--os-shadow-sm);
}

.os-filter__swatches {
    display: grid;
    gap: 2px;
    list-style: none;
}

.os-swatch-link {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    padding: 0 12px;
    border-radius: var(--os-r-sm);
    font-size: 15px;
    font-weight: 600;
    color: var(--os-ink-soft);
}

.os-swatch-link:hover {
    background: var(--os-surface);
}

.os-swatch-link.is-active {
    background: var(--os-surface);
    color: var(--os-ink);
    box-shadow: var(--os-shadow-sm);
}

.os-swatch-link.is-active .os-dot {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--os-ink);
}

.os-swatch-link__label {
    flex: 1;
}

.os-swatch-link__count {
    color: var(--os-muted);
    font-size: 13px;
    font-weight: 500;
}

.os-toolbar {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 28px;
}

.os-toolbar__filter {
    display: none;
    min-height: 44px;
    padding: 0 18px;
    font-size: 14px;
}

.os-toolbar__filter .os-icon {
    width: 18px;
    height: 18px;
}

.os-toolbar__count {
    color: var(--os-muted);
    font-size: 14px;
    font-weight: 600;
}

.os-toolbar .woocommerce-ordering {
    margin: 0 0 0 auto;
}

.os-toolbar select.orderby,
.woocommerce .os-toolbar .woocommerce-ordering select {
    height: 44px;
    padding: 0 42px 0 18px;
    border: 1px solid var(--os-line-strong);
    border-radius: var(--os-r-pill);
    background: var(--os-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316213a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center / 16px;
    font-size: 14px;
    font-weight: 600;
    appearance: none;
    cursor: pointer;
}

.os-filters__backdrop[hidden] {
    display: none;
}

.os-sort {
    position: relative;
    display: block;
}

.os-sort__face {
    display: none;
}

.os-shop-head__row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 16px;
}

.os-shop-head__count {
    display: none;
    color: var(--os-muted);
    font-size: 14px;
    font-weight: 600;
}

/* Telefondaki filtre panelinin alt çubuğu; masaüstünde yan sütunda gerekmez */
.os-filters__foot {
    display: none;
}

.os-empty-state {
    display: grid;
    justify-items: center;
    gap: 12px;
    padding: 64px 24px;
    border: 1px dashed var(--os-line-strong);
    border-radius: var(--os-r-lg);
    text-align: center;
}

.os-empty-state > .os-icon {
    width: 40px;
    height: 40px;
    color: var(--os-muted);
}

.os-empty-state p {
    max-width: 44ch;
    color: var(--os-muted);
}

.woocommerce nav.woocommerce-pagination {
    margin-top: 56px;
}

.woocommerce nav.woocommerce-pagination ul {
    display: flex;
    justify-content: center;
    gap: 8px;
    border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: grid;
    place-items: center;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    border-radius: var(--os-r-pill);
    color: var(--os-ink);
    font-weight: 700;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--os-surface);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--os-ink);
    color: #fff;
}

/* --------------------------------------------------------------------------
   Ürün sayfası
   ----------------------------------------------------------------------- */

.single-product .os-main > .os-container {
    padding-block: 24px 88px;
}

.single-product .os-crumbs {
    margin-bottom: 24px;
}

.woocommerce div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    column-gap: clamp(32px, 5vw, 72px);
    align-items: start;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
    float: none;
    width: auto;
    margin: 0;
}

.woocommerce div.product div.images {
    position: relative;
    min-width: 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    overflow: hidden;
    border-radius: var(--os-r-xl);
    background: var(--os-blush);
}

.woocommerce div.product div.images .flex-viewport {
    overflow: hidden;
    border-radius: var(--os-r-xl);
}

.woocommerce div.product div.images img {
    border-radius: 0;
}

.woocommerce div.product div.images .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 14px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
    width: 84px !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    aspect-ratio: 702 / 491;
    object-fit: cover;
    border-radius: var(--os-r-md);
    opacity: 0.6;
    transition: opacity 0.2s;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
    opacity: 1;
    box-shadow: 0 0 0 2px var(--os-ink);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    top: 16px;
    right: 16px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgb(255 255 255 / 0.92);
    box-shadow: var(--os-shadow-sm);
}

.woocommerce div.product div.summary {
    position: sticky;
    top: calc(var(--os-header-h) + 72px);
    min-width: 0;
}

.os-pdp__title {
    margin-top: 6px;
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.05;
}

.os-pdp__lead {
    margin: 8px 0 0;
    color: var(--os-muted);
    font-size: 13.5px;
    line-height: 1.45;
}

.woocommerce div.product .summary p.price,
.woocommerce div.product .summary span.price {
    margin: 18px 0 0;
    color: var(--os-ink);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.woocommerce div.product .summary .os-price-ask {
    display: inline-flex;
    padding: 6px 12px;
    border-radius: var(--os-r-pill);
    background: var(--os-surface);
    border: 1px solid var(--os-line);
    color: var(--os-ink-soft);
    font-size: 14px;
}

.os-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.os-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-pill);
    background: var(--os-surface);
    color: var(--os-ink-soft);
    font-size: 12.5px;
    font-weight: 600;
}

.os-chip .os-icon {
    width: 16px;
    height: 16px;
    color: var(--os-muted);
}

.os-shades {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--os-line);
}

.os-shades__label {
    color: var(--os-muted);
    font-size: 14px;
}

.os-shades__label strong {
    color: var(--os-ink);
}

.os-shades__list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
    list-style: none;
}

.os-shade {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 68px;
    color: var(--os-muted);
    font-size: 12.5px;
    font-weight: 600;
    text-align: center;
}

.os-shade img,
.woocommerce .os-shade img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 0 1px var(--os-line-strong);
    transition: box-shadow 0.2s, transform 0.2s;
}

.os-shade:hover img {
    transform: translateY(-2px);
}

.os-shade.is-active {
    color: var(--os-ink);
}

.os-shade.is-active img {
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--os-cta);
}

.os-shades__label span {
    color: var(--os-muted);
}

/* Kutu seçenekleri */
.os-offer {
    margin-top: 14px;
}

.os-offer__label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    color: var(--os-ink);
    font-size: 14px;
    font-weight: 700;
}

.os-offer__label span {
    color: var(--os-muted);
    font-size: 13px;
    font-weight: 500;
}

.os-offer__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.os-offer__opt {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    min-height: 0;
    padding: 10px 12px;
    border: 1.5px solid var(--os-line-strong);
    border-radius: var(--os-r-md);
    background: #fff;
    color: var(--os-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.os-offer__opt:hover {
    border-color: var(--os-ink);
}

.os-offer__opt.is-active {
    border-color: var(--os-cta);
    box-shadow: 0 0 0 3px rgb(252 105 20 / 0.14);
}

.os-offer__name {
    font-size: 14px;
    font-weight: 700;
}

.os-offer__price {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.os-offer__unit {
    color: var(--os-emerald);
    font-size: 12.5px;
    font-weight: 700;
}

.os-offer__badge {
    position: absolute;
    top: -10px;
    right: 12px;
    padding: 3px 9px;
    border-radius: var(--os-r-pill);
    background: var(--os-emerald);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.os-offer__note {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    color: var(--os-muted);
    font-size: 13px;
    line-height: 1.5;
}

.os-offer__note .os-icon {
    flex: none;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    color: var(--os-emerald);
}

.os-chip--ok {
    border-color: #cfe5da;
    background: #eef7f2;
    color: var(--os-emerald);
}

.os-chip--ok .os-icon {
    color: var(--os-emerald);
}

.os-pdp__head .os-eyebrow a:hover {
    text-decoration: underline;
}

.os-pdp__wa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 44px;
    margin-top: 10px;
    border: 1px solid var(--os-line-strong);
    border-radius: var(--os-r-pill);
    background: var(--os-surface);
    color: var(--os-ink);
    font-size: 15px;
    font-weight: 700;
}

.os-pdp__wa:hover {
    border-color: var(--os-ink);
}

.os-pdp__wa .os-icon {
    color: #1f8f4e;
}

.os-pdp__wa .os-icon {
    width: 20px;
    height: 20px;
}

/* Sepet kampanya bildirimi */
.os-bundle-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 20px;
    padding: 14px 16px;
    border: 1px dashed var(--os-cta);
    border-radius: var(--os-r-md);
    background: #fff6ef;
    color: var(--os-ink-soft);
    font-size: 14.5px;
    line-height: 1.5;
}

.os-bundle-note .os-icon {
    flex: none;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    color: var(--os-cta);
}

.os-bundle-note.is-active {
    border-style: solid;
    border-color: #cfe5da;
    background: #eef7f2;
}

.os-bundle-note.is-active .os-icon {
    color: var(--os-emerald);
}

.os-perks {
    display: grid;
    margin: 14px 0 0;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-md);
    background: var(--os-surface);
}

.os-perks .os-perk {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: none;
}

.os-perks .os-perk + .os-perk {
    border-top: 1px solid var(--os-line);
}

/* Tek satır: ikon + kalın başlık + kısa açıklama (sepet ve ödemede tek başına da kullanılır) */
.os-perk {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 8px;
    padding: 10px 12px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-md);
    background: var(--os-surface);
}

.os-perk__icon {
    display: grid;
    flex: none;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--os-blush);
    color: var(--os-cta);
}

.os-perk__icon .os-icon {
    width: 16px;
    height: 16px;
}

.os-perk__body {
    flex: 1;
    min-width: 0;
    color: var(--os-muted);
    font-size: 13.5px;
    line-height: 1.35;
}

.os-perk__body strong {
    margin-right: 4px;
    color: var(--os-ink);
    font-weight: 800;
}

.os-perk__thumbs {
    display: flex;
    flex: none;
    gap: 6px;
}

.os-perk__thumbs img {
    width: 40px;
    height: 40px;
    padding: 2px;
    object-fit: contain;
    border: 1px solid var(--os-line);
    border-radius: 8px;
    background: #fff;
}

.os-ask {
    display: grid;
    gap: 14px;
    margin-top: 28px;
    padding: 20px;
    border-radius: var(--os-r-lg);
    background: var(--os-blush);
}

.os-ask p {
    color: var(--os-ink-soft);
    font-size: 15px;
}

.woocommerce div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 10px 0 0;
}

.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after {
    content: none;
}

.woocommerce div.product form.cart div.quantity {
    float: none;
    margin: 0;
}

.woocommerce div.product form.cart .quantity .qty {
    width: 84px;
    height: 52px;
    border: 1px solid var(--os-line-strong);
    border-radius: var(--os-r-pill);
    background: #fff;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
    flex: 1;
    float: none;
    min-height: 52px;
}

.os-seller {
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-md);
    background: var(--os-surface);
}

.os-seller__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
}

.os-seller__label {
    color: var(--os-muted);
    font-size: 14px;
}

.os-seller__name {
    font-size: 16px;
}

.os-seller__badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: auto;
    padding: 4px 10px;
    border-radius: var(--os-r-pill);
    background: var(--os-blush);
    color: var(--os-ink);
    font-size: 12px;
    font-weight: 700;
}

.os-seller__badge .os-icon {
    color: var(--os-cta);
    width: 14px;
    height: 14px;
}

.os-seller__perks {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--os-line);
    list-style: none;
    color: var(--os-ink-soft);
    font-size: 14px;
}

.os-seller__perks li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.os-seller__perks .os-icon {
    width: 18px;
    height: 18px;
    color: var(--os-cta);
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells {
    grid-column: 1 / -1;
}

.woocommerce div.product .woocommerce-tabs {
    margin-top: 72px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 4px;
    margin: 0 0 32px;
    padding: 0;
    overflow-x: auto;
    border-bottom: 1px solid var(--os-line);
    scrollbar-width: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 14px 18px;
    color: var(--os-muted);
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--os-ink);
    box-shadow: inset 0 -2px 0 var(--os-cta);
}

.woocommerce div.product .woocommerce-tabs .panel {
    max-width: 820px;
    margin: 0;
    color: var(--os-ink-soft);
    font-size: 16px;
    line-height: 1.75;
}

.woocommerce div.product .woocommerce-tabs .panel h3 {
    margin: 28px 0 10px;
    font-size: 18px;
    font-weight: 700;
}

.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol {
    padding-left: 20px;
}

.woocommerce table.shop_attributes {
    border: 0;
    border-collapse: collapse;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
    padding: 14px 0;
    border: 0;
    border-bottom: 1px solid var(--os-line);
    background: none !important;
    font-style: normal;
    text-align: left;
}

.woocommerce table.shop_attributes th {
    width: 200px;
    color: var(--os-muted);
    font-weight: 600;
}

.woocommerce table.shop_attributes td p {
    margin: 0;
    padding: 0;
}

.os-care {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.os-care > div {
    padding: 22px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: var(--os-surface);
}

.os-care h3 {
    margin-top: 0 !important;
}

.os-care li + li {
    margin-top: 6px;
}

.woocommerce div.product .woocommerce-tabs .panel.woocommerce-Tabs-panel--os_care {
    max-width: none;
}

.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
    margin: 88px 0 28px;
    font-size: clamp(24px, 2.6vw, 32px);
    font-weight: 800;
    letter-spacing: -0.03em;
}

.woocommerce #reviews #comments h2,
.woocommerce #review_form #respond .comment-reply-title {
    font-size: 18px;
    font-weight: 700;
}

/* --------------------------------------------------------------------------
   Sayfalar, formlar, bildirimler
   ----------------------------------------------------------------------- */

.os-page {
    padding-block: 40px 96px;
}

.os-page__head {
    max-width: 820px;
    margin-bottom: 32px;
}

.os-page--wide .os-page__head {
    max-width: none;
}

.os-page__title {
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 800;
    letter-spacing: -0.035em;
}

.os-prose {
    max-width: 760px;
    color: var(--os-ink-soft);
    font-size: 17px;
    line-height: 1.8;
}

.os-prose > * + * {
    margin-top: 1em;
}

.os-prose h2 {
    margin-top: 2em;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.os-prose h3 {
    margin-top: 1.6em;
    font-size: 20px;
    font-weight: 700;
}

.os-prose ul,
.os-prose ol {
    padding-left: 22px;
}

.os-prose li + li {
    margin-top: 0.4em;
}

/* Kural: metin içi bağlantı (e-posta dahil) altı çizgisiz, renkli ve kalın; çizgi yalnız üzerine gelince, harflerin altından geçer */
.os-prose a:not(.os-btn),
.os-auth__b2b a {
    color: var(--os-cta);
    font-weight: 600;
    text-decoration: none;
}

.os-prose a:not(.os-btn):hover,
.os-prose a:not(.os-btn):focus-visible,
.os-auth__b2b a:hover,
.os-auth__b2b a:focus-visible {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.28em;
}

.os-prose .wp-block-group,
.os-prose .os-callout {
    padding: 24px;
    border-radius: var(--os-r-lg);
    background: var(--os-blush);
}

.os-main input[type="text"],
.os-main input[type="email"],
.os-main input[type="password"],
.os-main input[type="tel"],
.os-main input[type="number"],
.os-main input[type="search"]:not(#os-search-input),
.os-main select:not(.orderby),
.os-main textarea {
    width: 100%;
    min-height: 50px;
    padding: 12px 16px;
    border: 1px solid var(--os-line-strong);
    border-radius: var(--os-r-md);
    background: #fff;
    font-size: 15px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.os-main input:focus,
.os-main select:focus,
.os-main textarea:focus {
    border-color: var(--os-ink);
    box-shadow: 0 0 0 4px rgb(22 33 58 / 0.08);
}

.woocommerce form .form-row label,
.os-main label {
    font-size: 14px;
    font-weight: 600;
}

.os-main input[type="checkbox"],
.os-main input[type="radio"] {
    accent-color: var(--os-ink);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper > div {
    border-top: 0 !important;
    border-left: 4px solid var(--os-ink) !important;
    border-radius: var(--os-r-md);
    background: var(--os-surface) !important;
    box-shadow: var(--os-shadow-sm);
    color: var(--os-ink) !important;
}

.woocommerce-message,
.woocommerce-info {
    padding: 16px 20px !important;
    line-height: 1.55;
}

/* WooCommerce ikon fontu kutu olarak görünüyor; sol çizgi yeterli. */
.woocommerce-message::before,
.woocommerce-info::before {
    display: none !important;
}

.woocommerce-message:has(> .button),
.woocommerce-info:has(> .button) {
    display: flex;
    align-items: center;
    gap: 12px 20px;
}

.woocommerce-message:has(> .button)::after,
.woocommerce-info:has(> .button)::after {
    display: none;
}

.woocommerce-message > .button,
.woocommerce-info > .button {
    order: 2;
    float: none !important;
    flex: none;
    margin: 0 0 0 auto !important;
}

@media (max-width: 640px) {
    .woocommerce-message:has(> .button),
    .woocommerce-info:has(> .button) {
        flex-wrap: wrap;
    }

    .woocommerce-message > .button,
    .woocommerce-info > .button {
        width: 100%;
        margin: 0 !important;
    }
}

.woocommerce-error {
    border-left-color: var(--os-cta) !important;
}

/* WooCommerce bildirime ekran okuyucu için odaklanır; görsel çerçeve hata gibi görünür. */
.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus,
.woocommerce-notices-wrapper > div:focus {
    outline: none;
}

/* WooCommerce blok sepet / ödeme */
.wc-block-components-button:not(.is-link),
.wp-element-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    min-height: 52px;
    border-radius: var(--os-r-pill) !important;
    background: var(--os-ink) !important;
    color: #fff !important;
    font-weight: 700 !important;
}

.wc-block-components-button:not(.is-link):hover,
.wp-element-button:hover {
    background: var(--os-night) !important;
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input {
    border-radius: var(--os-r-md) !important;
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
    font-family: var(--os-font);
}

.wc-block-components-sidebar-layout .wc-block-components-sidebar {
    padding: 24px;
    border-radius: var(--os-r-lg);
    background: var(--os-surface);
}

/* --------------------------------------------------------------------------
   Yüzen butonlar, bildirim, 404, SEO metni, sepet ve ödeme
   ----------------------------------------------------------------------- */

.os-float {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 50;
    display: grid;
    gap: 10px;
}

.os-float__btn {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    color: #fff;
    box-shadow: var(--os-shadow-md);
    transition: transform 0.2s var(--os-ease);
}

.os-float__btn:hover {
    transform: scale(1.06);
}

.os-float__btn .os-icon {
    width: 26px;
    height: 26px;
}

.os-float__btn--ig {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}

.os-float__btn--wa {
    background: #25d366;
    box-shadow: 0 10px 24px rgb(37 211 102 / 0.35);
}

/* Telefonda sepet ve ödemede yüzen butonlar ürün satırının, alanların ve alttaki ödeme çubuğunun üstüne biner */
@media (max-width: 760px) {
    .woocommerce-cart .os-float,
    .woocommerce-checkout .os-float {
        display: none;
    }
}

.os-totop {
    position: fixed;
    right: 23px;
    bottom: 148px;
    z-index: 49;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--os-line);
    border-radius: 50%;
    background: #fff;
    color: var(--os-ink);
    box-shadow: var(--os-shadow-md);
    cursor: pointer;
}

body:not(:has(.os-float)) .os-totop {
    bottom: 24px;
}

.os-totop[hidden] {
    display: none;
}

.os-totop .os-icon {
    width: 20px;
    height: 20px;
}

.os-toast {
    position: fixed;
    left: 50%;
    bottom: 24px;
    z-index: 70;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: min(92vw, 380px);
    padding: 12px 12px 12px 16px;
    border-radius: var(--os-r-lg);
    background: var(--os-night);
    color: #fff;
    box-shadow: var(--os-shadow-lg);
    transform: translateX(-50%);
    animation: os-toast-in 0.25s var(--os-ease);
}

.os-toast[hidden] {
    display: none;
}

.os-toast__icon {
    display: grid;
    flex: none;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--os-emerald);
}

.os-toast__icon .os-icon {
    width: 16px;
    height: 16px;
}

.os-toast__text {
    flex: 1;
    font-size: 14.5px;
    font-weight: 600;
}

.os-toast__link {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 16px;
    border-radius: var(--os-r-pill);
    background: #fff;
    color: var(--os-ink);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

@keyframes os-toast-in {
    from { opacity: 0; translate: 0 12px; }
}

.os-404 {
    padding-block: 96px 120px;
    text-align: center;
}

.os-404__inner {
    max-width: 640px;
}

.os-404__title {
    margin: 10px 0 14px;
    font-size: clamp(30px, 4vw, 44px);
    font-weight: 800;
    letter-spacing: -0.03em;
}

.os-404 p {
    color: var(--os-muted);
}

.os-404__search {
    display: flex;
    gap: 10px;
    margin-top: 28px;
}

.os-404__search input {
    flex: 1;
    min-width: 0;
    height: 52px;
    padding: 0 20px;
    border: 1px solid var(--os-line-strong);
    border-radius: var(--os-r-pill);
    font-size: 16px;
}

.os-404__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
}

.os-seo-text {
    padding-block: 56px 72px;
    border-top: 1px solid var(--os-line);
    background: var(--os-surface);
}

.os-seo-text .os-prose {
    max-width: 860px;
}

.os-prose details {
    margin-top: 10px;
    padding: 14px 18px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-md);
    background: #fff;
}

.os-prose summary {
    font-weight: 700;
    cursor: pointer;
}

.os-prose details p {
    margin-top: 8px;
}

.os-filter__sub {
    margin: 2px 0 6px 12px;
    padding-left: 10px;
    border-left: 2px solid var(--os-line);
    list-style: none;
}

.os-filter__sub .os-filter__link {
    min-height: 38px;
    font-size: 14px;
}

.os-callout > * + * {
    margin-top: 16px;
}

/* Kural: yan yana ya da alt alta, gruptaki butonlar aynı boyda ve aynı genişlikte */
.os-callout__actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
    max-width: 470px;
}

.os-callout__actions .os-icon {
    width: 18px;
    height: 18px;
}

/* --------------------------------------------------------------------------
   Satın alma akışı: adımlar, sepet, ödeme, onay
   ----------------------------------------------------------------------- */

.os-page--flow {
    padding-block: 28px 88px;
}

.os-flowhead {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    margin-bottom: 28px;
}

.os-page--flow:has(.os-thanks) .os-flowhead {
    justify-content: center;
}

.os-flowhead__title {
    font-size: clamp(26px, 2.6vw, 34px);
    font-weight: 800;
    letter-spacing: -0.03em;
}

.os-steps {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.os-steps__item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--os-muted);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.os-steps__item + .os-steps__item::before {
    content: "";
    width: 32px;
    height: 1px;
    background: var(--os-line-strong);
}

.os-steps__item a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: inherit;
}

.os-steps__item a:hover {
    color: var(--os-ink);
}

.os-steps__dot {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border: 1px solid var(--os-line-strong);
    border-radius: 50%;
    background: #fff;
    font-size: 12.5px;
    font-weight: 800;
}

.os-steps__dot .os-icon {
    width: 14px;
    height: 14px;
}

.os-steps__item.is-current {
    color: var(--os-ink);
}

.os-steps__item.is-current .os-steps__dot {
    border-color: var(--os-ink);
    background: var(--os-ink);
    color: #fff;
}

.os-steps__item.is-done {
    color: var(--os-ink-soft);
}

.os-steps__item.is-done .os-steps__dot {
    border-color: var(--os-emerald);
    background: var(--os-emerald);
    color: #fff;
}

/* Kampanya notu (sepet ve ödeme özeti) */
.os-bundle-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-radius: var(--os-r-md);
    background: var(--os-blush);
    color: var(--os-ink-soft);
    font-size: 14px;
    line-height: 1.5;
}

.os-bundle-note .os-icon {
    flex: none;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    color: var(--os-cta);
}

.os-bundle-note strong {
    color: var(--os-ink);
}

.os-bundle-note.is-active {
    background: #e9f4ee;
}

.os-bundle-note.is-active .os-icon {
    color: var(--os-emerald);
}

/* Sepet */
.os-cart {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 32px;
    align-items: start;
}

.os-cart__main {
    min-width: 0;
}

.os-cart__main > .os-bundle-note {
    margin-bottom: 16px;
}

.os-cart__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.os-cart__title {
    font-size: 17px;
    font-weight: 800;
}

.os-cart__title span {
    margin-left: 6px;
    color: var(--os-muted);
    font-size: 14px;
    font-weight: 600;
}

.os-cart__continue {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--os-ink-soft);
    font-size: 14px;
    font-weight: 700;
}

.os-cart__continue:hover {
    color: var(--os-cta);
}

.os-cart__continue .os-icon {
    width: 16px;
    height: 16px;
}

.os-cart__items {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.os-line {
    position: relative;
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr) auto auto;
    grid-template-areas: "media info qty total";
    align-items: center;
    gap: 20px;
    padding: 16px 60px 16px 16px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
}

.os-line__media {
    grid-area: media;
}

.os-line__media img,
.woocommerce .os-line__media img {
    display: block;
    width: 112px;
    height: auto;
    aspect-ratio: 702 / 491;
    object-fit: cover;
    border-radius: 12px;
    background: var(--os-canvas);
}

.os-line__info {
    display: flex;
    grid-area: info;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.os-line__brand {
    color: var(--os-muted);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.os-line__name {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.os-line__name a {
    color: var(--os-ink);
}

.os-line__name a:hover {
    color: var(--os-cta);
}

.os-line__meta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--os-ink-soft);
    font-size: 13.5px;
}

.os-line__unit {
    margin-top: 2px;
    color: var(--os-muted);
    font-size: 13.5px;
}

.os-line__unit del {
    margin-right: 4px;
}

.os-line__unit ins {
    color: var(--os-ink);
    font-weight: 700;
    text-decoration: none;
}

.os-line__unit small {
    font-size: 12.5px;
}

.os-line__qty {
    grid-area: qty;
}

.os-line__single {
    color: var(--os-ink-soft);
    font-size: 14px;
    font-weight: 600;
}

.os-line__total {
    grid-area: total;
    min-width: 92px;
    font-size: 17px;
    font-weight: 800;
    text-align: right;
}

.os-line__remove {
    position: absolute;
    top: 50%;
    right: 12px;
    translate: 0 -50%;
}

.woocommerce .os-line__remove a.remove {
    width: 38px;
    height: 38px;
    font-size: 0;
}

.os-line__remove a.remove span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.os-line__remove .os-icon {
    width: 18px;
    height: 18px;
}

.os-qty {
    display: inline-flex;
    align-items: center;
    height: 44px;
    border: 1px solid var(--os-line-strong);
    border-radius: var(--os-r-pill);
    background: #fff;
    overflow: hidden;
}

.os-qty:focus-within {
    border-color: var(--os-ink);
}

.os-qty__btn {
    display: grid;
    place-items: center;
    width: 40px;
    height: 100%;
    border: 0;
    background: transparent;
    color: var(--os-ink);
    cursor: pointer;
}

.os-qty__btn:hover {
    background: var(--os-canvas);
}

.os-qty__btn .os-icon {
    width: 16px;
    height: 16px;
}

.os-main .os-qty .os-qty__input {
    width: 40px;
    min-height: 0;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    -moz-appearance: textfield;
    appearance: textfield;
}

.os-qty__input::-webkit-outer-spin-button,
.os-qty__input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.os-cart__actions {
    margin-top: 14px;
}

.os-cart__update {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.os-coupon {
    border: 1px dashed var(--os-line-strong);
    border-radius: var(--os-r-lg);
    background: #fff;
}

.os-coupon summary,
.os-note summary {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    list-style: none;
}

.os-coupon summary::-webkit-details-marker,
.os-note summary::-webkit-details-marker {
    display: none;
}

.os-coupon summary {
    min-height: 54px;
    padding: 0 18px;
    font-size: 14.5px;
    font-weight: 700;
}

.os-coupon summary .os-icon {
    width: 18px;
    height: 18px;
    color: var(--os-cta);
}

.os-coupon summary .os-coupon__chev {
    margin-left: auto;
    color: var(--os-muted);
    transition: transform 0.2s var(--os-ease);
}

.os-coupon[open] .os-coupon__chev {
    transform: rotate(180deg);
}

.os-coupon__row {
    display: flex;
    gap: 10px;
    padding: 0 18px 18px;
}

.os-main .os-coupon__row input {
    flex: 1;
    min-height: 48px;
}

.os-coupon__row .os-btn {
    min-height: 48px;
    padding: 0 22px;
}

/* Sipariş özeti kartı */
.woocommerce .cart-collaterals,
.woocommerce .os-cart .cart-collaterals .cart_totals {
    float: none;
    width: auto;
}

.os-cart__aside {
    position: sticky;
    top: calc(var(--os-header-h) + 70px);
}

.os-summary {
    padding: 24px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
    box-shadow: var(--os-shadow-sm);
}

.os-summary__title,
.os-osum__title {
    margin-bottom: 12px;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.woocommerce table.os-summary__table {
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    border-collapse: collapse;
    background: transparent;
}

.woocommerce table.os-summary__table th,
.woocommerce table.os-summary__table td {
    padding: 7px 0;
    border: 0;
    background: transparent;
    color: var(--os-ink-soft);
    font-size: 14.5px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    vertical-align: top;
}

.woocommerce table.os-summary__table th {
    white-space: nowrap;
}

.woocommerce table.os-summary__table td {
    color: var(--os-ink);
    font-weight: 600;
    text-align: right;
}

.os-summary__muted {
    color: var(--os-muted);
}

.woocommerce table.os-summary__table .os-summary__saving th,
.woocommerce table.os-summary__table .os-summary__saving td {
    color: var(--os-emerald);
    font-weight: 700;
}

.os-summary__note {
    margin: 10px 0 0;
    color: var(--os-muted);
    font-size: 13px;
    line-height: 1.5;
}

.os-track__help {
    margin: 14px 0 0;
    color: var(--os-ink-soft);
    font-size: 14px;
}

.os-track__help a {
    color: var(--os-cta);
    font-weight: 700;
}

.woocommerce table.os-summary__table .os-summary__free td {
    color: var(--os-emerald);
    font-weight: 700;
}

.woocommerce table.os-summary__table .os-summary__free td del {
    margin-right: 6px;
    color: var(--os-muted);
    font-weight: 500;
    opacity: 1;
}

.woocommerce table.os-summary__table .order-total th,
.woocommerce table.os-summary__table .order-total td {
    padding-top: 14px;
    border-top: 1px solid var(--os-line);
    color: var(--os-ink);
    font-size: 16px;
    font-weight: 800;
    vertical-align: middle;
}

.woocommerce table.os-summary__table .order-total td strong {
    font-size: 22px;
    letter-spacing: -0.02em;
}

.woocommerce table.os-summary__table .order-total small {
    display: block;
    color: var(--os-muted);
    font-size: 12px;
    font-weight: 500;
}

.woocommerce table.os-summary__table .woocommerce-shipping-totals td,
.woocommerce table.os-summary__table .shipping td {
    font-size: 13.5px;
    font-weight: 500;
}

.woocommerce table.os-summary__table #shipping_method {
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce .os-summary .wc-proceed-to-checkout {
    margin-top: 18px;
    padding: 0;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 56px;
    margin: 0;
    padding: 0 24px;
    font-size: 16px;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button .os-icon {
    width: 18px;
    height: 18px;
}

.os-summary__trust {
    display: grid;
    gap: 10px;
    margin: 18px 0 0;
    padding: 16px 0 0;
    border-top: 1px solid var(--os-line);
    list-style: none;
}

.os-summary__trust li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--os-ink-soft);
    font-size: 13.5px;
}

.os-summary__trust .os-icon {
    flex: none;
    width: 18px;
    height: 18px;
    color: var(--os-emerald);
}

.os-paybar {
    display: none;
}

/* Boş sepet */
.os-empty {
    max-width: 580px;
    margin: 8px auto 0;
    padding: 48px 28px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
    color: var(--os-muted);
    text-align: center;
}

.os-empty__icon {
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: var(--os-blush);
    color: var(--os-cta);
}

.os-empty__icon .os-icon {
    width: 30px;
    height: 30px;
}

.os-empty__title {
    color: var(--os-ink);
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.os-empty__text {
    margin: 8px auto 24px;
    max-width: 420px;
    font-size: 15.5px;
    line-height: 1.6;
}

.os-empty__colors {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--os-line);
}

.os-empty__label {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.os-empty__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
}

.os-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--os-line-strong);
    border-radius: var(--os-r-pill);
    background: #fff;
    color: var(--os-ink);
    font-size: 14px;
    font-weight: 600;
}

.os-chip:hover {
    border-color: var(--os-ink);
}

/* Ödeme sayfası: sade üst ve alt bilgi */
.os-focusbar {
    position: sticky;
    top: 0;
    z-index: 40;
    border-bottom: 1px solid var(--os-line);
    background: #fff;
}

.os-focusbar__inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 16px;
    min-height: var(--os-header-h);
}

.os-focusbar__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
}

.os-focusbar__back {
    justify-self: start;
    color: var(--os-ink-soft);
}

.os-focusbar__back:hover {
    color: var(--os-ink);
}

.os-focusbar .os-icon {
    width: 18px;
    height: 18px;
}

.os-focusbar__logo .os-logo__img {
    width: auto;
    height: 42px;
}

.os-focusfoot {
    border-top: 1px solid var(--os-line);
    background: #fff;
}

.os-focusfoot__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
    padding-block: 22px;
    color: var(--os-muted);
    font-size: 13.5px;
}

.os-focusfoot nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}

.os-focusfoot a:hover {
    color: var(--os-ink);
}

/* Ödeme */
.os-checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    grid-template-areas:
        "notice notice"
        "main aside";
    column-gap: 32px;
    row-gap: 0;
    align-items: start;
}

.os-checkout > .woocommerce-NoticeGroup {
    grid-area: notice;
    margin-bottom: 20px;
}

.os-checkout__main {
    display: grid;
    grid-area: main;
    gap: 20px;
    min-width: 0;
}

.os-checkout__aside {
    position: sticky;
    top: 96px;
    grid-area: aside;
}

.os-panel {
    padding: 28px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
}

.os-panel__head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
}

.os-panel__num {
    display: grid;
    flex: none;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--os-ink);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.os-panel__title {
    font-size: 19px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.os-panel__sub {
    margin-top: 2px;
    color: var(--os-muted);
    font-size: 14px;
}

.os-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.os-fields::before,
.os-fields::after,
.os-fields > .clear {
    display: none;
}

.woocommerce form .os-fields .form-row {
    grid-column: 1 / -1;
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
}

.woocommerce form .os-fields .form-row-first,
.woocommerce form .os-fields .form-row-last {
    grid-column: span 1;
}

/* WooCommerce adres betiği alana satır içi display: block yazar. */
.woocommerce form .os-fields .os-field--hidden,
.woocommerce form .os-fields #billing_country_field,
.woocommerce form .os-fields #shipping_country_field {
    display: none !important;
}

.woocommerce form .form-row .required {
    color: var(--os-cta);
    text-decoration: none;
}

.woocommerce form .form-row .optional {
    color: var(--os-muted);
    font-weight: 500;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-account .select2-container .select2-selection--single {
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid var(--os-line-strong);
    border-radius: var(--os-r-md);
    background: #fff;
    font-size: 16px;
}

.woocommerce form .form-row textarea {
    min-height: 96px;
}

.woocommerce form .form-row select,
.os-main select:not(.orderby) {
    padding-right: 42px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2316213a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' 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;
    -webkit-appearance: none;
    appearance: none;
}

.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-account .select2-container .select2-selection--single {
    display: flex;
    align-items: center;
    height: 50px;
    padding-block: 0;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered,
.woocommerce-account .select2-container .select2-selection--single .select2-selection__rendered {
    padding-left: 0;
    color: var(--os-ink);
    line-height: 48px;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow,
.woocommerce-account .select2-container .select2-selection--single .select2-selection__arrow {
    top: 12px;
    right: 8px;
}

.woocommerce-account .os-address__submit {
    margin-top: 24px;
}

.woocommerce form .form-row label {
    margin-bottom: 6px;
    color: var(--os-ink-soft);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
    border-color: #d92d20;
}

.os-check label,
.woocommerce form .os-check label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    color: var(--os-ink);
    font-size: 14.5px;
    font-weight: 600;
    cursor: pointer;
}

.os-check input[type="checkbox"] {
    flex: none;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--os-ink);
}

.os-check small {
    display: block;
    margin-top: 2px;
    color: var(--os-muted);
    font-size: 13px;
    font-weight: 400;
}

.woocommerce-checkout .woocommerce-account-fields {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: var(--os-r-md);
    background: var(--os-canvas);
}

.woocommerce-checkout .woocommerce-account-fields .form-row {
    margin: 0;
    padding: 0;
}

.woocommerce-checkout .woocommerce-account-fields .create-account.os-fields {
    margin-top: 14px;
}

.woocommerce-checkout #ship-to-different-address {
    margin: 20px 0 0;
    padding-top: 18px;
    border-top: 1px solid var(--os-line);
    font-size: inherit;
    font-weight: inherit;
}

.woocommerce-checkout .shipping_address {
    margin-top: 16px;
}

.os-note {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--os-line);
}

.os-note summary {
    display: inline-flex;
    gap: 8px;
    color: var(--os-ink-soft);
    font-size: 14.5px;
    font-weight: 700;
}

.os-note summary:hover {
    color: var(--os-ink);
}

.os-note summary .os-icon {
    width: 16px;
    height: 16px;
    transition: transform 0.2s var(--os-ease);
}

.os-note[open] summary .os-icon {
    transform: rotate(45deg);
}

.os-note .woocommerce-additional-fields__field-wrapper {
    margin-top: 12px;
}

.woocommerce form .os-note .form-row {
    margin: 0;
    padding: 0;
}

.woocommerce form .os-note .form-row > label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

/* Ödeme yöntemleri */
.woocommerce-checkout #payment {
    border-radius: 0;
    background: transparent;
}

.woocommerce-checkout #payment ul.payment_methods {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods::before,
.woocommerce-checkout #payment ul.payment_methods::after {
    display: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
    margin: 0;
    padding: 16px 18px;
    border: 1px solid var(--os-line-strong);
    border-radius: var(--os-r-md);
    background: #fff;
    line-height: 1.4;
}

.woocommerce-checkout #payment ul.payment_methods li:has(input:checked),
.woocommerce-checkout #payment ul.payment_methods li:only-child {
    border-color: var(--os-ink);
    box-shadow: 0 0 0 1px var(--os-ink);
}

.woocommerce-checkout #payment ul.payment_methods li > label {
    color: var(--os-ink);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods li input.input-radio {
    margin: 0 8px 0 0;
    vertical-align: -2px;
    accent-color: var(--os-ink);
}

.woocommerce-checkout #payment div.payment_box {
    margin: 12px 0 0;
    padding: 12px 14px;
    border-radius: var(--os-r-sm);
    background: var(--os-canvas);
    color: var(--os-ink-soft);
    font-size: 14px;
    line-height: 1.55;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none;
}

.woocommerce-checkout #payment div.form-row.place-order {
    margin: 20px 0 0;
    padding: 0;
}

.woocommerce-checkout .woocommerce-privacy-policy-text p,
.woocommerce .woocommerce-privacy-policy-text p {
    margin: 0 0 14px;
    color: var(--os-muted);
    font-size: 13px;
    line-height: 1.6;
}

.woocommerce-privacy-policy-text a {
    color: var(--os-ink-soft);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.28em;
}

.woocommerce .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 14px;
}

/* Ön bilgilendirme onayı: kutucuk ve yazı yan yana; bağlantıya dokununca metin yerinde açılır */
.woocommerce-terms-and-conditions-wrapper .form-row.validate-required {
    margin: 0;
    padding: 0;
}

/* Kolay seçim: satırın tamamı dokunulabilir kart; bağlantıya dokunmak metni açar, kutuyu işaretlemez */
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox,
.woocommerce form .woocommerce-terms-and-conditions-wrapper .form-row label.woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 12px 16px;
    border: 1.5px solid var(--os-line-strong);
    border-radius: var(--os-r-md);
    background: #fff;
    color: var(--os-ink);
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
    transition: border-color 0.2s var(--os-ease), background-color 0.2s var(--os-ease);
}

.woocommerce form .woocommerce-terms-and-conditions-wrapper .form-row label.woocommerce-form__label-for-checkbox:has(input:checked) {
    border-color: var(--os-ink);
    background: color-mix(in srgb, var(--os-ink) 4%, #fff);
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox input[type="checkbox"],
.woocommerce form .woocommerce-terms-and-conditions-wrapper .form-row label.woocommerce-form__label-for-checkbox input.input-checkbox {
    flex: none;
    width: 22px;
    height: 22px;
    margin: 0;
    accent-color: var(--os-ink);
    cursor: pointer;
}

/* Yıldız ayrı öğe olduğu için satır sonunda boşta kalıyordu; onaysız gönderimde zaten uyarı çıkar */
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox abbr.required {
    display: none;
}

.woocommerce-terms-and-conditions-link {
    color: var(--os-cta);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.28em;
}

.woocommerce-terms-and-conditions-link::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0 4px 2px 6px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s var(--os-ease);
}

.woocommerce-terms-and-conditions-link.woocommerce-terms-and-conditions-link--open::after {
    margin-bottom: -2px;
    transform: rotate(-135deg);
}

.woocommerce .woocommerce-terms-and-conditions {
    max-height: 280px !important;   /* WooCommerce satır içi 200px verir */
    margin: 0 0 14px;
    padding: 14px 16px;
    overflow: auto;
    border: 1px solid var(--os-line-strong) !important;
    border-radius: var(--os-r-md);
    background: #fff !important;
    color: var(--os-ink-soft);
    font-size: 13.5px;
    line-height: 1.6;
}

.woocommerce-terms-and-conditions h2 {
    margin: 14px 0 6px;
    color: var(--os-ink);
    font-size: 14.5px;
    font-weight: 800;
}

.woocommerce-terms-and-conditions ul {
    margin: 0;
    padding-left: 18px;
}

.woocommerce-terms-and-conditions li + li {
    margin-top: 6px;
}

.woocommerce-terms-and-conditions .os-seller-info {
    display: grid;
    gap: 4px;
    margin: 0;
}

.woocommerce-terms-and-conditions .os-seller-info div {
    display: flex;
    flex-wrap: wrap;
    gap: 0 6px;
}

.woocommerce-terms-and-conditions .os-seller-info dt {
    color: var(--os-muted);
}

.woocommerce-terms-and-conditions .os-seller-info dt::after {
    content: ":";
}

.woocommerce-terms-and-conditions .os-seller-info dd {
    margin: 0;
    color: var(--os-ink);
    font-weight: 600;
}

/* Ön bilgilendirme sayfasında satıcı bilgileri */
.os-prose .os-seller-info {
    display: grid;
    gap: 8px;
    margin: 0 0 8px;
    padding: 16px 18px;
    border-radius: var(--os-r-md);
    background: var(--os-canvas);
}

.os-prose .os-seller-info div {
    display: grid;
    grid-template-columns: minmax(110px, 160px) minmax(0, 1fr);
    gap: 12px;
}

.os-prose .os-seller-info dt {
    color: var(--os-muted);
    font-weight: 600;
}

.os-prose .os-seller-info dd {
    margin: 0;
    color: var(--os-ink);
    font-weight: 600;
    overflow-wrap: anywhere;
}

.woocommerce #payment #place_order,
.woocommerce-checkout #payment #place_order {
    display: flex;
    float: none;
    width: 100%;
    min-height: 58px;
    margin: 0;
    border-radius: var(--os-r-pill);
    background: var(--os-ink);
    color: #fff;
    font-size: 16.5px;
    font-weight: 700;
}

.woocommerce #payment #place_order:hover {
    background: var(--os-night);
}

/* Ödeme özet kartı */
.os-osum {
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
    box-shadow: var(--os-shadow-sm);
}

.os-osum__toggle {
    display: none;
}

.os-osum__body {
    padding: 24px;
}

.os-review__items {
    display: grid;
    gap: 14px;
    max-height: 340px;
    margin: 0;
    padding: 8px 8px 2px 0;
    overflow-y: auto;
    list-style: none;
}

.os-review__item {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
}

.os-review__media {
    position: relative;
}

.os-review__media img,
.woocommerce .os-review__media img {
    display: block;
    width: 60px;
    height: 60px;
    border: 1px solid var(--os-line);
    border-radius: 12px;
    background: #fff;
    object-fit: cover;
}

.os-review__qty {
    position: absolute;
    top: -7px;
    right: -7px;
    display: grid;
    place-items: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border: 2px solid #fff;
    border-radius: var(--os-r-pill);
    background: var(--os-ink);
    color: #fff;
    font-size: 11.5px;
    font-weight: 800;
}

.os-review__info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.os-review__name {
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.3;
}

.os-review__price {
    font-size: 14.5px;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.os-review__price del {
    display: block;
    color: var(--os-muted);
    font-size: 12.5px;
    font-weight: 500;
}

.os-review .os-bundle-note {
    margin: 18px 0 4px;
    font-size: 13.5px;
}

.os-review .os-summary__table {
    margin-top: 14px;
    border-top: 1px solid var(--os-line);
}

.woocommerce .os-review table.os-summary__table tr:first-child th,
.woocommerce .os-review table.os-summary__table tr:first-child td {
    padding-top: 14px;
}

/* Ödeme sayfası: giriş (üstte ince satır) ve indirim kodu (ödeme kartının altında) */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
    margin: 0 0 12px;
    padding: 10px 16px !important;
    border: 1px solid var(--os-line) !important;
    background: #fff !important;
    box-shadow: none;
    font-size: 14px;
    line-height: 1.45;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    margin: 14px 0 0;
    padding: 6px 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none;
    color: var(--os-ink-soft) !important;
    font-size: 14px;
    text-align: center;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
    display: none;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
    color: var(--os-cta);
    font-weight: 700;
}

.woocommerce-checkout form.woocommerce-form-login.login,
.woocommerce-checkout form.checkout_coupon {
    margin: 0 0 16px;
    padding: 20px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
}

/* Gizli başlar (satır içi display:none); açılınca alan ve buton yan yana */
.woocommerce-checkout form.checkout_coupon {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 8px 0 0;
    padding: 14px;
}

.os-checkout-coupon__field {
    flex: 1;
    min-width: 0;
    margin: 0;
}

.os-main .os-checkout-coupon__field input {
    width: 100%;
    min-height: 48px;
}

.os-checkout-coupon .os-btn {
    flex: none;
    min-height: 48px;
    padding: 0 22px;
}

.os-checkout-coupon .coupon-error-notice {
    display: block;
    margin-top: 6px;
    color: var(--os-cta);
    font-size: 13px;
}

/* Sipariş onayı */
.os-thanks {
    display: grid;
    gap: 20px;
    max-width: 840px;
    margin: 0 auto;
}

.os-thanks__hero {
    padding: 40px 32px 32px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
    text-align: center;
}

.os-thanks__badge {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: #e9f4ee;
    color: var(--os-emerald);
}

.os-thanks__badge .os-icon {
    width: 30px;
    height: 30px;
}

.os-thanks__hero.is-failed .os-thanks__badge {
    background: #fdecea;
    color: #b42318;
}

.os-thanks__title {
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    letter-spacing: -0.03em;
}

.os-thanks__lead {
    margin-top: 8px;
    color: var(--os-ink-soft);
    font-size: 15.5px;
}

.os-thanks__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.os-thanks__hero .os-thanks__actions {
    margin-top: 22px;
}

/* Sipariş detayı ve adres kartları (onay + hesap) */
.woocommerce .woocommerce-order-details,
.woocommerce .woocommerce-customer-details {
    margin: 0;
    padding: 24px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
}

.woocommerce .woocommerce-MyAccount-content .woocommerce-order-details,
.woocommerce .woocommerce-MyAccount-content .woocommerce-customer-details {
    margin-top: 20px;
    padding: 0;
    border: 0;
}

.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-customer-details h2 {
    margin-bottom: 12px;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.woocommerce table.shop_table {
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    border-collapse: collapse;
    background: transparent;
}

.woocommerce table.shop_table th {
    padding: 12px 0;
    border: 0;
    background: none;
    color: var(--os-muted);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    text-align: left;
    text-transform: none;
}

.woocommerce table.shop_table td {
    padding: 14px 0;
    border-top: 1px solid var(--os-line);
    font-size: 14.5px;
    vertical-align: middle;
}

.woocommerce table.shop_table th:last-child,
.woocommerce table.shop_table td:last-child {
    text-align: right;
}

.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
    padding: 10px 0;
    border-top: 1px solid var(--os-line);
    color: var(--os-ink-soft);
    font-size: 14.5px;
    font-weight: 600;
}

.woocommerce table.shop_table td.product-name a {
    color: var(--os-ink);
    font-weight: 700;
}

.woocommerce table.shop_table .button {
    min-height: 38px;
    padding: 0 16px;
    font-size: 13.5px;
}

.woocommerce .col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.woocommerce .col2-set::before,
.woocommerce .col2-set::after {
    display: none;
}

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
    float: none;
    width: auto;
    max-width: none;
}

.woocommerce .woocommerce-customer-details address,
.woocommerce .woocommerce-Address address {
    padding: 0;
    border: 0;
    color: var(--os-ink-soft);
    font-size: 14.5px;
    font-style: normal;
    line-height: 1.7;
}

/* WooCommerce ikon fontundaki telefon simgesi ataç gibi görünüyor; tema simgeleriyle değiştir. */
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email {
    position: relative;
    margin: 4px 0 0;
    padding-left: 26px;
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone::before,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 17px;
    height: 17px;
    margin: 0;
    transform: translateY(-50%);
    background: var(--os-muted);
    -webkit-mask: var(--os-detail-icon) center / contain no-repeat;
    mask: var(--os-detail-icon) center / contain no-repeat;
}

.woocommerce-customer-details--phone {
    --os-detail-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

.woocommerce-customer-details--email {
    --os-detail-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   Hesabım
   ----------------------------------------------------------------------- */

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

.woocommerce-account:not(.logged-in) .woocommerce,
.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
    display: block;
}

.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
    display: none;
}

.woocommerce-account .woocommerce > .woocommerce-notices-wrapper {
    grid-column: 1 / -1;
}

.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:empty {
    display: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: auto;
}

.os-accnav {
    position: sticky;
    top: calc(var(--os-header-h) + 70px);
    padding: 8px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
}

.os-accnav ul {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.os-accnav a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 0 14px;
    border-radius: var(--os-r-md);
    color: var(--os-ink-soft);
    font-size: 14.5px;
    font-weight: 600;
}

.os-accnav a .os-icon {
    flex: none;
    width: 18px;
    height: 18px;
    color: var(--os-muted);
}

.os-accnav a:hover,
.os-accnav .is-active a {
    background: var(--os-canvas);
    color: var(--os-ink);
}

.os-accnav .is-active a .os-icon {
    color: var(--os-cta);
}

.os-accnav .woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid var(--os-line);
}

.woocommerce-account .woocommerce-MyAccount-content {
    min-width: 0;
    padding: 28px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
}

.woocommerce-MyAccount-content > h2,
.woocommerce-MyAccount-content > h3,
.woocommerce-MyAccount-content form > h2,
.woocommerce-MyAccount-content form > h3 {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.woocommerce-MyAccount-content > p {
    color: var(--os-ink-soft);
    font-size: 14.5px;
}

.woocommerce-MyAccount-content fieldset {
    margin: 28px 0 0;
    padding: 24px 0 0;
    border: 0;
    border-top: 1px solid var(--os-line);
}

/* float: legend'ı kenarlık üstünden alıp normal blok gibi akıtır. */
.woocommerce-MyAccount-content legend {
    float: left;
    width: 100%;
    margin-bottom: 4px;
    padding: 0;
    font-size: 17px;
    font-weight: 800;
}

.woocommerce-MyAccount-content legend + * {
    clear: both;
}

.woocommerce-MyAccount-content .os-field-hint {
    display: block;
    margin: 6px 0 0;
    color: var(--os-ink-soft);
    font-size: 13px;
    font-style: normal;
    line-height: 1.5;
}

.woocommerce-MyAccount-content .os-pass > .os-field-hint {
    margin: 0 0 16px;
}

.woocommerce-EditAccountForm .form-row {
    padding-right: 0;
    padding-left: 0;
}

.woocommerce-EditAccountForm .form-row-first,
.woocommerce-EditAccountForm .form-row-last {
    width: calc(50% - 8px);
}

.woocommerce-orders-table__cell-order-number a {
    color: var(--os-ink);
    font-weight: 800;
}

/* WooCommerce dar ekranda sipariş numarası hücresini (th) gizliyor. */
@media (max-width: 768px) {
    .woocommerce table.shop_table_responsive tbody th.woocommerce-orders-table__cell-order-number {
        display: block;
        padding: 0 0 4px;
        border: 0;
        font-size: 16px;
        text-align: left;
    }

    .woocommerce table.shop_table_responsive tr td::before {
        content: attr(data-title);
        color: var(--os-muted);
        font-weight: 500;
    }

    .woocommerce table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions::before {
        display: none;
    }

    .woocommerce table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions .button {
        width: 100%;
        margin: 8px 0 0;
    }
}

.woocommerce-MyAccount-content mark {
    background: none;
    color: var(--os-ink);
    font-weight: 700;
}

.woocommerce-Address-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.woocommerce-account .addresses .woocommerce-Address-title h2,
.woocommerce-account .addresses .woocommerce-Address-title h3 {
    float: none;
    font-size: 17px;
    font-weight: 800;
}

.woocommerce-account .addresses .woocommerce-Address-title .edit {
    float: none;
    color: var(--os-cta);
    font-size: 14px;
    font-weight: 700;
}

.woocommerce-Address {
    padding: 20px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-md);
}

/* WooCommerce'in clearfix sözde öğeleri flex başlıkta boşluk açıyor. */
.woocommerce-account .addresses .woocommerce-Address-title::before,
.woocommerce-account .addresses .woocommerce-Address-title::after {
    display: none;
}

.os-addresses__intro {
    margin-bottom: 16px;
}

.os-addresses {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}

/* Hesap özeti */
.os-dash {
    display: grid;
    grid-template-columns: minmax(0, 1fr);   /* uzun bir satır kartı ekrandan taşırmasın */
    gap: 20px;
}

.os-dash__hello h2 {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.os-dash__hello p {
    margin-top: 4px;
    color: var(--os-muted);
    font-size: 14.5px;
}

.os-dash__last {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border-radius: var(--os-r-md);
    background: var(--os-canvas);
    color: var(--os-ink);
}

.os-dash__last-icon {
    display: grid;
    flex: none;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #fff;
    color: var(--os-cta);
}

.os-dash__last-icon .os-icon {
    width: 20px;
    height: 20px;
}

.os-dash__last-info {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.os-dash__last-label {
    color: var(--os-muted);
    font-size: 12.5px;
}

.os-dash__last-info strong {
    font-size: 15px;
}

.os-dash__last-date {
    display: flex;
    flex-wrap: wrap;
    gap: 0 12px;
    color: var(--os-ink-soft);
    font-size: 13.5px;
    font-weight: 500;
    white-space: nowrap;
}

.os-dash__last-go {
    flex: none;
    width: 18px;
    height: 18px;
    color: var(--os-muted);
}

.os-status {
    padding: 4px 10px;
    border-radius: var(--os-r-pill);
    background: #eef0f4;
    color: var(--os-ink-soft);
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
}

.os-status--processing,
.os-status--completed {
    background: #e9f4ee;
    color: var(--os-emerald);
}

.os-status--on-hold,
.os-status--pending {
    background: #fff4e5;
    color: #9a5b00;
}

.os-status--kargoda {
    background: #e8effd;
    color: #1d4ed8;
}

.os-status--cancelled,
.os-status--failed,
.os-status--refunded {
    background: #fdecea;
    color: #b42318;
}

/* Siparişlerim: kart listesi */
.os-orders {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.os-orders__item {
    position: relative;
    display: grid;
    gap: 6px;
    padding: 16px 44px 16px 18px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-md);
    background: #fff;
    color: var(--os-ink);
    transition: border-color 0.2s var(--os-ease), box-shadow 0.2s var(--os-ease);
}

.os-orders__item:hover {
    border-color: var(--os-line-strong);
    box-shadow: var(--os-shadow-sm);
}

.os-orders__top,
.os-orders__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 12px;
}

.os-orders__no {
    font-size: 16px;
    font-weight: 800;
}

.os-orders__meta {
    color: var(--os-muted);
    font-size: 13.5px;
}

.os-orders__total {
    color: var(--os-ink);
    font-size: 15px;
    font-weight: 700;
}

.os-orders__go {
    position: absolute;
    top: 50%;
    right: 14px;
    width: 18px;
    height: 18px;
    color: var(--os-muted);
    transform: translateY(-50%);
}

.os-orders__pages {
    display: grid;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    gap: 10px;
    margin-top: 16px;
}

.os-orders__empty {
    padding: 24px 8px;
}

/* Kargo bilgisi (hesabım → sipariş, sipariş takibi) */
.os-ship {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px 14px;
    padding: 16px 18px;
    border: 1px solid #cddbfb;
    border-radius: var(--os-r-md);
    background: #f4f7fe;
}

.os-ship__icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #fff;
    color: #1d4ed8;
}

.os-ship__icon .os-icon {
    width: 22px;
    height: 22px;
}

.os-ship__body strong {
    display: block;
    font-size: 15.5px;
}

.os-ship__body strong span {
    color: var(--os-muted);
    font-weight: 600;
}

.os-ship__body p {
    margin: 2px 0 0;
    color: var(--os-ink-soft);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.os-ship.is-done {
    border-color: #cfe5d8;
    background: #f1f8f4;
}

.os-ship.is-done .os-ship__icon {
    color: var(--os-emerald);
}

.os-ship.is-problem {
    border-color: #f3c2bd;
    background: #fdf3f2;
}

.os-ship.is-problem .os-ship__icon {
    color: #b42318;
}

.os-ship__last {
    color: var(--os-muted);
}

.os-ship__btn {
    min-height: 44px;
    padding: 0 18px;
    font-size: 14px;
}

@media (max-width: 640px) {
    .os-ship {
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .os-ship__btn {
        grid-column: 1 / -1;
        width: 100%;
    }
}

/* Hesabım → sipariş: özet bilgiler */
.os-vieworder {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
}

.os-vieworder__facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 12px 18px;
    margin: 0;
    padding: 16px 18px;
    border-radius: var(--os-r-md);
    background: var(--os-canvas);
}

.os-vieworder__facts div {
    display: grid;
    gap: 3px;
    align-content: start;
}

.os-vieworder__facts dt {
    color: var(--os-muted);
    font-size: 12px;
    font-weight: 600;
}

.os-vieworder__facts dd {
    margin: 0;
    color: var(--os-ink);
    font-size: 15px;
    font-weight: 700;
}

.os-vieworder__facts .os-status {
    display: inline-block;
}

.os-vieworder__notes h2 {
    margin-bottom: 10px;
    font-size: 17px;
    font-weight: 800;
}

.os-vieworder__notes ol {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.os-vieworder__notes li {
    padding: 12px 14px;
    border-left: 3px solid var(--os-line-strong);
    background: var(--os-canvas);
    font-size: 14.5px;
}

.os-vieworder__notes time {
    display: block;
    margin-bottom: 2px;
    color: var(--os-muted);
    font-size: 12.5px;
}

.os-dash__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.os-dash__card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 18px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-md);
    color: var(--os-ink);
    transition: border-color 0.2s var(--os-ease), box-shadow 0.2s var(--os-ease);
}

.os-dash__card:hover {
    border-color: var(--os-line-strong);
    box-shadow: var(--os-shadow-md);
}

.os-dash__card .os-icon {
    width: 22px;
    height: 22px;
    margin-bottom: 8px;
    color: var(--os-cta);
}

.os-dash__card strong {
    font-size: 15.5px;
}

.os-dash__card span {
    color: var(--os-muted);
    font-size: 13.5px;
}

/* Giriş / üye ol */
.os-auth {
    display: grid;
    grid-template-columns: minmax(0, 480px) minmax(0, 1fr);
    gap: 40px;
    align-items: start;
    max-width: 1000px;
}

.os-auth__card {
    padding: 32px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
    box-shadow: var(--os-shadow-sm);
}

.os-auth__tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 24px;
    padding: 4px;
    border-radius: var(--os-r-pill);
    background: var(--os-canvas);
}

.os-auth__tabs button {
    min-height: 44px;
    border: 0;
    border-radius: var(--os-r-pill);
    background: transparent;
    color: var(--os-muted);
    font: inherit;
    font-size: 14.5px;
    font-weight: 700;
    cursor: pointer;
}

.os-auth__tabs button[aria-selected="true"] {
    background: #fff;
    color: var(--os-ink);
    box-shadow: var(--os-shadow-sm);
}

.os-auth__panel[hidden] {
    display: none;
}

.os-auth__title {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.os-auth__sub {
    margin: 4px 0 20px;
    color: var(--os-muted);
    font-size: 14.5px;
}

.woocommerce .os-auth form.login,
.woocommerce .os-auth form.register {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.woocommerce .os-auth form .form-row {
    margin: 0 0 14px;
    padding: 0;
}

.os-auth__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 4px 0 20px;
    font-size: 14px;
}

.woocommerce .os-auth__row label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-weight: 500;
}

.os-auth__link {
    color: var(--os-cta);
    font-weight: 700;
}

.os-auth__switch {
    margin-top: 20px;
    color: var(--os-muted);
    font-size: 14px;
    text-align: center;
}

.os-auth__switch button {
    padding: 0;
    border: 0;
    background: none;
    color: var(--os-cta);
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.28em;
    cursor: pointer;
}

.os-auth__hint {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: var(--os-r-md);
    background: var(--os-canvas);
    color: var(--os-ink-soft);
    font-size: 13.5px;
}

.os-auth__hint .os-icon {
    flex: none;
    width: 18px;
    height: 18px;
}

.os-auth__aside {
    padding-top: 8px;
}

.os-auth__aside-title {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.os-auth__perks {
    display: grid;
    gap: 18px;
    margin: 18px 0 24px;
    padding: 0;
    list-style: none;
}

.os-auth__perks li {
    display: flex;
    gap: 14px;
}

.os-auth__perks .os-icon {
    flex: none;
    width: 22px;
    height: 22px;
    margin-top: 2px;
    color: var(--os-cta);
}

.os-auth__perks strong {
    display: block;
    font-size: 15px;
}

.os-auth__perks span {
    color: var(--os-muted);
    font-size: 14px;
}

.os-auth__b2b {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 18px 20px;
    border-radius: var(--os-r-lg);
    background: var(--os-blush);
    color: var(--os-ink-soft);
    font-size: 14px;
}

.os-auth__b2b strong {
    color: var(--os-ink);
    font-size: 15px;
}


.os-auth__b2b em {
    color: var(--os-ink);
    font-style: normal;
    font-weight: 700;
}

.os-auth__b2b-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--os-cta);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.os-auth__b2b-btn .os-icon {
    width: 16px;
    height: 16px;
}

.woocommerce form.track_order,
.woocommerce form.lost_reset_password {
    max-width: 560px;
    margin: 0;
    padding: 28px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
}

.woocommerce form.track_order .form-row + .form-row {
    margin-top: 16px;
}

/* Akış: duyarlı düzen */
@media (min-width: 1001px) {
    .woocommerce-checkout .woocommerce-form-login-toggle,
    .woocommerce-checkout .woocommerce-form-coupon-toggle,
    .woocommerce-checkout form.woocommerce-form-login.login,
    .woocommerce-checkout form.checkout_coupon {
        margin-right: 432px;
    }
}

@media (max-width: 1000px) {
    .os-cart {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .os-cart__aside {
        position: static;
    }

    .os-paybar {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 60;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
        border-top: 1px solid var(--os-line);
        background: #fff;
        box-shadow: 0 -10px 30px -12px rgb(22 33 58 / 0.18);
        transition: transform 0.2s ease;
    }

    .os-paybar.is-hidden {
        transform: translateY(110%);
    }

    .os-paybar__total > span {
        display: block;
        color: var(--os-muted);
        font-size: 12px;
    }

    .os-paybar__total strong {
        font-size: 19px;
        font-weight: 800;
        white-space: nowrap;
    }

    .os-paybar__btn {
        min-height: 48px;
        padding: 0 22px;
    }

    .woocommerce-cart .os-page--flow {
        padding-bottom: 120px;
    }

    .woocommerce-cart .os-float {
        bottom: 92px;
    }

    .woocommerce-cart .os-totop {
        display: none;
    }

    .os-checkout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "notice"
            "aside"
            "main";
    }

    .os-checkout__aside {
        position: static;
        margin-bottom: 16px;
    }

    .os-osum__toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        min-height: 58px;
        padding: 0 18px;
        border: 0;
        background: transparent;
        color: var(--os-ink);
        font: inherit;
        cursor: pointer;
    }

    .os-osum__toggle-label {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--os-cta);
        font-size: 14.5px;
        font-weight: 700;
        white-space: nowrap;
    }

    .os-osum__toggle-label .os-icon {
        width: 18px;
        height: 18px;
    }

    .os-osum__chev {
        transition: transform 0.2s var(--os-ease);
    }

    .os-osum.is-open .os-osum__chev {
        transform: rotate(180deg);
    }

    .os-osum__toggle-total {
        font-size: 17px;
        font-weight: 800;
    }

    /* 320–360 px: etiket ve toplam tek satırda sığsın */
    @media (max-width: 360px) {
        .os-osum__toggle {
            padding: 0 14px;
            gap: 8px;
        }

        .os-osum__toggle-label {
            font-size: 13.5px;
        }

        .os-osum__toggle-total {
            font-size: 15.5px;
        }
    }

    .os-osum__body {
        display: none;
        padding: 4px 18px 18px;
        border-top: 1px solid var(--os-line);
    }

    .os-osum.is-open .os-osum__body {
        display: block;
    }

    .os-osum__title {
        display: none;
    }

    .woocommerce-account .woocommerce {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .os-accnav {
        position: static;
        padding: 6px;
    }

    .os-accnav ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px;
    }

    .os-accnav a {
        gap: 10px;
        min-height: 44px;
        padding: 0 12px;
    }

    .os-accnav .woocommerce-MyAccount-navigation-link--customer-logout {
        margin: 0;
        padding: 0;
        border: 0;
    }

    .os-accnav li:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    /* Menü bu genişlikte içeriğin hemen üstünde; aynı bağlantıları kart olarak tekrarlama. */
    .os-dash__card--nav {
        display: none;
    }

    .os-dash__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .os-auth {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
        max-width: 560px;
    }
}

@media (max-width: 760px) {
    .os-page--flow {
        padding-top: 18px;
    }

    .os-flowhead {
        margin-bottom: 18px;
    }

    .os-steps {
        width: 100%;
        gap: 6px;
    }

    .os-steps__item {
        gap: 6px;
        font-size: 13px;
    }

    .os-steps__item + .os-steps__item::before {
        flex: 1;
        width: auto;
        min-width: 12px;
    }

    .os-steps__item:has(+ .os-steps__item) {
        flex: none;
    }

    .os-steps__item + .os-steps__item {
        flex: 1;
    }

    .os-steps__item:not(.is-current) .os-steps__label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
    }

    .os-line {
        grid-template-columns: 84px minmax(0, 1fr) auto;
        grid-template-areas:
            "media info info"
            "media qty total";
        gap: 10px 14px;
        padding: 14px 44px 14px 14px;
        align-items: center;
    }

    .os-line__media {
        align-self: start;
    }

    .os-line__media img,
    .woocommerce .os-line__media img {
        width: 84px;
    }

    .os-line__name {
        font-size: 15px;
    }

    .os-line__total {
        min-width: 0;
        font-size: 16px;
    }

    .os-line__remove {
        top: 8px;
        right: 6px;
        translate: none;
    }

    .os-qty {
        height: 40px;
    }

    .os-qty__btn {
        width: 36px;
    }

    .os-cart__continue span,
    .os-cart__continue {
        font-size: 13.5px;
    }

    .os-summary,
    .os-osum__body {
        padding: 18px;
    }

    .os-focusbar__inner {
        gap: 10px;
    }

    .os-focusbar__back span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
    }

    .os-panel {
        padding: 20px 16px;
    }

    .os-panel__head {
        margin-bottom: 18px;
    }

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

    .woocommerce form .os-fields .form-row-first,
    .woocommerce form .os-fields .form-row-last {
        grid-column: 1 / -1;
    }

    .os-thanks__hero {
        padding: 32px 18px 22px;
    }

    .woocommerce .woocommerce-order-details,
    .woocommerce .woocommerce-customer-details {
        padding: 18px;
    }

    .woocommerce .col2-set {
        grid-template-columns: minmax(0, 1fr);
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 20px 16px;
    }

    .os-dash__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .os-dash__last {
        gap: 12px;
        padding: 14px;
    }

    .os-dash__last-go {
        display: none;
    }

    .os-auth__card {
        padding: 22px 18px;
    }
}

/* --------------------------------------------------------------------------
   Duyarlı düzen
   ----------------------------------------------------------------------- */

@media (max-width: 1180px) {
    .os-trust__item {
        padding-inline: 14px;
    }
}

@media (max-width: 900px) {
    .os-trust__item {
        padding-block: 12px;
    }

    .os-trust__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .os-trust__item:nth-child(2) {
        border-right: 0;
    }

    .os-trust__item:nth-child(3) {
        padding-left: 0;
    }

    .os-trust__item:nth-child(-n + 2) {
        border-bottom: 1px solid var(--os-line);
    }

}

@media (max-width: 1180px) {
    .os-action span:not(.os-action__icon):not(.os-cart-count) {
        display: none;
    }

    .os-action {
        min-width: 44px;
        padding: 10px;
    }

    .os-action--track {
        display: none;
    }

    .os-grid--4 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .os-series {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .os-colors {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        row-gap: 20px;
    }

    .os-menu--desktop > .os-menu__item > .os-menu__link,
    .os-menu--desktop > .os-menu__item > .os-menu__row > .os-menu__link {
        padding: 0 10px;
        font-size: 14px;
    }
}

@media (max-width: 1000px) {
    :root {
        --os-header-h: 68px;
    }

    .os-nav {
        display: none;
    }

    /* Mobil header: solda menü + arama, ortada logo, sağda hesap + sepet (iki yan küme eşit, logo tam ortada) */
    .os-header__bar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        gap: 0;
    }

    .os-header__tools {
        display: flex;
        align-items: center;
        justify-self: start;
        margin-left: -8px;
    }

    .os-header__menu {
        display: inline-flex;
        width: 40px;
        height: 48px;
        margin-left: 0;
    }

    .os-header__menu .os-icon {
        width: 28px;
        height: 28px;
    }

    .os-header__logo {
        justify-self: center;
    }

    .os-header .os-logo .os-logo__img,
    .os-focusbar .os-focusbar__logo .os-logo__img {
        height: clamp(22px, calc((100vw - 2 * var(--os-gutter) - 172px) / 4.78), 42px);
    }

    .os-search {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        max-width: none;
        padding: 12px var(--os-gutter) 16px;
        background: var(--os-surface);
        border-bottom: 1px solid var(--os-line);
        box-shadow: var(--os-shadow-md);
    }

    .os-search.is-open {
        display: flex;
    }

    .os-search__icon {
        left: calc(var(--os-gutter) + 18px);
    }

    .os-search__submit {
        right: calc(var(--os-gutter) + 5px);
    }

    .os-actions {
        justify-self: end;
        gap: 0;
        margin-left: 0;
        margin-right: -8px;
    }

    .os-actions__search {
        display: inline-flex;
        width: 38px;
        height: 48px;
    }

    .os-actions__search .os-icon,
    .os-actions .os-icon {
        width: 26px;
        height: 26px;
    }

    /* Hesap ve sepet: sağ küme; sipariş takibi çekmecede */
    .os-action {
        justify-content: center;
        width: 38px;
        min-width: 0;
        height: 48px;
        padding: 0;
    }

    .os-hero__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .os-hero__visual {
        justify-self: stretch;
        max-width: none;
    }

    .os-hero__visual::before {
        inset: 16px -10px -10px 16px;
    }

    .os-hero__frame {
        aspect-ratio: 16 / 11;
        max-height: 340px;
    }

    .os-hero__visual {
        margin-bottom: 28px;
    }

    .os-hero__frame img {
        object-position: 50% 50%;
    }

    /* Kart yüzün üstüne binmesin; fotoğrafın alt kenarına oturur. */
    .os-hero__card {
        left: 12px;
        bottom: -28px;
    }

    .os-hero__facts {
        margin-top: 28px;
    }

    .os-shop {
        grid-template-columns: minmax(0, 1fr);
        padding-top: 24px;
    }

    .os-toolbar__filter {
        display: inline-flex;
    }

    /* Filtre paneli: alttan açılır, başparmakla kullanılır; seçenekler çip, renkler iki sütun */
    .os-filters {
        position: fixed;
        inset: auto 0 0 0;
        z-index: 60;
        width: 100%;
        max-width: 640px;
        max-height: min(86vh, 720px);
        max-height: min(86dvh, 720px);
        margin-inline: auto;
        padding: 0 20px;
        overflow-y: auto;
        overscroll-behavior: contain;
        align-content: start;
        gap: 22px;
        border-radius: 22px 22px 0 0;
        background: var(--os-surface);
        box-shadow: 0 -12px 40px rgb(15 23 41 / 0.18);
        transform: translateY(105%);
        transition: transform 0.32s var(--os-ease);
    }

    .os-filters.is-open {
        transform: none;
    }

    .os-filters.is-dragging {
        transition: none;
    }

    .os-filters__head {
        position: sticky;
        top: 0;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 60px;
        margin-inline: -20px;
        padding: 8px 8px 0 20px;
        border-bottom: 1px solid var(--os-line);
        background: var(--os-surface);
        touch-action: none;
    }

    .os-filters__head::before {
        content: "";
        position: absolute;
        top: 8px;
        left: 50%;
        width: 40px;
        height: 4px;
        border-radius: 2px;
        background: var(--os-line-strong);
        transform: translateX(-50%);
    }

    .os-filters__head h2 {
        font-size: 18px;
        font-weight: 800;
    }

    .os-filters .os-filter__title {
        margin-bottom: 10px;
        font-size: 12px;
    }

    .os-filters .os-filter__list {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .os-filters .os-filter__list > li,
    .os-filters .os-filter__sub,
    .os-filters .os-filter__sub > li {
        display: contents;
    }

    .os-filters .os-filter__link,
    .os-filters .os-filter__sub .os-filter__link {
        justify-content: center;
        gap: 8px;
        min-height: 40px;
        padding: 0 14px;
        border: 1px solid var(--os-line-strong);
        border-radius: var(--os-r-pill);
        font-size: 14px;
        white-space: nowrap;
    }

    .os-filters .os-filter__link.is-active {
        border-color: var(--os-ink);
        background: var(--os-ink);
        color: #fff;
        box-shadow: none;
    }

    .os-filters .os-filter__link.is-active span {
        color: rgb(255 255 255 / 0.7);
    }

    .os-filters .os-filter__swatches {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .os-filters .os-swatch-link {
        gap: 10px;
        min-height: 44px;
        padding: 0 12px;
        border: 1px solid var(--os-line);
        border-radius: 12px;
        font-size: 14px;
    }

    .os-filters .os-swatch-link.is-active {
        border-color: var(--os-ink);
        box-shadow: inset 0 0 0 1px var(--os-ink);
    }

    .os-filters .os-dot--lg {
        width: 20px;
        height: 20px;
    }

    .os-filters__clear {
        display: none;
    }

    /* Kural: alt çubuktaki iki buton aynı genişlikte */
    .os-filters__foot {
        position: sticky;
        bottom: 0;
        display: grid;
        grid-auto-columns: minmax(0, 1fr);
        grid-auto-flow: column;
        gap: 10px;
        margin-inline: -20px;
        padding: 12px 20px calc(12px + env(safe-area-inset-bottom));
        border-top: 1px solid var(--os-line);
        background: var(--os-surface);
    }

    .os-filters__foot .os-btn {
        min-height: 48px;
        padding: 0 16px;
    }

    /* Panel açıkken sağ alttaki WhatsApp / Instagram düğmeleri panelin üstüne binmesin */
    body:has(.os-filters.is-open) .os-float,
    body:has(.os-filters.is-open) .os-totop {
        display: none;
    }

    .os-filters__backdrop {
        position: fixed;
        inset: 0;
        z-index: 55;
        background: rgb(15 23 41 / 0.45);
    }

    .woocommerce div.product {
        grid-template-columns: minmax(0, 1fr);
    }

    .woocommerce div.product div.summary {
        position: static;
        margin-top: 28px;
    }

    .os-brand__grid,
    .os-newsletter__inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .os-brand__visual img {
        width: min(80%, 420px);
    }

    .os-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .os-footer__brand {
        grid-column: 1 / -1;
    }

    .woocommerce-account .woocommerce {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .os-hero {
        padding-block: 24px 40px;
    }

    .os-hero__title {
        margin-top: 12px;
        font-size: clamp(34px, 9.5vw, 44px);
    }

    .os-hero__lead {
        margin-top: 14px;
        font-size: 16px;
    }

    .os-hero__actions {
        margin-top: 22px;
    }

    .os-hero__actions .os-btn {
        flex: 1 1 auto;
        min-height: 50px;
        padding: 0 20px;
    }

    .os-hero__facts {
        display: none;
    }

    .os-hero__frame {
        max-height: 280px;
    }

    .os-hero__card {
        padding: 8px 14px 8px 8px;
    }

    .os-hero__card-img img {
        width: 52px;
        height: 52px;
    }

    .os-section__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .os-section__head--center {
        align-items: center;
    }

    .os-grid,
    .woocommerce ul.products.os-grid {
        gap: 26px 12px;
    }

    .os-grid--4,
    .os-grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .os-card__media {
        border-radius: var(--os-r-md);
    }

    .os-card__title {
        font-size: 15px;
    }

    .os-card__meta {
        font-size: 12.5px;
    }

    .os-card__price > .amount,
    .os-card__price > .woocommerce-Price-amount,
    .os-card__price ins .amount {
        font-size: 17px;
    }

    .os-bundle-hint {
        font-size: 11.5px;
    }

    .os-card__actions .button,
    .woocommerce ul.products li.product .os-card__actions .button {
        min-height: 42px;
        font-size: 13.5px;
    }

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

    .os-series__card {
        gap: 12px;
        padding: 16px;
    }

    .os-series__shades {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: calc((100% - 24px) / 4);
        gap: 8px;
    }

    .os-series__shade {
        font-size: 12px;
    }

    .os-series__name {
        font-size: 19px;
    }

    .os-series__text {
        font-size: 13.5px;
    }

    /* Seriler: kompakt başlık + sekmeler; lensler hemen başlar */
    .os-section--series {
        padding-block: 26px 34px;
    }

    .os-section--series .os-section__head {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 12px;
    }

    .os-section--series .os-eyebrow,
    .os-section--series .os-section__lead,
    .os-section--series .os-link__long {
        display: none;
    }

    .os-section--series .os-link__short {
        display: inline;
    }

    .os-section--series .os-section__title {
        margin-top: 0;
        font-size: 23px;
    }

    .os-series__tabs {
        display: flex;
        gap: 8px;
        margin: 0 calc(-1 * var(--os-gutter)) 14px;
        padding-inline: var(--os-gutter);
        overflow-x: auto;
        scrollbar-width: none;
    }

    .os-series__tabs::-webkit-scrollbar {
        display: none;
    }

    .os-series__tab {
        flex: none;
        height: 36px;
        padding: 0 18px;
        border: 1px solid var(--os-line-strong);
        border-radius: var(--os-r-pill);
        background: var(--os-surface);
        color: var(--os-ink);
        font: inherit;
        font-size: 13.5px;
        font-weight: 700;
        cursor: pointer;
        transition: background-color 0.2s var(--os-ease), color 0.2s var(--os-ease), border-color 0.2s var(--os-ease);
    }

    .os-series__tab.is-active {
        border-color: var(--os-ink);
        background: var(--os-ink);
        color: #fff;
    }

    .os-series.has-tabs .os-series__card {
        display: none;
    }

    .os-series.has-tabs .os-series__card.is-active {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "shades shades"
            "tag more";
        align-items: center;
        gap: 12px;
        padding: 0;
        border: 0;
        background: none;
        box-shadow: none;
    }

    .os-series.has-tabs .os-series__shades {
        grid-area: shades;
    }

    .os-series.has-tabs .os-series__top {
        grid-area: tag;
    }

    .os-series.has-tabs .os-series__name,
    .os-series.has-tabs .os-series__text {
        display: none;
    }

    .os-series.has-tabs .os-series__more {
        grid-area: more;
        margin-top: 0;
    }

    /* Telefonda 2×2, kompakt */
    .os-trust__item,
    .os-trust__item:nth-child(3) {
        gap: 9px;
        padding: 11px 8px 11px 12px;
    }

    .os-trust__item:nth-child(odd) {
        padding-left: 0;
    }

    .os-trust__item > .os-icon {
        width: 30px;
        height: 30px;
        padding: 7px;
    }

    .os-trust__item strong {
        font-size: 12.5px;
        line-height: 1.25;
        white-space: nowrap;
    }

    .os-trust__item span {
        font-size: 11.5px;
        line-height: 1.3;
    }

    .os-colors {
        gap: 18px 6px;
    }

    .os-colors__lens {
        width: min(100%, 76px);
        box-shadow: 0 0 0 3px #fff, var(--os-shadow-sm);
    }

    .os-colors__label {
        font-size: 13px;
    }

    .os-colors__count {
        font-size: 11.5px;
    }

    .os-guides {
        grid-template-columns: minmax(0, 1fr);
    }

    .os-guide {
        padding: 22px;
    }

    .os-b2b {
        flex-direction: column;
        align-items: flex-start;
    }

    .os-b2b .os-btn {
        width: 100%;
    }

    .os-newsletter__row {
        flex-direction: column;
    }

    .os-footer__grid {
        gap: 32px;
        padding-block: 48px 32px;
    }

    .os-care {
        grid-template-columns: minmax(0, 1fr);
    }

    .woocommerce table.shop_attributes th {
        width: 40%;
    }

    /* Sayfa yolu tek satır; sığmazsa yalnız son öğe (bulunulan sayfa) üç noktayla kısalır */
    .os-crumbs,
    .woocommerce .os-crumbs {
        flex-wrap: nowrap;
        gap: 6px;
        font-size: 13px;
    }

    .os-crumbs > * {
        flex: none;
    }

    .os-crumbs > .os-crumbs__item:last-child {
        flex: 0 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Dar ekranda dört basamaklı yolda "Ana Sayfa" gizlenir (logo zaten ana sayfaya gider); ürün adı tam görünür */
    @media (max-width: 370px) {
        .os-crumbs:has(> :nth-child(7)) > .os-crumbs__item:first-child,
        .os-crumbs:has(> :nth-child(7)) > .os-crumbs__item:first-child + .os-crumbs__sep {
            display: none;
        }
    }

    /* Liste sayfaları: başlık kısa, ürünler ilk ekranda; filtre ve sıralama tek satırda, eşit genişlikte */
    .os-shop-head {
        padding-block: 14px 16px;
    }

    .os-shop-head__title {
        margin-top: 8px;
        font-size: 26px;
    }

    .os-shop-head__lead {
        display: none;
    }

    .os-shop-head__count {
        display: block;
        font-size: 13px;
    }

    .os-shop {
        padding-top: 16px;
    }

    .os-toolbar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 18px;
    }

    .os-toolbar__count {
        display: none;
    }

    .os-toolbar__filter {
        width: 100%;
        background: var(--os-surface);
    }

    .os-toolbar .woocommerce-ordering {
        margin: 0;
    }

    /* "Sırala" düğmesi "Filtrele" ile aynı görünür; üstündeki görünmez select dokununca telefonun seçim listesini açar */
    .os-sort__face {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-height: 44px;
        padding: 0 18px;
        border: 1px solid var(--os-line-strong);
        border-radius: var(--os-r-pill);
        background: var(--os-surface);
        color: var(--os-ink);
        font-size: 14px;
        font-weight: 700;
        line-height: 1;
        white-space: nowrap;
    }

    .os-sort__face .os-icon {
        width: 18px;
        height: 18px;
    }

    .os-sort__dot {
        width: 7px;
        height: 7px;
        margin-left: -4px;
        border-radius: 50%;
        background: var(--os-cta);
    }

    .os-toolbar .woocommerce-ordering select,
    .woocommerce .os-toolbar .woocommerce-ordering select {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        font-size: 16px;
        cursor: pointer;
    }

    .os-sort:focus-within .os-sort__face {
        outline: 2px solid var(--os-ink);
        outline-offset: 2px;
    }

    .os-float {
        right: 12px;
        bottom: 12px;
    }

    .os-float__btn {
        width: 50px;
        height: 50px;
    }

    .os-totop {
        right: 15px;
        bottom: 136px;
    }

    .os-toast {
        left: 12px;
        right: 12px;
        bottom: 12px;
        transform: none;
    }
}

@media (max-width: 380px) {
    .os-trust__item,
    .os-trust__item:nth-child(3) {
        gap: 7px;
        padding-right: 4px;
    }

    .os-trust__item > .os-icon {
        width: 28px;
        height: 28px;
        padding: 6px;
    }

    .os-trust__item strong {
        white-space: normal;
    }

    .os-trust__item span {
        font-size: 11px;
    }
}

/* --------------------------------------------------------------------------
   Reçete yükleme
   ----------------------------------------------------------------------- */

.os-rx {
    display: grid;
    gap: 18px;
    max-width: 720px;
    margin-top: 18px;
}

.os-rx__intro {
    max-width: 62ch;
    color: var(--os-muted);
}

.os-rx__order {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: var(--os-r-md);
    background: var(--os-blush);
}

.os-rx__hp {
    position: absolute;
    left: -9999px;
}

.os-rx__group {
    margin: 0;
    padding: 18px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: var(--os-surface);
}

.os-rx__group legend,
.os-rx__values summary {
    padding: 0 6px;
    font-size: 15px;
    font-weight: 800;
}

.os-rx__values summary {
    padding: 0;
    cursor: pointer;
}

.os-rx__values[open] summary {
    margin-bottom: 14px;
}

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

.os-rx__grid--eyes {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.os-rx__field {
    display: grid;
    gap: 6px;
    margin: 0;
}

.os-rx__file {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 26px 16px;
    border: 1.5px dashed var(--os-line-strong);
    border-radius: var(--os-r-md);
    background: var(--os-canvas);
    text-align: center;
    cursor: pointer;
}

.os-rx__file:hover,
.os-rx__file:focus-within {
    border-color: var(--os-ink);
}

.os-rx__file input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.os-rx__file span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

.os-rx__file small {
    color: var(--os-muted);
}

.os-rx__submit {
    justify-self: start;
}

.os-rx__alt {
    color: var(--os-muted);
    font-size: 14px;
}

.os-rx-hint {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 14px;
    color: var(--os-ink-soft);
    font-size: 14.5px;
    line-height: 1.45;
}

.os-rx-hint .os-icon {
    width: 19px;
    height: 19px;
    margin-top: 1px;
    color: var(--os-cta);
}

.os-rx-hint a {
    color: var(--os-ink);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.28em;
}

@media (max-width: 760px) {
    .os-rx__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .os-rx__grid--eyes {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .os-rx__group {
        padding: 14px;
    }

    .os-rx__submit {
        justify-self: stretch;
    }
}

/* Havale / EFT: WhatsApp yönlendirme kartı (teşekkür sayfası) */

/* Telefonda yoğun düzen: bölüm boşlukları ve başlıklar küçülür, sayfa kısalır */
@media (max-width: 760px) {
    .os-section {
        padding-block: 30px;
    }

    .os-section--tight {
        padding-block: 22px;
    }

    .os-section__head {
        gap: 8px;
        margin-bottom: 16px;
    }

    .os-section__title {
        margin-top: 6px;
        font-size: 24px;
    }

    .os-section__lead {
        margin-top: 6px;
        font-size: 14.5px;
        line-height: 1.5;
    }

    .os-eyebrow {
        font-size: 11px;
    }

    .os-hero {
        padding-block: 30px 34px;
    }

    .os-hero__title {
        margin-top: 10px;
        font-size: 34px;
    }

    .os-hero__lead {
        margin-top: 12px;
        font-size: 15px;
    }

    .os-hero__actions {
        margin-top: 20px;
    }

    .os-hero__facts {
        margin-top: 22px;
    }

    .os-colors {
        row-gap: 14px;
    }

    .os-colors__lens {
        width: min(100%, 78px);
        margin-bottom: 4px;
    }

    .os-colors__label {
        font-size: 13px;
    }

    .os-colors__count {
        font-size: 11.5px;
    }
}

/* iPhone Safari, yazısı 16 px'ten küçük bir form alanına dokunulunca sayfayı yakınlaştırır ve geri uzaklaştırmaz.
   Dokunmatik ekranlarda tüm yazı girilen alanlar en az 16 px olur (bu kural tasarımdaki her daha özel seçicinin önüne geçmeli). */
@media (hover: none) and (pointer: coarse) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
    select,
    textarea {
        font-size: 16px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* "Sepete eklendi" bildirimi (ürün sayfası) */
.woocommerce-message:has(.os-added) {
    padding: 16px !important;
    border: 1px solid var(--os-line) !important;
    border-radius: var(--os-r-lg);
    background: #fff !important;
    box-shadow: var(--os-shadow-sm);
}

.os-added {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
}

/* bildirim HTML'i süzülürken SVG öznitelikleri silinir; çizgi stili burada verilir */
.os-added svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.os-added__media {
    position: relative;
    width: 64px;
    height: 64px;
}

.os-added__media img {
    display: block;
    width: 64px;
    height: 64px;
    border: 1px solid var(--os-line);
    border-radius: 50%;
    object-fit: cover;
}

.os-added__badge {
    position: absolute;
    right: -3px;
    bottom: -3px;
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--os-emerald);
    color: #fff;
}

.os-added__badge svg {
    width: 13px;
    height: 13px;
    stroke-width: 3;
}

.os-added__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    line-height: 1.35;
}

.os-added__label {
    color: var(--os-emerald);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.os-added__text strong {
    overflow: hidden;
    color: var(--os-ink);
    font-size: 16px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.os-added__meta {
    color: var(--os-muted);
    font-size: 13.5px;
}

.os-added__deal {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: var(--os-r-sm);
    background: var(--os-blush, #f7ece4);
    color: var(--os-ink);
    font-size: 13.5px;
    font-weight: 600;
}

.os-added__deal svg {
    flex: none;
    width: 16px;
    height: 16px;
    color: var(--os-cta);
}

.os-added__actions {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.os-added__actions .os-btn {
    justify-content: center;
    min-height: 46px;
    padding: 0 8px;
    font-size: 14px;
    white-space: nowrap;
}

.os-added__actions .os-btn svg {
    width: 16px;
    height: 16px;
}

@media (min-width: 900px) {
    .os-added {
        grid-template-columns: 64px minmax(0, 1fr) auto;
    }

    .os-added__deal {
        grid-column: 2 / 3;
        grid-row: 2;
        justify-self: start;
    }

    .os-added__actions {
        grid-column: 3;
        grid-row: 1 / span 2;
        grid-template-columns: auto auto;
    }

    .os-added__actions .os-btn {
        padding: 0 22px;
    }
}

/* Sipariş onayı: önce yapılacaklar, sonra kısa not; ayrıntılar açılır kutuda */
.os-ty {
    display: grid;
    gap: 14px;
    max-width: 720px;
    margin: 0 auto;
}

.os-ty__head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
}

.os-ty__badge {
    display: grid;
    flex: none;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgb(47 107 85 / 0.12);
    color: var(--os-emerald);
}

/* Müşterinin onayı / ödemesi bekleniyor */
.os-ty__badge.is-waiting {
    background: #fff1e6;
    color: #c2410c;
}

.os-ty__badge .os-icon {
    width: 22px;
    height: 22px;
}

.os-ty__title {
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

/* Sipariş no, tutar ve ödeme ayrı ve etiketli: numara ile tutar karışmaz */
.os-ty__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 18px;
    margin: 4px 0 0;
}

.os-ty__facts div {
    display: grid;
    gap: 1px;
}

.os-ty__facts dt {
    color: var(--os-muted);
    font-size: 12px;
    font-weight: 600;
}

.os-ty__facts dd {
    margin: 0;
    color: var(--os-ink);
    font-size: 14.5px;
    font-weight: 700;
    white-space: nowrap;
}

.os-onay .os-ty__facts {
    justify-content: center;
}

.os-ty__todo {
    padding: 18px 20px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
}

.os-ty__todo-title {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 800;
}

.os-ty__steps {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.os-ty-step {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    align-items: start;
    gap: 6px 14px;
    padding: 14px;
    border-radius: var(--os-r-md);
    background: var(--os-canvas);
}

.os-ty-step__num {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--os-ink);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.os-ty-step__body strong {
    display: block;
    font-size: 15.5px;
    line-height: 1.35;
}

.os-ty-step__body p {
    margin: 2px 0 0;
    color: var(--os-ink-soft);
    font-size: 14px;
    line-height: 1.5;
}

.os-ty-step__btn {
    align-self: center;
    min-height: 46px;
    padding: 0 20px;
    font-size: 14.5px;
}

/* "Son adım": WhatsApp onayı / banka bilgisi; ortalı, kısa, tek düğme */
.os-todo-cta {
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 26px 20px 22px;
    border: 1.5px solid #f3b8b1;
    border-radius: var(--os-r-lg);
    background: color-mix(in srgb, var(--os-brand) 5%, #fff);
    text-align: center;
}

.os-todo-cta__icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    margin-bottom: 4px;
    border-radius: 50%;
    background: #1f8f4e;
    color: #fff;
}

.os-todo-cta__icon .os-icon {
    width: 26px;
    height: 26px;
}

/* "Önemli" etiketi: kırmızı, ünlemli; dikkat çeker ama kutu sakin kalır */
.os-todo-cta__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 4px 12px 4px 8px;
    border-radius: var(--os-r-pill);
    background: #fdecea;
    color: #b42318;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.os-todo-cta__eyebrow .os-icon {
    width: 16px;
    height: 16px;
    stroke-width: 2.2;
}

.os-todo-cta__title {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.os-todo-cta__text {
    margin: 0;
    color: var(--os-ink-soft);
    font-size: 14.5px;
}

.os-todo-cta__title,
.os-todo-cta__text {
    text-wrap: balance;
}

.os-todo-cta__btn {
    width: 100%;
    max-width: 340px;
    margin-top: 10px;
}

/* "Son adım" kutusu: WhatsApp onayı gerektiğinde dikkat çeker; sakin ve kurumsal kalır */
.os-ty__todo.is-attention {
    border-color: color-mix(in srgb, var(--os-brand) 30%, var(--os-line));
    border-left: 4px solid var(--os-brand);
    background: color-mix(in srgb, var(--os-brand) 6%, #fff);
}

.os-ty__todo.is-attention .os-ty__todo-title {
    display: flex;
    align-items: center;
    gap: 8px;
}

.os-ty__todo.is-attention .os-ty__todo-title .os-icon {
    width: 20px;
    height: 20px;
    color: var(--os-brand);
}

.os-ty__todo.is-attention .os-ty-step {
    background: #fff;
}

.os-ty__note {
    margin: 0;
    padding: 0 4px;
    color: var(--os-muted);
    font-size: 13.5px;
    line-height: 1.55;
}

.os-ty__note strong {
    color: var(--os-ink-soft);
}

/* Tek adımda numara gösterilmez */
.os-ty__steps.is-single .os-ty-step {
    grid-template-columns: minmax(0, 1fr) auto;
}

.os-ty__steps.is-single .os-ty-step__num {
    display: none;
}

.os-ty__rx {
    margin: 0;
    padding: 0 4px;
    color: var(--os-muted);
    font-size: 13.5px;
}

.os-ty__rx .os-icon {
    width: 17px;
    height: 17px;
}

.os-ty__details {
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
}

.os-ty__details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 54px;
    padding: 0 20px;
    font-size: 15px;
    font-weight: 700;
    list-style: none;
    cursor: pointer;
}

.os-ty__details summary::-webkit-details-marker {
    display: none;
}

.os-ty__chev {
    transition: transform 0.2s var(--os-ease);
}

.os-ty__details[open] .os-ty__chev {
    transform: rotate(180deg);
}

.os-ty__details-body {
    display: grid;
    gap: 20px;
    padding: 4px 20px 20px;
    border-top: 1px solid var(--os-line);
}

.os-ty__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 22px;
    margin: 4px 0 0;
    font-size: 14.5px;
    font-weight: 700;
}

.os-ty__actions a {
    color: var(--os-ink);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.28em;
}

@media (max-width: 640px) {
    .os-ty__head,
    .os-ty__todo {
        padding: 16px;
    }

    .os-ty__title {
        font-size: 20px;
    }

    .os-ty-step {
        grid-template-columns: 30px minmax(0, 1fr);
    }

    .os-ty__steps.is-single .os-ty-step {
        grid-template-columns: minmax(0, 1fr);
    }

    .os-ty-step__btn {
        grid-column: 1 / -1;
        width: 100%;
    }

}

/* Kapıda ödeme onay sayfası */
.os-onay {
    display: grid;
    justify-items: center;
    gap: 12px;
    max-width: 560px;
    margin: 0 auto;
    padding: 36px 24px;
    border: 1px solid var(--os-line);
    border-radius: var(--os-r-lg);
    background: #fff;
    text-align: center;
}

.os-onay__title {
    margin: 0;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.os-onay__text {
    margin: 0;
    color: var(--os-ink-soft);
    font-size: 15px;
    line-height: 1.55;
}

.os-onay form,
.os-onay p {
    margin: 0;
}
