:root {
    --primary-text: #1a1a1a;
    --secondary-text: #5f6368;
    --accent-color: #1a73e8;
    --bg-page: #ffffff;
    --surface-soft: #f8f9fa;
    --surface-search: #f1f3f4;
    --border-color: #e8eaed;
    --footer-bg: #f8f9fa;
    --article-body: #000000;
    --meta-text: #444444;
    --shadow-soft: 0 10px 30px rgba(15, 23, 42, 0.06);
}

@font-face {
    font-family: "Font Awesome 6 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../vendor/fontawesome/webfonts/fa-brands-400.woff2") format("woff2");
}

@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../vendor/fontawesome/webfonts/fa-regular-400.woff2") format("woff2");
}

@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("../vendor/fontawesome/webfonts/fa-solid-900.woff2") format("woff2");
}

html {
    min-height: 100%;
    overflow-x: hidden;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: "Inter", sans-serif;
    background-color: var(--bg-page);
    color: var(--primary-text);
    letter-spacing: -0.01em;
    transition: background-color 0.3s ease, color 0.3s ease;
    overflow-x: hidden;
}

#primary.site-main {
    flex: 1 0 auto;
    width: 100%;
}

body.dark-mode {
    --bg-page: #121212;
    --primary-text: #f1f3f4;
    --secondary-text: #9aa0a6;
    --border-color: #303134;
    --footer-bg: #1a1c1e;
    --article-body: #e1e3e1;
    --meta-text: #9aa0a6;
    --surface-soft: #1a1c1e;
    --surface-search: #202124;
    background-color: #121212;
    color: #f1f3f4;
}

body.dark-mode .text-gray-300,
body.dark-mode .text-gray-400,
body.dark-mode .text-gray-500,
body.dark-mode .text-gray-600 {
    color: var(--secondary-text) !important;
}

body.dark-mode .bg-gray-100 {
    background-color: #1a1c1e !important;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.container {
    width: 100%;
    max-width: 80% !important;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.title-font {
    font-family: "Plus Jakarta Sans", sans-serif;
    letter-spacing: -0.02em;
}

.content-font {
    font-family: "Lora", serif;
    line-height: 1.8;
}

.article-title {
    color: var(--primary-text) !important;
    line-height: 1.25;
}

.sticky-header {
    position: sticky;
    top: 0;
    z-index: 80;
    background: var(--bg-page);
    border-bottom: 1px solid var(--border-color);
    backdrop-filter: blur(14px);
}

.header-main-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    min-height: 4rem;
}

.header-brand-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
}

.header-mobile-trigger,
.header-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--secondary-text);
    background: transparent;
    border: 0;
    border-radius: 999px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.header-mobile-trigger:hover,
.header-icon-button:hover {
    background: rgba(26, 115, 232, 0.08);
    color: var(--primary-text);
}

@media (min-width: 768px) {
    .header-mobile-trigger,
    .mobile-search-toggle,
    .mobile-search-panel {
        display: none !important;
    }
}

.header-icon-button.is-active {
    background: rgba(26, 115, 232, 0.14);
    color: var(--accent-color);
}

.header-icon-button.is-disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.header-cart-link {
    position: relative;
    text-decoration: none;
}

.header-cart-count {
    position: absolute;
    top: -0.35rem;
    right: -0.28rem;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.24rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    color: var(--secondary-text);
    font-size: 0.64rem;
    font-weight: 800;
    line-height: 1;
}

.header-cart-count.has-items {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--accent-contrast);
}

.header-brand-link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    text-decoration: none;
}

.header-brand-link-stacked {
    align-items: flex-start;
}

.header-brand-logo {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}

.header-brand-logo img {
    display: block;
    width: auto;
    max-width: 100%;
}

.header-brand-logo .custom-logo-dark {
    display: none;
}

body.dark-mode .header-brand-logo.has-dark-logo .custom-logo-light {
    display: none;
}

body.dark-mode .header-brand-logo.has-dark-logo .custom-logo-dark {
    display: block;
}

.header-brand-copy {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
    min-width: 0;
}

.header-brand-title {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: clamp(1.1rem, 1.35vw, 1.7rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--primary-text);
}

.header-brand-tagline {
    font-size: 0.76rem;
    line-height: 1.35;
    color: var(--secondary-text);
    letter-spacing: 0.01em;
}

.header-brand-primary {
    font-size: clamp(1.3rem, 1.5vw, 2rem);
    font-weight: 800;
    color: var(--primary-text);
}

.header-brand-secondary {
    font-size: clamp(1.3rem, 1.5vw, 2rem);
    font-weight: 500;
    color: var(--secondary-text);
}

.header-search-shell {
    display: none;
    flex: 1 1 auto;
    max-width: 40rem;
}

.header-main-row-no-actions {
    justify-content: flex-start;
}

.header-search-shell-align-right {
    margin-left: auto;
    flex: 0 1 40rem;
}

.search-container {
    display: flex;
    align-items: center;
    padding: 0.6rem 1rem;
    background: var(--surface-search);
    border: 1px solid transparent;
    border-radius: 0.6rem;
    transition: all 0.2s ease;
}

.search-container:focus-within {
    background: var(--bg-page);
    border-color: var(--accent-color);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.search-container-icon {
    margin-right: 0.75rem;
    color: #9ca3af;
}

.search-container-input {
    width: 100%;
    background: transparent;
    border: 0;
    color: var(--primary-text);
    font-size: 0.9rem;
    outline: none;
}

.search-container-input::placeholder {
    color: var(--secondary-text);
}

.header-action-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.mobile-search-panel {
    display: none;
}

.mobile-search-toggle.is-active {
    color: var(--accent-color);
}

.header-nav {
    position: relative;
    overflow: visible;
    pointer-events: none;
}

.mobile-menu-overlay,
.mobile-menu-panel {
    display: none;
}

#navMenu {
    display: flex;
    align-items: center;
    gap: 2rem;
    overflow: visible;
    white-space: nowrap;
    pointer-events: auto;
}

#navMenu,
#navMenu li,
.footer-menu,
.footer-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#navMenu a,
#navMenu button,
#navMenu i {
    pointer-events: auto;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.nav-link {
    display: inline-flex;
    align-items: center;
    color: var(--secondary-text);
    transition: all 0.2s ease;
    font-size: 14px;
    font-weight: 500;
    padding: 12px 2px;
    white-space: nowrap;
    text-decoration: none;
}

.nav-link:hover {
    color: var(--primary-text);
}

.nav-link-active {
    color: var(--accent-color);
    font-weight: 700;
    border-bottom: 3px solid var(--accent-color);
}

.header-menu-item {
    position: relative;
}

.nav-item-has-children::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 0.7rem;
}

.header-menu-item-shell {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.nav-item-has-children > .header-menu-item-shell .nav-link {
    padding-right: 0;
}

.nav-submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border: 0;
    background: transparent;
    color: var(--secondary-text);
    transition: color 0.2s ease, transform 0.2s ease;
    cursor: pointer;
}

.nav-item-has-children:hover > .header-menu-item-shell .nav-submenu-toggle,
.nav-item-has-children:focus-within > .header-menu-item-shell .nav-submenu-toggle,
.nav-item-has-children.is-open > .header-menu-item-shell .nav-submenu-toggle {
    color: var(--accent-color);
}

.nav-item-has-children.is-open > .header-menu-item-shell .nav-submenu-toggle i,
.nav-item-has-children:hover > .header-menu-item-shell .nav-submenu-toggle i,
.nav-item-has-children:focus-within > .header-menu-item-shell .nav-submenu-toggle i {
    transform: rotate(180deg);
}

.nav-submenu {
    position: absolute;
    top: calc(100% + 0.2rem);
    left: 0;
    min-width: 14rem;
    padding: 0.55rem 0;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: var(--bg-page);
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
    z-index: 80;
}

.nav-item-has-children:hover > .nav-submenu,
.nav-item-has-children:focus-within > .nav-submenu,
.nav-item-has-children.is-open > .nav-submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.nav-submenu-item + .nav-submenu-item {
    border-top: 1px solid rgba(148, 163, 184, 0.14);
}

.nav-submenu-link {
    display: block;
    padding: 0.8rem 1rem;
    color: var(--secondary-text);
    font-size: 0.92rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
}

.nav-submenu-link:hover,
.nav-submenu-link-active {
    color: var(--accent-color);
}

.v-separator {
    background-color: var(--border-color);
    width: 1px;
    height: 1rem;
    display: inline-block;
}

.separator-line {
    background-color: var(--border-color);
    width: 100%;
}

.pill-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--accent-color);
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    padding: 4px 10px;
    border-radius: 4px;
}

body.dark-mode .pill-label {
    background-color: rgba(26, 115, 232, 0.2);
    border-color: transparent;
    color: #8ab4f8;
}

.btn-minimal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color);
    padding: 8px 20px;
    font-size: 13px;
    border-radius: 6px;
    font-weight: 600;
    color: var(--accent-color);
    transition: all 0.2s ease;
}

.btn-minimal:hover {
    border-color: var(--accent-color);
    background: rgba(26, 115, 232, 0.06);
}

.post-card {
    transition: transform 0.3s ease;
}

.post-card:hover {
    transform: translateY(-3px);
}

.ad-slot {
    background: var(--surface-soft);
    border: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--meta-text);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 8px;
    text-align: center;
    padding: 1rem;
}

.ad-slot-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
}

.featured-ad-slot {
    display: block;
    color: inherit;
    font-size: inherit;
    letter-spacing: normal;
    text-transform: none;
    overflow: visible;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: center;
}

.featured-ad-slot > * {
    max-width: 100%;
}

.featured-ad-slot ins {
    display: block !important;
    width: 100% !important;
    max-width: 100%;
}

.featured-ad-slot iframe,
.single-inline-ad-slot iframe,
.single-post-widget iframe,
.footer-widget-shell iframe,
.article-body-content iframe,
.article-body-content video,
.article-body-content embed,
.article-body-content object {
    max-width: 100% !important;
}

.home-ad-slot-top {
    min-height: 250px;
}

.home-ad-slot-bottom {
    min-height: 120px;
}

.home-inline-ad-slot {
    min-height: 120px;
}

.insight-ad-widget-slot {
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.insight-ad-widget-slot > * {
    max-width: 100%;
}

.insight-ad-widget-slot ins {
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    min-height: inherit;
    height: 100%;
}

.insight-ad-widget-slot iframe {
    max-width: 100% !important;
}

.insight-ad-widget-slot.is-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
}

.insight-ad-widget-slot-medium_rect { aspect-ratio: 300 / 250; min-height: 210px; }
.insight-ad-widget-slot-large_rect { aspect-ratio: 336 / 280; min-height: 230px; }
.insight-ad-widget-slot-square_250 { aspect-ratio: 1 / 1; min-height: 230px; }
.insight-ad-widget-slot-small_square { aspect-ratio: 1 / 1; min-height: 190px; }
.insight-ad-widget-slot-leaderboard { aspect-ratio: 728 / 90; min-height: 90px; }
.insight-ad-widget-slot-large_mobile { aspect-ratio: 320 / 100; min-height: 100px; }
.insight-ad-widget-slot-mobile_banner { aspect-ratio: 320 / 50; min-height: 60px; }
.insight-ad-widget-slot-banner { aspect-ratio: 468 / 60; min-height: 70px; }
.insight-ad-widget-slot-half_page { aspect-ratio: 300 / 600; min-height: 360px; }
.insight-ad-widget-slot-wide_skyscraper { aspect-ratio: 160 / 600; min-height: 360px; }
.insight-ad-widget-slot-skyscraper { aspect-ratio: 120 / 600; min-height: 360px; }

.single-inline-ad-shell {
    margin: 0 0 2.5rem;
    max-width: 100%;
    min-width: 0;
}

.single-inline-ad-slot {
    width: 100%;
    display: block;
    overflow: visible;
    min-width: 0;
}

