/* ict-scope: all */
/*
 * İnovarka UI bileşen kütüphanesi (.ict-*). Davranış: assets/ext/shell-ui.js. Liste: ext-reports/ui-components.md
 * Token'lar: ui-tokens.css (--primary, --border, --radius-*, --shadow-*, --ease ...). Karanlık/aydınlık token'dan gelir.
 */
:root{--ict-info:oklch(.546 .17 255);--ict-z-modal:1000;--ict-z-toast:1100;--ict-z-pop:900;--ict-dur:.18s}

/* ---------- Button ---------- */
.ict-btn{--b-bg:var(--primary);--b-fg:var(--primary-foreground);--b-bd:transparent;--b-h:var(--control-h);--b-px:1rem;--b-fs:var(--text-sm);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;min-height:var(--b-h);padding:.25rem var(--b-px);margin:0;border:1px solid var(--b-bd);border-radius:var(--radius-control);background:var(--b-bg);color:var(--b-fg);
  font:500 var(--b-fs)/1.25 var(--font-sans);letter-spacing:0;text-decoration:none;text-transform:none;white-space:nowrap;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-xs);
  transition:background-color var(--ict-dur) var(--ease),color var(--ict-dur) var(--ease),border-color var(--ict-dur) var(--ease),box-shadow var(--ict-dur) var(--ease),transform var(--ict-dur) var(--ease),opacity var(--ict-dur) var(--ease)}
.ict-btn:hover{background:color-mix(in srgb,var(--b-bg) 88%,var(--foreground));color:var(--b-fg);text-decoration:none}
.ict-btn:active{transform:translateY(1px) scale(.985);box-shadow:none}
.ict-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 55%,transparent)}
.ict-btn .ui-icon,.ict-btn svg{width:1rem;height:1rem;flex:none}
.ict-btn--secondary{--b-bg:var(--secondary);--b-fg:var(--secondary-foreground);box-shadow:none}
.ict-btn--outline{--b-bg:var(--background);--b-fg:var(--foreground);--b-bd:var(--border)}
.ict-btn--outline:hover{background:var(--accent);color:var(--accent-foreground)}
.ict-btn--ghost{--b-bg:transparent;--b-fg:var(--foreground);box-shadow:none}
.ict-btn--ghost:hover{background:var(--accent);color:var(--accent-foreground)}
.ict-btn--soft{--b-bg:color-mix(in srgb,var(--primary) 10%,var(--background));--b-fg:var(--primary);box-shadow:none}
.ict-btn--soft:hover{background:color-mix(in srgb,var(--primary) 18%,var(--background));color:var(--primary)}
.ict-btn--link{--b-bg:transparent;--b-fg:var(--foreground);min-height:0;padding:0;border:0;box-shadow:none;text-decoration:underline;text-underline-offset:4px}
.ict-btn--link:hover{background:transparent;text-decoration-thickness:2px}
.ict-btn--destructive{--b-bg:var(--destructive);--b-fg:#fff}
.ict-btn--success{--b-bg:var(--success);--b-fg:#fff}
.ict-btn--sm{--b-h:2rem;--b-px:.75rem;--b-fs:var(--text-xs)}
.ict-btn--lg{--b-h:var(--control-h-lg);--b-px:1.5rem}
.ict-btn--xl{--b-h:3.25rem;--b-px:2rem;--b-fs:var(--text-base);border-radius:calc(var(--radius-control) + 2px)}
.ict-btn--icon{width:var(--b-h);padding:0}
.ict-btn--block{display:flex;width:100%}
.ict-btn--pill{border-radius:999px}
/* premium: hareketli varyantlar */
.ict-btn--lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.ict-btn--lift:active{transform:translateY(0)}
.ict-btn--shine{overflow:hidden;isolation:isolate}
.ict-btn--shine::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgb(255 255 255 / .28) 50%,transparent 65%);transform:translateX(-120%);transition:transform .6s var(--ease)}
.ict-btn--shine:hover::after{transform:translateX(120%)}
.ict-btn--arrow .ui-icon:last-child{transition:transform var(--ict-dur) var(--ease)}
.ict-btn--arrow:hover .ui-icon:last-child{transform:translateX(3px)}
.ict-btn--glow:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--b-bg) 22%,transparent),var(--shadow-md)}
.ict-btn--gradient{--b-bg:var(--primary);background-image:linear-gradient(135deg,color-mix(in srgb,var(--primary) 100%,white 0%),color-mix(in srgb,var(--primary) 70%,white));border-color:transparent}
.ict-btn--gradient:hover{background-image:linear-gradient(135deg,color-mix(in srgb,var(--primary) 92%,black),color-mix(in srgb,var(--primary) 62%,white))}
/* durumlar */
.ict-btn:disabled,.ict-btn[aria-disabled=true],.ict-btn.is-disabled{opacity:.5;pointer-events:none;box-shadow:none}
.ict-btn.is-loading{color:transparent!important;pointer-events:none}
.ict-btn.is-loading>*{opacity:0}
.ict-btn.is-loading::before{content:"";position:absolute;width:1rem;height:1rem;border:2px solid var(--b-fg);border-right-color:transparent;border-radius:50%;animation:ict-spin .7s linear infinite}
.ict-btn--outline.is-loading::before,.ict-btn--ghost.is-loading::before,.ict-btn--link.is-loading::before,.ict-btn--soft.is-loading::before{border-color:var(--foreground);border-right-color:transparent}
.ict-btn--success-state{--b-bg:var(--success)}
@keyframes ict-spin{to{transform:rotate(360deg)}}
.ict-btn-group{display:inline-flex}
.ict-btn-group>.ict-btn{border-radius:0}
.ict-btn-group>.ict-btn:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}
.ict-btn-group>.ict-btn:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}
.ict-btn-group>.ict-btn+.ict-btn{margin-left:-1px}

