/* =========================================================
   kartvizitlazim.com.tr — Ana Stil Dosyası
   ========================================================= */
:root{
  --orange: #f5730c;
  --orange-dark: #e35f00;
  --orange-light: #fff1e6;
  --navy: #14181f;
  --navy-2: #1c2230;
  --ink: #1f2430;
  --ink-soft: #5b6270;
  --line: #e7e8ec;
  --bg: #f7f7f9;
  --white: #ffffff;
  --green: #1a9e5c;
  --star: #f5a623;
  --radius: 10px;
  --radius-lg: 16px;
  --shadow: 0 2px 10px rgba(20,24,31,0.06);
  --shadow-md: 0 8px 24px rgba(20,24,31,0.10);
  --font-display: 'Sora', sans-serif;
  --font-body: 'Manrope', sans-serif;
  --gutter: 24px;
  --header-h: 80px;
  --dock-h: 0px;              /* mobil alt yerleşimin gerçek yüksekliği (JS ölçer) */
  --safe-b: env(safe-area-inset-bottom, 0px);
  --z-header: 100; --z-dock: 150; --z-fab: 160; --z-cookie: 170; --z-toast: 900;
  --z-overlay: 1000; --z-drawer: 1001; --z-modal: 1100;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%;}
body{
  margin:0;
  overflow-wrap:break-word;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
ul{list-style:none; margin:0; padding:0;}
img,video,iframe,svg{max-width:100%;}
img,video{display:block; height:auto;}
iframe{border:0;}
table{max-width:100%;}
input,select,textarea,button{font:inherit;}
button{font-family:inherit; cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-display); margin:0; color:var(--navy);}
.container{max-width:1240px; margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); width:100%;}
.sr-only{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.skip-link{position:absolute; left:8px; top:-60px; background:var(--navy); color:#fff; padding:10px 16px; border-radius:8px; z-index:2000; font-weight:700;}
.skip-link:focus{top:8px;}
.ico{display:block; flex-shrink:0;}
.muted{color:var(--ink-soft);}
.break-any{overflow-wrap:anywhere;}
.link-btn{background:none; border:none; padding:0; color:inherit; font-size:inherit; text-decoration:underline; cursor:pointer;}
/* Ölçeklenebilir ızgaralar: sütunlar minmax(0,1fr) ile içerik yüzünden genişlemez */
.rgrid{display:grid; gap:var(--rgap, 20px); grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--min, 220px)), 1fr));}
.layout-split{display:grid; grid-template-columns:minmax(0, var(--l, 1fr)) minmax(0, var(--r, 1fr)); gap:var(--gap, 28px); align-items:start;}
.layout-split > *{min-width:0;}
.rgrid > *{min-width:0;}
:focus-visible{outline:2px solid var(--orange); outline-offset:2px;}