.single-inline-ad-slot.is-placeholder {
    aspect-ratio: 1 / 1;
    min-height: 18rem;
    overflow: hidden;
}

.single-inline-ad-slot > * {
    max-width: 100%;
}

.single-inline-ad-slot ins {
    display: block !important;
    width: 100% !important;
    max-width: 100%;
}

@media (min-width: 768px) {
    .single-inline-ad-slot.is-placeholder {
        aspect-ratio: 16 / 5;
        min-height: 9rem;
    }
}

.for-you-card {
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 1.5rem;
    transition: opacity 0.2s ease;
}

.for-you-card:hover {
    opacity: 0.8;
}

.for-you-excerpt {
    margin-top: 0.7rem;
    color: var(--secondary-text);
    font-size: 13px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.category-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--accent-color);
}

.trending-number {
    font-size: 3rem;
    line-height: 0.95;
}

.explore-column {
    display: flex;
    flex-direction: column;
}

.explore-column[hidden] {
    display: none !important;
}

.explore-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 1.5rem;
    text-decoration: none;
}

.explore-header h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary-text);
}

.explore-item {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
    transition: opacity 0.2s ease;
}

.explore-item:hover {
    opacity: 0.78;
}

.explore-thumb-link {
    width: 84px;
    height: 84px;
    min-width: 84px;
    max-width: 84px;
    display: block;
    overflow: hidden;
    border-radius: 12px;
    flex-shrink: 0;
}

.explore-thumb {
    width: 84px;
    height: 84px;
    min-width: 84px;
    max-width: 84px;
    aspect-ratio: 1 / 1;
    display: block;
    object-fit: cover;
    object-position: center;
    flex-shrink: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.single-meta {
    color: var(--meta-text);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 600;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    flex-wrap: wrap;
}

.meta-dot {
    width: 0.25rem;
    height: 0.25rem;
    background: #d1d5db;
    border-radius: 999px;
}

.single-share-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.single-share-label {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--primary-text);
}

.single-share-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.single-share-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.9rem;
    height: 2.9rem;
    border: 1px solid var(--border-color);
    border-radius: 0.85rem;
    background: var(--surface-soft);
    color: var(--secondary-text);
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.single-share-chip:hover {
    border-color: rgba(var(--accent-rgb), 0.26);
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--accent-color);
    transform: translateY(-1px);
}

.single-share-chip.is-copied {
    border-color: rgba(var(--accent-rgb), 0.36);
    background: rgba(var(--accent-rgb), 0.14);
    color: var(--accent-color);
}

.single-share-chip i {
    font-size: 1.05rem;
}

.single-share-copy {
    cursor: pointer;
    padding: 0;
}

.article-body-content {
    color: var(--article-body);
    font-size: 20px;
    line-height: 1.8;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: normal;
}

.page-content-wrap {
    width: 80%;
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.page-reader-content-wrap {
    width: 100%;
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
}

.article-body-content > p,
.article-body-content > ul,
.article-body-content > ol,
.article-body-content > blockquote,
.article-body-content > figure,
.article-body-content > h2,
.article-body-content > h3,
.article-body-content > h4 {
    margin-bottom: 2.5rem;
}

.article-body-content ul,
.article-body-content ol {
    padding-left: 1.6em;
}

.article-body-content ul {
    list-style: disc;
}

.article-body-content ol {
    list-style: decimal;
}

.article-body-content li {
    margin-bottom: 0.65em;
    padding-left: 0.2em;
}

.article-body-content li > ul,
.article-body-content li > ol {
    margin-top: 0.65em;
    margin-bottom: 0;
}

.article-body-content li > ul {
    list-style: circle;
}

.article-body-content li > ol {
    list-style: lower-alpha;
}

.article-body-content h2,
.article-body-content h3,
.article-body-content h4 {
    font-family: "Plus Jakarta Sans", sans-serif;
    color: var(--primary-text);
    font-weight: 700;
    line-height: 1.2;
}

.article-body-content h2 {
    font-size: 2rem;
}

.article-body-content h3 {
    font-size: 1.6rem;
}

.article-body-content h4 {
    font-size: 1.3rem;
}

.article-body-content a {
    color: var(--accent-color);
}

.single-toc-box {
    margin: 0 0 2.5rem;
    padding: 1.25rem 1.35rem;
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    background: var(--surface-soft);
}

.single-toc-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.single-toc-title {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent-color);
}

.single-toc-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 0.65rem;
    background: rgba(0, 0, 0, 0.04);
    color: var(--secondary-text);
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.single-toc-toggle:hover {
    background: rgba(var(--accent-rgb), 0.12);
    color: var(--accent-color);
}

.single-toc-box.is-collapsed .single-toc-toggle i {
    transform: rotate(-180deg);
}

.single-toc-content[hidden] {
    display: none !important;
}

.article-body-content .single-toc-content,
.article-body-content .single-toc-box .single-toc-content {
    padding-left: 0 !important;
    padding-inline-start: 0 !important;
}

.article-body-content .single-toc-list,
.article-body-content .single-toc-box .single-toc-list {
    margin: 0 !important;
    margin-left: 0 !important;
    margin-inline-start: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
    padding-inline-start: 0 !important;
    list-style: none;
    display: grid;
    gap: 0.9rem;
}

.article-body-content .single-toc-item,
.article-body-content .single-toc-box .single-toc-item {
    margin: 0 !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    color: var(--primary-text);
    line-height: 1.5;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.95em;
}

.single-toc-item a {
    color: inherit;
    text-decoration: none;
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
}

.single-toc-item a:hover {
    color: var(--accent-color);
}

.single-toc-number {
    min-width: 1.6rem;
    color: var(--accent-color);
    font-weight: 700;
    letter-spacing: 0.01em;
}

.single-toc-text {
    flex: 1 1 auto;
}

.article-body-content .single-toc-level-3,
.article-body-content .single-toc-box .single-toc-level-3 {
    margin-left: 1.35rem !important;
}

.article-body-content .single-toc-level-4,
.article-body-content .single-toc-box .single-toc-level-4 {
    margin-left: 2.7rem !important;
}

.single-inline-recommendations {
    margin: 2rem 0;
    padding: 1.15rem 1.25rem;
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    background: var(--surface-soft);
    position: relative;
    z-index: 3;
}

.single-inline-recommendations-title {
    margin-bottom: 0.9rem;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--accent-color);
}

.single-inline-recommendations-list {
    display: grid;
    gap: 0.9rem;
}

.single-inline-recommendation-item {
    display: grid;
    gap: 0.32rem;
}

.article-body-content .single-inline-recommendation-link,
.article-body-content a.single-inline-recommendation-link {
    display: block;
    color: #111111;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.45;
    text-decoration: none;
    position: relative;
    z-index: 4;
    pointer-events: auto;
    touch-action: manipulation;
}

.article-body-content .single-inline-recommendation-link:hover,
.article-body-content a.single-inline-recommendation-link:hover,
.article-body-content .single-inline-recommendation-link:focus,
.article-body-content a.single-inline-recommendation-link:focus {
    color: #111111;
}

body.dark-mode .article-body-content .single-inline-recommendation-link,
body.dark-mode .article-body-content a.single-inline-recommendation-link,
body.dark-mode .article-body-content .single-inline-recommendation-link:hover,
body.dark-mode .article-body-content a.single-inline-recommendation-link:hover,
body.dark-mode .article-body-content .single-inline-recommendation-link:focus,
body.dark-mode .article-body-content a.single-inline-recommendation-link:focus {
    color: #f5f5f5;
}

.article-body-content img {
    display: block;
    border-radius: 1rem;
    height: auto;
    max-width: 100%;
}

.article-body-content figure,
.article-body-content .wp-block-image,
.article-body-content .wp-caption,
.article-body-content .wp-block-gallery,
.article-body-content .wp-block-media-text,
.article-body-content .wp-block-cover,
.article-body-content .wp-block-video,
.article-body-content .wp-block-embed,
.article-body-content .alignnone,
.article-body-content .aligncenter,
.article-body-content .alignleft,
.article-body-content .alignright,
.article-body-content .alignwide,
.article-body-content .alignfull {
    box-sizing: border-box;
    max-width: 100% !important;
    min-width: 0;
}

.article-body-content figure img,
.article-body-content .wp-block-image img,
.article-body-content .wp-caption img,
.article-body-content .wp-block-gallery img,
.article-body-content .wp-block-cover img,
.article-body-content .wp-block-video video {
    width: auto;
    max-width: 100% !important;
}