/* ---------- Form ---------- */
.ict-form-field{display:flex;flex-direction:column;gap:.375rem;margin:0 0 1rem}
.ict-label{font-size:var(--text-sm);font-weight:500;line-height:1.2;color:var(--foreground)}
.ict-label .ict-req{color:var(--destructive)}
.ict-input,.ict-select,.ict-textarea{appearance:none;-webkit-appearance:none;display:block;width:100%;min-height:var(--control-h);padding:.375rem .75rem;border:1px solid var(--input);border-radius:var(--radius-control);background:var(--background);color:var(--foreground);font:400 var(--text-sm)/1.5 var(--font-sans);box-shadow:var(--shadow-xs);transition:border-color var(--ict-dur) var(--ease),box-shadow var(--ict-dur) var(--ease)}
.ict-select{padding-right:2.25rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;background-size:1rem;cursor:pointer}
.ict-input:hover,.ict-select:hover,.ict-textarea:hover{border-color:color-mix(in srgb,var(--input) 60%,var(--foreground))}
.ict-input:focus-visible,.ict-select:focus-visible,.ict-textarea:focus-visible{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 50%,transparent)}
.ict-input:disabled,.ict-select:disabled,.ict-textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--muted)}
.ict-input[aria-invalid=true],.ict-select[aria-invalid=true],.ict-textarea[aria-invalid=true],.is-invalid>.ict-input{border-color:var(--destructive);box-shadow:0 0 0 3px color-mix(in srgb,var(--destructive) 18%,transparent)}
.ict-input--lg{min-height:var(--control-h-lg);font-size:var(--text-base)}
.ict-help{margin:0;color:var(--muted-foreground);font-size:var(--text-xs)}
.ict-error-text{margin:0;color:var(--destructive);font-size:var(--text-xs);font-weight:500}
.ict-success-text{margin:0;color:var(--success);font-size:var(--text-xs);font-weight:500}
.ict-input-group{display:flex;align-items:stretch}
.ict-input-group>.ict-input{border-radius:0;flex:1;min-width:0}
.ict-input-group>:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}
.ict-input-group>:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}
.ict-input-group>.ict-addon{display:inline-flex;align-items:center;padding:0 .75rem;border:1px solid var(--input);background:var(--muted);color:var(--muted-foreground);font-size:var(--text-sm)}
.ict-input-group>*+*{margin-left:-1px}
.ict-check,.ict-radio{display:inline-flex;align-items:flex-start;gap:.625rem;font-size:var(--text-sm);line-height:1.4;cursor:pointer}
.ict-check input,.ict-radio input{margin:.125rem 0 0}
.ict-check:has(input:disabled),.ict-radio:has(input:disabled){opacity:.5;cursor:not-allowed}
.ict-choice-card{display:flex;gap:.75rem;padding:.875rem 1rem;border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--ict-dur),background-color var(--ict-dur)}
.ict-choice-card:hover{background:var(--accent)}
.ict-choice-card:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--background))}
/* Toggle (switch) */
.ict-switch{display:inline-flex;align-items:center;gap:.625rem;font-size:var(--text-sm);cursor:pointer}
.ict-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.ict-switch__track{position:relative;flex:none;width:2.25rem;height:1.25rem;border-radius:999px;background:var(--input);transition:background-color var(--ict-dur) var(--ease)}
.ict-switch__track::after{content:"";position:absolute;top:2px;left:2px;width:calc(1.25rem - 4px);height:calc(1.25rem - 4px);border-radius:50%;background:var(--background);box-shadow:var(--shadow-sm);transition:transform var(--ict-dur) var(--ease)}
.ict-switch input:checked+.ict-switch__track{background:var(--primary)}
.ict-switch input:checked+.ict-switch__track::after{transform:translateX(1rem)}
.ict-switch input:focus-visible+.ict-switch__track{box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 50%,transparent)}
.ict-switch input:disabled+.ict-switch__track{opacity:.5}
.ict-switch:has(input:disabled){cursor:not-allowed}
/* Miktar */
.ict-qty{display:inline-flex;align-items:stretch;border:1px solid var(--input);border-radius:var(--radius-control);background:var(--background);overflow:hidden}
.ict-qty button{display:inline-grid;place-items:center;width:2.25rem;border:0;background:transparent;color:var(--foreground);cursor:pointer;box-shadow:none;padding:0;min-height:var(--control-h)}
.ict-qty button:hover{background:var(--accent)}
.ict-qty button:disabled{opacity:.4;pointer-events:none}
.ict-qty input{width:3rem;border:0;border-inline:1px solid var(--input);border-radius:0;text-align:center;box-shadow:none;padding:0;-moz-appearance:textfield}
.ict-qty input::-webkit-outer-spin-button,.ict-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---------- Modal / Drawer (yerel <dialog>) ---------- */
dialog.ict-modal,dialog.ict-drawer{padding:0;border:1px solid var(--border);color:var(--foreground);background:var(--background);box-shadow:var(--shadow-lg);font-family:var(--font-sans);overscroll-behavior:contain}
dialog.ict-modal{width:min(32rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);margin:auto;border-radius:var(--radius-xl);overflow:hidden}
dialog.ict-modal[open]{display:flex;flex-direction:column;animation:ict-modal-in .2s var(--ease)}
dialog.ict-modal--sm{width:min(24rem,calc(100vw - 2rem))}
dialog.ict-modal--lg{width:min(48rem,calc(100vw - 2rem))}
dialog.ict-modal--full{width:calc(100vw - 2rem);height:calc(100dvh - 2rem)}
dialog.ict-modal::backdrop,dialog.ict-drawer::backdrop{background:rgb(0 0 0 / .5);animation:ict-fade-in .2s var(--ease)}
.ict-modal__head,.ict-drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.25rem .5rem}
.ict-modal__title{margin:0;font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;line-height:1.3}
.ict-modal__desc{margin:.25rem 0 0;color:var(--muted-foreground);font-size:var(--text-sm)}
.ict-modal__body,.ict-drawer__body{flex:1;overflow:auto;padding:.5rem 1.25rem 1.25rem;font-size:var(--text-sm)}
.ict-modal__foot,.ict-drawer__foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--muted) 50%,var(--background))}
.ict-close{display:inline-grid;place-items:center;flex:none;width:2rem;height:2rem;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--muted-foreground);cursor:pointer;box-shadow:none}
.ict-close:hover{background:var(--accent);color:var(--foreground)}
.ict-close .ui-icon{width:1rem;height:1rem}
dialog.ict-drawer{position:fixed;margin:0;max-width:100vw;max-height:100dvh;height:100dvh;width:min(26rem,92vw);inset:0 0 0 auto;border-width:0 0 0 1px}
dialog.ict-drawer[open]{display:flex;flex-direction:column;animation:ict-drawer-r .26s var(--ease)}
dialog.ict-drawer--left{inset:0 auto 0 0;border-width:0 1px 0 0}
dialog.ict-drawer--left[open]{animation-name:ict-drawer-l}
dialog.ict-drawer--bottom{inset:auto 0 0 0;width:100%;height:auto;max-height:85dvh;border-width:1px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0}
dialog.ict-drawer--bottom[open]{animation-name:ict-drawer-b}
@keyframes ict-modal-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes ict-drawer-r{from{transform:translateX(100%)}to{transform:none}}
@keyframes ict-drawer-l{from{transform:translateX(-100%)}to{transform:none}}
@keyframes ict-drawer-b{from{transform:translateY(100%)}to{transform:none}}
@media (max-width:640px){dialog.ict-modal--sheet{inset:auto 0 0 0;width:100%;max-width:100%;margin:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation-name:ict-drawer-b}}
body.ict-scroll-lock{overflow:hidden}

