
/* v5.10.11: same-document icon sprite for Acode and file-preview compatibility. */
.icon-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
}
/* THENTIQ local line-icon system — 24px grid, rounded 1.8px strokes. */
.ui-icon {
    width: 1.25rem;
    height: 1.25rem;
    display: inline-block;
    flex: 0 0 auto;
    overflow: visible;
    vertical-align: -0.22em;
    color: currentColor;
}
.ui-icon--sm { width: 1rem; height: 1rem; }
.ui-icon--lg { width: 1.65rem; height: 1.65rem; }
.ui-icon--xl { width: 2rem; height: 2rem; }
.icon-label,
.mobile-link,
.footer-icon-link,
.product-return-summary h2,
.return-policy-card h2,
.cart-drawer-title,
.modal-title,
.dashboard-tab,
.primary-button,
.secondary-button,
.danger-button,
.store-link,
.gallery-text-link,
.link-btn.icon-label {
    gap: .5rem;
}
.icon-label,
.footer-icon-link,
.product-return-summary h2,
.return-policy-card h2,
.cart-drawer-title,
.modal-title,
.dashboard-tab,
.store-link,
.gallery-text-link {
    display: inline-flex;
    align-items: center;
}
.btn.icon-label { flex-direction: row; }
.btn.icon-label .btn-copy { display: flex; flex-direction: column; align-items: flex-start; }
.btn.icon-label .btn-subtext { margin-top: 2px; }
.hero-trust-row span {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
}
.hero-trust-row .ui-icon { color: var(--accent-primary); width: 1rem; height: 1rem; }
.feature-icon {
    width: 2.6rem;
    height: 2.6rem;
    display: grid;
    place-items: center;
    margin-bottom: 1.15rem;
    border: 1px solid var(--border-color);
    border-radius: .85rem;
    color: var(--accent-primary);
    background: rgba(245,197,66,.06);
}
.feature-icon .ui-icon { width: 1.45rem; height: 1.45rem; }
.payment-choice-title {
    display: flex;
    align-items: center;
    gap: .65rem;
}
.payment-choice-title .ui-icon { color: var(--accent-primary); }
.footer-icon-link { width: max-content; }
.footer-icon-link .ui-icon { color: var(--accent-primary); }
.return-policy-card h2 .ui-icon,
.product-return-summary h2 .ui-icon { color: var(--accent-primary); }
.icon-only { display: inline-grid; place-items: center; }
.icon-only .ui-icon { margin: 0; }
.like-button .ui-icon { width: 1.05rem; height: 1.05rem; }
.like-button.liked .ui-icon { fill: currentColor; }
.qty-btn .ui-icon { width: .95rem; height: .95rem; }
.remove-item-btn { display: inline-flex; align-items: center; gap: .35rem; }
.remove-item-btn .ui-icon { width: .95rem; height: .95rem; }

/* Dashboard icon treatment */
.input-label-copy { display: inline-flex; align-items: center; gap: .45rem; }
.input-label-copy .ui-icon { color: var(--yellow); width: 1rem; height: 1rem; }
.summary-card-icon {
    width: 2.35rem;
    height: 2.35rem;
    display: grid;
    place-items: center;
    margin-bottom: .75rem;
    border: 1px solid var(--border);
    border-radius: .75rem;
    color: var(--yellow);
    background: rgba(245,197,66,.06);
}
.summary-card-icon .ui-icon { width: 1.25rem; height: 1.25rem; }
.summary-card > span:not(.summary-card-icon) { margin-top: auto; }
.dashboard-quick-action .quick-icon {
    display: grid;
    place-items: center;
}
.dashboard-quick-action .quick-icon .ui-icon { width: 1.45rem; height: 1.45rem; }
.dashboard-tab .ui-icon { width: 1.1rem; height: 1.1rem; }
.dashboard-tab.active .ui-icon { color: var(--yellow); }
.icon-button .ui-icon { width: 1.2rem; height: 1.2rem; }
.dialog-close .ui-icon { width: 1.25rem; height: 1.25rem; }
.gallery-admin-actions button,
.availability-actions button { gap: .4rem; }

@media (max-width: 768px) {
    .footer-icon-link { margin-inline: auto; }
    .mobile-link { justify-content: center; }
    .mobile-link .ui-icon { width: 1.35rem; height: 1.35rem; color: var(--accent-primary); }
}

/* Final icon-layout compatibility overrides. */
.dashboard-tab {
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
}
.dashboard-tab::before { display: none !important; content: none !important; }
.danger-button,
.password-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
}
.gallery-principle-points .icon-label { color: var(--text-primary); }
.gallery-principle-points .ui-icon { color: var(--accent-success); }
.section-title.icon-label { justify-content: center; }
.return-support-phone.icon-label { display: flex; }

/* v5.10.7: visible request feedback, refined product sharing and map actions. */
button.is-loading,.btn.is-loading,.primary-button.is-loading,.secondary-button.is-loading,.danger-button.is-loading{position:relative;pointer-events:none;cursor:wait;opacity:.86;transform:none!important}
.button-spinner{width:1.05rem;height:1.05rem;flex:0 0 auto;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:thentiq-button-spin .72s linear infinite}
@keyframes thentiq-button-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.button-spinner{animation-duration:1.5s}}
.footer-map-link,.inline-map-link,.info-card-link{text-decoration:none}
.footer-map-link{transition:color 160ms ease,opacity 160ms ease}.footer-map-link:hover{color:var(--text-primary)}.footer-map-link .map-external-icon{color:currentColor;opacity:.62}
.inline-map-link{color:var(--accent-primary);text-decoration:underline;text-underline-offset:.18em}
.info-card-link{display:block;color:inherit;transition:transform 180ms ease,border-color 180ms ease,background 180ms ease}.info-card-link:hover{transform:translateY(-3px);border-color:var(--border-color-hover);background:rgba(255,255,255,.035)}
.info-card-link .map-action{margin-top:1.25rem;color:var(--accent-primary);font-family:var(--font-ui);font-size:.75rem;font-weight:700;letter-spacing:.05em}