.article-body-content figcaption,
.article-body-content .wp-caption-text,
.wp-block-image figcaption {
    box-sizing: border-box;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.article-body-content table,
.article-body-content pre,
.article-body-content .wp-block-table,
.article-body-content .wp-block-code,
.article-body-content .wp-block-preformatted {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.article-body-content table {
    width: 100%;
}

.article-body-content blockquote,
.wp-block-quote {
    padding: 2.5rem 1rem;
    margin: 4rem 0;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 1.85rem;
    font-weight: 700;
    font-style: italic;
    text-align: center;
    color: var(--primary-text);
    line-height: 1.35;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
}

.border-uniform {
    border-color: var(--border-color) !important;
}

.dark-surface {
    background-color: var(--surface-soft);
}

.single-post-layout {
    align-items: start;
}

.single-post-content-column,
.single-post-sidebar-column {
    min-width: 0;
}

@media (min-width: 1025px) {
    .single-post-layout-sticky-sidebar {
        align-items: stretch;
    }

    .single-post-layout-sticky-sidebar .single-post-sidebar-column {
        align-self: stretch;
        position: relative;
    }

    .single-post-layout-sticky-sidebar .article-sidebar {
        position: relative;
    }
}

.quick-read-stream {
    display: grid;
    gap: 4rem;
    max-width: 100%;
    min-width: 0;
}

.single-article-unit + .single-article-unit {
    padding-top: 3rem;
    border-top: 1px solid var(--border-color);
}

.quick-read-loader {
    margin: 1.5rem 0 0;
    color: var(--secondary-text);
    font-size: 0.92rem;
    font-weight: 600;
    text-align: center;
}

.quick-read-sentinel {
    width: 100%;
    height: 1px;
}

body.quick-read-mode .single-post-layout {
    display: block !important;
}

body.quick-read-mode .single-post-content-column {
    width: 100%;
}

body.quick-read-mode .single-post-content-wrap {
    max-width: 52rem;
    margin: 0 auto;
    width: 100%;
}

body.quick-read-mode .single-post-sidebar-column,
body.quick-read-mode .quick-read-hide {
    display: none !important;
}

body.quick-read-mode .single-article-unit {
    scroll-margin-top: 7rem;
}

.single-sidebar-panel,
.single-post-widget {
    border: 1px solid var(--border-color);
    background: var(--bg-page);
    border-radius: 1rem;
    padding: 1.5rem;
    box-shadow: var(--shadow-soft);
    color: var(--primary-text);
}

.single-post-widget.single-post-recommendations-widget {
    display: grid;
    gap: 1.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.single-post-widget.insight-press-ad-slot-widget,
.footer-widget-shell.insight-press-ad-slot-widget {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.single-post-widget.single-post-recommendations-widget .single-sidebar-panel {
    margin: 0;
}

.single-post-widget.single-post-recommendations-widget .explore-thumb {
    width: 88px !important;
    height: 88px !important;
    min-width: 88px;
    max-width: 88px;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
    object-position: center;
    border-radius: 14px;
    display: block;
}

.single-post-content-wrap,
.single-article-unit,
.page-article-unit,
.single-related-wrap,
.single-comments-wrap,
.single-post-widget,
.single-sidebar-panel {
    max-width: 100%;
    min-width: 0;
}

.single-post-sidebar-column .single-sidebar-title,
.single-post-sidebar-column .single-post-widget .widget-title,
.single-post-sidebar-column .single-post-widget .single-widget-heading {
    margin-bottom: 1.25rem;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--accent-color);
}

.single-post-widget ul,
.single-post-widget ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

.single-post-widget li + li {
    margin-top: 0.85rem;
}

.single-post-widget p,
.single-post-widget li,
.single-post-widget span,
.single-post-widget div,
.single-post-widget label,
.single-post-widget small,
.single-post-widget strong,
.single-post-widget time,
.single-post-widget cite {
    color: var(--primary-text);
}

.single-post-widget a {
    color: var(--primary-text);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 700;
    line-height: 1.5;
    transition: color 0.2s ease;
}

.single-post-widget a:hover {
    color: var(--accent-color);
}

.single-post-widget select,
.single-post-widget input,
.single-post-widget textarea,
.single-post-widget button {
    width: 100%;
    border: 1px solid var(--border-color);
    border-radius: 0.85rem;
    padding: 0.75rem 0.9rem;
    background: transparent;
    color: var(--primary-text);
}

.single-post-widget button {
    width: auto;
    cursor: pointer;
}

.single-post-widget .wp-block-latest-posts__post-date,
.single-post-widget .post-date,
.single-post-widget .rss-date,
.single-post-widget .wp-block-calendar caption {
    color: var(--secondary-text);
}

body.dark-mode .single-sidebar-panel,
body.dark-mode .single-post-widget {
    background: var(--surface-soft) !important;
    color: var(--primary-text) !important;
    border-color: var(--border-color) !important;
    box-shadow: none;
}

body.dark-mode .single-post-widget.single-post-recommendations-widget {
    background: transparent !important;
    border: 0 !important;
}

body.dark-mode .single-toc-box {
    background: rgba(255, 255, 255, 0.03);
}

body.dark-mode .single-share-chip {
    background: rgba(255, 255, 255, 0.04);
}

body.dark-mode .single-toc-toggle {
    background: rgba(255, 255, 255, 0.05);
    color: var(--secondary-text);
}

body.dark-mode .single-toc-toggle:hover {
    background: rgba(var(--accent-rgb), 0.18);
    color: var(--accent-color);
}

body.dark-mode .single-post-sidebar-column .single-sidebar-title,
body.dark-mode .single-post-sidebar-column .single-post-widget .widget-title,
body.dark-mode .single-post-sidebar-column .single-post-widget .single-widget-heading {
    color: var(--accent-color) !important;
}

body.dark-mode .single-post-widget p,
body.dark-mode .single-post-widget li,
body.dark-mode .single-post-widget span,
body.dark-mode .single-post-widget div,
body.dark-mode .single-post-widget label,
body.dark-mode .single-post-widget small,
body.dark-mode .single-post-widget strong,
body.dark-mode .single-post-widget time,
body.dark-mode .single-post-widget cite,
body.dark-mode .single-post-widget table,
body.dark-mode .single-post-widget th,
body.dark-mode .single-post-widget td {
    color: var(--primary-text) !important;
}

body.dark-mode .single-post-widget a {
    color: var(--primary-text) !important;
}

body.dark-mode .single-post-widget a:hover {
    color: #8ab4f8 !important;
}

body.dark-mode .single-post-widget select,
body.dark-mode .single-post-widget input,
body.dark-mode .single-post-widget textarea,
body.dark-mode .single-post-widget button {
    background: #202124 !important;
    color: var(--primary-text) !important;
    border-color: var(--border-color) !important;
}

body.dark-mode .single-post-widget .wp-block-latest-posts__post-date,
body.dark-mode .single-post-widget .post-date,
body.dark-mode .single-post-widget .rss-date,
body.dark-mode .single-post-widget .wp-block-calendar caption {
    color: var(--secondary-text) !important;
}

.wp-block-image figcaption {
    margin-top: 0.75rem;
    color: var(--secondary-text);
    font-size: 0.75rem;
    text-align: center;
    font-style: italic;
}

.related-card {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.related-card:hover {
    transform: translateY(-4px);
}

.comments-area {
    background: var(--bg-page);
    box-shadow: var(--shadow-soft);
}

.comment-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.comment-list .children {
    list-style: none;
    margin: 1.5rem 0 0 1.25rem;
    padding-left: 1.25rem;
    border-left: 1px solid var(--border-color);
}

.comment-body {
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    padding: 1.25rem;
    background: var(--surface-soft);
}

.comment-meta {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.comment-author {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.comment-author img {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    object-fit: cover;
}

.comment-author .fn,
.comment-author .says {
    font-style: normal;
    font-weight: 700;
    color: var(--primary-text);
}

.comment-metadata a,
.comment-reply-link,
.logged-in-as a,
.comment-edit-link {
    color: var(--accent-color);
    font-weight: 600;
}

.comment-content {
    color: var(--article-body);
    line-height: 1.8;
}

.comment-respond {
    margin-top: 2rem;
}

.comment-form-grid {
    display: grid;
    gap: 1rem;
}

.comment-form-grid label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--primary-text);
}

.comment-form-grid input,
.comment-form-grid textarea {
    width: 100%;
    border: 1px solid var(--border-color);
    border-radius: 0.95rem;
    padding: 0.9rem 1rem;
    background: transparent;
    color: var(--primary-text);
}

.comment-form-grid textarea {
    resize: vertical;
    min-height: 170px;
}

.comment-submit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 0.9rem 1.5rem;
    background: var(--accent-color);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.comment-submit-button:hover {
    opacity: 0.92;
    transform: translateY(-1px);
}

.comment-notes,
.logged-in-as,
.comment-metadata,
.comments-closed,
.comment-awaiting-moderation,
.form-allowed-tags {
    color: var(--secondary-text);
}

body.dark-mode .comments-area {
    background: var(--surface-soft);
    box-shadow: none;
}

body.dark-mode .comment-body {
    background: #202124;
}

body.dark-mode .comment-form-grid input,
body.dark-mode .comment-form-grid textarea {
    background: #202124;
}

.site-footer {
    margin-top: auto;
    background-color: var(--footer-bg);
    border-top: 1px solid var(--border-color);
    transition: background-color 0.3s ease, border-color 0.3s ease;
    padding: 4rem 0 2rem;
}

.site-footer.site-footer--copyright-only {
    border-top: 0;
    padding-top: 0;
    padding-bottom: 2rem;
}

.footer-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3.5rem;
}

.footer-grid-columns-1 {
    grid-template-columns: minmax(0, 1fr);
}

.footer-grid-columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.footer-grid-columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.footer-feature-column {
    display: flex;
    flex-direction: column;
}

.footer-feature-list {
    display: flex;
    flex-direction: column;
}

.footer-feature-item {
    box-sizing: border-box;
    border-bottom: 1px solid var(--border-color);
    padding: 0 0 1rem;
    margin-bottom: 1rem;
}

.footer-feature-item:last-child {
    margin-bottom: 0;
}

.footer-feature-link {
    display: block;
    box-sizing: border-box;
    max-width: 100%;
    padding-right: 1rem;
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.45;
    color: var(--secondary-text);
    text-decoration: none;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.footer-feature-link:hover {
    color: var(--accent-color);
}

.footer-widget-stack {
    margin-top: 1.5rem;
}

.footer-widget-shell {
    border-top: 1px solid var(--border-color);
    padding-top: 1rem;
    margin-top: 1rem;
}

.footer-widget-title {
    color: var(--accent-color);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    margin: 0 0 1rem;
    text-transform: uppercase;
}

.home-featured-sidebar .home-trending-block-title {
    color: var(--accent-color) !important;
}

.footer-widget-shell ul,
.footer-widget-shell ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-widget-shell li + li {
    margin-top: 0.75rem;
}

.footer-widget-shell a {
    color: var(--secondary-text);
    text-decoration: none;
}

.footer-widget-shell a:hover {
    color: var(--accent-color);
}

.footer-widget-shell select,
.footer-widget-shell input,
.footer-widget-shell textarea {
    width: 100%;
}

.footer-bottom-row {
    border-top: 1px solid var(--border-color);
    margin-top: 4rem;
    padding-top: 2rem;
    text-align: center;
}

.site-footer.site-footer--copyright-only .footer-bottom-row {
    margin-top: 0;
    padding-top: 2rem;
}

.footer-copyright {
    color: #9aa0a6;
    font-size: 12px;
    letter-spacing: 0.01em;
    margin: 0;
}

body.dark-mode .footer-feature-link,
body.dark-mode .footer-widget-title,
body.dark-mode .footer-widget-shell a {
    color: #d7dbe0;
}

body.dark-mode .footer-widget-title,
body.dark-mode .home-featured-sidebar .home-trending-block-title {
    color: var(--accent-color) !important;
}

body.dark-mode .footer-feature-link:hover,
body.dark-mode .footer-widget-shell a:hover {
    color: #8ab4f8;
}

.pagination .nav-links {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.pagination .page-numbers {
    border: 1px solid var(--border-color);
    border-radius: 999px;
    padding: 0.55rem 0.9rem;
    font-size: 0.875rem;
    color: var(--primary-text);
}

.pagination .current {
    border-color: var(--accent-color);
    color: var(--accent-color);
}

@media (min-width: 768px) {
    .header-search-shell {
        display: block;
    }
}

@media (max-width: 1024px) {
    .container {
        max-width: 90% !important;
    }

    .page-content-wrap {
        width: 100%;
        max-width: 100%;
    }

    .article-sidebar {
        position: static;
    }
}

@media (max-width: 768px) {
    .container {
        max-width: 94% !important;
    }

    body.mobile-menu-open {
        overflow: hidden;
    }

    .header-main-row {
        gap: 1rem;
    }

    .header-action-row {
        gap: 0.4rem;
    }

    .header-brand-row {
        gap: 0.2rem;
    }

    .header-mobile-trigger-left {
        width: 3rem;
        min-width: 3rem;
        height: 3rem;
        margin-left: -0.7rem;
        margin-right: -0.05rem;
        padding: 0;
        justify-content: center;
    }

    .header-mobile-trigger-right {
        width: 3rem;
        min-width: 3rem;
        height: 3rem;
        margin: 0 -0.55rem 0 0;
        padding: 0;
        justify-content: center;
    }

    .header-main-row-mobile-right .header-brand-row {
        flex: 1 1 auto;
        min-width: 0;
    }

    .header-main-row-mobile-right .header-brand-link {
        min-width: 0;
    }

    .header-action-row-mobile-menu-right {
        gap: 0.2rem;
    }

    .header-brand-secondary {
        display: none;
    }

    .header-brand-title {
        font-size: 1.05rem;
    }

    .header-brand-tagline {
        font-size: 0.68rem;
        max-width: 12rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .mobile-search-panel {
        display: block;
        padding: 0 0 0.85rem;
    }

    .mobile-search-panel[hidden] {
        display: none;
    }

    .mobile-search-panel.is-open {
        animation: mobileSearchReveal 0.18s ease;
    }

    .mobile-search-form {
        width: 100%;
    }

    #navMenu {
        gap: 1.2rem;
        align-items: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: visible;
    }

    .mobile-menu-overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(15, 23, 42, 0.42);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.22s ease;
        z-index: 95;
    }

    .mobile-menu-overlay.is-open {
        opacity: 1;
        pointer-events: auto;
    }

    .mobile-menu-panel {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: min(86vw, 360px);
        height: 100vh;
        padding: 1.25rem 1.25rem 2rem;
        background: var(--bg-page);
        border-right: 1px solid var(--border-color);
        box-shadow: 0 22px 60px rgba(15, 23, 42, 0.18);
        transform: translateX(-105%);
        transition: transform 0.24s ease;
        z-index: 96;
        overflow-y: auto;
    }

    .mobile-menu-panel.is-open {
        transform: translateX(0);
    }

    .mobile-menu-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1.25rem;
        padding-bottom: 0.9rem;
        border-bottom: 1px solid var(--border-color);
    }

    .mobile-menu-title {
        font-size: 0.8rem;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--accent-color);
    }

    .mobile-menu-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: var(--secondary-text);
    }

    .mobile-menu-nav {
        padding-bottom: 1rem;
    }

    .mobile-nav-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .mobile-nav-list li + li {
        border-top: 1px solid var(--border-color);
    }

    .mobile-nav-item-shell {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
    }

    .mobile-nav-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 0.95rem 0;
        color: var(--secondary-text);
        font-size: 1rem;
        font-weight: 500;
        text-decoration: none;
        transition: color 0.2s ease;
    }

    .mobile-nav-link:hover,
    .mobile-nav-link-active {
        color: var(--accent-color);
    }

    .mobile-nav-submenu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        border: 0;
        background: transparent;
        color: var(--secondary-text);
        flex-shrink: 0;
    }

    .mobile-nav-item-has-children.is-open > .mobile-nav-item-shell .mobile-nav-submenu-toggle {
        color: var(--accent-color);
    }

    .mobile-nav-item-has-children.is-open > .mobile-nav-item-shell .mobile-nav-submenu-toggle i {
        transform: rotate(180deg);
    }

    .mobile-nav-submenu {
        display: none;
        list-style: none;
        margin: 0;
        padding: 0 0 0.5rem 1rem;
    }

    .mobile-nav-item-has-children.is-open > .mobile-nav-submenu {
        display: block;
    }

    .mobile-nav-submenu-item + .mobile-nav-submenu-item {
        border-top: 1px solid rgba(148, 163, 184, 0.12);
    }

    .mobile-nav-submenu-link {
        display: block;
        padding: 0.8rem 0;
        color: var(--secondary-text);
        font-size: 0.95rem;
        font-weight: 500;
        text-decoration: none;
    }

    .mobile-nav-submenu-link:hover,
    .mobile-nav-submenu-link-active {
        color: var(--accent-color);
    }

    .nav-submenu {
        min-width: 12rem;
    }

    .header-menu-item {
        position: static;
    }

    .nav-item-has-children {
        display: block;
    }

    .header-menu-item-shell {
        gap: 0.2rem;
    }

    .nav-item-has-children::after {
        display: none;
    }

    .nav-submenu {
        position: static;
        min-width: 0;
        width: max-content;
        margin: 0.35rem 0 0;
        padding: 0.35rem 0;
        border: 1px solid var(--border-color);
        border-radius: 12px;
        background: var(--bg-page);
        box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        display: none;
        z-index: 40;
    }

    .nav-item-has-children.is-open > .nav-submenu {
        display: block;
    }

    .nav-submenu-item + .nav-submenu-item {
        border-top: 1px solid rgba(148, 163, 184, 0.12);
    }

    .nav-submenu-link {
        display: block;
        padding: 0.6rem 0.9rem;
        color: var(--secondary-text);
        font-size: 0.9rem;
        font-weight: 500;
        white-space: nowrap;
    }

    .article-body-content {
        font-size: 18px;
    }

    .article-body-content figure,
    .article-body-content .wp-block-image,
    .article-body-content .wp-caption,
    .article-body-content .wp-block-gallery,
    .article-body-content .wp-block-media-text,
    .article-body-content .wp-block-cover,
    .article-body-content .alignnone,
    .article-body-content .aligncenter,
    .article-body-content .alignleft,
    .article-body-content .alignright,
    .article-body-content .alignwide,
    .article-body-content .alignfull {
        float: none !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .article-body-content img {
        margin-left: auto;
        margin-right: auto;
    }

    .single-inline-recommendations,
    .single-inline-recommendations-list,
    .single-inline-recommendation-item,
    .single-inline-recommendation-link {
        pointer-events: auto;
    }

    .footer-feature-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .footer-feature-column {
        padding-right: 0.65rem;
    }

    .footer-feature-link {
        padding-right: 1.1rem;
    }

    .site-footer {
        padding-top: 3rem;
    }

    .site-footer.site-footer--copyright-only {
        padding-top: 0;
        padding-bottom: 1.5rem;
    }

    .footer-bottom-row {
        margin-top: 2.5rem;
    }

    .site-footer.site-footer--copyright-only .footer-bottom-row {
        margin-top: 0;
        padding-top: 1.5rem;
    }
}