/* ---------- Dropdown / Popover ---------- */
.ict-dropdown,.ict-popover-wrap{position:relative;display:inline-block}
.ict-menu,.ict-popover{position:absolute;top:calc(100% + .375rem);left:0;z-index:var(--ict-z-pop);min-width:12rem;padding:.25rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--popover);color:var(--popover-foreground);box-shadow:var(--shadow-md);font-size:var(--text-sm)}
.ict-menu[hidden],.ict-popover[hidden]{display:none}
.ict-menu:not([hidden]),.ict-popover:not([hidden]){animation:ict-pop-in .14s var(--ease)}
.ict-menu--right,.ict-popover--right{left:auto;right:0}
.ict-menu--up,.ict-popover--up{top:auto;bottom:calc(100% + .375rem)}
.ict-popover{min-width:16rem;padding:1rem}
.ict-menu__item{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2rem;padding:.375rem .5rem;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer;box-shadow:none}
.ict-menu__item:hover,.ict-menu__item:focus-visible{background:var(--accent);color:var(--accent-foreground);outline:none}
.ict-menu__item[aria-disabled=true],.ict-menu__item:disabled{opacity:.5;pointer-events:none}
.ict-menu__item--danger{color:var(--destructive)}
.ict-menu__sep{height:1px;margin:.25rem -.25rem;background:var(--border)}
.ict-menu__label{padding:.375rem .5rem;color:var(--muted-foreground);font-size:var(--text-xs);font-weight:500}

