/**
 * CTT Icon Classes Only (for component imports)
 * 
 * This file contains only the icon classes without @font-face declarations.
 * The @font-face declarations are imported globally in the main icons.css file.
 * 
 * This file is meant to be imported inline into web components.
 */

/* Base Icon Class base */
[class^='ctt-icon-'],
[class*=' ctt-icon-'] {
  font-family: 'ctt-icons' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Individual Icon Classes */

.ctt-icon-refresh:before {
  content: '\e800';
}

.ctt-icon-qrcode-scan:before {
  content: '\e801';
}

.ctt-icon-rotate:before {
  content: '\e802';
}

.ctt-icon-save:before {
  content: '\e803';
}

.ctt-icon-schedule_send:before {
  content: '\e804';
}

.ctt-icon-search:before {
  content: '\e805';
}

.ctt-icon-reply:before {
  content: '\e806';
}

.ctt-icon-send:before {
  content: '\e807';
}

.ctt-icon-share:before {
  content: '\e808';
}

.ctt-icon-stop:before {
  content: '\e809';
}

.ctt-icon-upload:before {
  content: '\e80a';
}

.ctt-icon-add-person:before {
  content: '\e80b';
}

.ctt-icon-add-person-disabled:before {
  content: '\e80c';
}

.ctt-icon-attach:before {
  content: '\e80d';
}

.ctt-icon-block:before {
  content: '\e80e';
}

.ctt-icon-cancel:before {
  content: '\e80f';
}

.ctt-icon-close:before {
  content: '\e810';
}

.ctt-icon-collapse:before {
  content: '\e811';
}

.ctt-icon-configurations:before {
  content: '\e812';
}

.ctt-icon-delete:before {
  content: '\e813';
}

.ctt-icon-download:before {
  content: '\e814';
}

.ctt-icon-copy:before {
  content: '\e815';
}

.ctt-icon-duplicate:before {
  content: '\e816';
}

.ctt-icon-edit:before {
  content: '\e817';
}

.ctt-icon-edit-document:before {
  content: '\e818';
}

.ctt-icon-expand:before {
  content: '\e819';
}

.ctt-icon-drag:before {
  content: '\e81a';
}

.ctt-icon-eye-off:before {
  content: '\e81b';
}

.ctt-icon-eye-on:before {
  content: '\e81c';
}

.ctt-icon-file-export:before {
  content: '\e81d';
}

.ctt-icon-filter:before {
  content: '\e81e';
}

.ctt-icon-file-save:before {
  content: '\e81f';
}

.ctt-icon-import:before {
  content: '\e820';
}

.ctt-icon-login:before {
  content: '\e821';
}

.ctt-icon-not-found:before {
  content: '\e822';
}

.ctt-icon-pause:before {
  content: '\e823';
}

.ctt-icon-logout:before {
  content: '\e824';
}

.ctt-icon-play:before {
  content: '\e825';
}

.ctt-icon-person:before {
  content: '\e826';
}

.ctt-icon-print:before {
  content: '\e827';
}

.ctt-icon-arrow-up-down:before {
  content: '\e828';
}

.ctt-icon-chevron-down:before {
  content: '\e829';
}

.ctt-icon-chevron-right:before {
  content: '\e82a';
}

.ctt-icon-chevron-up-down:before {
  content: '\e82b';
}

.ctt-icon-double-chevron-right:before {
  content: '\e82c';
}

.ctt-icon-arrow-down:before {
  content: '\e82d';
}

.ctt-icon-chevron-left:before {
  content: '\e82e';
}

.ctt-icon-chevron-up:before {
  content: '\e82f';
}

.ctt-icon-directions:before {
  content: '\e830';
}

.ctt-icon-double-chevron-left:before {
  content: '\e831';
}

.ctt-icon-arrow-left:before {
  content: '\e832';
}

.ctt-icon-arrow-right:before {
  content: '\e833';
}

.ctt-icon-arrow-up:before {
  content: '\e834';
}

.ctt-icon-live_help:before {
  content: '\e835';
}

.ctt-icon-newsletter:before {
  content: '\e836';
}

.ctt-icon-mail:before {
  content: '\e837';
}

.ctt-icon-notification:before {
  content: '\e838';
}

.ctt-icon-notification-filled:before {
  content: '\e839';
}

.ctt-icon-outbox:before {
  content: '\e83a';
}

.ctt-icon-robot:before {
  content: '\e83b';
}

.ctt-icon-chat:before {
  content: '\e83c';
}

.ctt-icon-email:before {
  content: '\e83d';
}

.ctt-icon-phone_enabled:before {
  content: '\e83e';
}

.ctt-icon-inbox:before {
  content: '\e83f';
}

.ctt-icon-customs:before {
  content: '\e840';
}

.ctt-icon-fragile:before {
  content: '\e841';
}

.ctt-icon-local-shipping:before {
  content: '\e842';
}

.ctt-icon-locker:before {
  content: '\e843';
}

.ctt-icon-locker-private:before {
  content: '\e844';
}

.ctt-icon-payshop:before {
  content: '\e845';
}

.ctt-icon-multiguide-product:before {
  content: '\e846';
}

.ctt-icon-stamp:before {
  content: '\e847';
}

.ctt-icon-storefront:before {
  content: '\e848';
}

.ctt-icon-weight:before {
  content: '\e849';
}

.ctt-icon-box-check:before {
  content: '\e84a';
}

.ctt-icon-box-cross:before {
  content: '\e84b';
}

.ctt-icon-box-export:before {
  content: '\e84c';
}

.ctt-icon-box-import:before {
  content: '\e84d';
}

.ctt-icon-box-location:before {
  content: '\e84e';
}

.ctt-icon-box-options:before {
  content: '\e84f';
}

.ctt-icon-box-money:before {
  content: '\e850';
}

.ctt-icon-box-return:before {
  content: '\e851';
}

.ctt-icon-box-shield:before {
  content: '\e852';
}

.ctt-icon-box-shoes:before {
  content: '\e853';
}

.ctt-icon-post-office:before {
  content: '\e854';
}

.ctt-icon-box:before {
  content: '\e855';
}

.ctt-icon-ctt-bank:before {
  content: '\e856';
}

.ctt-icon-ctt-circle:before {
  content: '\e857';
}

.ctt-icon-ctt-logo:before {
  content: '\e858';
}

.ctt-icon-box-clock:before {
  content: '\e859';
}

.ctt-icon-box-hand:before {
  content: '\e85a';
}

.ctt-icon-box-star:before {
  content: '\e85b';
}

.ctt-icon-ctt-circle-filled:before {
  content: '\e85c';
}

.ctt-icon-folder:before {
  content: '\e85d';
}

.ctt-icon-receipt-off:before {
  content: '\e85e';
}

.ctt-icon-signature:before {
  content: '\e85f';
}

.ctt-icon-assignment:before {
  content: '\e860';
}

.ctt-icon-drafts:before {
  content: '\e861';
}

.ctt-icon-envelope-letter:before {
  content: '\e862';
}

.ctt-icon-receipt:before {
  content: '\e863';
}

.ctt-icon-letter:before {
  content: '\e864';
}

.ctt-icon-refund:before {
  content: '\e865';
}

.ctt-icon-money-off:before {
  content: '\e866';
}

.ctt-icon-money-filled:before {
  content: '\e867';
}

.ctt-icon-savings:before {
  content: '\e868';
}

.ctt-icon-wallet:before {
  content: '\e869';
}

.ctt-icon-savings-filled:before {
  content: '\e86a';
}

.ctt-icon-amount:before {
  content: '\e86b';
}

.ctt-icon-money:before {
  content: '\e86c';
}

.ctt-icon-top-up:before {
  content: '\e86d';
}

.ctt-icon-card:before {
  content: '\e86e';
}

.ctt-icon-bank:before {
  content: '\e86f';
}

.ctt-icon-info:before {
  content: '\e870';
}

.ctt-icon-warning:before {
  content: '\e871';
}

.ctt-icon-help:before {
  content: '\e872';
}

.ctt-icon-error:before {
  content: '\e873';
}

.ctt-icon-no-image:before {
  content: '\e874';
}

.ctt-icon-plane:before {
  content: '\e875';
}

.ctt-icon-security-shield:before {
  content: '\e876';
}

.ctt-icon-speed-score:before {
  content: '\e877';
}

.ctt-icon-support:before {
  content: '\e878';
}

.ctt-icon-ticket:before {
  content: '\e879';
}

.ctt-icon-toolbox:before {
  content: '\e87a';
}

.ctt-icon-tools:before {
  content: '\e87b';
}

.ctt-icon-train:before {
  content: '\e87c';
}

.ctt-icon-ai:before {
  content: '\e87d';
}

.ctt-icon-apps:before {
  content: '\e87e';
}

.ctt-icon-book:before {
  content: '\e87f';
}

.ctt-icon-camera:before {
  content: '\e880';
}

.ctt-icon-car:before {
  content: '\e881';
}

.ctt-icon-chart:before {
  content: '\e882';
}

.ctt-icon-devices:before {
  content: '\e883';
}

.ctt-icon-eco:before {
  content: '\e884';
}

.ctt-icon-company:before {
  content: '\e885';
}

.ctt-icon-hotel:before {
  content: '\e886';
}

.ctt-icon-image:before {
  content: '\e887';
}

.ctt-icon-line-chart:before {
  content: '\e888';
}

.ctt-icon-hourglass:before {
  content: '\e889';
}

.ctt-icon-menu:before {
  content: '\e88a';
}

.ctt-icon-more-vert:before {
  content: '\e88b';
}

.ctt-icon-plus:before {
  content: '\e88c';
}

.ctt-icon-more-horiz:before {
  content: '\e88d';
}

.ctt-icon-minus:before {
  content: '\e88e';
}

.ctt-icon-settings:before {
  content: '\e88f';
}

.ctt-icon-suggestion:before {
  content: '\e890';
}

.ctt-icon-touch-id:before {
  content: '\e891';
}

.ctt-icon-wheelchair:before {
  content: '\e892';
}

.ctt-icon-pin:before {
  content: '\e893';
}

.ctt-icon-progress-activity:before {
  content: '\e894';
}

.ctt-icon-accessibility:before {
  content: '\e895';
}

.ctt-icon-bookmark:before {
  content: '\e896';
}

.ctt-icon-touch-id-off:before {
  content: '\e897';
}

.ctt-icon-calendar:before {
  content: '\e898';
}

.ctt-icon-check:before {
  content: '\e899';
}

.ctt-icon-check-circle:before {
  content: '\e89a';
}

.ctt-icon-checkoff:before {
  content: '\e89b';
}

.ctt-icon-clock:before {
  content: '\e89c';
}

.ctt-icon-dock-to-bottom:before {
  content: '\e89d';
}

.ctt-icon-dock-to-right:before {
  content: '\e89e';
}

.ctt-icon-dock-to-right-1:before {
  content: '\e89f';
}

.ctt-icon-external-link:before {
  content: '\e8a0';
}

.ctt-icon-face-id:before {
  content: '\e8a1';
}

.ctt-icon-flag:before {
  content: '\e8a2';
}

.ctt-icon-flag-off:before {
  content: '\e8a3';
}

.ctt-icon-home:before {
  content: '\e8a4';
}

.ctt-icon-history:before {
  content: '\e8a5';
}

.ctt-icon-home-filled:before {
  content: '\e8a6';
}

.ctt-icon-layout:before {
  content: '\e8a7';
}

.ctt-icon-lock:before {
  content: '\e8a8';
}

.ctt-icon-map-cp:before {
  content: '\e8a9';
}

.ctt-icon-match-case:before {
  content: '\e8aa';
}

.ctt-icon-location-fixed:before {
  content: '\e8ab';
}

.ctt-icon-my-location:before {
  content: '\e8ac';
}

.ctt-icon-national:before {
  content: '\e8ad';
}

.ctt-icon-portugal-continental:before {
  content: '\e8ae';
}

.ctt-icon-globe:before {
  content: '\e8af';
}

.ctt-icon-location:before {
  content: '\e8b0';
}

.ctt-icon-iberia:before {
  content: '\e8b1';
}

.ctt-icon-sell:before {
  content: '\e8b2';
}

.ctt-icon-shipping:before {
  content: '\e8b3';
}

.ctt-icon-shipping-fill:before {
  content: '\e8b4';
}

.ctt-icon-shopping-bag:before {
  content: '\e8b5';
}

.ctt-icon-verified:before {
  content: '\e8b6';
}

.ctt-icon-barcode:before {
  content: '\e8b7';
}

.ctt-icon-barcode-scanner:before {
  content: '\e8b8';
}

.ctt-icon-car-toll:before {
  content: '\e8b9';
}

.ctt-icon-instagram:before {
  content: '\e8ba';
}

.ctt-icon-linux:before {
  content: '\e8bb';
}

.ctt-icon-star:before {
  content: '\e8bc';
}

.ctt-icon-star-filled:before {
  content: '\e8bd';
}

.ctt-icon-user-group:before {
  content: '\e8be';
}

.ctt-icon-windows:before {
  content: '\e8bf';
}

.ctt-icon-linkedin:before {
  content: '\e8c0';
}

.ctt-icon-youtube:before {
  content: '\e8c1';
}

.ctt-icon-account-circle:before {
  content: '\e8c2';
}

.ctt-icon-apple:before {
  content: '\e8c3';
}

.ctt-icon-facebook:before {
  content: '\e8c4';
}

.ctt-icon-heart:before {
  content: '\e8c5';
}

.ctt-icon-heart-filled:before {
  content: '\e8c6';
}

/* Size Variants - Using design system icon tokens */
.ctt-icon--small {
  font-size: var(--ctt-icon-size-s, 14px);
}

.ctt-icon--medium {
  font-size: var(--ctt-icon-size-m, 16px);
}

.ctt-icon--large {
  font-size: var(--ctt-icon-size-2xl, 24px);
}

.ctt-icon--xlarge {
  font-size: var(--ctt-icon-size-4xl, 32px);
}

/* Color Modifiers - Using design system icon tokens */
.ctt-icon--primary {
  color: var(--ctt-icon-color-primary, var(--ctt-core-color-primary-main));
}

.ctt-icon--secondary {
  color: var(--ctt-icon-color-secondary, var(--ctt-core-color-secondary-main));
}

.ctt-icon--success {
  color: var(--ctt-icon-color-success, var(--ctt-core-color-success-main));
}

.ctt-icon--warning {
  color: var(--ctt-icon-color-warning, var(--ctt-core-color-warning-main));
}

.ctt-icon--error {
  color: var(--ctt-icon-color-error, var(--ctt-base-text-negative));
}

.ctt-icon--info {
  color: var(--ctt-icon-color-info, var(--ctt-core-color-informative-main));
}

.ctt-icon--neutral {
  color: var(--ctt-icon-color-neutral, var(--ctt-core-color-neutral-700));
}

.ctt-icon--white {
  color: var(--ctt-icon-color-white, var(--ctt-core-color-neutral-100));
}

/* Rotation Modifiers */
.ctt-icon--rotate-90 {
  transform: rotate(90deg);
}

.ctt-icon--rotate-180 {
  transform: rotate(180deg);
}

.ctt-icon--rotate-270 {
  transform: rotate(270deg);
}

/* Animation Modifiers */
.ctt-icon--spin {
  animation: ctt-icon-spin 2s linear infinite;
}

.ctt-icon--pulse {
  animation: ctt-icon-pulse 2s ease-in-out infinite;
}

@keyframes ctt-icon-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes ctt-icon-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