@keyframes mobileSearchReveal {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.woocommerce-shell {
    min-height: 55vh;
}

.woocommerce-page-layout,
.woocommerce-page .site-main {
    color: var(--primary-text);
}

.woocommerce .woocommerce-breadcrumb {
    margin-bottom: 1rem;
    color: var(--meta-text);
    font-size: 0.9rem;
}

.woocommerce .page-title,
.woocommerce-products-header__title.page-title,
.woocommerce div.product .product_title {
    font-family: "Lora", serif;
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: var(--primary-text);
}

.woocommerce .page-title,
.woocommerce-products-header__title.page-title {
    margin: 0 0 2rem;
    font-size: clamp(2.5rem, 4vw, 4rem);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    margin-bottom: 1.5rem;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-page-layout .select2-container--default .select2-selection--single,
.woocommerce-page .woocommerce-page-layout input[type="text"],
.woocommerce-page .woocommerce-page-layout input[type="email"],
.woocommerce-page .woocommerce-page-layout input[type="tel"],
.woocommerce-page .woocommerce-page-layout input[type="password"],
.woocommerce-page .woocommerce-page-layout input[type="search"],
.woocommerce-page .woocommerce-page-layout input[type="number"],
.woocommerce-page .woocommerce-page-layout textarea {
    width: 100%;
    min-height: 3rem;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--surface-color);
    color: var(--primary-text);
    padding: 0.8rem 1rem;
    font: inherit;
    box-sizing: border-box;
}

.woocommerce-page .woocommerce-page-layout textarea {
    min-height: 9rem;
    resize: vertical;
}

.woocommerce-page .woocommerce-page-layout .select2-container--default .select2-selection--single {
    display: flex;
    align-items: center;
    height: 3rem;
}

.woocommerce ul.products,
.woocommerce-page ul.products {
    list-style: none;
    margin: 0 0 2.5rem;
    padding: 0;
    display: grid;
    gap: 2.4rem 2rem;
}

.woocommerce ul.products.columns-2,
.woocommerce-page ul.products.columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce ul.products.columns-3,
.woocommerce-page ul.products.columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.woocommerce ul.products.columns-4,
.woocommerce-page ul.products.columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.woocommerce ul.products.columns-5,
.woocommerce-page ul.products.columns-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.woocommerce-style-default ul.products li.product,
.woocommerce-style-default .woocommerce-page ul.products li.product {
    padding: 0;
}

.woocommerce ul.products li.product a,
.woocommerce-page ul.products li.product a {
    text-decoration: none;
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
    width: 95% !important;
    aspect-ratio: 1 / 1;
    height: auto !important;
    object-fit: cover;
    border-radius: 16px;
    margin: 0 auto 0.9rem !important;
    display: block;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.woocommerce-style-digital ul.products li.product,
.woocommerce-style-digital .woocommerce-page ul.products li.product {
    padding: 1rem;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    background: var(--surface-color);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
}

.woocommerce-style-digital ul.products li.product a img,
.woocommerce-style-digital .woocommerce-page ul.products li.product a img {
    border-radius: 16px;
    box-shadow: none;
    background: linear-gradient(180deg, #fbfbfc 0%, #f3f4f7 100%);
}

.woocommerce-style-digital ul.products li.product .woocommerce-loop-product__title,
.woocommerce-style-digital .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 1.12rem !important;
    line-height: 1.22;
    letter-spacing: -0.01em;
}

.woocommerce-style-digital ul.products li.product .price,
.woocommerce-style-digital .woocommerce-page ul.products li.product .price {
    color: var(--primary-text);
    font-size: 1rem;
    margin-bottom: 0;
}

.woocommerce-style-digital ul.products li.product .button,
.woocommerce-style-digital .woocommerce-page ul.products li.product .button {
    width: 100%;
    border-radius: 12px !important;
    background: #2e76e4 !important;
    border-color: #2e76e4 !important;
    color: #ffffff !important;
    margin-top: auto;
}

.woocommerce-style-digital ul.products li.product .button:hover,
.woocommerce-style-digital .woocommerce-page ul.products li.product .button:hover {
    background: #1f5fc0 !important;
    border-color: #1f5fc0 !important;
    color: #ffffff !important;
}

.woocommerce-style-digital .digital-product-excerpt {
    margin: 0;
    color: #94a3b8;
    font-size: 0.93rem;
    line-height: 1.55;
}

.woocommerce-style-digital .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column;
    gap: 0.4rem;
}

.woocommerce span.onsale,
.woocommerce-page span.onsale,
.woocommerce-style-digital .woocommerce ul.products li.product .onsale,
.woocommerce-style-digital .woocommerce-page ul.products li.product .onsale {
    top: 1rem;
    left: 1rem;
    right: auto;
    margin: 0;
    min-width: auto;
    min-height: auto;
    padding: 0.42rem 0.75rem;
    border-radius: 999px;
    background: var(--accent-color);
    border: 1px solid var(--accent-color);
    color: var(--accent-contrast);
    line-height: 1;
    font-weight: 800;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
    z-index: 5;
}

body.dark-mode .woocommerce span.onsale,
body.dark-mode .woocommerce-page span.onsale {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--accent-contrast);
}

.digital-shop-header {
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    align-items: start;
    gap: 2rem;
    margin-bottom: 2rem;
}

.digital-shop-header-copy .woocommerce-products-header {
    margin: 0;
}

.digital-shop-subtitle {
    margin: 0.4rem 0 0;
    color: #64748b;
    font-size: 1rem;
}

.digital-shop-header-line {
    height: 1px;
    background: var(--border-color);
    margin-top: 2.2rem;
}

.digital-shop-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 3rem;
    align-items: start;
}

.digital-shop-sidebar {
    position: sticky;
    top: 7rem;
}

.digital-shop-sidebar-block + .digital-shop-sidebar-block {
    margin-top: 2rem;
}

.digital-shop-sidebar-title {
    margin: 0 0 1rem;
    color: #94a3b8;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.digital-shop-ordering-shell .woocommerce-ordering {
    float: none;
    margin: 0;
}

.digital-shop-ordering-shell .woocommerce-ordering::before,
.digital-shop-ordering-shell .woocommerce-ordering::after {
    display: none !important;
}

.woocommerce-style-digital .digital-shop-ordering-shell .woocommerce-ordering select {
    min-height: 4.2rem;
    border: 0;
    border-radius: 18px;
    background: #27272a;
    color: #ffffff;
    font-weight: 700;
    box-shadow: none;
}

.digital-shop-category-list {
    display: grid;
    gap: 0.85rem;
}

.digital-shop-category-link {
    display: grid;
    grid-template-columns: 1.1rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.9rem;
    text-decoration: none;
    color: var(--primary-text);
}

.digital-shop-category-radio {
    width: 1rem;
    height: 1rem;
    border-radius: 999px;
    border: 1.5px solid #cbd5e1;
    background: transparent;
    box-sizing: border-box;
}

.digital-shop-category-link.is-active .digital-shop-category-radio {
    border-color: #2e76e4;
    box-shadow: inset 0 0 0 3px #ffffff;
    background: #2e76e4;
}

.digital-shop-category-name {
    font-size: 1rem;
    font-weight: 500;
}

.digital-shop-category-count {
    min-width: 2.1rem;
    padding: 0.22rem 0.45rem;
    border-radius: 0.38rem;
    background: #2f3640;
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 700;
    text-align: center;
}

.digital-shop-main .woocommerce-result-count,
.digital-shop-main .woocommerce-ordering {
    display: none;
}

.woocommerce-style-fashion ul.products li.product,
.woocommerce-style-fashion .woocommerce-page ul.products li.product {
    padding-bottom: 0.5rem;
}

.woocommerce-style-fashion ul.products li.product a img,
.woocommerce-style-fashion .woocommerce-page ul.products li.product a img {
    border-radius: 26px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
}

.woocommerce-style-fashion ul.products li.product .woocommerce-loop-product__title,
.woocommerce-style-fashion .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.18rem !important;
    line-height: 1.18;
}