/* ---------- Tooltip (JS tek öğe, aria-describedby) ---------- */
.ict-tooltip{position:fixed;z-index:calc(var(--ict-z-toast) + 1);max-width:16rem;padding:.375rem .625rem;border-radius:var(--radius-md);background:var(--foreground);color:var(--background);font:500 var(--text-xs)/1.35 var(--font-sans);pointer-events:none;box-shadow:var(--shadow-md);opacity:0;transform:translateY(2px);transition:opacity .12s var(--ease),transform .12s var(--ease)}
.ict-tooltip.is-on{opacity:1;transform:none}

/* ---------- Accordion (yerel <details>; name= ile tekli açılır) ---------- */
.ict-accordion{border-top:1px solid var(--border)}
.ict-accordion>details{border-bottom:1px solid var(--border)}
.ict-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;font-size:var(--text-sm);font-weight:500;cursor:pointer;list-style:none;transition:color var(--ict-dur)}
.ict-accordion summary::-webkit-details-marker{display:none}
.ict-accordion summary::after{content:"";flex:none;width:1rem;height:1rem;background:currentColor;opacity:.6;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s var(--ease)}
.ict-accordion details[open]>summary::after{transform:rotate(180deg)}
.ict-accordion summary:hover{color:var(--muted-foreground)}
.ict-accordion summary:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}
.ict-accordion__body{padding:0 0 1rem;color:var(--muted-foreground);font-size:var(--text-sm);line-height:1.65}
.ict-accordion details[open]>.ict-accordion__body{animation:ict-fade-in .2s var(--ease)}