/* ---------- Duyuru Barı ---------- */
.announce-bar{background:var(--orange); color:#fff; text-align:center; padding:10px 40px 10px 16px; font-size:13px; font-weight:700; position:relative;}
.announce-bar a{color:#fff; text-decoration:underline;}
.announce-bar button{position:absolute; right:6px; top:50%; transform:translateY(-50%); background:transparent; border:none; color:#fff; width:40px; height:40px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.announce-bar button:hover{background:rgba(255,255,255,.35);}

/* ---------- Topbar ---------- */
.topbar{background:var(--navy); color:#cfd3dc; font-size:13px;}
.topbar-inner{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:40px;}
.topbar-left{display:flex; gap:22px; align-items:center; min-width:0;}
.topbar-item{display:flex; align-items:center; gap:6px; color:#cfd3dc; white-space:nowrap;}
.topbar-item:hover{color:var(--white);}
.topbar-right{display:flex; align-items:center; gap:12px; flex-shrink:0;}
.topbar-soc{display:flex; gap:8px;}
.soc{width:24px; height:24px; border-radius:50%; background:#242a38; display:flex; align-items:center; justify-content:center; font-size:12px;}
.btn-teklif{background:var(--orange); color:#fff; padding:6px 16px; border-radius:20px; font-weight:600; margin-left:6px;}
.btn-teklif:hover{background:var(--orange-dark);}


/* ---------- Header ---------- */
.main-header{background:var(--white); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:var(--z-header);}
.header-inner{display:flex; align-items:center; gap:32px; height:var(--header-h);}
.logo{display:flex; align-items:center; gap:8px; flex-shrink:0;}
.logo-img{height:38px; width:auto; display:block;}
.logo-footer .logo-img{height:34px;}
.logo-mark{color:var(--orange); font-size:26px;}
.logo-text{font-family:var(--font-display); font-weight:800; font-size:19px; color:var(--navy); line-height:1.1;}
.logo-text small{font-family:var(--font-body); font-weight:600; font-size:11px; color:var(--ink-soft); letter-spacing:.3px;}
.search-bar{flex:1; display:flex; max-width:560px; min-width:0; border:1.5px solid var(--line); border-radius:8px; overflow:hidden; background:#fff;}
.search-bar:focus-within{border-color:var(--orange);}
.search-bar input{flex:1; min-width:0; border:none; padding:12px 16px; font-size:15px; font-family:inherit; outline:none; background:transparent; -webkit-appearance:none; appearance:none;}
.search-bar input::-webkit-search-cancel-button{-webkit-appearance:none;}
.search-bar button{background:var(--orange); border:none; color:#fff; padding:0 18px; min-width:48px; display:flex; align-items:center; justify-content:center;}
.search-bar button:hover{background:var(--orange-dark);}
.header-actions{display:flex; gap:26px; margin-left:auto; align-items:center;}
.mobile-menu-btn{display:none; background:none; border:1px solid var(--line); border-radius:10px; width:44px; height:44px; padding:0; align-items:center; justify-content:center; cursor:pointer; color:var(--navy); flex-shrink:0;}
.header-action{display:flex; flex-direction:column; align-items:center; gap:2px; font-size:12px; font-weight:600; color:var(--ink); min-width:44px; min-height:44px; justify-content:center;}
.ha-ic{position:relative; display:block; line-height:0;}
.badge{position:absolute; top:-7px; right:-9px; background:var(--orange); color:#fff; font-size:10px; font-weight:800; border-radius:9px; min-width:17px; height:17px; padding:0 4px; display:flex; align-items:center; justify-content:center; line-height:1; box-shadow:0 0 0 2px #fff;}
.badge[hidden], .qb-badge[hidden]{display:none !important;}
.header-action:hover{color:var(--orange);}

.main-nav{background:var(--navy);}
.drawer-head, .drawer-extra, .nav-overlay{display:none;}
.nav-inner{display:flex; align-items:center; gap:8px; height:52px;}
.all-cats{position:relative;}
.all-cats-btn{background:var(--orange); color:#fff; border:none; height:52px; padding:0 20px; font-weight:700; font-size:14px; display:flex; align-items:center; gap:8px; white-space:nowrap;}
.all-cats-btn[aria-expanded="true"] .chev, .sub-toggle[aria-expanded="true"] .ico{transform:rotate(180deg);}
.chev .ico, .sub-toggle .ico{transition:transform .2s;}
.all-cats-btn:hover{background:var(--orange-dark);}
.all-cats-dropdown{display:none; position:absolute; top:52px; left:0; background:#fff; width:260px; max-height:calc(100vh - 160px); overflow-y:auto; box-shadow:var(--shadow-md); border-radius:0 0 10px 10px; padding:8px; z-index:50;}
.all-cats-dropdown.open{display:block;}
.all-cats-dropdown a{display:flex; justify-content:space-between; padding:10px 14px; border-radius:6px; color:var(--ink); font-size:14px; font-weight:600;}
.all-cats-dropdown a:hover{background:var(--orange-light); color:var(--orange-dark);}
.all-cats-dropdown .count{color:var(--ink-soft); font-weight:500;}
.nav-links{display:flex; align-items:center; gap:2px;}
.nav-links > li{display:flex; align-items:center;}
.nav-links > li > a{display:flex; align-items:center; gap:4px; padding:0 6px 0 14px; height:52px; color:#dfe1e8; font-weight:600; font-size:14px; white-space:nowrap;}
.nav-links > li > a:only-child{padding-right:14px;}
.nav-links > li > a:hover, .nav-links > li > a.active{color:var(--orange);}
.chev{display:inline-flex;}
.sub-toggle{background:none; border:none; color:#dfe1e8; width:28px; height:44px; padding:0; display:flex; align-items:center; justify-content:center; cursor:pointer; margin-right:6px;}
.sub-toggle:hover{color:var(--orange);}
.dropdown{position:relative;}
.dropdown-menu{display:none; position:absolute; top:52px; left:0; background:#fff; min-width:240px; box-shadow:var(--shadow-md); border-radius:10px; padding:8px; z-index:50;}
.dropdown.open .dropdown-menu{display:block;}
@media (hover:hover) and (min-width:992px){ .dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu{display:block;} }
.dropdown-menu a{display:block; padding:10px 14px; border-radius:6px; color:var(--ink); font-size:14px; font-weight:600;}
.dropdown-menu a:hover{background:var(--orange-light); color:var(--orange-dark);}

/* ---------- Breadcrumb ---------- */
.breadcrumb{padding:14px 0; font-size:13px; color:var(--ink-soft); line-height:1.6;}
.breadcrumb a{color:var(--ink-soft);}
.breadcrumb a:hover{color:var(--orange);}
.breadcrumb span.sep{margin:0 6px;}
.breadcrumb .current{color:var(--ink); font-weight:600;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 24px; min-height:44px; border-radius:8px; font-weight:700; font-size:14px; border:none; transition:background-color .15s, border-color .15s, color .15s; text-align:center; line-height:1.25;}
.btn-primary{background:var(--orange); color:#fff;}
.btn-primary:hover{background:var(--orange-dark);}
.btn-dark{background:var(--navy); color:#fff;}
.btn-dark:hover{background:var(--navy-2);}
.btn-outline{background:#fff; border:1.5px solid var(--line); color:var(--ink);}
.btn-outline:hover{border-color:var(--orange); color:var(--orange);}
.btn-block{width:100%;}
.btn-lg{padding:16px 28px; font-size:15px;}
.btn:disabled{opacity:.5; cursor:not-allowed;}

/* ---------- Tasarım Yolu Seçici (Özel Tasarım vs Hazır Tasarım) ---------- */
.design-path-section{display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:20px; align-items:start;}
.design-path-section > *{min-width:0;}
.design-path-cards{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px;}
.design-path-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:26px; display:flex; flex-direction:column;}
.design-path-img{width:100%; aspect-ratio:1.7; object-fit:cover; border-radius:12px; margin-bottom:18px;}
.design-path-card .badge-pill{display:inline-block; padding:4px 12px; border-radius:20px; font-size:11px; font-weight:800; margin-bottom:16px; align-self:flex-start;}
.design-path-card.custom .badge-pill{background:#e6f7ee; color:var(--green);}
.design-path-card.ready .badge-pill{background:var(--orange-light); color:var(--orange-dark);}
.design-path-card h3{font-size:19px; margin-bottom:8px;}
.design-path-card p{font-size:13px; color:var(--ink-soft); margin-bottom:16px; line-height:1.6;}
.design-path-card ul{margin:0 0 20px; padding:0; list-style:none; flex:1;}
.design-path-card ul li{font-size:13px; color:var(--ink); padding:5px 0 5px 22px; position:relative;}
.design-path-card ul li::before{content:'✓'; position:absolute; left:0; color:var(--green); font-weight:800;}
.design-path-card .btn{width:100%; justify-content:center;}
.design-path-card.custom .btn-primary{background:#1a9e5c;}
.design-path-card.custom .btn-primary:hover{background:#147d49;}

.campaign-widget{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:20px;}
.campaign-widget h3{font-size:16px; margin-bottom:2px;}
.campaign-widget .sub{font-size:11px; color:var(--orange); font-weight:800; letter-spacing:.3px; margin-bottom:14px; display:block;}
.campaign-item{display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--line);}
.campaign-item:last-of-type{border-bottom:none; padding-bottom:4px;}
.campaign-item .thumb{width:60px; height:60px; border-radius:8px; background:linear-gradient(135deg,#f4f0ea,#e9e2d6); flex-shrink:0; overflow:hidden; display:flex; align-items:center; justify-content:center; font-size:20px;}
.campaign-item .thumb img{width:100%; height:100%; object-fit:cover;}
.campaign-item .c-info{min-width:0;}
.campaign-item .c-info b{display:block; font-size:12.5px; margin-bottom:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.campaign-item .c-meta{font-size:10.5px; color:var(--ink-soft); display:block; margin-bottom:4px;}
.campaign-item .c-price-now{font-weight:800; color:var(--navy); font-size:13px;}
.campaign-item .c-price-old{text-decoration:line-through; color:#b0b4bd; font-size:11px; margin-left:5px;}
.campaign-item .c-disc{color:var(--green); font-weight:700; font-size:10.5px; margin-left:4px;}

/* ---------- Gerçek Baskılarımız (galeri) ---------- */
.gallery-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
.gallery-strip.cols-4{grid-template-columns:repeat(4,1fr);}
.gallery-strip .g-item{aspect-ratio:1; border-radius:8px; overflow:hidden; position:relative; background:linear-gradient(135deg,#eef0f4,#dfe2e8);}
.gallery-strip .g-item img{width:100%; height:100%; object-fit:cover;}
.gallery-strip .g-more{position:absolute; inset:0; background:rgba(20,24,31,.68); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; font-weight:800; font-size:14px; text-align:center; gap:2px;}
.gallery-strip .g-more span{font-size:10.5px; font-weight:600; opacity:.85;}

/* ---------- Kompakt blog listesi ---------- */
.blog-list-compact .blog-list-item{display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); align-items:center;}
.blog-list-compact .blog-list-item:last-child{border-bottom:none; padding-bottom:0;}
.blog-list-compact .thumb{width:68px; height:68px; border-radius:8px; background:linear-gradient(135deg,#eef0f4,#dfe2e8); flex-shrink:0; overflow:hidden; display:flex; align-items:center; justify-content:center; font-size:22px;}
.blog-list-compact .thumb img{width:100%; height:100%; object-fit:cover;}
.blog-list-compact .bl-info b{font-size:13px; line-height:1.4; display:block; margin-bottom:6px;}
.blog-list-compact .bl-meta{font-size:11px; color:var(--ink-soft);}

.split-2col{display:grid; grid-template-columns:1.6fr 1fr; gap:24px; align-items:start;}

/* ---------- Hero Slider (dinamik) ---------- */
.hero-slider{position:relative; overflow:hidden; touch-action:pan-y;}
/* Tüm slaytlar aynı ızgara hücresinde üst üste durur: yükseklik en uzun slayta göre sabitlenir, geçişte sayfa zıplamaz */
.hero-slides{display:grid;}
.hero-slide{grid-area:1 / 1; opacity:0; visibility:hidden; transition:opacity .5s ease, visibility .5s; padding:56px 0 68px;}
.hero-slide.active{opacity:1; visibility:visible;}
.hero-dots{position:absolute; bottom:12px; left:50%; transform:translateX(-50%); display:flex; gap:2px; z-index:5;}
.hero-arrow{position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.15); backdrop-filter:blur(4px); border:1px solid rgba(255,255,255,.25); color:#fff; font-size:22px; cursor:pointer; z-index:5; display:flex; align-items:center; justify-content:center; transition:background .15s;}
.hero-arrow:hover{background:rgba(255,255,255,.28);}
.hero-arrow-prev{left:20px;}
.hero-arrow-next{right:20px;}
@media (max-width:760px){.hero-arrow{width:36px; height:36px; font-size:18px;} .hero-arrow-prev{left:10px;} .hero-arrow-next{right:10px;}}
.hero-dot{width:28px; height:28px; border:none; padding:0; cursor:pointer; background:transparent; display:flex; align-items:center; justify-content:center;}
.hero-dot::before{content:''; width:9px; height:9px; border-radius:5px; background:rgba(255,255,255,.4); transition:width .2s, background .2s;}
.hero-dot.active::before{background:var(--orange); width:22px;}
.hero-art-visual{background:linear-gradient(135deg,#fff,#eee); border-radius:16px; aspect-ratio:1.3; display:flex; align-items:center; justify-content:center; font-size:90px; overflow:hidden; position:relative;}
.hero-art-visual img{width:100%; height:100%; object-fit:cover;}

/* ---------- Hero (homepage) ---------- */
.hero{background:var(--navy); padding:56px 0 68px; position:relative; overflow:hidden;}
.hero-inner{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center;}
.eyebrow{color:var(--orange); font-weight:700; font-size:14px; letter-spacing:.4px; margin-bottom:10px; display:block;}
.hero-slide h1, .hero-slide .h1-like, .hero h1{font-size:clamp(1.65rem, 1.05rem + 2.4vw, 2.625rem); color:#fff; line-height:1.15; margin-bottom:16px; text-wrap:balance; max-width:20ch;}
.hero-slide h1 .accent, .hero h1 .accent{color:var(--orange);}
.hero-slide p, .hero p{color:#b9bec9; font-size:clamp(.95rem, .88rem + .3vw, 1rem); line-height:1.6; max-width:46ch; margin:0 0 24px;}
.hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:30px;}
.hero-cta .btn{flex:0 1 auto;}
.hero-feats{display:flex; gap:10px 22px; flex-wrap:wrap;}
.hero-feat{display:flex; align-items:center; gap:8px; color:#dfe1e8; font-size:13px; font-weight:600;}
.hero-feat .ic{color:var(--orange); font-size:16px;}
.hero-art{position:relative;}
.hero-art img{border-radius:var(--radius-lg); box-shadow:var(--shadow-md);}

/* ---------- Stat strip ---------- */
.stat-strip{background:#fff; border-bottom:1px solid var(--line); border-top:1px solid var(--line);}
.stat-strip .container{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-top:28px; padding-bottom:28px;}
.stat{display:flex; align-items:center; gap:14px; justify-content:center; border-right:1px solid var(--line);}
.stat:last-child{border-right:none;}
.stat .stat-ic{font-size:24px; color:var(--orange);}
.stat b{display:block; font-size:22px; font-family:var(--font-display); color:var(--navy);}
.stat span{font-size:12.5px; color:var(--ink-soft);}

/* ---------- Section heading ---------- */
.section{padding:56px 0;}
.section-head{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 16px; margin-bottom:28px;}
.section-head h2{font-size:clamp(1.3rem, 1.1rem + .8vw, 1.625rem);}
.section-head .link-all{font-size:13.5px; font-weight:700; color:var(--orange); border:1.5px solid var(--orange); padding:8px 16px; border-radius:20px;}
.section-head .link-all:hover{background:var(--orange); color:#fff;}

/* ---------- Feature bar (4 tiles) ---------- */
.feature-bar{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-bottom:20px;}
.feature-bar.cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}
.feature-tile > div{min-width:0;}
.feature-tile{display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:18px;}
.feature-tile .ic-box{width:44px; height:44px; border-radius:10px; background:var(--orange-light); color:var(--orange); display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0;}
.feature-tile b{display:block; font-size:14px; color:var(--navy);}
.feature-tile span{font-size:12.5px; color:var(--ink-soft);}

/* ---------- Category grid (homepage strip) ---------- */
.cat-strip{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px;}
.cat-strip.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.cat-strip.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.cat-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; text-align:center; transition:transform .15s, box-shadow .15s;}
.cat-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:transparent;}
.cat-card .cat-img{aspect-ratio:1.1; background:linear-gradient(135deg,#fff3e9,#ffe4cc); display:flex; align-items:center; justify-content:center; font-size:38px;}
.cat-card .cat-body{padding:14px 10px;}
.cat-card b{font-size:14px; display:block;}
.cat-card span{font-size:12px; color:var(--ink-soft);}

/* ---------- Product cards ---------- */
.product-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
.product-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.product-grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}
.product-card{display:flex; flex-direction:column; min-width:0;}
.product-body{flex:1; display:flex; flex-direction:column;}
.product-actions{margin-top:auto;}
.product-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; position:relative; transition:box-shadow .15s, transform .15s;}
.product-card:hover{box-shadow:var(--shadow-md); transform:translateY(-3px);}
.product-thumb{position:relative; aspect-ratio:1.25; background:linear-gradient(135deg,#f4f0ea,#e9e2d6); display:flex; align-items:center; justify-content:center; font-size:44px; overflow:hidden;}
.product-thumb img{width:100%; height:100%; object-fit:cover;}
.p-badge{position:absolute; top:10px; left:10px; font-size:11px; font-weight:800; padding:4px 10px; border-radius:20px; color:#fff; letter-spacing:.3px;}
.p-badge.hot{background:var(--orange);}
.p-badge.new{background:var(--green);}
.fav-btn{position:absolute; top:8px; right:8px; width:40px; height:40px; box-shadow:0 1px 4px rgba(0,0,0,.12); border-radius:50%; background:rgba(255,255,255,.92); border:none; display:flex; align-items:center; justify-content:center; font-size:15px; color:var(--ink); cursor:pointer;}
.fav-btn:hover{color:var(--orange);}
.fav-btn.active{color:var(--orange);}
.product-body{padding:16px;}
.p-name{font-size:15px; font-weight:700; color:var(--navy); margin-bottom:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; line-height:1.35;}
.p-meta{font-size:12px; color:var(--ink-soft); margin-bottom:8px;}
.p-rating{display:flex; align-items:center; gap:5px; font-size:12.5px; color:var(--ink-soft); margin-bottom:10px;}
.p-rating .stars{color:var(--star); letter-spacing:1px;}
.p-price{display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 8px; margin-bottom:12px;}
.p-price .disc{color:var(--green); font-size:12px; font-weight:700;}
.p-price .now{font-size:18px; font-weight:800; color:var(--navy); font-family:var(--font-display);}
.p-price .old{font-size:13px; color:#b0b4bd; text-decoration:line-through;}
.product-actions{display:flex; gap:8px;}
.product-actions .btn{flex:1; padding:10px 12px; font-size:13px;}

/* ---------- Process steps ---------- */
.process{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; position:relative;}
.process-step{text-align:center; padding:0 8px;}
.process-num{width:44px; height:44px; border-radius:50%; background:var(--orange); color:#fff; font-family:var(--font-display); font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 12px;}
.process-step b{display:block; font-size:14.5px; margin-bottom:4px; color:var(--navy);}
.process-step span{font-size:12.5px; color:var(--ink-soft);}

/* ---------- Promo banner ---------- */
.promo-banner{background:linear-gradient(120deg,var(--orange),#ff9142); border-radius:var(--radius-lg); padding:36px 44px; display:flex; align-items:center; justify-content:space-between; color:#fff; flex-wrap:wrap; gap:20px;}
.promo-banner .big{font-family:var(--font-display); font-size:34px; font-weight:800;}
.promo-banner .sub{font-size:13.5px; opacity:.95;}
.promo-banner .discount-pill{background:rgba(255,255,255,.22); border-radius:12px; padding:14px 20px; font-family:var(--font-display); font-weight:800; font-size:22px; text-align:center;}

/* ---------- Testimonials ---------- */
.testi-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;}
.testi-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px;}
.testi-card .stars{color:var(--star); font-size:13px; margin-bottom:10px;}
.testi-card p{font-size:13.5px; color:var(--ink); line-height:1.55; margin-bottom:16px;}
.testi-user{display:flex; align-items:center; gap:10px;}
.testi-avatar{width:34px; height:34px; border-radius:50%; background:var(--orange-light); color:var(--orange); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px;}
.testi-user b{font-size:13px; display:block;}
.testi-user span{font-size:11.5px; color:var(--ink-soft);}

/* ---------- Brand strip ---------- */
.brand-strip{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:28px; font-weight:800; font-size:17px; color:var(--ink-soft);}
.brand-strip span{opacity:.55;}
.brand-logo{height:34px; width:auto; max-width:130px; object-fit:contain; filter:grayscale(100%) opacity(0.55); transition:filter .25s ease; cursor:pointer;}
.brand-logo:hover{filter:grayscale(0%) opacity(1);}

/* ---------- Blog cards ---------- */
.blog-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
.blog-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden;}
.blog-thumb{aspect-ratio:1.5; background:linear-gradient(135deg,#eef0f4,#dfe2e8); display:flex; align-items:center; justify-content:center; font-size:34px; overflow:hidden; position:relative;}
.blog-thumb img{width:100%; height:100%; object-fit:cover;}
.blog-body{padding:16px;}
.blog-tag{display:inline-block; background:var(--orange-light); color:var(--orange-dark); font-size:11px; font-weight:700; padding:3px 10px; border-radius:12px; margin-bottom:8px;}
.blog-body h4{font-size:14.5px; line-height:1.4; margin-bottom:8px;}
.blog-meta{font-size:12px; color:var(--ink-soft);}

/* ---------- Newsletter ---------- */
.newsletter{background:var(--navy); border-radius:var(--radius-lg); padding:32px 40px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.newsletter-l{display:flex; align-items:center; gap:16px; min-width:0;}
.newsletter-ic{width:48px; height:48px; border-radius:12px; background:var(--orange); display:flex; align-items:center; justify-content:center; font-size:20px; color:#fff; flex-shrink:0;}
.newsletter h3{color:#fff; font-size:17px; margin-bottom:4px;}
.newsletter p{color:#b9bec9; font-size:13px; margin:0;}
.newsletter-form{display:flex; gap:10px; flex:1 1 300px; max-width:420px; min-width:0;}
.newsletter-form input{flex:1; min-width:0; border:none; border-radius:8px; padding:12px 14px; font-family:inherit; font-size:16px;}

/* ---------- Sidebar / Filters (listing pages) ---------- */
.listing-layout{display:grid; grid-template-columns:260px minmax(0,1fr); gap:28px; align-items:start;}
.listing-layout > *{min-width:0;}
.sheet-head, .sheet-trigger{display:none;}
.sidebar-box{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:18px; margin-bottom:18px;}

.sidebar-popular{display:flex; flex-direction:column; gap:12px;}
.sidebar-popular-item{display:flex; gap:10px; align-items:center;}
.sidebar-popular-thumb{width:52px; height:52px; border-radius:8px; flex-shrink:0; display:flex; align-items:center; justify-content:center; overflow:hidden; font-size:18px;}
.sidebar-popular-thumb img{width:100%; height:100%; object-fit:cover;}
.sidebar-popular-item div:last-child{display:flex; flex-direction:column; min-width:0;}
.sidebar-popular-item b{font-size:12.5px; font-weight:700; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.sidebar-popular-item span{font-size:12.5px; font-weight:800; color:var(--orange); margin-top:2px;}
.sidebar-box h4{font-size:14.5px; margin-bottom:14px; display:flex; justify-content:space-between; align-items:center;}
.filter-list a{display:flex; justify-content:space-between; padding:8px 10px; border-radius:6px; font-size:13.5px; color:var(--ink); font-weight:600; margin-bottom:2px;}
.filter-list a.active{background:var(--orange-light); color:var(--orange-dark);}
.filter-list a:hover{background:var(--bg);}
.filter-list .count{color:var(--ink-soft); font-weight:500; font-size:12px;}
.check-row{display:flex; align-items:center; gap:8px; padding:6px 0; font-size:13.5px;}
.check-row label{flex:1; cursor:pointer;}
.check-row .count{color:var(--ink-soft); font-size:12px;}
.mini-search{width:100%; border:1px solid var(--line); border-radius:6px; padding:8px 10px; font-size:13px; margin-bottom:6px;}
.help-box{background:var(--orange-light); border-radius:var(--radius); padding:18px; text-align:left;}
.help-box b{display:block; font-size:14px; margin-bottom:6px; color:var(--navy);}
.help-box p{font-size:12.5px; color:var(--ink-soft); margin:0 0 12px;}

.listing-header{display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:12px;}
.listing-info{font-size:13.5px; color:var(--ink-soft);}
.sort-select{border:1px solid var(--line); border-radius:8px; padding:9px 14px; min-height:44px; font-size:14px; font-family:inherit; background:#fff; max-width:100%;}
.chip-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px;}

.cat-tabbar{display:flex; gap:8px; flex-wrap:wrap; padding-bottom:16px; border-bottom:1px solid var(--line);}
.cat-tab{display:flex; align-items:center; gap:6px; padding:9px 16px; border-radius:20px; font-size:13px; font-weight:700; color:var(--ink-soft); background:#fff; border:1px solid var(--line); transition:all .15s;}
.cat-tab:hover{border-color:var(--orange); color:var(--orange);}
.cat-tab.active{background:var(--navy); border-color:var(--navy); color:#fff;}
.cat-tab span{font-size:11px; opacity:.75;}
.chip{border:1px solid var(--line); background:#fff; border-radius:20px; padding:8px 16px; font-size:12.5px; font-weight:600; color:var(--ink-soft);}
.chip.active{background:var(--navy); color:#fff; border-color:var(--navy);}

/* ---------- Page hero (kategoriler, blog etc) ---------- */
.page-hero{padding:34px 0 24px;}
.page-hero h1{font-size:32px; margin-bottom:8px;}
.page-hero p{color:var(--ink-soft); font-size:14.5px; max-width:640px;}

.pagination{display:flex; justify-content:center; gap:8px; margin-top:36px;}
.pagination{flex-wrap:wrap;}
.pagination a, .pagination span{width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:8px; border:1px solid var(--line); font-size:13.5px; font-weight:600; color:var(--ink);}
.pagination .active{background:var(--orange); color:#fff; border-color:var(--orange);}
.pagination a:hover{border-color:var(--orange); color:var(--orange);}

/* ---------- Product detail ---------- */
.pd-layout{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:44px; margin-bottom:48px;}
.pd-layout > *{min-width:0;}
.pd-gallery-main{aspect-ratio:1.15; background:linear-gradient(135deg,#f4f0ea,#e9e2d6); border-radius:var(--radius-lg); display:flex; align-items:center; justify-content:center; font-size:80px; position:relative; overflow:hidden; margin-bottom:12px;}
.pd-gallery-main img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
.pd-badges{position:absolute; top:14px; left:14px; display:flex; flex-direction:column; gap:6px;}
.pd-thumbs{display:flex; gap:10px; flex-wrap:wrap;}
.pd-thumb-item{display:flex; flex-direction:column; align-items:center; gap:5px;}
.pd-thumbs{flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; padding-bottom:4px;}
.pd-thumb-item{flex-shrink:0;}
.pd-thumbs .thumb{width:70px; height:70px; border-radius:8px; border:2px solid var(--line); background:linear-gradient(135deg,#f4f0ea,#e9e2d6) center/cover; display:flex; align-items:center; justify-content:center; font-size:22px; cursor:pointer; padding:0;}
.pd-thumbs .thumb.active{border-color:var(--orange);}
.pd-thumb-label{font-size:10.5px; color:var(--ink-soft); font-weight:600; text-align:center;}

.pd-spec-row{display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 150px), 1fr)); gap:10px; margin-top:22px;}
.pd-spec-chip > div{min-width:0;}
.pd-spec-chip{display:flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:8px; padding:8px 12px;}
.pd-spec-chip .ic-box{width:30px; height:30px; border-radius:7px; background:var(--orange-light); color:var(--orange); display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0;}
.pd-spec-chip b{display:block; font-size:11.5px; color:var(--navy); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.pd-spec-chip span{font-size:10px; color:var(--ink-soft);}

.pd-process{display:flex; align-items:center; gap:6px; flex-wrap:wrap; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:18px;}
.pd-process-step{display:flex; flex-direction:column; align-items:center; text-align:center; gap:3px; flex:1; min-width:70px;}
.pd-process-ic{width:38px; height:38px; border-radius:50%; background:var(--orange-light); display:flex; align-items:center; justify-content:center; font-size:16px; margin-bottom:2px;}
.pd-process-step b{font-size:12px; color:var(--navy);}
.pd-process-step span{font-size:10px; color:var(--ink-soft);}
.pd-process-arrow{color:var(--line); font-size:18px; font-weight:800; flex-shrink:0;}

.pd-title-row{display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px;}
.pd-title-row h1{font-size:clamp(1.35rem, 1.1rem + 1vw, 1.7rem); min-width:0; overflow-wrap:anywhere;}
.pd-sku{font-size:12.5px; color:var(--ink-soft); white-space:nowrap;}
.pd-rating-row{display:flex; align-items:center; flex-wrap:wrap; gap:6px 14px; font-size:13.5px; margin-bottom:14px;}
.pd-rating-row .stars{color:var(--star);}
.pd-rating-row .sold{color:var(--ink-soft);}
.pd-desc{font-size:14px; color:var(--ink-soft); line-height:1.65; margin-bottom:18px;}
.pd-feats{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:20px;}
.pd-feat{display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; color:var(--navy);}
.pd-feat .ic{color:var(--orange);}

.pd-price-box{background:var(--bg); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; flex-wrap:wrap; gap:16px;}
.pd-installment{background:#fff; border:1px solid var(--line); border-radius:8px; padding:10px 16px; font-size:12px; color:var(--ink-soft); max-width:260px; line-height:1.5;}
.pd-installment b{display:block; font-size:11.5px; font-weight:700; color:var(--navy); margin-bottom:4px;}
.pd-installment span{display:block; margin-bottom:2px;}
.pd-installment a{display:block; color:var(--orange); font-weight:700; margin-top:4px; font-size:11.5px;}
.pd-delivery-box{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:16px 20px; margin-bottom:20px;}
.pd-delivery-box div{text-align:center; border-right:1px solid var(--line);}
.pd-delivery-box div:last-child{border-right:none;}
.pd-delivery-box b{display:block; font-size:11.5px; color:var(--ink-soft); font-weight:600; margin-bottom:4px;}
.pd-delivery-box span{display:block; font-size:13px; font-weight:700; color:var(--navy);}
.pd-price-now{font-family:var(--font-display); font-size:28px; font-weight:800; color:var(--navy);}
.pd-price-old{font-size:14px; color:#b0b4bd; text-decoration:line-through; margin-left:8px;}
.pd-discount{color:var(--green); font-weight:700; font-size:13px; margin-left:8px;}
.pd-kdv{font-size:12px; color:var(--ink-soft);}

.tier-label{font-weight:700; font-size:14.5px; margin-bottom:10px; display:block;}
.tier-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 135px), 1fr)); gap:12px 10px; margin-bottom:22px; padding-top:6px;}
.variant-group-grid{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:22px;}
.variant-group-btn{border:1.5px solid var(--line); border-radius:var(--radius); padding:10px 18px; min-height:44px; max-width:100%; text-align:left; background:#fff; font-weight:700; font-size:13.5px; color:var(--ink); cursor:pointer; transition:border-color .15s, background .15s;}
.variant-group-btn:hover{border-color:var(--orange);}
.variant-group-btn.selected{border-color:var(--orange); background:var(--orange-light); color:var(--orange-dark);}
.tier-opt{position:relative; border:1.5px solid var(--line); border-radius:var(--radius); padding:12px 8px; text-align:center; cursor:pointer; background:#fff; min-height:56px; min-width:0; overflow-wrap:anywhere;}
.tier-opt input{position:absolute; opacity:0; pointer-events:none;}
.tier-opt:focus-within{outline:2px solid var(--orange); outline-offset:2px;}
.tier-opt .pop{position:absolute; top:-10px; left:50%; transform:translateX(-50%); background:var(--orange); color:#fff; font-size:9.5px; font-weight:800; padding:2px 8px; border-radius:10px; white-space:nowrap;}
.tier-opt b{display:block; font-size:14px; color:var(--navy);}
.tier-opt span{font-size:11.5px; color:var(--ink-soft);}
.tier-opt.selected{border-color:var(--orange); background:var(--orange-light);}

.opt-group{margin-bottom:16px;}
.opt-group label{display:block; font-weight:700; font-size:13.5px; margin-bottom:8px;}
.opt-group select{width:100%; border:1px solid var(--line); border-radius:8px; padding:11px 12px; min-height:46px; font-family:inherit; font-size:15px; background:#fff;}
.opt-note{width:100%; border:1px solid var(--line); border-radius:8px; padding:11px 12px; font-family:inherit; font-size:15px; resize:vertical; min-height:70px;}

.pd-actions{display:flex; gap:12px; margin:22px 0 20px; flex-wrap:wrap;}
.pd-actions .btn{flex:1 1 180px;}
.pd-mini-actions{display:flex; gap:12px; flex-wrap:wrap;}
.pd-mini-actions .btn{flex:1 1 200px; background:#fff; border:1.5px solid var(--line);}

.pd-trust{display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap:14px; margin:28px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0;}
.pd-trust-item{display:flex; align-items:center; gap:10px; font-size:12.5px; font-weight:700; color:var(--navy);}
.pd-trust-item .ic{font-size:20px; color:var(--orange);}
.pd-trust-item span.sub{display:block; font-weight:500; color:var(--ink-soft); font-size:11.5px;}

/* Upload box */
.upload-box{border:2px dashed var(--line); border-radius:var(--radius); padding:26px; text-align:center; background:#fff;}
.upload-file-name{margin-top:8px; font-size:12.5px; font-weight:700; color:var(--green); overflow-wrap:anywhere;}
.upload-box .up-ic{font-size:30px; color:var(--orange); margin-bottom:10px;}
.upload-box p{font-size:13px; color:var(--ink-soft); margin:6px 0 14px;}
.upload-filetypes{display:flex; justify-content:center; gap:10px; margin:12px 0; flex-wrap:wrap;}
.upload-filetypes span{font-size:11px; color:var(--ink-soft); border:1px solid var(--line); padding:4px 8px; border-radius:6px;}

/* Tabs */
.tabs{display:flex; gap:4px; border-bottom:1.5px solid var(--line); margin-bottom:24px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none;}
.tabs::-webkit-scrollbar{display:none;}
.tab-btn{padding:14px 18px; min-height:48px; flex-shrink:0; font-weight:700; font-size:13.5px; color:var(--ink-soft); border-bottom:2.5px solid transparent; white-space:nowrap; background:none; border-top:none; border-left:none; border-right:none;}
.tab-btn.active{color:var(--orange); border-color:var(--orange);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.spec-list li{display:flex; gap:10px; padding:9px 0; font-size:14px; color:var(--ink); border-bottom:1px dashed var(--line);}
.spec-list li::before{content:"✓"; color:var(--green); font-weight:800;}

/* Reviews */
.review-summary{display:grid; grid-template-columns:180px minmax(0,1fr); gap:32px; align-items:center; margin-bottom:24px; padding:20px; background:var(--bg); border-radius:var(--radius);}
.rs-score{text-align:center;}
.rs-score .num{font-family:var(--font-display); font-size:44px; font-weight:800; color:var(--navy); display:block;}
.rs-score .stars{color:var(--star); font-size:16px;}
.rs-score .total{font-size:12.5px; color:var(--ink-soft);}
.rs-bar-row{display:flex; align-items:center; gap:10px; margin-bottom:6px; font-size:12.5px;}
.rs-bar-row .bar{flex:1; height:7px; background:var(--line); border-radius:6px; overflow:hidden;}
.rs-bar-row .bar span{display:block; height:100%; background:var(--star);}
.review-card{border-bottom:1px solid var(--line); padding:18px 0;}
.review-head{display:flex; align-items:center; gap:12px; margin-bottom:8px;}
.review-head b{font-size:13.5px;}
.review-head .date{font-size:12px; color:var(--ink-soft); margin-left:auto;}
.review-card .stars{color:var(--star); font-size:12.5px; display:block; margin-bottom:6px;}
.review-card p{font-size:13.5px; color:var(--ink); line-height:1.6; margin:0;}

/* Related products */
.related-scroll{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px;}

/* ---------- Cart page ---------- */
.cart-layout{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:28px; align-items:start;}
.cart-table{background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
.cart-row{display:grid; grid-template-columns:76px minmax(0,1fr) auto auto auto; gap:16px; align-items:center; padding:18px; border-bottom:1px solid var(--line);}
.cart-info{min-width:0;}
.cart-row:last-child{border-bottom:none;}
.cart-thumb{width:76px; height:76px; border-radius:8px; background:linear-gradient(135deg,#f4f0ea,#e9e2d6); display:flex; align-items:center; justify-content:center; font-size:26px;}
.cart-item-name{font-weight:700; font-size:14.5px; margin-bottom:4px;}
.cart-item-opts{font-size:12px; color:var(--ink-soft); line-height:1.5;}
.qty-stepper{display:flex; align-items:center; border:1px solid var(--line); border-radius:8px; overflow:hidden;}
.qty-stepper button{width:44px; height:44px; border:none; background:#fff; font-size:17px; font-weight:700;}
.qty-stepper button:hover{background:var(--bg);}
.qty-stepper input{width:44px; min-height:44px; font-size:16px; border:none; text-align:center; font-family:inherit; font-weight:700; -moz-appearance:textfield;}
.cart-price{font-weight:800; font-family:var(--font-display); color:var(--navy); white-space:nowrap;}
.remove-btn{background:none; border:none; color:#c94141; font-size:18px; width:44px; height:44px; border-radius:8px; display:flex; align-items:center; justify-content:center;}
.remove-btn:focus-visible, .remove-btn:hover{background:#fdecec;}
.remove-btn:hover{color:#9d2b2b;}
.summary-box{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px; position:sticky; top:150px; min-width:0;}
.summary-box h3{font-size:16px; margin-bottom:16px;}
.summary-row{display:flex; justify-content:space-between; font-size:13.5px; color:var(--ink-soft); margin-bottom:10px;}
.summary-row.total{font-size:16px; font-weight:800; color:var(--navy); border-top:1px solid var(--line); padding-top:12px; margin-top:6px;}
.coupon-row{display:flex; gap:8px; margin:16px 0;}
.coupon-row input{flex:1; min-width:0; border:1px solid var(--line); border-radius:8px; padding:10px 12px; font-family:inherit; font-size:16px;}
.empty-cart{text-align:center; padding:70px 20px; background:#fff; border-radius:var(--radius); border:1px solid var(--line);}
.empty-cart .ic{font-size:52px; margin-bottom:16px; color:var(--line);}
.empty-cart h3{margin-bottom:8px;}
.empty-cart p{color:var(--ink-soft); margin-bottom:22px; font-size:14px;}

/* ---------- Checkout ---------- */
.checkout-layout{display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:28px; align-items:start;}
.checkout-layout > *{min-width:0;}
.checkout-steps{display:flex; align-items:center; gap:10px; margin-bottom:28px; flex-wrap:wrap;}
.co-step{display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--ink-soft);}
.co-step .num{width:26px; height:26px; border-radius:50%; background:var(--line); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12.5px;}
.co-step.done .num, .co-step.active .num{background:var(--orange);}
.co-step.active, .co-step.done{color:var(--navy);}
.co-sep{width:30px; height:1.5px; background:var(--line);}
.form-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px; margin-bottom:20px;}
.form-card h3{font-size:15.5px; margin-bottom:16px; display:flex; align-items:center; gap:8px;}
.form-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
.form-grid.full{grid-template-columns:1fr;}
.field label{display:block; font-size:12.5px; font-weight:700; margin-bottom:6px; color:var(--ink);}
.field input, .field select, .field textarea{width:100%; border:1px solid var(--line); border-radius:8px; padding:11px 12px; min-height:46px; font-family:inherit; font-size:15px; background:#fff;}
.field input:focus, .field select:focus, .field textarea:focus, .opt-group select:focus, .opt-note:focus{outline:2px solid var(--orange); outline-offset:0; border-color:var(--orange);}
.field input[aria-invalid="true"], .field input:user-invalid{border-color:#c94141;}
.field-error, .form-error{color:#9d2b2b; font-size:12.5px; margin-top:6px; overflow-wrap:anywhere;}
.field textarea{min-height:80px; resize:vertical;}
.pay-methods{display:flex; flex-direction:column; gap:10px;}
.pay-method{display:flex; align-items:center; gap:12px; border:1.5px solid var(--line); border-radius:8px; padding:14px; cursor:pointer; min-height:56px;}
.pay-method > div{min-width:0;}
.pay-method input{accent-color:var(--orange);}
.pay-method.selected{border-color:var(--orange); background:var(--orange-light);}
.pay-method b{font-size:13.5px; display:block;}
.pay-method span{font-size:11.5px; color:var(--ink-soft);}
.order-summary-list{max-height:220px; overflow-y:auto; margin-bottom:14px;}
.order-summary-item > *{min-width:0;}
.order-summary-item{display:flex; justify-content:space-between; gap:10px; font-size:12.5px; padding:8px 0; border-bottom:1px dashed var(--line);}
.order-summary-item b{font-weight:700; color:var(--navy);}

/* Order success */
.success-box{text-align:center; padding:60px 20px; background:#fff; border-radius:var(--radius-lg); border:1px solid var(--line); max-width:560px; margin:0 auto;}
.success-ic{width:76px; height:76px; border-radius:50%; background:#e6f7ee; color:var(--green); font-size:36px; display:flex; align-items:center; justify-content:center; margin:0 auto 20px;}
.success-box h1{font-size:24px; margin-bottom:10px;}
.success-box p{color:var(--ink-soft); font-size:14px; margin-bottom:24px;}
.order-num{background:var(--bg); border-radius:8px; padding:14px; font-family:var(--font-display); font-weight:800; font-size:18px; margin-bottom:24px; color:var(--navy);}

/* ---------- Hazır Tasarım Galerisi (design_templates) ---------- */
.design-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
.design-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; transition:box-shadow .15s, transform .15s;}
.design-card:hover{box-shadow:var(--shadow-md); transform:translateY(-3px);}
.design-visual{aspect-ratio:1.6; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; position:relative; color:#fff; overflow:hidden;}
.design-visual.has-image{background:#f2f2f0 !important;}
.design-visual img{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; z-index:0;}
.design-visual .biz-icon{font-size:26px; opacity:.9; position:relative; z-index:2;}
.design-visual .biz-code{font-family:var(--font-display); font-weight:800; font-size:20px; letter-spacing:1px; position:relative; z-index:2;}
.design-visual .biz-lines{width:60%; margin-top:6px; position:relative; z-index:2;}
.design-visual .biz-lines span{display:block; height:3px; background:rgba(255,255,255,.55); border-radius:2px; margin-bottom:5px;}
.design-visual .biz-lines span:nth-child(2){width:65%;}
.design-body{padding:14px 16px;}
.design-body b{display:block; font-size:14px; margin-bottom:2px;}
.design-body span{font-size:12px; color:var(--ink-soft);}
.design-actions{display:flex; gap:8px; padding:0 16px 16px;}
.design-actions .btn{flex:1; padding:9px 10px; font-size:12.5px;}
.zoom-hint{position:absolute; bottom:10px; right:10px; background:rgba(20,24,31,.7); color:#fff; font-size:11px; font-weight:700; padding:5px 10px; border-radius:20px; opacity:0; transition:opacity .15s; z-index:3;}
.design-visual:hover .zoom-hint, .pd-gallery-main:hover .zoom-hint{opacity:1;}

.design-lightbox{position:fixed; inset:0; background:rgba(10,12,16,.92); z-index:var(--z-modal); overscroll-behavior:contain; display:none; align-items:center; justify-content:center; padding:40px;}
.design-lightbox.open{display:flex;}
.design-lightbox-inner{max-width:640px; width:100%; max-height:80vh;}
.design-lightbox-frame{position:relative; border-radius:12px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.4);}
.design-lightbox-frame img{width:100%; height:auto; display:block;}
.design-lightbox-placeholder{position:relative; aspect-ratio:1.6; border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:#fff; box-shadow:0 20px 60px rgba(0,0,0,.4); overflow:hidden;}
.dlb-code-badge{position:absolute; top:18px; right:18px; background:var(--orange); color:#fff; font-weight:800; font-size:13.5px; letter-spacing:1px; padding:8px 18px; border-radius:8px; text-transform:uppercase; box-shadow:0 6px 16px rgba(245,115,12,.45);}
.dlb-logo-bar{position:absolute; left:0; right:0; bottom:16px; display:flex; justify-content:center;}
.dlb-logo-bar img{height:20px; width:auto; display:block; opacity:.9;}
.design-lightbox-close{position:absolute; top:max(16px, env(safe-area-inset-top)); right:16px; background:rgba(255,255,255,.12); border:none; color:#fff; width:44px; height:44px; z-index:6; border-radius:50%; font-size:18px; cursor:pointer;}
.design-lightbox-close:hover{background:rgba(255,255,255,.22);}
.design-lightbox-nav{position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.12); border:none; color:#fff; width:48px; height:48px; border-radius:50%; font-size:24px; cursor:pointer; z-index:5; display:flex; align-items:center; justify-content:center; transition:background .15s;}
.design-lightbox-nav:hover{background:rgba(255,255,255,.25);}
.design-lightbox-prev{left:24px;}
.design-lightbox-next{right:24px;}
.design-lightbox.single .design-lightbox-nav{display:none;}
@media (max-width:760px){.design-lightbox-nav{width:38px; height:38px; font-size:19px;} .design-lightbox-prev{left:10px;} .design-lightbox-next{right:10px;}}
.design-banner{background:var(--orange-light); border:1px solid #ffd7b3; border-radius:var(--radius); padding:14px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; flex-wrap:wrap;}
.design-banner b{color:var(--orange-dark);}
.design-banner a{font-size:12.5px; font-weight:700; color:var(--ink-soft);}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy); color:#b9bec9; margin-top:60px;}
.footer-grid{display:grid; grid-template-columns:1.5fr 1fr 1.3fr 1.1fr 1.2fr; gap:28px; padding-top:56px; padding-bottom:36px;}
.footer-grid > *{min-width:0;}
.footer-links-2col{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px;}
.footer-brand p{font-size:13px; line-height:1.6; margin:14px 0 16px; color:#8b90a0;}
.footer-soc{display:flex; gap:10px;}
.footer-soc a{width:30px; height:30px; border-radius:50%; background:#242a38; display:flex; align-items:center; justify-content:center; font-size:13px;}
.footer-col h4{color:#fff; font-size:14px; margin-bottom:14px;}
.footer-col a, .footer-col > span{display:block; font-size:13px; color:#b9bec9; margin-bottom:10px; padding:2px 0;}
.footer-col a:hover{color:var(--orange);}
.hours div{display:flex; justify-content:space-between; flex-wrap:wrap; gap:2px 10px; font-size:12.5px; margin-bottom:7px; color:#b9bec9;}
.hours .closed span{color:#e06666;}
.footer-bottom{border-top:1px solid #262c3a;}
.footer-bottom-inner{display:flex; justify-content:space-between; align-items:center; padding-top:18px; padding-bottom:18px; flex-wrap:wrap; gap:10px; font-size:12.5px; color:#8b90a0;}
.pay-badges{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.footer-legal-links{display:flex; gap:4px 16px; flex-wrap:wrap; align-items:center;}
.footer-legal-links a, .footer-legal-links .link-btn{color:#8b90a0; font-size:12px; padding:6px 0; text-decoration:none;}
.footer-legal-links a:hover{color:#fff;}
.pay-badges .secure{font-weight:600;}
.pay-badges .pay{border:1px solid #333a4a; border-radius:6px; padding:4px 10px; font-weight:700; font-size:11.5px;}


/* =========================================================
   SABİT ÖĞELER KATMANI
   Alt yerleşim (dock) tek bir fixed kapsayıcıdır: ürün sayfasının
   "Sepete Ekle" çubuğu + mobil hızlı erişim çubuğu aynı kutuda,
   üst üste binmez. Yüksekliği JS ile --dock-h olarak ölçülür;
   sayfa alt boşluğu, yukarı çık, çerez bildirimi ve bildirimler bu değere göre konumlanır.
   Güvenli alan (env(safe-area-inset-bottom)) YALNIZCA hızlı erişim çubuğunda bir kez eklenir.
   ========================================================= */
body{padding-bottom:var(--dock-h);}
.bottom-dock{display:none;}

.whatsapp-fab{position:fixed; bottom:calc(24px + var(--dock-h)); right:24px; width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-md); z-index:var(--z-fab);}
.whatsapp-fab:hover{background:#1ebe5b;}

.scroll-top-btn{position:fixed; bottom:calc(92px + var(--dock-h)); right:30px; width:44px; height:44px; border-radius:50%; background:var(--navy); color:#fff; border:none; box-shadow:var(--shadow-md); z-index:var(--z-fab); cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s, transform .2s, visibility .2s;}
.scroll-top-btn.show{opacity:1; visibility:visible; transform:none;}

/* Çerez bildirimi: içerik/işlem düğmelerini kapatmayacak kadar küçük, dock'un üstünde */
.cookie-consent{position:fixed; left:12px; right:12px; bottom:calc(12px + var(--dock-h)); max-width:680px; margin:0 auto; background:var(--navy); color:#dfe1e8; border-radius:12px; padding:14px 16px; display:flex; align-items:center; gap:12px 16px; flex-wrap:wrap; box-shadow:0 10px 30px rgba(0,0,0,.25); z-index:var(--z-cookie);}
.cookie-consent[hidden]{display:none;}
.cookie-consent p{margin:0; font-size:12.5px; line-height:1.55; flex:1 1 260px; min-width:0;}
.cookie-consent a{color:var(--orange); text-decoration:underline;}
.cookie-actions{display:flex; gap:8px; flex-wrap:wrap; flex:0 0 auto;}
.cc-btn{border:none; padding:10px 16px; min-height:44px; border-radius:8px; font-weight:700; font-size:13px; cursor:pointer;}
.cc-primary{background:var(--orange); color:#fff;}
.cc-secondary{background:rgba(255,255,255,.12); color:#fff;}

/* Ürün sayfası sabit satın alma çubuğu (dock içinde) */
.pd-sticky-bar{display:none;}

/* Bildirim (toast): ekran dışına kaydırılmaz — gizliyken görünmez ve tıklanamaz, belge genişliğini büyütmez */
.toast{position:fixed; top:calc(var(--header-h) + 16px); right:24px; max-width:min(420px, calc(100% - 32px)); background:var(--navy); color:#fff; padding:14px 20px; border-radius:8px; font-size:13.5px; font-weight:600; box-shadow:var(--shadow-md); z-index:var(--z-toast); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .25s, transform .25s, visibility .25s; pointer-events:none;}
.toast.show{opacity:1; visibility:visible; transform:none;}
.toast.error{background:#9d2b2b;}

/* Genel kaplama (filtre çekmecesi vb. için JS oluşturur) */
.ui-overlay{position:fixed; inset:0; background:rgba(10,12,16,.5); z-index:var(--z-overlay); opacity:0; transition:opacity .25s;}
.ui-overlay.show{opacity:1;}
.ui-overlay[hidden]{display:none;}

/* Arka plan kaydırma kilidi (iOS dahil): konum JS ile korunur */
html.scroll-locked, html.scroll-locked body{overflow:hidden;}
html.scroll-locked body{position:fixed; left:0; right:0; width:100%;}

/* ---------- Genel Galeri Lightbox (ok tuşlarıyla gezinme) ---------- */
.lightbox-trigger{cursor:zoom-in;}
.gallery-lightbox{position:fixed; inset:0; background:rgba(10,12,16,.94); z-index:var(--z-modal); overscroll-behavior:contain; display:none; align-items:center; justify-content:center; padding:70px 90px;}
.gallery-lightbox.open{display:flex;}
.gallery-lightbox[hidden]{display:none;}
.gl-content{max-width:900px; width:100%; max-height:80vh; display:flex; flex-direction:column; align-items:center;}
.gl-content img{max-width:100%; max-height:75vh; width:auto; height:auto; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.5); object-fit:contain;}
.gl-meta{display:flex; align-items:center; gap:14px; margin-top:14px; color:#dfe1e8; font-size:13px;}
.gl-counter{background:rgba(255,255,255,.12); padding:4px 12px; border-radius:20px; font-weight:700; font-size:12px;}
.gl-close{position:absolute; top:max(16px, env(safe-area-inset-top)); right:16px; background:rgba(255,255,255,.12); border:none; color:#fff; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:50%; font-size:18px; cursor:pointer; z-index:2;}
.gl-close:hover{background:rgba(255,255,255,.22);}
.gl-nav{position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.12); border:none; color:#fff; width:52px; height:52px; border-radius:50%; font-size:26px; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:2;}
.gl-nav:hover{background:rgba(255,255,255,.24);}
.gl-prev{left:24px;}
.gl-next{right:24px;}
@media (max-width:760px){
  .gallery-lightbox{padding:70px 16px;}
  .gl-nav{width:42px; height:42px; font-size:20px;}
  .gl-prev{left:8px;}
  .gl-next{right:8px;}
}


/* =========================================================
   DUYARLI (RESPONSIVE) KATMAN
   Kırılımlar: 1080 (tablet), 991 (menü çekmeceye geçer), 760 (telefon), 560, 380
   ========================================================= */
@media (max-width:1080px){
  :root{--gutter:20px;}
  .product-grid, .product-grid.cols-5, .design-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .cat-strip, .cat-strip.cols-4{grid-template-columns:repeat(3,minmax(0,1fr));}
  .feature-bar.cols-6{grid-template-columns:repeat(3,minmax(0,1fr));}
  .testi-grid, .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-brand{grid-column:1 / -1;}
  .pd-layout, .cart-layout, .checkout-layout{grid-template-columns:minmax(0,1fr);}
  .related-scroll{grid-template-columns:repeat(3,minmax(0,1fr));}
  .summary-box{position:static;}
  .design-path-section{grid-template-columns:minmax(0,1fr);}

  /* Liste sayfalarında yan menü → alttan açılan panel (bottom sheet) */
  .listing-layout{grid-template-columns:minmax(0,1fr);}
  .sheet-trigger{display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 16px; border:1.5px solid var(--line); background:#fff; border-radius:10px; font-weight:700; font-size:14px; color:var(--navy); cursor:pointer; margin-bottom:16px;}
  .listing-layout > aside{
    position:fixed; left:0; right:0; bottom:0; z-index:var(--z-drawer);
    max-height:85vh; max-height:85dvh; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
    background:var(--bg); border-radius:18px 18px 0 0; padding:0 16px calc(16px + var(--safe-b));
    box-shadow:0 -12px 40px rgba(0,0,0,.25);
    transform:translateY(100%); visibility:hidden; transition:transform .28s ease, visibility 0s linear .28s;
  }
  .listing-layout > aside.open{transform:none; visibility:visible; transition:transform .28s ease, visibility 0s;}
  .sheet-head{display:flex; position:sticky; top:0; z-index:2; align-items:center; justify-content:space-between; gap:12px; background:var(--bg); padding:10px 0; margin-bottom:6px; border-bottom:1px solid var(--line);}
  .sheet-head b{font-family:var(--font-display); font-size:16px; color:var(--navy);}
  .sheet-close{width:44px; height:44px; border:none; background:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--navy); cursor:pointer;}
}

/* ---- Menü çekmecesi (tablet ve telefon) ---- */
@media (max-width:991px){
  .topbar-hide-md, .topbar-hide-lg, .topbar-soc{display:none !important;}
  .header-inner{gap:16px;}
  .mobile-menu-btn{display:flex;}
  .main-nav{
    position:fixed; top:0; left:0; bottom:0; z-index:var(--z-drawer);
    width:min(360px, calc(100% - 48px)); height:100vh; height:100dvh;
    background:#fff; display:flex; flex-direction:column; box-shadow:8px 0 40px rgba(0,0,0,.25);
    transform:translateX(-100%); visibility:hidden; transition:transform .28s ease, visibility 0s linear .28s;
  }
  .main-nav.open{transform:none; visibility:visible; transition:transform .28s ease, visibility 0s;}
  .nav-overlay{display:block; position:fixed; inset:0; z-index:var(--z-overlay); background:rgba(10,12,16,.5); opacity:0; transition:opacity .28s;}
  .nav-overlay.show{opacity:1;}
  .nav-overlay[hidden]{display:none;}
  body.nav-open .main-header{z-index:var(--z-drawer);}
  .drawer-head{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:calc(8px + env(safe-area-inset-top, 0px)) 12px 8px 16px; border-bottom:1px solid var(--line); flex-shrink:0;}
  .drawer-logo{height:28px; width:auto;}
  .drawer-close{width:44px; height:44px; border:none; background:var(--bg); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--navy); cursor:pointer;}
  .drawer-body{flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding-bottom:calc(20px + var(--safe-b));}
  .nav-inner{flex-direction:column; align-items:stretch; height:auto; gap:0; padding:12px 16px;}
  .all-cats{width:100%;}
  .all-cats-btn{width:100%; height:50px; border-radius:10px; justify-content:flex-start;}
  .all-cats-btn .chev{margin-left:auto;}
  .all-cats-dropdown{position:static; width:auto; max-height:none; box-shadow:none; border-radius:0; padding:6px 0 8px; overflow:visible;}
  .all-cats-dropdown a{min-height:44px; align-items:center;}
  .nav-links{flex-direction:column; align-items:stretch; width:100%; margin-top:8px;}
  .nav-links > li{flex-wrap:wrap; border-bottom:1px solid var(--line);}
  .nav-links > li > a, .nav-links > li > a:only-child{flex:1; min-width:0; height:auto; min-height:52px; padding:0 4px; color:var(--ink); font-size:15px; white-space:normal;}
  .nav-links > li > a.active{color:var(--orange-dark);}
  .sub-toggle{width:48px; height:52px; margin:0; color:var(--ink-soft); border-radius:8px;}
  .dropdown-menu{position:static; flex-basis:100%; min-width:0; box-shadow:none; background:var(--bg); border-radius:10px; padding:4px; margin:0 0 10px;}
  .dropdown-menu a{min-height:44px; display:flex; align-items:center;}
  .drawer-extra{display:grid; gap:2px; margin-top:14px; padding-top:10px;}
  .drawer-extra a{display:flex; align-items:center; gap:8px; min-height:44px; padding:0 4px; font-weight:600; font-size:14px; color:var(--ink);}
}

/* ---- Telefon ---- */
@media (max-width:760px){
  :root{--gutter:16px;}
  .topbar{font-size:12.5px;}
  .topbar-inner{min-height:36px;}
  .btn-teklif{padding:6px 12px; margin-left:0;}

  .header-inner{flex-wrap:wrap; height:auto; gap:8px 6px; padding-top:8px; padding-bottom:10px;}
  .logo{flex:1 1 auto; min-width:0;}
  .logo-img{height:30px; max-width:100%;}
  .header-actions{gap:2px;}
  .ha-fav{display:none;}               /* mobilde favoriler alt çubukta */
  .ha-label{display:none;}
  .header-action{width:44px;}
  .search-bar{order:5; flex:1 1 100%; max-width:none;}
  .search-bar input{font-size:16px; padding:10px 12px;}   /* iOS'ta odaklanınca yakınlaştırmayı önler */

  /* Mobil sabit alt yerleşim */
  :root{--dock-h:calc(60px + var(--safe-b));}  /* JS ölçene kadar güvenli varsayılan */
  .whatsapp-fab{display:none;}
  .bottom-dock{display:flex; flex-direction:column; position:fixed; left:0; right:0; bottom:0; z-index:var(--z-dock); transition:transform .22s ease;}
  html.kb-open .bottom-dock{transform:translateY(110%);}
  html.kb-open .scroll-top-btn, html.kb-open .cookie-consent{display:none;}
  .mobile-quickbar{display:flex; background:#fff; border-top:1px solid var(--line); box-shadow:0 -4px 16px rgba(0,0,0,.08); padding:0 4px var(--safe-b);}
  .mobile-quickbar a{flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; height:60px; font-size:11px; font-weight:700; color:var(--ink-soft);}
  .mobile-quickbar a.active, .mobile-quickbar a[aria-current]{color:var(--orange-dark);}
  .mobile-quickbar .qb-ic{position:relative; line-height:0;}
  .mobile-quickbar .qb-lbl{max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  .mobile-quickbar .qb-badge{position:absolute; top:-6px; right:-10px; background:var(--orange); color:#fff; font-size:10px; font-weight:800; border-radius:9px; min-width:17px; height:17px; padding:0 4px; display:flex; align-items:center; justify-content:center; line-height:1; box-shadow:0 0 0 2px #fff;}
  .pd-sticky-bar{background:#fff; border-top:1px solid var(--line); box-shadow:0 -4px 16px rgba(0,0,0,.08); padding:10px var(--gutter); align-items:center; gap:12px;}
  .pd-sticky-bar.show{display:flex; animation:dockIn .22s ease;}
  .pd-sticky-info{flex:1; min-width:0; display:flex; flex-direction:column;}
  .pd-sticky-info b{font-size:12px; color:var(--ink-soft); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:600;}
  .pd-sticky-info span{font-size:16px; font-weight:800; color:var(--navy); white-space:nowrap;}
  .pd-sticky-bar .btn{flex-shrink:0; padding:11px 18px;}
  .scroll-top-btn{right:12px; bottom:calc(12px + var(--dock-h));}
  .toast{top:auto; left:16px; right:16px; max-width:none; bottom:calc(16px + var(--dock-h)); transform:translateY(8px); text-align:center;}

  /* Slider */
  .hero-slide{padding:28px 0 52px;}
  .hero-inner{grid-template-columns:minmax(0,1fr); gap:22px;}
  .hero-arrow{display:none;}
  .hero-cta{margin-bottom:22px;}
  .hero-cta .btn{flex:1 1 150px;}
  .hero-art-visual{aspect-ratio:16 / 9; font-size:64px;}
  .hero-feat{font-size:12.5px;}

  .section{padding:40px 0;}
  .page-hero{padding:22px 0 16px;}
  .page-hero h1{font-size:clamp(1.4rem, 1.2rem + 1vw, 1.8rem);}
  .stat-strip .container{grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding-top:20px; padding-bottom:20px;}
  .stat{border-right:none; justify-content:flex-start;}
  .stat b{font-size:18px;}
  .feature-bar, .feature-bar.cols-6{grid-template-columns:repeat(auto-fill, minmax(min(100%, 150px), 1fr)); gap:10px;}
  .feature-tile{padding:12px; gap:10px;}
  .feature-tile .ic-box{width:38px; height:38px; font-size:17px;}
  .feature-tile b{font-size:13px;}
  .feature-tile span{font-size:12px;}
  .cat-strip, .cat-strip.cols-4, .cat-strip.cols-3{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
  .product-grid, .product-grid.cols-3, .product-grid.cols-5, .design-grid{grid-template-columns:repeat(auto-fill, minmax(min(100%, 150px), 1fr)); gap:12px;}
  .product-body{padding:12px;}
  .p-name{font-size:14px;}
  .p-price .now{font-size:16px;}
  .product-actions{flex-direction:column;}
  .product-actions .btn{padding:10px; font-size:13px;}
  .product-actions .btn-outline:not(:only-child){display:none;}   /* kartın tamamı zaten ürüne gider */
  .design-actions{flex-direction:column;}
  .process{grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:22px;}
  .testi-grid, .blog-grid{grid-template-columns:minmax(0,1fr);}
  .promo-banner{padding:24px 20px;}
  .promo-banner .big{font-size:clamp(1.4rem, 1.1rem + 1.5vw, 2rem);}
  .newsletter{padding:24px 20px;}
  .newsletter-form{flex-basis:100%; max-width:none;}
  .brand-strip{justify-content:center; gap:18px 26px;}
  .split-2col{grid-template-columns:minmax(0,1fr);}
  .design-path-cards{grid-template-columns:minmax(0,1fr);}
  .gallery-strip.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .layout-split{grid-template-columns:minmax(0,1fr);}

  /* Ürün detayı */
  .pd-layout{gap:24px;}
  .pd-title-row{flex-direction:column; gap:4px;}
  .pd-price-box{flex-direction:column; align-items:stretch;}
  .pd-installment{max-width:none;}
  .pd-delivery-box{grid-template-columns:minmax(0,1fr); gap:10px;}
  .pd-delivery-box div{border-right:none; border-bottom:1px solid var(--line); padding-bottom:8px;}
  .pd-delivery-box div:last-child{border-bottom:none;}
  .pd-process{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 8px;}
  .pd-process-arrow{display:none;}
  .pd-actions .btn{flex:1 1 140px;}
  .review-summary{grid-template-columns:minmax(0,1fr);}
  /* Benzer ürünler: yalnızca kendi kapsayıcısı yatay kayar */
  .related-scroll{display:grid; grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:minmax(150px, 46%); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding-bottom:8px; scrollbar-width:thin;}
  .related-scroll > *{scroll-snap-align:start;}

  /* Sepet satırı */
  .cart-row{grid-template-columns:60px minmax(0,1fr) auto; grid-template-areas:"thumb info remove" "thumb qty price"; gap:10px 12px; padding:14px; align-items:center;}
  .cart-thumb{grid-area:thumb; width:60px; height:60px; align-self:start;}
  .cart-info{grid-area:info;}
  .qty-stepper{grid-area:qty; justify-self:start;}
  .cart-price{grid-area:price; justify-self:end;}
  .remove-btn{grid-area:remove; align-self:start; justify-self:end; margin:-8px -8px 0 0;}
  .checkout-steps{gap:8px;}
  .co-sep{width:16px;}

  .footer-grid{gap:24px; padding-top:40px; padding-bottom:24px;}
  .footer-bottom-inner{flex-direction:column; align-items:flex-start;}
  .gallery-lightbox{padding:64px 12px;}
  .gl-nav{width:44px; height:44px; font-size:20px;}
  .gl-prev{left:6px;} .gl-next{right:6px;}
  .design-lightbox{padding:64px 12px;}
}

@media (max-width:560px){
  .form-grid{grid-template-columns:minmax(0,1fr);}
  .footer-grid{grid-template-columns:minmax(0,1fr);}
  .newsletter-form{flex-direction:column;}
  .newsletter-form .btn{width:100%;}
  .coupon-row{flex-wrap:wrap;}
  .cookie-actions{width:100%;}
  .cookie-actions .cc-btn{flex:1 1 0;}
  .design-path-card{padding:18px;}
  .campaign-item .c-info b{white-space:normal;}
}

@media (max-width:380px){
  .btn-teklif{font-size:12px; padding:5px 10px;}
  .topbar-item{font-size:12px;}
  .hero-feats{gap:8px 14px;}
  .stat-strip .container{gap:12px;}
  .pd-process{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@keyframes dockIn{from{transform:translateY(100%); opacity:0;} to{transform:none; opacity:1;}}

/* Hareket azaltma tercihi */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *, *::before, *::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; transition-delay:0s !important;}
}

/* Dokunmatik cihazlarda hover'a bağlı kalkma efektleri devre dışı */
@media (hover:none){
  .product-card:hover, .cat-card:hover, .design-card:hover{transform:none; box-shadow:none;}
  .zoom-hint{opacity:1;}
}


/* Küçük yardımcılar */
.empty-cart .h3{font-size:1.17em; margin-bottom:8px;}
.h1-count{display:inline-block; font-family:var(--font-body); font-size:13px; font-weight:700; color:var(--orange-dark); background:var(--orange-light); border-radius:20px; padding:3px 10px; vertical-align:middle; margin-left:6px;}
.pd-rating-row .no-review{color:var(--ink-soft);}
.review-empty{padding:18px; background:var(--bg); border-radius:var(--radius); color:var(--ink-soft); font-size:14px; margin-bottom:16px;}
.seo-intro{font-size:14.5px; line-height:1.75; color:var(--ink); max-width:860px; margin:0 0 8px;}
.seo-intro h2{font-size:18px; margin:18px 0 8px;} .seo-intro h3{font-size:16px; margin:14px 0 6px;}
.seo-intro ul{list-style:disc; padding-left:20px; margin:8px 0;} .seo-intro a{color:var(--orange-dark); text-decoration:underline;}
.seo-faq{margin-top:36px;} .seo-faq h2{font-size:20px; margin-bottom:14px;}
.seo-faq details{background:#fff; border:1px solid var(--line); border-radius:var(--radius); margin-bottom:10px;}
.seo-faq summary{cursor:pointer; padding:14px 16px; font-weight:700; min-height:48px; list-style-position:inside;}
.seo-faq details > div{padding:0 16px 16px; color:var(--ink-soft); font-size:14px; line-height:1.7;}

/* ---------- Dokunma hedefleri (≥44×44) ve mobil form yazı boyutu (≥16px, iOS yakınlaştırmasını önler) ---------- */
.forgot-link{display:flex; justify-content:flex-end; align-items:center; min-height:44px; font-size:13px; color:var(--orange-dark); font-weight:700;}
.section-head .link-all{display:inline-flex; align-items:center; min-height:44px;}
.fav-btn{width:44px; height:44px;}
.hero-dot{width:44px; height:44px;}
.hero-dots{gap:0; bottom:4px;}
.p-name{min-height:2.7em; max-height:2.7em;} /* tam 2 satır: 3. satırın üst kısmı görünmesin */
.search-bar input{min-height:44px;}
.search-bar button{min-height:44px;}
@media (max-width:760px){
  input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea{font-size:16px !important;}
  .topbar-inner{min-height:44px;}
  .topbar-item{min-height:44px;}
  .btn-teklif{position:relative;}
  .btn-teklif::after{content:''; position:absolute; inset:-10px -6px;}   /* görünür hap küçük, dokunma alanı 44px */
  .logo{min-height:44px; display:flex; align-items:center;}
  .footer-col a, .footer-col > span, .footer-links-2col a{display:flex; align-items:center; min-height:44px; margin-bottom:0; padding:0;}
  .footer-soc a{width:44px; height:44px;}
  .footer-legal-links a, .footer-legal-links .link-btn{min-height:44px; display:inline-flex; align-items:center;}
  .breadcrumb a{display:inline-flex; align-items:center; min-height:44px;}
  .skip-link{min-height:44px; display:flex; align-items:center;}
}
.inline-search{max-width:480px; margin-bottom:30px; display:flex; gap:10px;}
.inline-search input{flex:1 1 auto; min-width:0; border:1px solid var(--line); border-radius:8px; padding:11px 14px; font-size:15px; min-height:44px;}
.inline-search .btn{flex-shrink:0;}
/* Ürün sayfası, tek sütunda: görsel → başlık/fiyat/sepete ekle → diğer bilgiler (satın alma alanı uzun kaydırmanın altında kalmaz) */
@media (max-width:1080px){
  .pd-col-media{display:contents;}
  .pd-layout{row-gap:0;}
  .pd-o-gallery{order:1;} .pd-o-thumbs{order:2; margin-bottom:20px;} .pd-col-info{order:3;}
  .pd-o-photos{order:4;} .pd-o-spec{order:5;} .pd-o-process{order:6; margin-bottom:8px;}
  .pd-col-media > script{display:none;}
}

/* ===================== Satış araçları (v3) ===================== */
.btn-sm{min-height:44px; padding:8px 14px; font-size:13px;}
.notice{padding:12px 16px; border-radius:var(--radius); font-size:14px; font-weight:600; margin:0 0 16px; line-height:1.5; overflow-wrap:anywhere;}
.notice-ok{background:#e6f7ee; color:#11683d;}
.notice-info{background:var(--orange-light); color:#8a4100;}
.notice-err{background:#fdecec; color:#9d2b2b;}

/* Ürün sayfası: teslim tahmini + güven maddeleri */
.trust-box{margin:22px 0; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; overflow:hidden;}
.trust-ship{display:flex; gap:12px; align-items:flex-start; padding:14px 16px; background:#f2faf6; border-bottom:1px solid var(--line); color:#11683d;}
.trust-ship > svg{flex:0 0 auto; margin-top:2px;}
.trust-ship b{display:block; font-size:14px; color:var(--navy);}
.trust-ship span{display:block; font-size:12.5px; color:var(--ink-soft); margin-top:2px; line-height:1.5;}
.trust-list{list-style:none; margin:0; padding:10px 16px; display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap:4px 16px;}
.trust-list li{display:flex; gap:8px; align-items:flex-start; padding:6px 0; font-size:13px; font-weight:600; color:var(--navy); min-width:0;}
.trust-list li svg{flex:0 0 auto; color:var(--green); margin-top:2px;}

/* Yorumlar */
.review-verified{display:inline-flex; align-items:center; gap:4px; font-size:11.5px; font-weight:700; color:var(--green); background:#e6f7ee; padding:2px 8px; border-radius:999px;}
.review-form fieldset{border:1px solid var(--line); margin:0 0 14px; min-width:0;}
.review-item-head{display:flex; align-items:center; gap:12px; font-weight:700; font-size:15px; padding:0 4px;}
.review-item-head img{border-radius:8px; object-fit:cover; background:var(--bg);}
.rate-stars{display:inline-flex; flex-direction:row-reverse; gap:2px; margin:6px 0 12px;}
.rate-stars input{position:absolute; opacity:0; width:1px; height:1px;}
.rate-stars label{display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; cursor:pointer; color:#d5d7dd;}
.rate-stars label svg{fill:currentColor; stroke:none;}
.rate-stars input:checked ~ label, .rate-stars label:hover, .rate-stars label:hover ~ label{color:var(--star);}
.rate-stars input:focus-visible + label{outline:2px solid var(--orange); outline-offset:2px; border-radius:6px;}
@media (hover:none){ .rate-stars label:hover, .rate-stars label:hover ~ label{color:#d5d7dd;} .rate-stars input:checked ~ label{color:var(--star);} }
.review-form textarea{width:100%; font-size:16px;}
.review-form .check-row{min-height:44px;}

/* Hesabım: tercih + tekrar sipariş */
.pref-form{margin:4px 0 16px; padding:12px 0 0; border-top:1px solid var(--line);}
.pref-row{display:flex; gap:8px; align-items:flex-start; font-size:12.5px; color:var(--ink-soft); margin-bottom:10px; cursor:pointer;}
.pref-row input{margin-top:3px; width:18px; height:18px; flex:0 0 auto;}
.pref-ok{font-size:12.5px; color:var(--green); margin:8px 0 0;}
.reorder-form{margin-top:8px;}
.reorder-form .btn{white-space:nowrap; gap:6px;}
@media (max-width:560px){ .reorder-form .btn{white-space:normal;} }

/* ===================== AI Grafiker (v4) ===================== */
.aid-hero .aid-badge{display:inline-block; background:linear-gradient(90deg,#7c3aed,#f5730c); color:#fff; font-size:11px; font-weight:800; padding:4px 12px; border-radius:20px; margin-bottom:10px;}
.aid-muted{font-size:12.5px; color:var(--ink-soft); line-height:1.55;}
.aid-guest{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:22px; align-items:start;}
.aid-steps{grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
.aid-steps div{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:14px; display:flex; gap:10px; align-items:center; font-weight:700; font-size:14px; min-width:0;}
.aid-steps b{flex:0 0 32px; height:32px; border-radius:50%; background:var(--orange-light); color:var(--orange-dark); display:flex; align-items:center; justify-content:center;}
.aid-sample{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
.aid-sample figure{margin:0;} .aid-sample p{grid-column:1 / -1; margin:0;}
.aid-svg{display:block; width:100%; height:auto; border-radius:6px; box-shadow:0 2px 10px rgba(20,24,31,.14); background:#fff;}
.aid-login h2{font-size:19px; margin:0 0 8px;} .aid-login p{font-size:13.5px; color:var(--ink-soft);} .aid-login .btn + .btn{margin-top:10px;}
.aid-status{display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; background:#fff; border:1px solid var(--line); border-left:4px solid var(--c); border-radius:var(--radius); padding:12px 16px; margin-bottom:16px;}
.aid-status span{color:var(--c); font-weight:700;}
.aid-pick h2, .aid-form h2, .aid-history h2{font-size:20px; margin:0 0 12px;} .aid-pick h2 small{font-size:12px; color:var(--ink-soft); font-weight:600;}
.aid-form h3{font-size:16px; margin:18px 0 10px;}
.aid-form .field{margin-bottom:12px;} .aid-form input, .aid-form select, .aid-form textarea{font-size:16px;}
.aid-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap:14px; margin-bottom:16px;}
.aid-card{position:relative; display:block; background:#fff; border:2px solid var(--line); border-radius:var(--radius-lg); padding:12px; cursor:pointer; transition:border-color .15s, box-shadow .15s; min-width:0;}
.aid-card input{position:absolute; opacity:0; width:1px; height:1px;}
.aid-card:has(input:checked){border-color:var(--orange); box-shadow:0 0 0 3px rgba(245,115,12,.18);}
.aid-card input:focus-visible ~ .aid-meta{outline:2px solid var(--orange); outline-offset:2px;}
.aid-faces{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
.aid-faces.big{gap:16px; max-width:900px;}
.aid-face{display:block; min-width:0;} .aid-face em{display:block; font-style:normal; font-size:11.5px; color:var(--ink-soft); margin-top:5px; text-align:center;}
.aid-meta{display:block; font-size:13px; margin-top:10px; color:var(--ink); line-height:1.45;}
.aid-check{display:none; position:absolute; top:-10px; right:12px; background:var(--orange); color:#fff; font-size:12px; font-weight:800; padding:3px 10px; border-radius:20px; align-items:center; gap:4px;}
.aid-card:has(input:checked) .aid-check{display:inline-flex;}
.aid-actions{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:12px 0;}
.aid-secondary form{margin:0;}
.aid-final{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:18px; margin-bottom:18px;}
.aid-final p{margin:14px 0;}
.aid-history{margin-top:26px;} .aid-history ul{list-style:none; margin:0 0 12px; padding:0;}
.aid-history li{display:flex; flex-wrap:wrap; gap:6px 12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); font-size:14px; min-height:44px;}
.aid-history li a{color:var(--navy); min-width:0; overflow-wrap:anywhere;} .aid-history li span{font-weight:700; font-size:12.5px;} .aid-history small{color:var(--ink-soft);}
@media (max-width:760px){
  .aid-guest{grid-template-columns:minmax(0,1fr);}
  .aid-steps{grid-template-columns:minmax(0,1fr);}
  .aid-faces{grid-template-columns:minmax(0,1fr);}
  .aid-actions .btn{flex:1 1 auto;}
}
/* Anasayfa: 3 tasarım yolu kartı */
.design-path-cards{grid-template-columns:repeat(auto-fit, minmax(min(100%, 250px), 1fr));}
.design-path-card.ai .badge-pill{background:linear-gradient(90deg,#ede9fe,#fff1e6); color:#6d28d9;}
.design-path-card.ai .btn-primary{background:linear-gradient(90deg,#7c3aed,#f5730c); border:0;}
/* Baskı dosyası kontrolü kutusu (sepet) */
.pf-box{margin-top:8px; padding:10px 12px; border-radius:8px; font-size:12.5px; line-height:1.5; font-weight:500; color:var(--ink);}
.pf-box ul{margin:4px 0 4px 18px; padding:0;} .pf-box .pf-note{display:block; color:var(--ink-soft); font-size:12px;}
.pf-warn{background:#fff4e8;} .pf-err{background:#fdecec;} .pf-info{background:#f2f5fa;} .pf-ok{background:#e6f7ee;}
.unit-price{display:block; font-size:12px; color:var(--ink-soft); font-weight:600;}
.aid-strip{display:flex; align-items:center; gap:12px; margin:0 0 18px; padding:12px 16px; min-height:56px; border-radius:var(--radius-lg); background:linear-gradient(90deg,#f3efff,#fff1e6); color:var(--navy); font-size:14px; line-height:1.45;}
.aid-strip:hover{box-shadow:var(--shadow-md);}
.aid-strip-ic{font-size:22px; flex:0 0 auto;} .aid-strip > span:nth-child(2){flex:1; min-width:0;}
.aid-strip-go{flex:0 0 auto; font-weight:800; color:#6d28d9;}
/* 3 tasarım yolu kartı varken yerleşim */
.design-path-section.has-3{grid-template-columns:minmax(0,1fr) 280px;}
.design-path-section.has-3 .design-path-cards{grid-template-columns:repeat(3,minmax(0,1fr));}
.design-path-section.has-3 .design-path-card{padding:22px;}
@media (max-width:1199px){
  .design-path-section.has-3{grid-template-columns:minmax(0,1fr);}
  .design-path-section.has-3 .campaign-widget{display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap:0 20px;}
  .design-path-section.has-3 .campaign-widget > h3, .design-path-section.has-3 .campaign-widget > .sub, .design-path-section.has-3 .campaign-widget > .btn{grid-column:1 / -1;}
}
@media (max-width:760px){ .design-path-section.has-3 .design-path-cards{grid-template-columns:minmax(0,1fr);} }
.design-path-section.has-3 .design-path-card .btn{font-size:14px; padding-left:12px; padding-right:12px;}
/* AI Grafiker: dikey kartlar */
.aid-faces.v{grid-template-columns:repeat(2,minmax(0,190px)); justify-content:center;}
.aid-faces.big.v{grid-template-columns:repeat(2,minmax(0,260px));}
@media (max-width:640px){ .aid-faces.v{grid-template-columns:repeat(2,minmax(0,1fr));} }
/* Ürün sayfası: dar ekranda "Sepete Ekle / Hemen Sipariş Ver" tek satırda kalsın */
@media (max-width:420px){ .pd-actions .btn-lg{font-size:15px; padding-left:10px; padding-right:10px; white-space:nowrap;} }
@media (max-width:340px){ .pd-actions .btn{flex-basis:100%;} }
@media (max-width:420px){ .hero-cta .btn{white-space:nowrap; padding-left:12px; padding-right:12px; font-size:15px;} }
.design-actions{flex-wrap:wrap;} .design-actions .btn{flex:1 1 auto; min-width:0;}
/* Alt yerleşim (dock) için bırakılan boşluk sayfa sonunda beyaz şerit görünmesin: altbilgi o boşluğu kendi rengiyle doldurur */
.site-footer{margin-bottom:calc(-1 * var(--dock-h, 0px)); padding-bottom:var(--dock-h, 0px);}
/* Ürün kartı düğmeleri: dar kartta (5'li ızgara) "Hemen Sipariş Ver" üç satıra kırılmasın; sığmazsa alt alta geçer */
.product-actions{flex-wrap:wrap;}
.product-actions .btn{flex:1 1 auto; white-space:nowrap; min-width:0;}
/* Güven kutucukları: 6'lı satır yalnızca geniş ekranda; arada 3'lü, metin rahat okunur */
@media (max-width:1439px) and (min-width:861px){ .feature-bar.cols-6{grid-template-columns:repeat(3,minmax(0,1fr));} }