.woocommerce-style-fashion ul.products li.product .price,
.woocommerce-style-fashion .woocommerce-page ul.products li.product .price {
    color: var(--primary-text);
    opacity: 0.82;
}

.woocommerce-style-fashion ul.products li.product .button,
.woocommerce-style-fashion .woocommerce-page ul.products li.product .button {
    background: transparent !important;
    border-color: var(--border-color) !important;
    color: var(--primary-text) !important;
}

.woocommerce-style-fashion ul.products li.product .button:hover,
.woocommerce-style-fashion .woocommerce-page ul.products li.product .button:hover {
    background: var(--primary-text) !important;
    border-color: var(--primary-text) !important;
    color: var(--surface-color) !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-family: "Lora", serif;
    font-size: 1.12rem !important;
    line-height: 1.24;
    font-weight: 700;
    color: var(--primary-text);
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--accent-color);
    font-size: 0.96rem;
    font-weight: 700;
    margin: 0.1rem 0 0.3rem;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce-page ul.products li.product .button,
.woocommerce-page ul.products li.product .added_to_cart,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.05rem;
    border-radius: 999px !important;
    border: 1px solid rgba(var(--accent-rgb), 0.16) !important;
    background: rgba(var(--accent-rgb), 0.1) !important;
    color: var(--accent-color) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.1;
    padding: 0.86rem 1.18rem !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: all 0.2s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #payment #place_order:hover {
    background: var(--accent-color) !important;
    color: var(--accent-contrast) !important;
    border-color: var(--accent-color) !important;
}

@media (min-width: 769px) {
    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
    .woocommerce-checkout #payment #place_order {
        min-height: 3.05rem !important;
        padding: 0.86rem 1.18rem !important;
        font-size: 1rem !important;
    }
}

.woocommerce ul.products li.product .added_to_cart,
.woocommerce-page ul.products li.product .added_to_cart {
    padding-left: 0 !important;
}

.woocommerce div.product {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    gap: 3.25rem;
    align-items: start;
    margin-bottom: 4rem;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.woocommerce div.product div.images {
    grid-column: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    position: relative;
}

.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale,
.woocommerce .related.products ul.products li.product .onsale,
.woocommerce-page .related.products ul.products li.product .onsale {
    position: absolute;
    top: 1rem;
    left: 1rem;
    right: auto;
}

.woocommerce div.product span.onsale,
.woocommerce-page div.product span.onsale {
    position: absolute;
    top: 1rem;
    left: 1rem;
}

.woocommerce div.product div.summary {
    grid-column: 2;
    padding: 2rem 2.15rem;
    border: 1px solid var(--border-color);
    border-radius: 24px;
    background: var(--surface-color);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.04);
}

.woocommerce div.product div.images img {
    width: 100%;
    border-radius: 20px;
    display: block;
}

.woocommerce div.product div.images .woocommerce-product-gallery {
    width: min(100%, 460px);
    margin-bottom: 30%;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image > a,
.woocommerce div.product div.images .woocommerce-product-gallery__image .woocommerce-main-image {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 20px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image > a img,
.woocommerce div.product div.images .woocommerce-product-gallery__image .woocommerce-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.woocommerce div.product div.images .flex-control-thumbs {
    width: min(100%, 460px);
    margin-top: 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(78px, 78px));
    gap: 0.75rem;
}

.woocommerce div.product div.images .flex-control-thumbs li {
    width: 78px;
    list-style: none;
}

.woocommerce div.product div.images .flex-control-thumbs img {
    width: 78px;
    height: 78px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid var(--border-color);
}

.woocommerce div.product .product_title {
    font-size: clamp(1.7rem, 2.5vw, 3.1rem);
    margin-bottom: 1.1rem;
}

.woocommerce div.product .summary > * {
    margin-bottom: 1.15rem;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce-Tabs-panel,
.woocommerce-product-details__description,
.woocommerce-Reviews,
.woocommerce .related.products {
    color: var(--secondary-text);
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce-product-details__description,
.woocommerce .woocommerce-Tabs-panel--description {
    max-width: 72ch;
}

.woocommerce div.product .summary > p.price {
    margin-bottom: 1.45rem;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce .woocommerce-Tabs-panel,
.woocommerce .woocommerce-product-details__description {
    font-size: 1.04rem;
    line-height: 1.9;
}

.woocommerce div.product .woocommerce-product-details__short-description p,
.woocommerce .woocommerce-Tabs-panel p,
.woocommerce .woocommerce-product-details__description p {
    margin: 0 0 1rem;
    line-height: 1.9;
}

.woocommerce div.product .woocommerce-product-details__short-description p:last-child,
.woocommerce .woocommerce-Tabs-panel p:last-child,
.woocommerce .woocommerce-product-details__description p:last-child {
    margin-bottom: 0;
}

/* Restore list bullets/numbers inside product descriptions
   (Tailwind preflight removes list-style globally). */
.woocommerce div.product .woocommerce-product-details__short-description ul,
.woocommerce .woocommerce-Tabs-panel ul,
.woocommerce .woocommerce-product-details__description ul {
    list-style: disc;
    margin: 0 0 1rem 1.5rem;
    padding-left: 0.25rem;
}

.woocommerce div.product .woocommerce-product-details__short-description ol,
.woocommerce .woocommerce-Tabs-panel ol,
.woocommerce .woocommerce-product-details__description ol {
    list-style: decimal;
    margin: 0 0 1rem 1.5rem;
    padding-left: 0.25rem;
}

.woocommerce div.product .woocommerce-product-details__short-description li,
.woocommerce .woocommerce-Tabs-panel li,
.woocommerce .woocommerce-product-details__description li {
    margin-bottom: 0.35rem;
    line-height: 1.9;
}

.woocommerce div.product .woocommerce-product-details__short-description li > ul,
.woocommerce .woocommerce-Tabs-panel li > ul,
.woocommerce .woocommerce-product-details__description li > ul {
    list-style: circle;
    margin: 0.35rem 0 0.35rem 1.5rem;
}

.woocommerce div.product .woocommerce-product-details__short-description li > ol,
.woocommerce .woocommerce-Tabs-panel li > ol,
.woocommerce .woocommerce-product-details__description li > ol {
    list-style: lower-alpha;
    margin: 0.35rem 0 0.35rem 1.5rem;
}

.woocommerce div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem;
}

.woocommerce div.product form.cart .quantity {
    margin: 0 !important;
}

.woocommerce div.product form.cart .quantity .qty {
    width: 4.7rem;
    min-height: 2.9rem;
}

.woocommerce div.product form.cart .insight-whatsapp-checkout-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-height: 2.9rem;
    padding: 0.82rem 1.18rem;
    border: 1px solid rgba(37, 211, 102, 0.26);
    border-radius: 999px;
    background: rgba(37, 211, 102, 0.11);
    color: #128c4a;
    font-family: "Poppins", sans-serif;
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.woocommerce div.product form.cart .insight-whatsapp-checkout-button:hover {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--accent-contrast);
    transform: translateY(-1px);
}

.woocommerce div.product form.cart .insight-whatsapp-checkout-button i {
    font-size: 1.08rem;
}

.woocommerce div.product .product_meta {
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
    color: var(--secondary-text);
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce .related.products {
    grid-column: 1 / -1;
    padding: 2rem 2.15rem;
    border: 1px solid var(--border-color);
    border-radius: 24px;
    background: var(--surface-color);
}

.woocommerce div.product .woocommerce-tabs {
    margin-top: 0.4rem;
}

.woocommerce .related.products {
    margin-top: 0.4rem;
}

.woocommerce .related.products ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 220px));
    justify-content: flex-start;
    gap: 1.35rem;
}

.woocommerce .related.products ul.products li.product,
.woocommerce-page .related.products ul.products li.product {
    width: 220px;
    max-width: 220px;
    padding: 0;
    border: 0;
    box-shadow: none;
}

.woocommerce .related.products ul.products li.product a img,
.woocommerce-page .related.products ul.products li.product a img {
    width: 220px;
    height: 220px;
    border-radius: 18px;
    margin-bottom: 0.9rem !important;
}

.woocommerce .related.products ul.products li.product .button,
.woocommerce-page .related.products ul.products li.product .button,
.woocommerce .related.products ul.products li.product .added_to_cart,
.woocommerce-page .related.products ul.products li.product .added_to_cart {
    width: 100%;
}

.woocommerce .woocommerce-tabs ul.tabs {
    padding: 0;
    margin: 0 0 1.5rem -0.15rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.woocommerce .woocommerce-tabs ul.tabs::before,
.woocommerce .woocommerce-tabs ul.tabs::after {
    display: none !important;
}

.woocommerce .woocommerce-tabs ul.tabs li {
    border: 1px solid var(--border-color) !important;
    background: var(--surface-color) !important;
    border-radius: 999px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce .woocommerce-tabs ul.tabs li::before,
.woocommerce .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.woocommerce .woocommerce-tabs ul.tabs li a {
    padding: 0.7rem 1rem !important;
    display: inline-flex;
    color: var(--primary-text) !important;
}

.woocommerce .woocommerce-tabs ul.tabs li.active {
    border-color: var(--accent-color) !important;
    background: rgba(var(--accent-rgb), 0.08) !important;
}

.woocommerce .woocommerce-Tabs-panel {
    margin: 0;
    padding: 0;
}

.woocommerce .woocommerce-Tabs-panel > h2,
.woocommerce .woocommerce-Reviews-title {
    display: none;
}

.woocommerce .related.products > h2 {
    margin-bottom: 1.4rem;
    font-family: "Lora", serif;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.1;
    color: var(--primary-text);
}

.woocommerce table.shop_table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    border: 1px solid var(--border-color);
    border-radius: 18px;
    overflow: hidden;
    background: var(--surface-color);
}

/* Lift the active cart container so the items in the cart feel more
   prominent than surrounding sections without being noisy. */
.woocommerce-cart table.shop_table.cart {
    background: var(--surface-elevated, var(--surface-color));
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

.woocommerce-cart table.shop_table.cart thead {
    background: rgba(var(--accent-rgb), 0.06);
}

.woocommerce-cart table.shop_table.cart thead th {
    background: transparent;
    border-bottom: 1px solid var(--border-color);
    font-weight: 600;
    color: var(--primary-text);
}

.woocommerce-cart table.shop_table.cart tbody tr {
    background: transparent;
    transition: background-color 0.18s ease;
}

.woocommerce-cart table.shop_table.cart tbody tr + tr {
    border-top: 1px solid var(--border-color);
}

.woocommerce-cart table.shop_table.cart tbody tr:hover {
    background: rgba(var(--accent-rgb), 0.04);
}

body.dark-mode .woocommerce-cart table.shop_table.cart {
    background: var(--surface-elevated);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.35);
}

body.dark-mode .woocommerce-cart table.shop_table.cart thead {
    background: rgba(var(--accent-rgb), 0.10);
}

body.dark-mode .woocommerce-cart table.shop_table.cart tbody tr:hover {
    background: rgba(var(--accent-rgb), 0.08);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    padding: 1rem;
    border-color: var(--border-color);
    color: var(--primary-text);
}

.woocommerce table.shop_table td.product-thumbnail img {
    width: 76px;
    height: 76px;
    border-radius: 14px;
    object-fit: cover;
}

.woocommerce-cart table.shop_table.cart {
    table-layout: fixed;
}

.woocommerce-cart table.shop_table.cart th,
.woocommerce-cart table.shop_table.cart td {
    vertical-align: middle;
    padding-inline: 1.25rem;
}

.woocommerce-cart table.shop_table.cart th.product-remove,
.woocommerce-cart table.shop_table.cart td.product-remove {
    width: 5%;
}

.woocommerce-cart table.shop_table.cart th.product-thumbnail,
.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    width: 11%;
}

.woocommerce-cart table.shop_table.cart th.product-name,
.woocommerce-cart table.shop_table.cart td.product-name {
    width: 37%;
}