/* ---------- Tabs ---------- */
.ict-tabs__list{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;padding:3px;border-radius:var(--radius-lg);background:var(--muted);overflow-x:auto;scrollbar-width:none}
.ict-tabs__list::-webkit-scrollbar{display:none}
.ict-tabs__tab{flex:none;min-height:1.875rem;padding:.25rem .875rem;border:0;border-radius:calc(var(--radius-lg) - 2px);background:transparent;color:var(--muted-foreground);font:500 var(--text-sm)/1.25 var(--font-sans);white-space:nowrap;cursor:pointer;box-shadow:none;transition:background-color var(--ict-dur),color var(--ict-dur)}
.ict-tabs__tab:hover{color:var(--foreground);background:transparent}
.ict-tabs__tab[aria-selected=true]{background:var(--background);color:var(--foreground);box-shadow:var(--shadow-sm)}
.ict-tabs__tab:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 50%,transparent)}
.ict-tabs__tab:disabled{opacity:.5;pointer-events:none}
.ict-tabs__panel{margin-top:1rem;font-size:var(--text-sm)}
.ict-tabs__panel[hidden]{display:none}
.ict-tabs__panel:focus-visible{outline:2px solid var(--ring);outline-offset:4px;border-radius:var(--radius-sm)}
.ict-tabs--line .ict-tabs__list{padding:0;border-radius:0;background:transparent;border-bottom:1px solid var(--border);width:100%}
.ict-tabs--line .ict-tabs__tab{border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px}
.ict-tabs--line .ict-tabs__tab[aria-selected=true]{background:transparent;box-shadow:none;border-bottom-color:var(--primary)}

/* ---------- Breadcrumb ---------- */
.ict-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin:0;padding:0;list-style:none;color:var(--muted-foreground);font-size:var(--text-sm)}
.ict-breadcrumb li{display:inline-flex;align-items:center;gap:.375rem;min-width:0}
.ict-breadcrumb li+li::before{content:"";width:.75rem;height:.75rem;flex:none;background:currentColor;opacity:.5;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/contain no-repeat}
.ict-breadcrumb a{color:inherit;text-decoration:none}
.ict-breadcrumb a:hover{color:var(--foreground)}
.ict-breadcrumb [aria-current=page]{color:var(--foreground);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(24rem,60vw)}

/* ---------- Toast ---------- */
.ict-snack-region{position:fixed;right:1rem;bottom:1rem;z-index:var(--ict-z-toast);display:flex;flex-direction:column;gap:.5rem;width:min(24rem,calc(100vw - 2rem));pointer-events:none;margin:0;padding:0;list-style:none}
.ict-snack{--t-c:var(--foreground);position:relative;display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 2.5rem .875rem 1rem;border:1px solid var(--border);border-left:3px solid var(--t-c);border-radius:var(--radius-lg);background:var(--popover);color:var(--popover-foreground);box-shadow:var(--shadow-lg);font:400 var(--text-sm)/1.45 var(--font-sans);pointer-events:auto;animation:ict-snack-in .26s var(--ease)}
.ict-snack.is-leaving{animation:ict-snack-out .18s var(--ease) forwards}
.ict-snack--success{--t-c:var(--success)}.ict-snack--error{--t-c:var(--destructive)}.ict-snack--warning{--t-c:var(--warning)}.ict-snack--info{--t-c:var(--ict-info)}
.ict-snack__icon{flex:none;margin-top:.125rem;color:var(--t-c)}
.ict-snack__icon .ui-icon{width:1.125rem;height:1.125rem}
.ict-snack__body{flex:1;min-width:0}
.ict-snack__title{display:block;font-weight:600}
.ict-snack__action{display:inline-block;margin-top:.375rem;padding:0;border:0;background:none;color:var(--foreground);font:600 var(--text-xs)/1 var(--font-sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer;box-shadow:none}
.ict-snack .ict-close{position:absolute;top:.5rem;right:.5rem;width:1.75rem;height:1.75rem}
.ict-snack__bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--t-c);opacity:.4;transform-origin:left;animation:ict-bar linear forwards}
.ict-snack:hover .ict-snack__bar{animation-play-state:paused}
@keyframes ict-snack-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes ict-snack-out{to{opacity:0;transform:translateX(12px)}}
@keyframes ict-bar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (max-width:640px){.ict-snack-region{right:.75rem;left:.75rem;width:auto;bottom:.75rem}}

