/* Dolap planlayıcı v2 — sitenin renk tokenlarını (stil.css) kullanır */

/* Başlık bandı */
.pl-bas {
  padding: clamp(1.6rem, 3.6vw, 2.6rem) 0 clamp(1.4rem, 3vw, 2rem);
  background:
    radial-gradient(600px 300px at 85% 0%, rgba(214, 240, 190, .14), transparent 70%),
    linear-gradient(180deg, #27462f 0%, #213a29 100%);
}
.pl-bas-ic { display: grid; grid-template-columns: 1.25fr 1fr; gap: 2rem; align-items: end; }
.pl-bas h1 { font-size: clamp(2rem, 4.2vw, 3.1rem); margin-bottom: .45rem; }
.pl-bas .giris { margin: 0; font-size: 1.04rem; }
.pl-artilar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.pl-artilar li { padding: .6rem .8rem .6rem 2rem; border: 1px solid var(--cizgi); border-radius: 12px; background: rgba(255, 255, 255, .04); font-size: .88rem; color: var(--metin-2); position: relative; line-height: 1.35; }
.pl-artilar li::before { content: ""; position: absolute; left: .8rem; top: .95em; width: 8px; height: 8px; border-radius: 50%; background: var(--vurgu); }

/* Gardırop | Mutfak anahtarı */
.pl-tur-sec { display: inline-flex; gap: 4px; padding: 4px; margin-bottom: 1rem; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid var(--cizgi); }
.pl-tur-sec a { display: inline-flex; align-items: center; gap: .45rem; min-height: 42px; padding: .5rem 1.1rem; border-radius: 999px; text-decoration: none; font: 600 .92rem/1 var(--sans); color: var(--metin-2); }
.pl-tur-sec a svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pl-tur-sec a[aria-current="page"] { background: var(--vurgu); color: var(--vurgu-yazi); }
.pl-tur-sec a:not([aria-current="page"]):hover { color: var(--metin); background: rgba(255, 255, 255, .08); }

/* Yerleşim */
.pl-ic {
  width: min(1480px, 100% - 32px); margin: 1.2rem auto 3.5rem;
  display: grid; grid-template-columns: minmax(0, 1fr) 470px; gap: 1.2rem; align-items: start;
}
.pl-sahne {
  position: sticky; top: 82px; z-index: 5;
  height: calc(100vh - 100px); min-height: 520px; max-height: 940px;
  display: flex; flex-direction: column;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 18px; overflow: hidden;
  box-shadow: var(--golge);
}
.pl-arac { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; justify-content: space-between; padding: .5rem .6rem; border-bottom: 1px solid var(--cizgi); background: var(--kart-2); }
.pl-sekmeler { display: inline-flex; background: var(--zemin-2); border: 1px solid var(--cizgi); border-radius: 999px; padding: 3px; }
.pl-sekmeler button { border: 0; background: transparent; padding: .55rem 1rem; min-height: 40px; border-radius: 999px; font: 500 .88rem/1 var(--sans); color: var(--metin-2); cursor: pointer; }
.pl-sekmeler button[aria-selected="true"] { background: var(--kart); color: var(--metin); box-shadow: 0 1px 4px rgba(27, 52, 35, .16); }
.pl-sekmeler button:disabled { opacity: .45; cursor: not-allowed; }
.pl-araclar { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.pl-ikon-btn {
  display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; min-width: 40px; justify-content: center;
  padding: .45rem .7rem; border-radius: 999px; border: 1px solid var(--cizgi);
  background: var(--kart); color: var(--metin); font: 500 .84rem/1 var(--sans); cursor: pointer;
  transition: background .2s, border-color .2s;
}
.pl-ikon-btn:hover:not(:disabled) { border-color: var(--vurgu-cizgi); background: var(--vurgu-acik); }
.pl-ikon-btn:disabled { opacity: .38; cursor: default; }
.pl-ikon-btn[aria-pressed="true"] { background: var(--vurgu-acik); border-color: var(--vurgu); }
.pl-ikon-btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.pl-kaydet-btn { background: var(--vurgu); color: #fff; border-color: var(--vurgu); }
.pl-kaydet-btn:hover:not(:disabled) { background: var(--vurgu-2); color: #fff; }
.pl-kod { font: 600 .72rem/1 var(--sans); letter-spacing: .04em; padding: .22rem .4rem; border-radius: 6px; background: rgba(255, 255, 255, .2); }

.pl-tuval { position: relative; flex: 1; min-height: 0; background: #e4e9e0; }
#uc, #iki { position: absolute; inset: 0; }
#uc canvas { display: block; width: 100% !important; height: 100% !important; touch-action: none; cursor: grab; }
#uc canvas:active { cursor: grabbing; }
#iki { background: var(--zemin); padding: .4rem; user-select: none; -webkit-user-select: none; }
#iki svg { width: 100%; height: 100%; display: block; }
#iki .oge, #iki .dikme-tut { touch-action: none; }
#iki .oge:hover > rect:last-of-type { fill: rgba(47, 125, 225, .07); }
#iki .bolum:hover { fill: rgba(120, 160, 60, .08); }
.pl-yukleniyor { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: .8rem; color: var(--metin-2); font-size: .92rem; background: #e4e9e0; }
.pl-yukleniyor span { width: 34px; height: 34px; border-radius: 50%; border: 3px solid var(--cizgi); border-top-color: var(--vurgu); animation: pl-don .9s linear infinite; }
@keyframes pl-don { to { transform: rotate(360deg); } }
.pl-ipucu { position: absolute; top: .55rem; left: .7rem; right: .7rem; margin: 0; pointer-events: none; font-size: .76rem; color: var(--metin-3); }
.pl-uyarilar { position: absolute; left: .6rem; right: .6rem; bottom: .6rem; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; pointer-events: none; }
.pl-uyari { max-width: 100%; padding: .42rem .7rem; border-radius: 8px; background: rgba(255, 255, 255, .95); border: 1px solid var(--cizgi); border-left: 4px solid var(--vurgu); font-size: .82rem; line-height: 1.4; box-shadow: 0 6px 20px -12px rgba(27, 52, 35, .5); }
.pl-uyari.hata { border-left-color: #c0533a; }
.pl-uyari.uyari { border-left-color: #d49a2a; }

/* 2D bölüm menüsü */
.pl-menu {
  position: absolute; z-index: 30; width: min(360px, calc(100% - 12px)); max-height: calc(100% - 12px); overflow: auto;
  padding: .6rem; border-radius: 14px; background: #fff; border: 1px solid var(--cizgi);
  box-shadow: 0 20px 50px -18px rgba(20, 40, 25, .5); animation: belir .16s ease;
}
.pl-menu-bas { margin: 0 0 .45rem; font: 600 .86rem/1.3 var(--sans); }
.pl-menu-bas small { font-weight: 400; color: var(--metin-3); }
.pl-menu-alt { margin: .5rem 0 .3rem; font-size: .76rem; color: var(--metin-3); }
.pl-menu-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: .3rem; }
.pl-menu button {
  display: flex; align-items: center; gap: .4rem; min-height: 44px; width: 100%;
  padding: .4rem .5rem; border: 1px solid var(--cizgi); border-radius: 10px; background: var(--zemin);
  font: 500 .78rem/1.15 var(--sans); color: var(--metin); text-align: left; cursor: pointer;
}
.pl-menu-izgara button { flex-direction: column; justify-content: center; text-align: center; gap: .2rem; padding: .35rem .25rem; }
.pl-menu button:hover:not(:disabled), .pl-menu button[aria-pressed="true"] { border-color: var(--vurgu); background: var(--vurgu-acik); }
.pl-menu button:disabled { opacity: .4; cursor: default; }
.pl-menu button svg { width: 24px; height: 24px; fill: none; stroke: var(--vurgu); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.pl-menu .tehlike { margin-top: .4rem; color: #a6402a; justify-content: center; }
.pl-menu .tehlike svg { stroke: #a6402a; width: 16px; height: 16px; }
.pl-menu-ikili { display: grid; grid-template-columns: repeat(auto-fit, minmax(70px, 1fr)); gap: .3rem; margin-top: .35rem; }

/* Panel */
.pl-panel { display: grid; gap: .8rem; min-width: 0; }
.pl-adimlar-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: .35rem; }
.pl-adim-sekme {
  display: flex; align-items: center; gap: .45rem; min-height: 44px; padding: .4rem .55rem; text-align: left;
  border: 1px solid var(--cizgi); border-radius: 12px; background: var(--kart);
  font: 500 .8rem/1.15 var(--sans); color: var(--metin-2); cursor: pointer;
}
.pl-adim-sekme span { width: 24px; height: 24px; flex: none; border-radius: 50%; background: var(--zemin-2); color: var(--vurgu); font: 700 .78rem/24px var(--sans); text-align: center; }
.pl-adim-sekme[aria-current="step"] { border-color: var(--vurgu); background: var(--vurgu-acik); color: var(--metin); box-shadow: inset 0 0 0 1px var(--vurgu); }
.pl-adim-sekme[aria-current="step"] span { background: var(--vurgu); color: #fff; }
.pl-adim-kutu { background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--yaricap); padding: 1.1rem 1.1rem 1.15rem; min-width: 0; }
.pl-adim-kutu > h2 { font-size: 1.35rem; margin-bottom: .8rem; }
.pl-adim-alt { display: flex; justify-content: space-between; gap: .6rem; margin-top: 1.3rem; padding-top: 1rem; border-top: 1px solid var(--cizgi); }
.pl-adim-alt .btn { min-height: 46px; }
.pl-adim-alt .btn:disabled { opacity: .35; cursor: default; }

.pl-tipler { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; }
.pl-tip { display: flex; align-items: center; gap: .55rem; min-height: 52px; padding: .55rem .65rem; border: 1px solid var(--cizgi); border-radius: 12px; background: var(--kart); cursor: pointer; text-align: left; font: 500 .86rem/1.2 var(--sans); color: var(--metin); }
.pl-tip:hover { border-color: var(--vurgu-cizgi); }
.pl-tip svg { width: 28px; height: 28px; flex: none; fill: none; stroke: var(--vurgu); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pl-tip[aria-pressed="true"] { border-color: var(--vurgu); background: var(--vurgu-acik); box-shadow: inset 0 0 0 1px var(--vurgu); }

.pl-etiket { display: block; margin: 1rem 0 .45rem; font-size: .74rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--metin-3); }
.pl-etiket b { font-weight: 600; color: var(--metin-2); letter-spacing: .01em; text-transform: none; font-size: .82rem; }
.pl-kucuk { font-size: .8rem; color: var(--metin-3); font-weight: 400; letter-spacing: 0; text-transform: none; }
.pl-alt-baslik { font-size: 1.12rem; margin: 1.4rem 0 .6rem; }
.pl-alt-baslik small { font: 400 .8rem var(--sans); color: var(--metin-3); }
.pl-ipucu-p { margin: 0 0 .8rem; padding: .6rem .75rem; border-radius: 10px; background: var(--zemin-2); font-size: .84rem; color: var(--metin-2); }
.pl-durum { margin: .55rem 0 0; font-size: .86rem; color: var(--metin-2); }
.pl-not { margin: 1rem 0 0; font-size: .8rem; color: var(--metin-3); line-height: 1.5; }
.pl-ust-bosluk { margin-top: .8rem; }

.pl-cipler { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.pl-cip {
  display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-height: 38px;
  padding: .4rem .75rem; border-radius: 999px; border: 1px solid var(--cizgi);
  background: var(--zemin); color: var(--metin-2); font: 500 .82rem/1.15 var(--sans); cursor: pointer;
  transition: border-color .2s, background .2s, color .2s;
}
.pl-cip small { opacity: .65; font-size: .9em; }
.pl-cip:hover:not(:disabled) { border-color: var(--vurgu-cizgi); color: var(--metin); }
.pl-cip[aria-pressed="true"] { border-color: var(--vurgu); background: var(--vurgu); color: var(--vurgu-yazi); }
.pl-cip:disabled { opacity: .4; cursor: default; }
.pl-cip-vurgu { border-color: var(--vurgu-cizgi); color: var(--vurgu); background: var(--vurgu-acik); font-weight: 600; }
.pl-segment { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: .3rem; }
.pl-segment .pl-cip { padding: .45rem .3rem; min-height: 42px; }
.pl-seg6 { grid-template-columns: repeat(6, 1fr); }
.pl-seg5 { grid-template-columns: repeat(3, 1fr); }
.pl-seg4 { grid-template-columns: repeat(4, 1fr); }
.pl-seg2 { grid-template-columns: 1fr 1fr; margin-bottom: .5rem; }
.pl-bolumler .pl-cip { border-radius: 10px; }
.pl-nokta { width: 12px; height: 12px; flex: none; border-radius: 50%; display: inline-block; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .2); }
.pl-tur-aciklama { margin: .5rem 0 0; font-size: .8rem; line-height: 1.5; color: var(--metin-3); }

/* Büyük ölçü alanları */
.pl-olculer { display: grid; gap: .8rem; margin-top: 1rem; }
.pl-olcu { display: grid; gap: .35rem; min-width: 0; }
.pl-olcu-ad { font: 600 .82rem/1.2 var(--sans); color: var(--metin-2); }
.pl-stepper { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto 48px; align-items: center; background: var(--zemin-2); border: 1px solid var(--cizgi); border-radius: 12px; overflow: hidden; }
.pl-stepper:focus-within { border-color: var(--vurgu); box-shadow: 0 0 0 3px var(--vurgu-acik); }
.pl-stepper input { width: 100%; min-width: 0; border: 0; background: transparent; padding: .55rem .2rem; font: 600 1.3rem/1.2 var(--sans); color: var(--metin); text-align: center; outline: none; }
.pl-stepper .birim { padding-right: .5rem; color: var(--metin-3); font-size: .82rem; }
.pl-art { height: 48px; border: 0; background: transparent; font: 400 1.5rem/1 var(--sans); color: var(--vurgu); cursor: pointer; touch-action: manipulation; user-select: none; -webkit-user-select: none; }
.pl-art:hover { background: var(--vurgu-acik); }
.pl-art:active { background: rgba(120, 160, 60, .25); }
.pl-olcu .pl-cipler .pl-cip { min-height: 34px; padding: .32rem .6rem; font-size: .78rem; }
.pl-ikili-olcu { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin: .7rem 0; }
.pl-ikili-olcu .pl-stepper { grid-template-columns: 38px minmax(0, 1fr) auto 38px; }
.pl-ikili-olcu .pl-stepper input { font-size: 1.05rem; }
.pl-ikili-olcu .pl-art { height: 42px; font-size: 1.25rem; }

.pl-gelismis { margin-top: 1.1rem; border: 1px solid var(--cizgi); border-radius: 12px; padding: .2rem .8rem .6rem; background: var(--zemin); }
.pl-gelismis summary { cursor: pointer; padding: .6rem 0; font: 600 .88rem/1.3 var(--sans); color: var(--metin-2); }
.pl-anahtar { display: flex; align-items: center; gap: .55rem; margin: .45rem 0; font-size: .88rem; color: var(--metin); cursor: pointer; min-height: 36px; }
.pl-anahtar input { width: 20px; height: 20px; accent-color: var(--vurgu); }
.pl-anahtar-ic { margin: 0 0 0 .4rem; }

.pl-alanlar { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin: .5rem 0; }
.pl-alan { display: grid; gap: .3rem; font-size: .8rem; font-weight: 500; color: var(--metin-2); min-width: 0; }
.pl-alan input[type="color"] { width: 100%; height: 44px; border: 1px solid var(--cizgi); border-radius: 10px; background: var(--zemin-2); padding: 3px; }
.pl-giris { display: flex; align-items: center; background: var(--zemin-2); border: 1px solid var(--cizgi); border-radius: 10px; overflow: hidden; }
.pl-giris:focus-within { border-color: var(--vurgu); }
.pl-giris input, .pl-giris textarea { flex: 1; min-width: 0; width: 100%; border: 0; background: transparent; padding: .62rem .7rem; font: 500 1rem/1.3 var(--sans); color: var(--metin); outline: none; }
.pl-giris textarea { resize: vertical; font-weight: 400; }
.pl-giris-kucuk { width: 78px; flex: none; }
.pl-giris-kucuk input { padding: .45rem .4rem; font-size: .92rem; text-align: right; }
.pl-secim { width: 100%; min-height: 44px; padding: .5rem .6rem; border-radius: 10px; border: 1px solid var(--cizgi); background: var(--zemin-2); color: var(--metin); font: 500 .88rem/1.3 var(--sans); }
.pl-secim-kucuk { width: auto; min-height: 38px; padding: .35rem .45rem; font-size: .82rem; }
.pl-secim:focus { outline: none; border-color: var(--vurgu); }

/* Gövde kartları ve listeler */
.pl-moduller { display: grid; gap: .5rem; }
.pl-modul { border: 1px solid var(--cizgi); border-radius: 12px; background: var(--kart); min-width: 0; }
.pl-modul.secili { border-color: var(--vurgu); box-shadow: inset 0 0 0 1px var(--vurgu); }
.pl-modul-ust { margin-left: 1.1rem; border-style: dashed; background: var(--kart-2); }
.pl-modul-ust .pl-no { font-size: .72rem; }
.pl-cip svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.pl-modul-bas { display: flex; align-items: center; gap: .3rem; padding: .4rem .45rem .4rem .45rem; }
.pl-modul-bas .baslik { flex: 1; min-width: 0; display: flex; align-items: center; gap: .55rem; text-align: left; background: none; border: 0; padding: .25rem; min-height: 40px; cursor: pointer; font: 600 .92rem/1.25 var(--sans); color: var(--metin); }
.pl-modul-bas .baslik small { display: block; font-weight: 400; font-size: .78rem; color: var(--metin-3); }
.pl-no { width: 28px; height: 28px; flex: none; border-radius: 8px; background: var(--zemin-2); color: var(--vurgu); font: 700 .82rem/28px var(--sans); text-align: center; }
.pl-modul.secili .pl-no { background: var(--vurgu); color: var(--vurgu-yazi); }
.pl-mini { width: 36px; height: 36px; flex: none; display: grid; place-items: center; padding: 0; border: 1px solid var(--cizgi); border-radius: 9px; background: var(--kart); color: var(--metin-2); cursor: pointer; }
.pl-mini:hover:not(:disabled) { border-color: var(--vurgu-cizgi); color: var(--vurgu); }
.pl-mini:disabled { opacity: .3; cursor: default; }
.pl-mini svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pl-modul-ic { display: grid; gap: .55rem; padding: .7rem .8rem .9rem; border-top: 1px dashed var(--cizgi); }
.pl-modul-ic .pl-etiket { margin: .4rem 0 0; }
.pl-dlist { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.pl-d { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; padding: .3rem .35rem .3rem .5rem; background: var(--zemin-2); border-radius: 10px; font-size: .86rem; border: 1px solid transparent; }
.pl-d.secili { border-color: #2f7de1; background: #eef4fd; }
.pl-d .ad { flex: 1 1 140px; min-width: 0; display: flex; align-items: center; gap: .45rem; font-weight: 500; line-height: 1.25; }
.pl-d .ad small { display: block; font-weight: 400; font-size: .74rem; color: var(--metin-3); }
.pl-d .ad svg { width: 24px; height: 24px; flex: none; fill: none; stroke: var(--vurgu); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pl-secili-bas { margin: .7rem 0 .2rem; font-size: .86rem; color: var(--metin-2); }

/* İç donanım paleti */
.pl-palet { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: .35rem; margin-top: .6rem; }
.pl-palet-btn { display: grid; justify-items: center; gap: .25rem; min-height: 72px; padding: .5rem .3rem .45rem; border: 1px solid var(--cizgi); border-radius: 12px; background: var(--kart); cursor: pointer; font: 500 .74rem/1.15 var(--sans); color: var(--metin); text-align: center; }
.pl-palet-btn:hover { border-color: var(--vurgu); background: var(--vurgu-acik); }
.pl-palet-btn svg { width: 30px; height: 30px; fill: none; stroke: var(--vurgu); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pl-esit { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-top: .8rem; padding: .55rem .6rem; border-radius: 12px; background: var(--zemin-2); font-size: .86rem; }

/* Kapak modeli, kulp, renkler */
.pl-modeller, .pl-kulplar { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: .35rem; }
.pl-model, .pl-kulp { display: grid; justify-items: center; gap: .3rem; min-height: 92px; padding: .45rem .25rem .4rem; border: 1px solid var(--cizgi); border-radius: 12px; background: var(--kart); cursor: pointer; font: 500 .72rem/1.15 var(--sans); color: var(--metin-2); text-align: center; }
.pl-model svg { width: 30px; height: 42px; }
.pl-kulp svg { width: 40px; height: 40px; fill: none; stroke: var(--metin-3); stroke-width: 1.4; }
.pl-model:hover, .pl-kulp:hover { border-color: var(--vurgu-cizgi); }
.pl-model[aria-pressed="true"], .pl-kulp[aria-pressed="true"] { border-color: var(--vurgu); background: var(--vurgu-acik); color: var(--metin); box-shadow: inset 0 0 0 1px var(--vurgu); }
.pl-govde-kapak { display: grid; gap: .55rem; margin-top: .55rem; padding: .7rem; border-radius: 12px; background: var(--zemin); border: 1px solid var(--cizgi); }
.pl-renkler { display: flex; flex-wrap: wrap; gap: .45rem; }
.pl-renk { width: 42px; height: 42px; padding: 0; border-radius: 50%; border: 3px solid var(--kart); background: var(--r); box-shadow: 0 0 0 1px var(--cizgi); cursor: pointer; }
.pl-renk.metal { background: radial-gradient(circle at 32% 28%, #ffffffcc, transparent 45%), var(--r); }
.pl-renk[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--vurgu); }

.pl-hedefler { display: grid; grid-template-columns: repeat(3, 1fr); gap: .35rem; }
.pl-hedef { display: flex; align-items: center; gap: .5rem; min-height: 56px; padding: .45rem .5rem; border: 1px solid var(--cizgi); border-radius: 12px; background: var(--kart); cursor: pointer; text-align: left; font: 400 .74rem/1.2 var(--sans); color: var(--metin-3); min-width: 0; }
.pl-hedef b { display: block; font-weight: 600; font-size: .84rem; color: var(--metin); }
.pl-hedef small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-hedef > span { min-width: 0; }
.pl-hedef[aria-pressed="true"] { border-color: var(--vurgu); background: var(--vurgu-acik); box-shadow: inset 0 0 0 1px var(--vurgu); }
.pl-ornek { display: block; width: 32px; height: 32px; flex: none; border-radius: 8px; background-size: cover; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .14); }
.pl-ara input { width: 100%; min-height: 44px; margin: .3rem 0 .6rem; padding: .55rem .8rem; border-radius: 10px; border: 1px solid var(--cizgi); background: var(--zemin-2); font: 400 .95rem var(--sans); color: var(--metin); }
.pl-ara input:focus { outline: none; border-color: var(--vurgu); }
.pl-dekorlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: .4rem; max-height: 520px; overflow-y: auto; padding: 2px; }
.pl-dekor { display: grid; gap: .2rem; padding: .3rem .3rem .4rem; border: 1px solid var(--cizgi); border-radius: 11px; background: var(--kart); cursor: pointer; text-align: left; min-width: 0; }
.pl-dekor .pl-ornek { width: 100%; height: auto; aspect-ratio: 1; border-radius: 7px; }
.pl-dekor .ad { font: 600 .74rem/1.2 var(--sans); color: var(--metin); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.pl-dekor .kod { font-size: .68rem; color: var(--metin-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-dekor:hover { border-color: var(--vurgu-cizgi); }
.pl-dekor[aria-pressed="true"] { border-color: var(--vurgu); box-shadow: inset 0 0 0 2px var(--vurgu); background: var(--vurgu-acik); }
.pl-ral { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: .35rem; }
.pl-ral-btn { display: flex; align-items: center; gap: .45rem; min-height: 46px; padding: .35rem .45rem; border: 1px solid var(--cizgi); border-radius: 10px; background: var(--kart); cursor: pointer; text-align: left; font: 400 .7rem/1.15 var(--sans); color: var(--metin-3); }
.pl-ral-btn i { width: 28px; height: 28px; flex: none; border-radius: 7px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); }
.pl-ral-btn b { display: block; color: var(--metin); font-size: .78rem; }
.pl-ral-btn[aria-pressed="true"] { border-color: var(--vurgu); background: var(--vurgu-acik); box-shadow: inset 0 0 0 1px var(--vurgu); }
.pl-ozel-renk { display: grid; grid-template-columns: 120px 1fr; gap: .6rem; align-items: end; margin-top: .8rem; padding: .7rem; border-radius: 12px; background: var(--zemin-2); }
.pl-ozel-renk .pl-cip { grid-column: 1 / -1; }

/* Kaydet & gönder */
.pl-kod-kutu { display: grid; gap: .1rem; padding: .8rem 1rem; margin-bottom: .9rem; border-radius: 14px; background: linear-gradient(150deg, #edf3df, var(--kart) 80%); border: 1px solid var(--vurgu-cizgi); }
.pl-kod-kutu span { font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--vurgu); font-weight: 600; }
.pl-kod-kutu b { font: 600 1.7rem/1.1 var(--serif); letter-spacing: .04em; }
.pl-kod-kutu small { font-size: .8rem; color: var(--metin-3); }
.pl-gonder-izgara { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; margin-top: .9rem; }
.pl-gonder-izgara .btn { min-height: 48px; padding: .7rem .6rem; font-size: .9rem; }
.pl-gonder-izgara .pl-wa { grid-column: 1 / -1; }
.pl-wa { background: #1f8f4e; border-color: #1f8f4e; color: #fff; }
.pl-wa:hover { background: #23a35a; border-color: #23a35a; }
.pl-kayitlar { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.pl-kayitlar li { display: flex; align-items: center; gap: .4rem; padding: .45rem .5rem .45rem .7rem; border-radius: 10px; background: var(--zemin-2); border: 1px solid transparent; }
.pl-kayitlar li.aktif { border-color: var(--vurgu-cizgi); }
.pl-kayitlar li > span { flex: 1; min-width: 0; font-size: .86rem; }
.pl-kayitlar small { display: block; color: var(--metin-3); font-size: .74rem; }
.pl-ozet-dl { display: grid; grid-template-columns: auto 1fr; gap: .35rem 1rem; margin: 0 0 .8rem; font-size: .86rem; }
.pl-ozet-dl dt { color: var(--metin-3); }
.pl-ozet-dl dd { margin: 0; font-weight: 500; }
.pl-uyari-liste { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .3rem; font-size: .8rem; }
.pl-uyari-liste li { padding: .38rem .6rem; border-radius: 8px; background: var(--zemin-2); border-left: 3px solid var(--vurgu); }
.pl-uyari-liste li.hata { border-left-color: #c0533a; background: #fbece7; }
.pl-uyari-liste li.uyari { border-left-color: #d49a2a; background: #fbf3e2; }

.pl-seo h2 { margin-bottom: .8rem; }
.pl-seo p { color: var(--metin-2); }
.pl-seo .sss { margin-top: 1.6rem; }

/* Mutfak */
.pl-adimlar-7 { grid-template-columns: repeat(4, 1fr); }
.pl-planlar .pl-tip svg { width: 32px; height: 32px; }
.pl-duvar-sec { position: absolute; top: 1.9rem; left: .6rem; display: flex; gap: .3rem; z-index: 4; }
.pl-duvar-sec button { min-width: 44px; min-height: 38px; padding: .35rem .7rem; border-radius: 10px; border: 1px solid var(--cizgi); background: rgba(255, 255, 255, .95); font: 600 .84rem/1 var(--sans); color: var(--metin-2); cursor: pointer; }
.pl-duvar-sec button[aria-pressed="true"] { background: var(--vurgu); border-color: var(--vurgu); color: #fff; }
.pl-duvarlar .pl-cip { border-radius: 10px; }
.pl-ekle-gruplar { display: grid; gap: .45rem; margin-top: .8rem; }
.pl-ekle-grup { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.pl-ekle-grup > span { width: 52px; flex: none; font-size: .72rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--metin-3); }
.pl-ekle-grup .pl-cip { min-height: 36px; font-size: .78rem; padding: .35rem .6rem; }
.pl-engeller { display: grid; gap: .6rem; margin-top: .8rem; }
.pl-engel { border: 1px solid var(--cizgi); border-radius: 12px; padding: .5rem .7rem .7rem; background: var(--zemin); }
.pl-engel-bas { display: flex; align-items: center; justify-content: space-between; }
.pl-engel .pl-ikili-olcu { margin: .4rem 0 0; }
.pl-dekorlar-kisa { max-height: none; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); }
.foy-duvarlar { display: grid; gap: 4mm; }
.foy-duvar svg { max-height: 95mm !important; }
.foy-duvarlar.cok { grid-template-columns: 1fr 1fr; align-items: start; }
.foy-duvarlar.cok .foy-duvar svg { max-height: 88mm !important; }
@media (max-width: 1180px) { .pl-adimlar-7 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .pl-duvar-sec { top: .4rem; } .pl-ekle-grup > span { width: 100%; } }

/* Bildirim */
.pl-bildirim {
  position: fixed; left: 50%; bottom: 22px; z-index: 80; transform: translateX(-50%);
  max-width: calc(100% - 32px); padding: .7rem 1rem; border-radius: 12px;
  background: #1c3223; color: #f2f6ef; font-size: .9rem; box-shadow: 0 16px 40px -16px rgba(0, 0, 0, .55);
  animation: belir .25s ease;
}
.pl-bildirim button { margin-left: .6rem; border: 0; background: none; color: #c8de88; font: 600 .9rem/1 var(--sans); cursor: pointer; text-decoration: underline; }

/* Duyarlı */
@media (max-width: 1180px) {
  .pl-ic { grid-template-columns: minmax(0, 1fr) 410px; }
  .pl-adimlar-nav { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 960px) {
  .pl-bas-ic { grid-template-columns: 1fr; gap: 1.1rem; }
  .pl-ic { grid-template-columns: 1fr; gap: .8rem; }
  .pl-sahne { top: 70px; height: 46vh; min-height: 300px; max-height: 560px; border-radius: 14px; z-index: 20; }
  .pl-adimlar-nav { display: flex; overflow-x: auto; scrollbar-width: none; margin-inline: -16px; padding: 0 16px 2px; }
  .pl-adim-sekme { flex: none; }
}
@media (max-width: 600px) {
  .pl-artilar { display: none; }
  .pl-bas { padding: 1.3rem 0 1.2rem; }
  .pl-bas .giris { font-size: .95rem; }
  .pl-ic { width: calc(100% - 20px); margin-top: .7rem; }
  .pl-sahne { height: 46vh; }
  .pl-arac { padding: .35rem; gap: .3rem; }
  .pl-araclar { flex-wrap: nowrap; margin-left: auto; }
  .pl-sekmeler button { white-space: nowrap; }
  .pl-sekmeler .uzun, .pl-kaydet-btn .pl-kod { display: none; }
  #cerceveDugme, #indirDugme { display: none; }
  .pl-adimlar-nav { margin-inline: -10px; padding: 0 10px 2px; }
  .pl-menu { position: fixed; left: 8px !important; right: 8px; top: auto !important; bottom: 8px; width: auto; max-height: 62vh; z-index: 90; box-shadow: 0 -10px 40px -10px rgba(20, 40, 25, .45); }
  .pl-sekmeler button { padding: .45rem .7rem; min-height: 38px; font-size: .8rem; }
  .pl-ikon-btn { padding: .4rem; min-height: 38px; min-width: 38px; }
  .pl-ikon-btn .yazi { display: none; }
  .pl-ipucu { display: none; }
  .pl-uyari { font-size: .74rem; padding: .3rem .5rem; }
  .pl-adim-kutu { padding: .9rem .8rem 1rem; }
  .pl-ikili-olcu, .pl-alanlar { grid-template-columns: 1fr; }
  .pl-hedefler { grid-template-columns: 1fr; }
  .pl-menu-izgara { grid-template-columns: repeat(3, 1fr); }
  .pl-seg6 { grid-template-columns: repeat(6, 1fr); }
  .pl-ozel-renk { grid-template-columns: 1fr; }
  .pl-d { padding: .4rem .45rem; }
  .pl-d .ad { flex-basis: 100%; }
  .pl-d .ad + * { margin-left: auto; }
  .pl-modul-bas .pl-mini { width: 34px; height: 34px; }
}

/* ================= Teklif föyü (yazdırma) ================= */
.foy { display: none; }
body.foy-modu > *:not(#foy):not(.pl-bildirim) { display: none !important; }
body.foy-modu { background: #e9ece7; }
body.foy-modu .foy { display: block; padding: 20px 0; }
body.foy-modu .foy-sayfa { width: 210mm; min-height: 297mm; margin: 0 auto 20px; padding: 12mm; background: #fff; box-shadow: 0 6px 30px -12px rgba(0, 0, 0, .3); }
.foy { color: #1b2d21; font: 10pt/1.45 var(--sans); }
.foy h2 { font: 600 13pt/1.2 var(--serif); margin: 6mm 0 3mm; }
.foy-ust { display: flex; align-items: center; gap: 4mm; padding-bottom: 3mm; border-bottom: 2px solid #4b6c2a; }
.foy-ust img { width: 16mm; height: 16mm; }
.foy-ust > div:nth-child(2) { flex: 1; display: grid; font-size: 8.5pt; color: #4b5d50; }
.foy-ust strong { font: 600 12pt/1.2 var(--serif); color: #1b2d21; }
.foy-kod { display: grid; text-align: right; font-size: 8.5pt; color: #4b5d50; }
.foy-kod b { font: 700 15pt/1.1 var(--sans); color: #4b6c2a; letter-spacing: .04em; }
.foy-musteri { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2mm 5mm; margin: 4mm 0; padding: 3mm 4mm; background: #f4f8f1; border-radius: 3mm; }
.foy-musteri span { display: block; font-size: 7.5pt; text-transform: uppercase; letter-spacing: .06em; color: #7b8b7f; }
.foy-musteri b { font-weight: 600; }
.foy-musteri .genis { grid-column: 1 / -1; }
.foy-gorseller { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; }
.foy figure { margin: 0; break-inside: avoid; }
.foy figure img, .foy figure svg { width: 100%; height: auto; max-height: 120mm; object-fit: contain; display: block; border: 1px solid #dde6d7; border-radius: 2mm; background: #fff; }
.foy figcaption { font-size: 8pt; color: #7b8b7f; margin-top: 1mm; }
.foy-ic svg { max-height: 150mm !important; }
.foy-tablo { width: 100%; border-collapse: collapse; font-size: 9pt; }
.foy-tablo th, .foy-tablo td { border-bottom: 1px solid #dde6d7; padding: 1.6mm 2mm; text-align: left; vertical-align: top; }
.foy-tablo thead th { background: #edf3e8; font-size: 8pt; text-transform: uppercase; letter-spacing: .04em; }
.foy-secim th { width: 52mm; color: #4b5d50; font-weight: 500; }
.foy-tablo ul { margin: 0; padding-left: 4mm; }
.foy-parca td:nth-child(3), .foy-parca td:nth-child(4) { white-space: nowrap; }
.foy-uyari { font-size: 9pt; padding-left: 5mm; }
.foy-not { font-size: 8pt; color: #7b8b7f; margin-top: 4mm; }
.foy-link { font-size: 6.5pt; line-height: 1.35; color: #93a297; word-break: break-all; margin-top: 2mm; }
.foy-parca { font-size: 8.5pt; }
.foy-parca td, .foy-parca th { padding: 1.2mm 2mm; }
@media print {
  @page { size: A4; margin: 10mm; }
  body { background: #fff !important; }
  body > *:not(#foy) { display: none !important; }
  #foy { display: block !important; padding: 0 !important; }
  .foy-sayfa { width: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; break-after: page; page-break-after: always; }
  .foy-sayfa:last-child { break-after: auto; page-break-after: auto; }
}