.woocommerce-cart table.shop_table.cart th.product-price,
.woocommerce-cart table.shop_table.cart td.product-price {
    width: 14%;
}

.woocommerce-cart table.shop_table.cart th.product-quantity,
.woocommerce-cart table.shop_table.cart td.product-quantity {
    width: 14%;
}

.woocommerce-cart table.shop_table.cart th.product-subtotal,
.woocommerce-cart table.shop_table.cart td.product-subtotal {
    width: 19%;
    padding-right: 1.6rem;
    text-align: right;
}

.woocommerce-cart table.shop_table.cart th.product-price,
.woocommerce-cart table.shop_table.cart td.product-price,
.woocommerce-cart table.shop_table.cart th.product-quantity,
.woocommerce-cart table.shop_table.cart td.product-quantity {
    text-align: center;
}

.woocommerce-cart table.shop_table.cart td.product-name a {
    display: inline-block;
    max-width: 100%;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-checkout .col2-set,
.woocommerce-checkout-review-order {
    margin-top: 2rem;
}

.woocommerce-cart .cart_totals {
    margin-bottom: 2.75rem;
}

.woocommerce-cart .cart_totals h2 {
    margin-bottom: 1.1rem;
}

.woocommerce-cart .wc-proceed-to-checkout {
    display: flex;
    justify-content: flex-end;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon button.button {
    min-height: 2.55rem;
    padding: 0.7rem 1rem !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
}

/* Desktop: widen the coupon input area to ~50% of the actions cell. */
@media (min-width: 601px) {
    .woocommerce-cart table.shop_table.cart td.actions .coupon {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        width: 50%;
    }

    .woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
        flex: 1 1 0;
        min-width: 0;
        width: auto !important;
    }
}

/* Cart upsell — title-similarity recommendations.
   Soft, unobtrusive section under the cart table. */
.woocommerce-cart .insight-cart-upsell {
    grid-column: 1 / -1;
    width: 100%;
    float: none;
    clear: both;
    box-sizing: border-box;
    margin: 0 0 2rem;
    padding: 1.5rem 1.4rem 1.75rem;
    border: 1px solid var(--border-color);
    border-radius: 1.1rem;
    background: var(--surface-color);
}

.woocommerce-cart .insight-cart-upsell__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.woocommerce-cart .insight-cart-upsell__heading {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.woocommerce-cart .insight-cart-upsell__close {
    flex: 0 0 auto;
    width: 2.1rem;
    height: 2.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--secondary-text);
    cursor: pointer;
    transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.woocommerce-cart .insight-cart-upsell__close:hover,
.woocommerce-cart .insight-cart-upsell__close:focus-visible {
    color: var(--accent-color);
    border-color: rgba(var(--accent-rgb), 0.35);
    background: rgba(var(--accent-rgb), 0.08);
    outline: none;
}

.woocommerce-cart .insight-cart-upsell__close i {
    font-size: 0.95rem;
    line-height: 1;
}

.woocommerce-cart .insight-cart-upsell__title {
    margin: 0;
    font-size: 1.18rem;
    font-weight: 600;
    color: var(--primary-text);
    line-height: 1.35;
}

.woocommerce-cart .insight-cart-upsell__subtitle {
    margin: 0;
    font-size: 0.92rem;
    color: var(--secondary-text);
    line-height: 1.55;
}

.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.1rem;
    /* Number of column tracks is always fixed at this breakpoint, so an
       individual card stays the same size regardless of how many items
       were available. Empty trailing tracks are simply left blank. */
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: stretch;
}

@media (min-width: 640px) {
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 960px) {
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list {
        grid-template-columns: repeat(
            var(--insight-cart-upsell-columns, 4),
            minmax(0, 1fr)
        );
    }
}

.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product {
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product:hover,
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product:focus-within {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
    z-index: 1;
}

.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product img {
    transition: transform 0.3s ease;
}

.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product:hover img,
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product:focus-within img {
    transform: scale(1.04);
}

/* Hover overlay: View Product + Add to Cart actions surface only on hover/focus
   so the catalog stays calm by default. The overlay itself has no background
   effect — only the buttons appear on top of the card. */
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: auto;
    /* Match the product image height (1:1 ratio) so the button centers
       over the image, not the full card height including title/price. */
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem;
    background: transparent;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.18s ease, visibility 0.18s ease;
    z-index: 2;
    pointer-events: none;
    border-radius: inherit;
}

.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product:hover .insight-cart-upsell__hover,
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product:focus-within .insight-cart-upsell__hover {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: auto;
    max-width: 100%;
    transform: translateY(4px);
    transition: transform 0.18s ease;
}

.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product:hover .insight-cart-upsell__hover-actions,
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product:focus-within .insight-cart-upsell__hover-actions {
    transform: translateY(0);
}

.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product .insight-cart-upsell__hover-button,
.woocommerce-cart .insight-cart-upsell ul.products li.product .insight-cart-upsell__hover-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    flex: 0 0 auto;
    width: 7.2rem !important;
    min-width: 7.2rem !important;
    min-height: 0 !important;
    padding: 0.42rem 0.6rem !important;
    border-radius: 999px !important;
    border: 1px solid transparent !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product .insight-cart-upsell__hover-button i {
    font-size: 0.82rem !important;
    line-height: 1;
}

/* By default (desktop/tablet) show the short label only. */
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover-button-label--long {
    display: none;
}

.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover-button-label--short {
    display: inline;
}

.woocommerce-cart .insight-cart-upsell ul.products li.product .insight-cart-upsell__hover-button--cart,
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover-button--cart {
    background: var(--accent-color) !important;
    color: var(--accent-contrast, #ffffff) !important;
    border-color: var(--accent-color) !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.18) !important;
}

.woocommerce-cart .insight-cart-upsell ul.products li.product .insight-cart-upsell__hover-button--cart:hover,
.woocommerce-cart .insight-cart-upsell ul.products li.product .insight-cart-upsell__hover-button--cart:focus-visible,
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover-button--cart:hover,
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover-button--cart:focus-visible {
    background: #1f2937 !important;
    color: #ffffff !important;
    border-color: #1f2937 !important;
    transform: translateY(-1px);
}

body.dark-mode .woocommerce-cart .insight-cart-upsell ul.products li.product .insight-cart-upsell__hover-button--cart:hover,
body.dark-mode .woocommerce-cart .insight-cart-upsell ul.products li.product .insight-cart-upsell__hover-button--cart:focus-visible,
body.dark-mode .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover-button--cart:hover,
body.dark-mode .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover-button--cart:focus-visible {
    background: #ffffff !important;
    color: #1f2937 !important;
    border-color: #ffffff !important;
}

/* When a card has the loading/added state, keep the overlay visible so the
   feedback (added_to_cart link) is reachable. */
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product.added .insight-cart-upsell__hover,
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product .loading .insight-cart-upsell__hover {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Hide the default in-card add to cart so the overlay is the sole CTA. */
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product > .button,
.woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product > .added_to_cart {
    display: none !important;
}

/* Touch devices: no hover, so always show the actions. */
@media (hover: none) {
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        align-items: flex-end;
    }

    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover-actions {
        transform: none;
    }
}

body.dark-mode .woocommerce-cart .insight-cart-upsell {
    background: var(--surface-elevated);
    border-color: var(--border-color);
}

@media (max-width: 600px) {
    .woocommerce-cart .insight-cart-upsell {
        padding: 1.2rem 1rem 1.4rem;
        margin: 2rem 0 1rem;
    }

    .woocommerce-cart .insight-cart-upsell__title {
        font-size: 1.08rem;
    }

    /* Mobile: switch from grid of cards to a vertical list of horizontal
       rows — thumbnail left, title middle, price right. */
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list {
        display: flex !important;
        flex-direction: column;
        gap: 0.65rem;
        grid-template-columns: none !important;
    }

    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product {
        display: grid !important;
        grid-template-columns: 64px minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        grid-template-areas:
            "img title price"
            "img cart  price";
        column-gap: 0.85rem;
        row-gap: 0.3rem;
        align-items: center;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        padding: 0.6rem 0.75rem !important;
        border-radius: 14px;
        background: #ffffff;
        border: 1px solid rgba(15, 23, 42, 0.08);
        box-shadow: none;
        overflow: hidden;
    }

    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product:hover,
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product:focus-within {
        transform: none;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
    }

    /* Whole row uses the wrapper anchor, but its children need to flow
       into the row's grid, so flatten the anchor. */
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product > a {
        display: contents !important;
    }

    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product img {
        grid-area: img;
        width: 64px !important;
        height: 64px !important;
        margin: 0 !important;
        border-radius: 12px;
        object-fit: cover;
        align-self: center;
    }

    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product .woocommerce-loop-product__title {
        grid-area: title;
        min-width: 0;
        max-width: 100%;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 0.98rem !important;
        line-height: 1.3;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        align-self: end;
    }

    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product .price {
        grid-area: price;
        margin: 0 !important;
        font-size: 0.95rem !important;
        font-weight: 600;
        white-space: nowrap;
        text-align: right;
        align-self: center;
    }

    /* Hide noisy elements at the row scale. */
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product .star-rating,
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product .onsale {
        display: none !important;
    }

    /* Override the desktop aspect-ratio overlay so it doesn't reserve
       empty space inside the mobile row layout. */
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product .insight-cart-upsell__hover {
        position: static;
        inset: auto;
        aspect-ratio: auto;
        grid-area: cart;
        align-self: start;
        display: flex;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        background: transparent;
        padding: 0;
        z-index: auto;
        justify-content: flex-start;
    }

    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product .insight-cart-upsell__hover-actions {
        flex-direction: row;
        justify-content: flex-start;
        gap: 0;
        margin: 0;
        max-width: none;
        transform: none;
    }

    .woocommerce-cart .insight-cart-upsell ul.products li.product .insight-cart-upsell__hover-button--cart,
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product .insight-cart-upsell__hover-button--cart {
        flex: 0 0 auto;
        width: auto !important;
        padding: 0 !important;
        background: transparent !important;
        color: var(--accent-color, #16a34a) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        font-size: 0.82rem !important;
        font-weight: 600 !important;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .woocommerce-cart .insight-cart-upsell ul.products li.product .insight-cart-upsell__hover-button--cart:hover,
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product .insight-cart-upsell__hover-button--cart:hover {
        background: transparent !important;
        color: #1f2937 !important;
        transform: none;
    }

    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product .insight-cart-upsell__hover-button--cart i {
        font-size: 0.82rem !important;
    }

    /* On mobile use the long label "Tambahkan ke Keranjang". */
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover-button-label--short {
        display: none;
    }

    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__hover-button-label--long {
        display: inline;
    }

    /* No image zoom on row layout. */
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product:hover img,
    .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product:focus-within img {
        transform: none;
    }

    body.dark-mode .woocommerce-cart .insight-cart-upsell .insight-cart-upsell__list li.product {
        background: #1f2937;
        border-color: rgba(255, 255, 255, 0.08);
    }
}

.woocommerce-order {
    display: grid;
    gap: 1.5rem;
}

.woocommerce-order .woocommerce-notice {
    margin-bottom: 0;
}

.woocommerce-order .woocommerce-order-overview,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
    margin: 0;
}

.woocommerce-order .insight-order-overview,
.woocommerce-order ul.woocommerce-order-overview.order_details,
.woocommerce-order .woocommerce-order-overview {
    list-style: none !important;
    list-style-position: outside !important;
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 1rem 2.8rem;
    clear: both;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
    padding-inline-start: 0 !important;
    margin-inline-start: 0 !important;
    margin-left: 0 !important;
    text-indent: 0 !important;
}

.woocommerce-order .insight-order-overview__item,
.woocommerce-order .woocommerce-order-overview li {
    float: none !important;
    display: block !important;
    flex: 0 0 auto !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    padding-right: 0 !important;
    border-right: 0 !important;
    text-align: left !important;
}

.woocommerce-order .insight-order-overview__item strong,
.woocommerce-order .woocommerce-order-overview li strong {
    display: block;
    margin-top: 0.2rem;
    text-align: left !important;
}

.woocommerce-order .woocommerce-order-overview__email,
.woocommerce-order .woocommerce-order-overview__payment-method {
    display: none !important;
}

.woocommerce-order > p:not(.woocommerce-notice) {
    margin: 0 !important;
}

.woocommerce-order .woocommerce-bacs-bank-details {
    margin: 0 !important;
}

.woocommerce-order .wc-bacs-bank-details-heading,
.woocommerce-order .wc-bacs-bank-details-account-name {
    margin-bottom: 1rem;
}

.woocommerce-order .wc-bacs-bank-details {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
}

.woocommerce-order .wc-bacs-bank-details li {
    margin-bottom: 0.5rem;
}

.woocommerce-order .woocommerce-order-details > h2,
.woocommerce-order .woocommerce-customer-details > h2 {
    margin-top: 0 !important;
    margin-bottom: 1.1rem !important;
}

.insight-collapsible-section {
    margin-top: 1.75rem;
}

.insight-collapsible-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.insight-collapsible-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: var(--surface-color);
    color: var(--primary-text);
    transition: transform 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.insight-collapsible-toggle:hover {
    color: var(--accent-color);
    border-color: rgba(var(--accent-rgb), 0.28);
}

.insight-collapsible-toggle[aria-expanded="false"] i {
    transform: rotate(-90deg);
}

.insight-collapsible-content[hidden] {
    display: none !important;
}

.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .insight-order-secondary-title {
    margin: 0;
    font-size: 2rem;
    line-height: 1.15;
    font-family: "Poppins", sans-serif;
    font-weight: 700;
}

.woocommerce-order .insight-order-customer-details {
    margin-top: 1.75rem;
}

.insight-customer-subtitle {
    margin-top: 0;
    margin-bottom: 0.9rem;
    font-size: 1.15rem;
}

.woocommerce-order .woocommerce-table--order-details {
    margin-top: 0;
}

.woocommerce-order .customer_details,
.woocommerce-order .woocommerce-column__title {
    margin-top: 1.1rem;
}

@media (max-width: 767px) {
    .woocommerce-order .woocommerce-order-details__title,
    .woocommerce-order .insight-order-secondary-title {
        font-size: 1.65rem;
    }
}

.woocommerce-order .customer_details {
    margin-bottom: 0;
}

.woocommerce-checkout .col2-set,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    width: 100%;
}

.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.62fr) minmax(320px, 0.95fr);
    gap: 0.72rem;
    align-items: start;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    min-width: 0;
}