/* ---------- Progress / adımlar ---------- */
.ict-progress{position:relative;display:block;width:100%;height:.5rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--primary) 15%,var(--background))}
.ict-progress>span{display:block;height:100%;width:var(--value,0%);border-radius:inherit;background:var(--primary);transition:width .4s var(--ease)}
.ict-progress--success>span{background:var(--success)}
.ict-progress--indeterminate>span{width:40%;animation:ict-indet 1.2s var(--ease) infinite}
@keyframes ict-indet{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
.ict-progress-label{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.375rem;font-size:var(--text-xs);color:var(--muted-foreground)}
.ict-steps{display:flex;gap:.5rem;margin:0;padding:0;list-style:none;counter-reset:ict-step}
.ict-steps li{flex:1;position:relative;padding-top:1.5rem;color:var(--muted-foreground);font-size:var(--text-xs);font-weight:500;counter-increment:ict-step}
.ict-steps li::before{content:"";position:absolute;top:0;left:0;right:0;height:.25rem;border-radius:999px;background:var(--border)}
.ict-steps li.is-done::before,.ict-steps li[aria-current=step]::before{background:var(--primary)}
.ict-steps li.is-done,.ict-steps li[aria-current=step]{color:var(--foreground)}

/* ---------- Skeleton ---------- */
.ict-skeleton{display:block;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--muted) 25%,color-mix(in srgb,var(--muted) 60%,var(--background)) 50%,var(--muted) 75%);background-size:200% 100%;animation:ict-shimmer 1.4s linear infinite}
.ict-skeleton--text{height:.875rem;margin:.375rem 0}
.ict-skeleton--title{height:1.5rem;width:60%}
.ict-skeleton--circle{width:2.5rem;height:2.5rem;border-radius:50%}
.ict-skeleton--img{aspect-ratio:4/5;width:100%}
.ict-skeleton--btn{height:var(--control-h);width:7rem}
@keyframes ict-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* ---------- Badge / Chip ---------- */
.ict-badge{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;padding:.125rem .5rem;border:1px solid transparent;border-radius:var(--radius-md);background:var(--primary);color:var(--primary-foreground);font:500 var(--text-xs)/1rem var(--font-sans);white-space:nowrap}
.ict-badge--soft{background:color-mix(in srgb,var(--primary) 10%,var(--background));color:var(--primary)}
.ict-badge--secondary{background:var(--secondary);color:var(--secondary-foreground)}
.ict-badge--outline{background:transparent;color:var(--foreground);border-color:var(--border)}
.ict-badge--success{background:color-mix(in srgb,var(--success) 14%,var(--background));color:var(--success)}
.ict-badge--warning{background:color-mix(in srgb,var(--warning) 16%,var(--background));color:color-mix(in srgb,var(--warning) 80%,black)}
.ict-badge--danger{background:color-mix(in srgb,var(--destructive) 12%,var(--background));color:var(--destructive)}
.ict-badge--info{background:color-mix(in srgb,var(--ict-info) 12%,var(--background));color:var(--ict-info)}
.ict-badge--sale{background:var(--destructive);color:#fff}
.ict-badge--pill{border-radius:999px}
.ict-badge--lg{padding:.25rem .625rem;font-size:var(--text-sm)}
.ict-badge--dot::before{content:"";width:.375rem;height:.375rem;border-radius:50%;background:currentColor}
.ict-chip{display:inline-flex;align-items:center;gap:.375rem;min-height:2rem;padding:.25rem .75rem;border:1px solid var(--border);border-radius:999px;background:var(--background);color:var(--foreground);font:500 var(--text-xs)/1 var(--font-sans);text-decoration:none;cursor:pointer;box-shadow:none;transition:background-color var(--ict-dur)}
.ict-chip:hover{background:var(--accent)}
.ict-chip[aria-pressed=true],.ict-chip.is-active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}

/* ---------- Carousel (scroll-snap) ---------- */
.ict-carousel{position:relative}
.ict-carousel__track{display:flex;gap:var(--ict-gap,1rem);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;padding-block:2px}
.ict-carousel__track::-webkit-scrollbar{display:none}
.ict-carousel__track:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-md)}
.ict-carousel__slide{flex:0 0 var(--ict-slide,calc((100% - 3 * var(--ict-gap,1rem)) / 4));min-width:0;scroll-snap-align:start}
.ict-carousel--1 .ict-carousel__slide{--ict-slide:100%}
.ict-carousel--2 .ict-carousel__slide{--ict-slide:calc((100% - var(--ict-gap,1rem)) / 2)}
.ict-carousel--3 .ict-carousel__slide{--ict-slide:calc((100% - 2 * var(--ict-gap,1rem)) / 3)}
@media (max-width:900px){.ict-carousel__slide{--ict-slide:calc((100% - var(--ict-gap,1rem)) / 2.2)}.ict-carousel--1 .ict-carousel__slide{--ict-slide:100%}}
@media (max-width:540px){.ict-carousel__slide{--ict-slide:78%}.ict-carousel--1 .ict-carousel__slide{--ict-slide:100%}}
.ict-carousel__nav{position:absolute;top:50%;z-index:2;display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--background);color:var(--foreground);box-shadow:var(--shadow-md);cursor:pointer;transform:translateY(-50%);transition:opacity var(--ict-dur),background-color var(--ict-dur)}
.ict-carousel__nav:hover{background:var(--accent)}
.ict-carousel__nav:disabled{opacity:0;pointer-events:none}
.ict-carousel__nav--prev{left:-.75rem}.ict-carousel__nav--next{right:-.75rem}
.ict-carousel__nav .ui-icon{width:1.125rem;height:1.125rem}
.ict-carousel__dots{display:flex;justify-content:center;gap:.375rem;margin-top:.875rem}
.ict-carousel__dot{width:.5rem;height:.5rem;padding:0;border:0;border-radius:999px;background:var(--border);cursor:pointer;box-shadow:none;transition:width .2s var(--ease),background-color .2s}
.ict-carousel__dot[aria-current=true]{width:1.25rem;background:var(--primary)}
.ict-carousel__dot:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
@media (hover:none){.ict-carousel__nav{display:none}}
@media (prefers-reduced-motion:reduce){.ict-carousel__track{scroll-behavior:auto}}

/* ---------- Countdown ---------- */
.ict-countdown{display:inline-flex;align-items:flex-start;gap:.5rem;font-variant-numeric:tabular-nums}
.ict-countdown__unit{display:flex;flex-direction:column;align-items:center;min-width:3.25rem;padding:.5rem .375rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card)}
.ict-countdown__num{font-size:var(--text-2xl);font-weight:700;line-height:1;letter-spacing:-.02em}
.ict-countdown__label{margin-top:.25rem;color:var(--muted-foreground);font-size:.625rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.ict-countdown--inline{gap:.25rem;font-weight:600}
.ict-countdown--inline .ict-countdown__unit{min-width:0;padding:0;border:0;background:none;flex-direction:row;align-items:baseline;gap:.125rem}
.ict-countdown--inline .ict-countdown__num{font-size:inherit}
.ict-countdown--inline .ict-countdown__label{margin:0;font-size:inherit;letter-spacing:0;text-transform:none}
.ict-countdown.is-ended{opacity:.6}

/* ---------- Sticky action bar / FAB ---------- */
.ict-sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;align-items:center;gap:.75rem;padding:.75rem var(--gutter) calc(.75rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--background) 94%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(12px);backdrop-filter:saturate(1.6) blur(12px);border-top:1px solid var(--border);box-shadow:0 -4px 16px rgb(0 0 0 / .06);transform:translateY(0);transition:transform .25s var(--ease)}
.ict-sticky-bar[hidden]{display:flex;transform:translateY(110%);pointer-events:none;visibility:hidden}
.ict-sticky-bar--top{bottom:auto;top:0;border-top:0;border-bottom:1px solid var(--border);padding:.75rem var(--gutter)}
.ict-sticky-bar--top[hidden]{transform:translateY(-110%)}
.ict-sticky-bar__info{flex:1;min-width:0}
.ict-sticky-bar__title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:600}
.ict-sticky-bar__sub{color:var(--muted-foreground);font-size:var(--text-xs)}
.ict-sticky-bar__actions{display:flex;gap:.5rem;flex:none}
.ict-fab{position:fixed;right:1rem;bottom:1rem;z-index:56;display:inline-grid;place-items:center;width:3rem;height:3rem;padding:0;border:0;border-radius:50%;background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-lg);cursor:pointer;transition:transform .2s var(--ease),opacity .2s var(--ease),box-shadow .2s var(--ease)}
.ict-fab:hover{transform:translateY(-2px);box-shadow:0 12px 20px -4px rgb(0 0 0 / .25)}
.ict-fab:active{transform:scale(.95)}
.ict-fab:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 60%,transparent),var(--shadow-lg)}
.ict-fab[hidden]{display:none}
.ict-fab--left{right:auto;left:1rem}
.ict-fab--extended{display:inline-flex;align-items:center;width:auto;padding:0 1.25rem;gap:.5rem;border-radius:999px;font:500 var(--text-sm)/1 var(--font-sans)}
.ict-fab .ui-icon{width:1.25rem;height:1.25rem}