.woocommerce-checkout #customer_details {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin-top: -1rem;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    grid-column: 2;
}

.woocommerce-checkout #order_review_heading {
    display: none;
}

.woocommerce-checkout #order_review {
    align-self: start;
    margin-top: 0;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: none;
    margin: 0 !important;
}

.woocommerce-checkout #customer_details .col-2 {
    margin-top: 1.4rem !important;
}

.woocommerce-checkout form .form-row-first,
.woocommerce-checkout form .form-row-last,
.woocommerce-checkout form .form-row-wide {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
    clear: both;
}

.woocommerce-checkout #order_review::before {
    content: "Your order";
    display: block;
    margin-bottom: 0.85rem;
    color: var(--primary-text);
    font-family: "Poppins", sans-serif;
    font-size: clamp(1.65rem, 2vw, 2rem);
    font-weight: 700;
    line-height: 1.1;
}

.woocommerce-checkout .col2-set {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.15rem;
    margin-top: 0;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #order_review,
.woocommerce-cart .cart_totals,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-error {
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: var(--surface-color);
    padding: 1.05rem 1.2rem;
}

.woocommerce-checkout .woocommerce-account-fields {
    margin-top: -0.9rem;
    padding: 0 1.2rem 1.05rem;
    border: 1px solid var(--border-color);
    border-top: 0;
    border-radius: 0 0 16px 16px;
    background: var(--surface-color);
}

.woocommerce-checkout .woocommerce-account-fields .create-account {
    margin-top: 0;
    padding-top: 0.6rem;
}

.woocommerce-checkout .woocommerce-account-fields .create-account > p:first-child,
.woocommerce-checkout .woocommerce-account-fields .create-account > .form-row:first-child {
    margin-top: 0;
}

.woocommerce-checkout .woocommerce-account-fields + .woocommerce-additional-fields {
    margin-top: 1.5rem;
}

.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-error {
    margin-bottom: 1.25rem;
    padding-left: 1.4rem;
}

.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-error::before,
.woocommerce-page .woocommerce-info::before,
.woocommerce-page .woocommerce-message::before,
.woocommerce-page .woocommerce-error::before {
    display: none;
}

.woocommerce-page .woocommerce-error {
    border-color: rgba(185, 28, 28, 0.18);
}

.woocommerce .quantity .qty {
    min-height: 2.45rem;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    background: var(--surface-color);
    color: var(--primary-text);
}

.woocommerce-checkout form .form-row label {
    font-size: 0.94rem;
    margin-bottom: 0.42rem;
}

.woocommerce-checkout .woocommerce-page-layout input[type="text"],
.woocommerce-checkout .woocommerce-page-layout input[type="email"],
.woocommerce-checkout .woocommerce-page-layout input[type="tel"],
.woocommerce-checkout .woocommerce-page-layout input[type="password"],
.woocommerce-checkout .woocommerce-page-layout input[type="search"],
.woocommerce-checkout .woocommerce-page-layout input[type="number"],
.woocommerce-checkout .woocommerce-page-layout .select2-container--default .select2-selection--single {
    min-height: 2.6rem;
    padding: 0.68rem 0.88rem;
    border-radius: 12px;
}

.woocommerce-checkout .woocommerce-page-layout textarea {
    min-height: 7.5rem;
    padding: 0.8rem 0.9rem;
    border-radius: 12px;
}

.woocommerce-checkout #payment .payment_methods > li > label,
.woocommerce-checkout #payment div.payment_box {
    font-size: 0.94rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li + li {
    margin-top: 0.65rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    color: var(--primary-text);
    text-decoration: none;
    font-weight: 400;
}

.insight-account-nav-toggle {
    display: none;
}

.woocommerce .wp-block-woocommerce-coming-soon,
.woocommerce-page .wp-block-woocommerce-coming-soon {
    max-width: 56rem;
    margin: 0 auto;
    padding: 2rem 0 0;
}

.woocommerce .wp-block-woocommerce-coming-soon h1,
.woocommerce-page .wp-block-woocommerce-coming-soon h1 {
    font-family: "Lora", serif;
    color: var(--primary-text);
    font-size: clamp(2.4rem, 4vw, 4rem);
    line-height: 1.08;
}

.woocommerce .wp-block-woocommerce-coming-soon p,
.woocommerce-page .wp-block-woocommerce-coming-soon p {
    color: var(--secondary-text);
    font-size: 1rem;
}

body.dark-mode .woocommerce-page .woocommerce-info,
body.dark-mode .woocommerce-page .woocommerce-message,
body.dark-mode .woocommerce-page .woocommerce-error,
body.dark-mode .woocommerce-checkout .woocommerce-billing-fields,
body.dark-mode .woocommerce-checkout .woocommerce-account-fields,
body.dark-mode .woocommerce-checkout .woocommerce-shipping-fields,
body.dark-mode .woocommerce-checkout #order_review,
body.dark-mode .woocommerce-cart .cart_totals,
body.dark-mode .woocommerce-account .woocommerce-MyAccount-navigation,
body.dark-mode .woocommerce-account .woocommerce-MyAccount-content,
body.dark-mode .woocommerce table.shop_table {
    background: var(--surface-elevated);
}

@media (max-width: 1024px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .woocommerce div.product,
    .woocommerce-checkout .col2-set {
        grid-template-columns: 1fr;
    }

    .digital-shop-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        grid-column: 1;
        grid-row: auto;
    }

    .digital-shop-sidebar {
        position: static;
    }
}

@media (max-width: 767px) {
    .woocommerce-account .woocommerce-MyAccount-navigation {
        padding: 0.85rem 1rem;
        margin-bottom: 1.1rem;
    }

    .insight-account-nav-toggle {
        width: 100%;
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        min-height: 2.15rem;
        padding: 0;
        border: 0;
        background: transparent;
        color: var(--primary-text);
        font-family: "Poppins", sans-serif;
        font-size: 1.05rem;
        font-weight: 500;
        text-align: left;
        cursor: pointer;
    }

    .insight-account-nav-toggle i {
        transition: transform 0.2s ease;
    }

    .insight-account-nav-shell ul {
        margin-top: 1rem;
    }

    .insight-account-nav-shell:not(.is-open) ul {
        display: none;
    }

    .insight-account-nav-shell.is-open .insight-account-nav-toggle i {
        transform: rotate(180deg);
    }
}

@media (max-width: 768px) {
    .single-product .woocommerce-shell {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    .woocommerce .page-title,
    .woocommerce-products-header__title.page-title {
        font-size: 2.6rem;
        margin-bottom: 1.5rem;
    }

    .woocommerce .woocommerce-result-count,
    .woocommerce .woocommerce-ordering {
        float: none !important;
        width: 100%;
    }

    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce ul.products.columns-2,
    .woocommerce ul.products.columns-3,
    .woocommerce ul.products.columns-4,
    .woocommerce ul.products.columns-5,
    .woocommerce-page ul.products.columns-2,
    .woocommerce-page ul.products.columns-3,
    .woocommerce-page ul.products.columns-4,
    .woocommerce-page ul.products.columns-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1rem;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        gap: 0.55rem;
    }

    .woocommerce ul.products li.product a img,
    .woocommerce-page ul.products li.product a img {
        margin-bottom: 0.55rem !important;
        border-radius: 14px;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        font-size: 0.95rem !important;
        line-height: 1.35;
    }

    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        font-size: 0.95rem;
        line-height: 1.3;
    }

    .woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .button {
        width: 100%;
        padding: 0.78rem 0.85rem;
        font-size: 0.9rem;
    }

    .woocommerce-style-digital ul.products li.product,
    .woocommerce-style-digital .woocommerce-page ul.products li.product,
    .woocommerce-style-fashion ul.products li.product,
    .woocommerce-style-fashion .woocommerce-page ul.products li.product {
        padding: 0.85rem;
        border-radius: 18px;
    }

    .digital-shop-header {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .digital-shop-header-line {
        margin-top: 0;
    }

    .woocommerce table.shop_table,
    .woocommerce table.shop_table tbody,
    .woocommerce table.shop_table tr,
    .woocommerce table.shop_table td,
    .woocommerce table.shop_table th {
        display: block;
        width: 100%;
    }

    .woocommerce table.shop_table thead {
        display: none;
    }

    .woocommerce table.shop_table tr {
        padding: 1rem;
        border-bottom: 1px solid var(--border-color);
    }

    .woocommerce table.shop_table tr:last-child {
        border-bottom: 0;
    }

    .woocommerce table.shop_table td {
        padding: 0.45rem 0;
        border: 0;
    }

    .woocommerce-cart table.shop_table.cart tr {
        padding: 1.1rem 1rem 1.2rem;
    }

    .woocommerce-cart table.shop_table.cart th.product-remove,
    .woocommerce-cart table.shop_table.cart td.product-remove,
    .woocommerce-cart table.shop_table.cart th.product-thumbnail,
    .woocommerce-cart table.shop_table.cart td.product-thumbnail,
    .woocommerce-cart table.shop_table.cart th.product-name,
    .woocommerce-cart table.shop_table.cart td.product-name,
    .woocommerce-cart table.shop_table.cart th.product-price,
    .woocommerce-cart table.shop_table.cart td.product-price,
    .woocommerce-cart table.shop_table.cart th.product-quantity,
    .woocommerce-cart table.shop_table.cart td.product-quantity,
    .woocommerce-cart table.shop_table.cart th.product-subtotal,
    .woocommerce-cart table.shop_table.cart td.product-subtotal {
        width: 100% !important;
        text-align: left !important;
    }

    .woocommerce-cart table.shop_table.cart td {
        padding: 0.55rem 0;
        word-break: normal;
        overflow-wrap: anywhere;
        display: grid;
        grid-template-columns: minmax(92px, 110px) minmax(0, 1fr);
        align-items: start;
        column-gap: 0.8rem;
    }

    .woocommerce-cart table.shop_table.cart td::before {
        float: none;
        display: block;
        margin-bottom: 0;
        color: var(--primary-text);
        font-weight: 700;
    }

    .woocommerce-cart table.shop_table.cart td.product-remove {
        padding-top: 0;
    }

    .woocommerce-cart table.shop_table.cart td.product-remove::before,
    .woocommerce-cart table.shop_table.cart td.product-thumbnail::before {
        display: none;
    }

    .woocommerce-cart table.shop_table.cart td.product-thumbnail {
        display: block;
        padding-bottom: 0.75rem;
        text-align: left;
    }

    .woocommerce-cart table.shop_table.cart td.product-thumbnail img {
        display: block;
        width: 88px;
        height: 88px;
        margin: 0;
        border-radius: 16px;
    }

    .woocommerce-cart table.shop_table.cart td.product-name a {
        display: inline-block;
        font-size: 1.1rem;
        line-height: 1.35;
    }

    .woocommerce-cart table.shop_table.cart td.product-price .amount,
    .woocommerce-cart table.shop_table.cart td.product-subtotal .amount {
        display: inline-block;
        white-space: nowrap;
    }

    .woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
        display: inline-flex;
    }

    .woocommerce-cart table.shop_table.cart td.actions {
        display: block;
        padding-top: 1rem;
    }

    .woocommerce-cart table.shop_table.cart td.actions .coupon {
        display: grid;
        gap: 0.75rem;
    }

    .woocommerce-cart table.shop_table.cart td.actions .coupon .input-text,
    .woocommerce-cart table.shop_table.cart td.actions .coupon button,
    .woocommerce-cart table.shop_table.cart td.actions > button {
        width: 100%;
    }

    .woocommerce-order .woocommerce-table--order-details tbody tr,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tbody tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        column-gap: 1rem;
        row-gap: 0.3rem;
        padding: 1rem 0;
    }

    .woocommerce-order .woocommerce-table--order-details tbody th,
    .woocommerce-order .woocommerce-table--order-details tbody td,
    .woocommerce-order .woocommerce-table--order-details tfoot th,
    .woocommerce-order .woocommerce-table--order-details tfoot td,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tbody th,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tbody td,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tfoot th,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tfoot td {
        width: auto !important;
        padding: 0;
        margin: 0;
    }

    .woocommerce-order .woocommerce-table--order-details tbody .product-name,
    .woocommerce-order .woocommerce-table--order-details tbody .woocommerce-table__product-name,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tbody .product-name,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tbody .woocommerce-table__product-name {
        grid-column: 1;
        text-align: left;
    }

    .woocommerce-order .woocommerce-table--order-details tbody .product-total,
    .woocommerce-order .woocommerce-table--order-details tbody .woocommerce-table__product-total,
    .woocommerce-order .woocommerce-table--order-details tbody .woocommerce-table__product-table,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tbody .product-total,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tbody .woocommerce-table__product-total,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tbody .woocommerce-table__product-table {
        grid-column: 2;
        text-align: right;
        min-width: 7.25rem;
        white-space: nowrap;
        justify-self: end;
    }

    .woocommerce-order .woocommerce-table--order-details tfoot,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tfoot {
        display: block;
        width: 100%;
    }

    .woocommerce-order .woocommerce-table--order-details tfoot tr,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tfoot tr {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        width: 100%;
        align-items: start;
        column-gap: 1rem;
        padding: 0.85rem 0;
        border-bottom: 0;
    }

    .woocommerce-order .woocommerce-table--order-details tfoot th,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tfoot th {
        justify-self: start;
        text-align: left;
    }

    .woocommerce-order .woocommerce-table--order-details tfoot td,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tfoot td {
        justify-self: end;
        text-align: right;
        min-width: 7.25rem;
        white-space: nowrap;
    }

    .woocommerce-order .woocommerce-table--order-details tfoot .order-actions--heading,
    .woocommerce-order .woocommerce-table--order-details tfoot .order-actions--heading + td,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tfoot .order-actions--heading,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tfoot .order-actions--heading + td {
        grid-column: 1 / -1;
        justify-self: stretch;
        text-align: left;
        min-width: 0;
    }

    .woocommerce-order .woocommerce-table--order-details tfoot .order-actions--heading + td,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details tfoot .order-actions--heading + td {
        margin-top: 0.6rem;
    }

    .woocommerce-order .woocommerce-table--order-details .order-actions-button,
    .woocommerce-account .woocommerce-order-details .woocommerce-table--order-details .order-actions-button {
        width: 100%;
    }

    .woocommerce-checkout #order_review {
        padding: 1rem 1.1rem;
    }

    .woocommerce-checkout #order_review::before {
        margin-bottom: 0.9rem;
        font-size: clamp(1.7rem, 7vw, 2.05rem);
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tr {
        padding: 0;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        column-gap: 1rem;
        row-gap: 0.25rem;
        padding: 1rem 0;
        border-bottom: 1px solid var(--border-color);
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item:last-child {
        border-bottom: 0;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item td {
        display: block;
        width: 100%;
        padding: 0;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item td.product-name {
        font-size: 1.05rem;
        line-height: 1.4;
        width: auto;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item td.product-total {
        width: auto;
        min-width: 7.25rem;
        align-self: start;
        text-align: right;
        font-size: 1.05rem;
        font-weight: 700;
        white-space: nowrap;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot {
        display: block;
        width: 100%;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center;
        width: 100%;
        column-gap: 1.15rem;
        padding: 0.9rem 0.45rem 0.9rem 0;
        border-bottom: 0 !important;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child {
        border-bottom: 0 !important;
        padding-bottom: 0;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
        display: block;
        width: auto;
        padding: 0;
        margin: 0;
        border: 0 !important;
        border-top: 0 !important;
        box-shadow: none !important;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
        justify-self: start;
        text-align: left;
    }

    .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
        justify-self: end;
        text-align: right;
        min-width: 7.25rem;
        white-space: nowrap;
    }

    .woocommerce-account .woocommerce-orders-table tbody tr,
    .woocommerce-account table.my_account_orders tbody tr {
        padding: 1.05rem 1rem 1.1rem;
    }

    .woocommerce-account .woocommerce-orders-table tbody td,
    .woocommerce-account table.my_account_orders tbody td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.9rem;
        padding: 0.5rem 0;
        text-align: right;
        word-break: normal;
        overflow-wrap: anywhere;
    }

    .woocommerce-account .woocommerce-orders-table tbody td::before,
    .woocommerce-account table.my_account_orders tbody td::before {
        float: none;
        display: block;
        margin-bottom: 0;
        flex: 0 0 108px;
        color: var(--primary-text);
        font-weight: 700;
        text-align: left;
    }

    .woocommerce-account .woocommerce-orders-table tbody td a,
    .woocommerce-account table.my_account_orders tbody td a,
    .woocommerce-account .woocommerce-orders-table tbody td .amount,
    .woocommerce-account table.my_account_orders tbody td .amount {
        white-space: normal;
    }

    .woocommerce-account .woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions,
    .woocommerce-account table.my_account_orders tbody td.order-actions {
        display: block;
        padding-top: 0.85rem;
        text-align: left;
    }

    .woocommerce-account .woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions::before,
    .woocommerce-account table.my_account_orders tbody td.order-actions::before {
        display: none;
    }

    .woocommerce-account .woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions .button,
    .woocommerce-account table.my_account_orders tbody td.order-actions .button {
        width: 100%;
        margin-top: 0.55rem;
    }

    .woocommerce-account .woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions .button:first-child,
    .woocommerce-account table.my_account_orders tbody td.order-actions .button:first-child {
        margin-top: 0;
    }

    .woocommerce .woocommerce-tabs ul.tabs {
        gap: 0.5rem;
    }

    .woocommerce div.product {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }

    .woocommerce div.product div.images,
    .woocommerce div.product div.summary,
    .woocommerce div.product .woocommerce-tabs,
    .woocommerce .related.products {
        grid-column: 1;
    }

    .woocommerce div.product div.summary,
    .woocommerce div.product .woocommerce-tabs,
    .woocommerce .related.products {
        padding: 1.25rem 0.75rem;
        border-radius: 20px;
    }

    .woocommerce div.product .product_title {
        font-size: clamp(1.45rem, 5.6vw, 2.4rem);
    }

    .woocommerce div.product div.images .woocommerce-product-gallery,
    .woocommerce div.product div.images .flex-control-thumbs {
        width: 100%;
    }

    .woocommerce div.product div.images .woocommerce-product-gallery {
        margin-bottom: 0;
    }

    .woocommerce div.product div.images .woocommerce-product-gallery .flex-viewport {
        border-radius: 20px;
    }

    .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
        touch-action: pan-y;
    }

    .woocommerce div.product form.cart .insight-whatsapp-checkout-button {
        width: 2.9rem;
        min-width: 2.9rem;
        height: 2.9rem;
        padding: 0;
        gap: 0;
    }

    .woocommerce div.product form.cart .insight-whatsapp-checkout-label {
        display: none;
    }

    .woocommerce div.product form.cart .single_add_to_cart_button.has-mobile-cart-icon {
        gap: 0.45rem;
    }

    .woocommerce div.product form.cart .single_add_to_cart_button.has-mobile-cart-icon i {
        font-size: 0.95rem;
    }

    .woocommerce div.product div.images .flex-control-thumbs {
        display: flex !important;
        justify-content: center;
        align-items: center;
        gap: 0.45rem;
        margin-top: 0.9rem;
    }

    .woocommerce div.product div.images .flex-control-thumbs li {
        width: auto;
        line-height: 0;
    }

    .woocommerce div.product div.images .flex-control-thumbs img {
        width: 0.55rem;
        height: 0.55rem;
        min-width: 0.55rem;
        border: 0;
        border-radius: 999px;
        padding: 0;
        object-fit: cover;
        opacity: 0.35;
        background: var(--secondary-text);
        filter: none;
        object-position: 9999px 9999px;
    }

    .woocommerce div.product div.images .flex-control-thumbs img.flex-active {
        width: 1.15rem;
        opacity: 1;
        background: var(--accent-color);
    }

    .woocommerce .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocommerce .related.products ul.products li.product,
    .woocommerce-page .related.products ul.products li.product {
        width: auto;
        max-width: none;
    }

    .woocommerce .related.products ul.products li.product a img,
    .woocommerce-page .related.products ul.products li.product a img {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
    }
}

@media (max-width: 520px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce ul.products.columns-2,
    .woocommerce ul.products.columns-3,
    .woocommerce ul.products.columns-4,
    .woocommerce ul.products.columns-5,
    .woocommerce-page ul.products.columns-2,
    .woocommerce-page ul.products.columns-3,
    .woocommerce-page ul.products.columns-4,
    .woocommerce-page ul.products.columns-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.9rem;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        font-size: 0.9rem !important;
    }

    .woocommerce .related.products ul.products {
        grid-template-columns: 1fr;
    }
}

.for-you-refresh-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 999px;
    background: transparent;
    color: var(--accent-color);
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.for-you-refresh-button:hover,
.for-you-refresh-button:focus-visible {
    background: rgba(var(--accent-rgb), 0.08);
    border-color: rgba(var(--accent-rgb), 0.3);
    outline: none;
}

.for-you-refresh-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.for-you-refresh-button.is-loading i {
    animation: insight-spin 0.8s linear infinite;
}

body.dark-mode .for-you-refresh-button {
    border-color: rgba(255, 255, 255, 0.16);
}

@keyframes insight-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}