/* ---------- Boş durum / sonuç ekranı / uyarı ---------- */
.ict-empty,.ict-result{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:32rem;margin:2rem auto;padding:2.5rem 1.5rem;text-align:center}
.ict-empty{border:1px dashed var(--border);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--muted) 40%,var(--background))}
.ict-empty__icon,.ict-result__icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-bottom:.5rem;border-radius:50%;background:var(--muted);color:var(--muted-foreground)}
.ict-empty__icon .ui-icon{width:1.5rem;height:1.5rem}
.ict-empty__title,.ict-result__title{margin:0;font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em}
.ict-empty__text,.ict-result__text{margin:0;max-width:26rem;color:var(--muted-foreground);font-size:var(--text-sm);line-height:1.6}
.ict-empty__actions,.ict-result__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem}
.ict-result__icon{width:4.5rem;height:4.5rem;background:color-mix(in srgb,var(--r-c,var(--primary)) 12%,var(--background));color:var(--r-c,var(--primary));animation:ict-pop .4s var(--ease)}
.ict-result__icon .ui-icon{width:2rem;height:2rem;stroke-width:2.25}
.ict-result--success{--r-c:var(--success)}.ict-result--error{--r-c:var(--destructive)}.ict-result--warning{--r-c:var(--warning)}.ict-result--info{--r-c:var(--ict-info)}
@keyframes ict-pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
.ict-alert{--a-c:var(--foreground);display:flex;gap:.75rem;padding:.875rem 1rem;border:1px solid color-mix(in srgb,var(--a-c) 30%,var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--a-c) 6%,var(--background));font-size:var(--text-sm);line-height:1.5}
.ict-alert .ui-icon{flex:none;width:1.125rem;height:1.125rem;margin-top:.125rem;color:var(--a-c)}
.ict-alert--success{--a-c:var(--success)}.ict-alert--error{--a-c:var(--destructive)}.ict-alert--warning{--a-c:var(--warning)}.ict-alert--info{--a-c:var(--ict-info)}
.ict-alert__title{display:block;font-weight:600}
.ict-spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ict-spin .7s linear infinite;vertical-align:-.2em}

@media (prefers-reduced-motion:reduce){
  .ict-btn,.ict-snack,.ict-fab,.ict-sticky-bar,.ict-progress>span{transition:none!important}
  .ict-snack,.ict-result__icon,dialog.ict-modal[open],dialog.ict-drawer[open],.ict-menu,.ict-popover{animation:none!important}
  .ict-skeleton,.ict-spinner,.ict-btn.is-loading::before{animation-duration:2.4s!important}
}

/* Son 30 gün en düşük fiyat: her yerde fiyatın altında ayrı satır */
.ic-lowest-price{display:block;margin-top:.125rem;color:var(--muted-foreground);font-size:.75rem;font-weight:400;line-height:1.35;white-space:normal}
