/** Shopify CDN: Minification failed

Line 12388:0 All "@import" rules must come first
Line 28159:0 All "@import" rules must come first
Line 29318:0 All "@import" rules must come first

**/
/* Auto-generated ABD Themes - Do not edit directly */

/* --- ca-assembly-daily-file.css --- */
/* CA Assembly Daily File Theme
   Based on the official Assembly Daily File publication.
   Formal government document: serif typography, dense layout, conservative styling.
*/

.abd-theme-ca-assembly-daily-file {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    --ink: #000000;
    --paper: #ffffff;
    --muted: #333333;
    --accent: #1a365d;
    --rule: #cccccc;
    --font-body: 'Times New Roman', Times, serif;
    --font-headline: 'Times New Roman', Times, serif;
    background: var(--paper);
    color: var(--ink);
    font-size: 10pt;
}

.abd-theme-ca-assembly-daily-file * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.abd-theme-ca-assembly-daily-file .theme-content {
    max-width: 8.5in;
    margin: 0 auto;
    padding: 0.5in 0.65in;
    font-family: var(--font-body);
    line-height: 1.35;
    color: var(--ink);
}

/* Masthead / document header (Daily File style) */
.abd-theme-ca-assembly-daily-file .masthead,
.abd-theme-ca-assembly-daily-file .document-number {
    text-align: center;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.abd-theme-ca-assembly-daily-file .document-number {
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

.abd-theme-ca-assembly-daily-file .masthead {
    font-size: 1.1rem;
    line-height: 1.2;
    margin-bottom: 0.15rem;
}

.abd-theme-ca-assembly-daily-file .masthead-sub {
    font-size: 0.95rem;
    font-weight: 600;
}

.abd-theme-ca-assembly-daily-file .assembly-daily-file {
    font-size: 1.25rem;
    margin: 0.35rem 0;
}

/* Typography — dense, readable government style */
.abd-theme-ca-assembly-daily-file h1 {
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 1rem 0 0.5rem;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid var(--ink);
}

.abd-theme-ca-assembly-daily-file h2 {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 0.85rem 0 0.4rem;
}

.abd-theme-ca-assembly-daily-file h3 {
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0.7rem 0 0.35rem;
}

.abd-theme-ca-assembly-daily-file h4,
.abd-theme-ca-assembly-daily-file h5,
.abd-theme-ca-assembly-daily-file h6 {
    font-size: 0.9rem;
    font-weight: 700;
    margin: 0.5rem 0 0.25rem;
}

.abd-theme-ca-assembly-daily-file p {
    margin-bottom: 0.4rem;
    font-size: 10pt;
}

/* Lists — tight spacing like Daily File bill entries */
.abd-theme-ca-assembly-daily-file ul,
.abd-theme-ca-assembly-daily-file ol {
    margin: 0.35rem 0 0.5rem 1.25rem;
}

.abd-theme-ca-assembly-daily-file li {
    margin-bottom: 0.2rem;
}

/* Table of contents style — dotted leaders */
.abd-theme-ca-assembly-daily-file .toc-entry {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.2rem;
    font-size: 0.9rem;
}

.abd-theme-ca-assembly-daily-file .toc-entry::after {
    content: "";
    flex: 1;
    border-bottom: 1px dotted var(--ink);
    margin: 0 0.35rem 0.2rem;
    opacity: 0.5;
}

/* Tables — committee schedules, member lists */
.abd-theme-ca-assembly-daily-file table {
    width: 100%;
    border-collapse: collapse;
    margin: 0.6rem 0;
    font-size: 9pt;
}

.abd-theme-ca-assembly-daily-file th {
    background: var(--ink);
    color: var(--paper);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    padding: 0.25rem 0.4rem;
    text-align: left;
}

.abd-theme-ca-assembly-daily-file td {
    padding: 0.2rem 0.4rem;
    border-bottom: 1px solid var(--rule);
}

.abd-theme-ca-assembly-daily-file tr:nth-child(even) {
    background: #f8f8f8;
}

/* Bill / measure entries */
.abd-theme-ca-assembly-daily-file .bill-number {
    font-weight: 700;
}

.abd-theme-ca-assembly-daily-file .bill-author {
    font-style: italic;
}

/* Blockquotes / legislative digest / notices */
.abd-theme-ca-assembly-daily-file blockquote {
    border-left: 3px solid var(--ink);
    padding-left: 0.75rem;
    margin: 0.5rem 0;
    font-size: 0.95rem;
    color: var(--muted);
}

/* Horizontal rules */
.abd-theme-ca-assembly-daily-file hr {
    border: none;
    border-top: 1px solid var(--rule);
    margin: 0.75rem 0;
}

/* Links */
.abd-theme-ca-assembly-daily-file a {
    color: var(--ink);
    text-decoration: underline;
}

/* Strong / emphasis */
.abd-theme-ca-assembly-daily-file strong {
    font-weight: 700;
}

.abd-theme-ca-assembly-daily-file em {
    font-style: italic;
}

/* Code / bill numbers */
.abd-theme-ca-assembly-daily-file code {
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
    background: #f0f0f0;
    padding: 0.05rem 0.2rem;
}

/* Footer / page-style elements */
.abd-theme-ca-assembly-daily-file .daily-file-footer {
    margin-top: 1.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--ink);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* Markdown-generated content styling */
.abd-theme-ca-assembly-daily-file .theme-content h1,
.abd-theme-ca-assembly-daily-file .theme-content h2,
.abd-theme-ca-assembly-daily-file .theme-content h3,
.abd-theme-ca-assembly-daily-file .theme-content h4,
.abd-theme-ca-assembly-daily-file .theme-content h5,
.abd-theme-ca-assembly-daily-file .theme-content h6 {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.abd-theme-ca-assembly-daily-file .theme-content blockquote {
    border-left: 3px solid var(--ink);
    padding-left: 0.75rem;
    margin: 0.5rem 0;
    font-size: 0.95rem;
    color: var(--muted);
}

.abd-theme-ca-assembly-daily-file .theme-content code {
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
    background: #f0f0f0;
    padding: 0.05rem 0.2rem;
}

.abd-theme-ca-assembly-daily-file .theme-content pre {
    background: #f8f8f8;
    border: 1px solid var(--rule);
    padding: 0.5rem 0.75rem;
    overflow-x: auto;
    font-size: 9pt;
}

.abd-theme-ca-assembly-daily-file .theme-content pre code {
    background: transparent;
    padding: 0;
}

.abd-theme-ca-assembly-daily-file .theme-content img {
    max-width: 100%;
    height: auto;
    margin: 0.5rem 0;
}

.abd-theme-ca-assembly-daily-file .theme-content hr {
    border: none;
    border-top: 1px solid var(--rule);
    margin: 0.75rem 0;
}

/* Kicker */
.abd-theme-ca-assembly-daily-file .kicker {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--muted);
    display: block;
    margin-bottom: 0.25rem;
}

/* Highlighted section */
.abd-theme-ca-assembly-daily-file .highlighted-section {
    border: 2px solid var(--ink);
    padding: 0.75rem 1rem;
    margin: 0.75rem 0;
    background: #f8f8f8;
}

.abd-theme-ca-assembly-daily-file .dek {
    font-size: 0.95rem;
    color: var(--muted);
    margin: 0.25rem 0 0.5rem;
}

.abd-theme-ca-assembly-daily-file .pull-quote {
    font-size: 1.1rem;
    border-left: 3px solid var(--ink);
    padding-left: 0.75rem;
    margin: 0.75rem 0;
    color: var(--ink);
    font-style: italic;
}

.abd-theme-ca-assembly-daily-file .callout,
.abd-theme-ca-assembly-daily-file .callout-box {
    border: 2px solid var(--ink);
    padding: 0.5rem 0.75rem;
    margin: 0.5rem 0;
    background: #f8f8f8;
}

.abd-theme-ca-assembly-daily-file .sidebar {
    border-left: 2px solid var(--rule);
    padding-left: 0.75rem;
    margin: 0.5rem 0;
    font-size: 0.9rem;
    color: var(--muted);
    font-style: italic;
}

/* Cards */
.abd-theme-ca-assembly-daily-file .card,
.abd-theme-ca-assembly-daily-file .product-card {
    background: var(--paper);
    border: 1px solid var(--rule);
    padding: 0.75rem 1rem;
    margin: 0.5rem 0;
}

.abd-theme-ca-assembly-daily-file .card:hover,
.abd-theme-ca-assembly-daily-file .product-card:hover {
    border-color: var(--ink);
}

/* Grid Layouts */
.abd-theme-ca-assembly-daily-file .grid {
    display: grid;
    gap: 0.5rem;
    margin: 0.75rem 0;
}

.abd-theme-ca-assembly-daily-file .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-ca-assembly-daily-file .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-ca-assembly-daily-file .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-ca-assembly-daily-file .grid-2,
    .abd-theme-ca-assembly-daily-file .grid-3,
    .abd-theme-ca-assembly-daily-file .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-ca-assembly-daily-file input[type="text"],
.abd-theme-ca-assembly-daily-file input[type="email"],
.abd-theme-ca-assembly-daily-file input[type="number"],
.abd-theme-ca-assembly-daily-file input[type="password"],
.abd-theme-ca-assembly-daily-file textarea,
.abd-theme-ca-assembly-daily-file select {
    width: 100%;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--rule);
    background: var(--paper);
    color: var(--ink);
    font-family: var(--font-body);
    font-size: 10pt;
    margin: 0.2rem 0;
    box-sizing: border-box;
}

.abd-theme-ca-assembly-daily-file input:focus,
.abd-theme-ca-assembly-daily-file textarea:focus,
.abd-theme-ca-assembly-daily-file select:focus {
    outline: none;
    border-color: var(--ink);
}

/* Buttons */
.abd-theme-ca-assembly-daily-file .btn,
.abd-theme-ca-assembly-daily-file button {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    background: var(--ink);
    color: var(--paper);
    border: 1px solid var(--ink);
    font-family: var(--font-body);
    font-size: 10pt;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    cursor: pointer;
}

.abd-theme-ca-assembly-daily-file .btn:hover,
.abd-theme-ca-assembly-daily-file button:hover {
    opacity: 0.9;
}

.abd-theme-ca-assembly-daily-file .btn-secondary {
    background: transparent;
    color: var(--ink);
}

.abd-theme-ca-assembly-daily-file .btn-secondary:hover {
    background: var(--ink);
    color: var(--paper);
}

/* Navigation */
.abd-theme-ca-assembly-daily-file nav,
.abd-theme-ca-assembly-daily-file .nav {
    border-bottom: 1px solid var(--ink);
    padding: 0.5rem 0;
    margin-bottom: 0.5rem;
}

.abd-theme-ca-assembly-daily-file .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.abd-theme-ca-assembly-daily-file .nav a {
    color: var(--ink);
    text-decoration: underline;
    font-weight: 600;
    font-size: 10pt;
}

.abd-theme-ca-assembly-daily-file .nav a:hover {
    text-decoration-thickness: 2px;
}

.abd-theme-ca-assembly-daily-file .breadcrumb {
    font-size: 0.85rem;
    color: var(--muted);
    margin-bottom: 0.5rem;
}

.abd-theme-ca-assembly-daily-file .breadcrumb a {
    color: var(--ink);
    text-decoration: underline;
}

.abd-theme-ca-assembly-daily-file .breadcrumb a:hover {
    text-decoration-thickness: 2px;
}

/* Badges */
.abd-theme-ca-assembly-daily-file .badge {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    background: var(--ink);
    color: var(--paper);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.abd-theme-ca-assembly-daily-file .badge-sale {
    background: var(--accent);
}

.abd-theme-ca-assembly-daily-file .badge-new {
    background: var(--ink);
    color: var(--paper);
}

.abd-theme-ca-assembly-daily-file .badge-out-of-stock {
    background: var(--muted);
    color: var(--paper);
    opacity: 0.7;
}

/* Enhanced Images */
.abd-theme-ca-assembly-daily-file figure {
    margin: 0.5rem 0;
}

.abd-theme-ca-assembly-daily-file figcaption {
    font-size: 0.85rem;
    color: var(--muted);
    margin-top: 0.25rem;
    font-style: italic;
}

.abd-theme-ca-assembly-daily-file .image-wrapper {
    border: 1px solid var(--rule);
    margin: 0.5rem 0;
}

.abd-theme-ca-assembly-daily-file .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}

/* Product Elements */
.abd-theme-ca-assembly-daily-file .product-price {
    font-size: 1rem;
    font-weight: 700;
    color: var(--ink);
    margin: 0.35rem 0;
}

.abd-theme-ca-assembly-daily-file .product-price-compare {
    font-size: 0.9rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 0.35rem;
}

.abd-theme-ca-assembly-daily-file .product-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--ink);
    margin: 0.35rem 0;
}

.abd-theme-ca-assembly-daily-file .variant-selector {
    margin: 0.5rem 0;
}

.abd-theme-ca-assembly-daily-file .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.25rem;
    color: var(--ink);
    font-size: 0.85rem;
}

.abd-theme-ca-assembly-daily-file .quantity-input {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.5rem 0;
}

.abd-theme-ca-assembly-daily-file .quantity-input button {
    width: 28px;
    height: 28px;
    padding: 0;
    font-size: 1rem;
}

.abd-theme-ca-assembly-daily-file .quantity-input input {
    width: 48px;
    text-align: center;
    margin: 0;
    font-size: 10pt;
}

/* Cart Elements */
.abd-theme-ca-assembly-daily-file .cart-item {
    border-bottom: 1px solid var(--rule);
    padding: 0.5rem 0;
    display: flex;
    gap: 0.5rem;
}

.abd-theme-ca-assembly-daily-file .cart-item-image {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border: 1px solid var(--rule);
}

.abd-theme-ca-assembly-daily-file .cart-total {
    border-top: 2px solid var(--ink);
    padding-top: 0.5rem;
    margin-top: 0.75rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-ca-assembly-daily-file .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-ca-assembly-daily-file .modal {
    background: var(--paper);
    border: 2px solid var(--ink);
    padding: 1rem;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}

.abd-theme-ca-assembly-daily-file .modal-close {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background: var(--ink);
    color: var(--paper);
    border: none;
    width: 28px;
    height: 28px;
    cursor: pointer;
    font-size: 1rem;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-ca-assembly-daily-file .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 1rem;
    }
    
    .abd-theme-ca-assembly-daily-file .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-ca-assembly-daily-file .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-ca-assembly-daily-file .theme-content {
        padding: 0.5in 0.5in;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-ca-assembly-daily-file form label,
.abd-theme-ca-assembly-daily-file .newsletter-form label,
.abd-theme-ca-assembly-daily-file .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-ca-assembly-daily-file a:focus-visible,
.abd-theme-ca-assembly-daily-file button:focus-visible,
.abd-theme-ca-assembly-daily-file input:focus-visible,
.abd-theme-ca-assembly-daily-file select:focus-visible,
.abd-theme-ca-assembly-daily-file textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-ca-assembly-daily-file .announcement-bar,
.abd-theme-ca-assembly-daily-file .announcement-bar-section,
.abd-theme-ca-assembly-daily-file .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-ca-assembly-daily-file .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-ca-assembly-daily-file .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-ca-assembly-daily-file .newsletter-form,
.abd-theme-ca-assembly-daily-file .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-ca-assembly-daily-file .newsletter-form .field__input,
.abd-theme-ca-assembly-daily-file .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-ca-assembly-daily-file .form__message,
.abd-theme-ca-assembly-daily-file .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-ca-assembly-daily-file .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-ca-assembly-daily-file details.accordion,
.abd-theme-ca-assembly-daily-file .accordion,
.abd-theme-ca-assembly-daily-file .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-ca-assembly-daily-file details.accordion summary,
.abd-theme-ca-assembly-daily-file .accordion__title,
.abd-theme-ca-assembly-daily-file .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-ca-assembly-daily-file details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-ca-assembly-daily-file details[open] .accordion__content,
.abd-theme-ca-assembly-daily-file .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-ca-assembly-daily-file .pagination,
.abd-theme-ca-assembly-daily-file .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-ca-assembly-daily-file .pagination__item {
    margin: 0;
}

.abd-theme-ca-assembly-daily-file .pagination__link,
.abd-theme-ca-assembly-daily-file .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-ca-assembly-daily-file .pagination__link:hover,
.abd-theme-ca-assembly-daily-file .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-ca-assembly-daily-file .pagination__item--current .pagination__link,
.abd-theme-ca-assembly-daily-file .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-ca-assembly-daily-file .cart__empty,
.abd-theme-ca-assembly-daily-file .collection__empty,
.abd-theme-ca-assembly-daily-file .search__no-results,
.abd-theme-ca-assembly-daily-file .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-ca-assembly-daily-file .cart__empty p,
.abd-theme-ca-assembly-daily-file .collection__empty p,
.abd-theme-ca-assembly-daily-file .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-ca-assembly-daily-file .product-form__input--dropdown,
.abd-theme-ca-assembly-daily-file .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-ca-assembly-daily-file .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-ca-assembly-daily-file .product-form__input label,
.abd-theme-ca-assembly-daily-file .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-ca-assembly-daily-file .product-form__input input:checked + label,
.abd-theme-ca-assembly-daily-file .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-ca-assembly-daily-file .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-ca-assembly-daily-file .footer__payment,
.abd-theme-ca-assembly-daily-file .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-ca-assembly-daily-file .footer__payment svg,
.abd-theme-ca-assembly-daily-file .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-ca-assembly-daily-file .list-social,
.abd-theme-ca-assembly-daily-file .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-ca-assembly-daily-file .list-social__link,
.abd-theme-ca-assembly-daily-file .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-ca-assembly-daily-file .list-social__link:hover,
.abd-theme-ca-assembly-daily-file .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-ca-assembly-daily-file .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-ca-assembly-daily-file .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-ca-assembly-daily-file .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-ca-assembly-daily-file .image-with-text,
.abd-theme-ca-assembly-daily-file .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-ca-assembly-daily-file .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-ca-assembly-daily-file .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-ca-assembly-daily-file .product-recommendations,
.abd-theme-ca-assembly-daily-file .complementary-products {
    margin-top: 2rem;
}

.abd-theme-ca-assembly-daily-file .product-recommendations__heading,
.abd-theme-ca-assembly-daily-file .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-ca-assembly-daily-file .cart__free-shipping,
.abd-theme-ca-assembly-daily-file .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-ca-assembly-daily-file .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-ca-assembly-daily-file .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-ca-assembly-daily-file .predictive-search,
.abd-theme-ca-assembly-daily-file .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-ca-assembly-daily-file .predictive-search__item,
.abd-theme-ca-assembly-daily-file .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-ca-assembly-daily-file .predictive-search__item:hover,
.abd-theme-ca-assembly-daily-file .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-ca-assembly-daily-file .skeleton,
.abd-theme-ca-assembly-daily-file .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-ca-assembly-daily-file .header-wrapper,
.abd-theme-ca-assembly-daily-file header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-ca-assembly-daily-file .header__heading,
.abd-theme-ca-assembly-daily-file .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-ca-assembly-daily-file .header__menu,
.abd-theme-ca-assembly-daily-file .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-ca-assembly-daily-file .header__menu-item,
.abd-theme-ca-assembly-daily-file .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-ca-assembly-daily-file .header__menu-item a,
.abd-theme-ca-assembly-daily-file .list-menu__item a,
.abd-theme-ca-assembly-daily-file .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: underline;
    font-size: 10pt;
    font-weight: 600;
}

.abd-theme-ca-assembly-daily-file .header__menu-item a:hover,
.abd-theme-ca-assembly-daily-file .list-menu__item a:hover {
    text-decoration-thickness: 2px;
}

/* Dropdown / megamenu */
.abd-theme-ca-assembly-daily-file .header__submenu,
.abd-theme-ca-assembly-daily-file .mega-menu__content,
.abd-theme-ca-assembly-daily-file .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-ca-assembly-daily-file .header__submenu .list-menu__item a,
.abd-theme-ca-assembly-daily-file .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-ca-assembly-daily-file .menu-drawer,
.abd-theme-ca-assembly-daily-file .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-ca-assembly-daily-file .menu-drawer__menu-item,
.abd-theme-ca-assembly-daily-file .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 10pt;
    text-decoration: underline;
}

/* Header icons */
.abd-theme-ca-assembly-daily-file .header__icons,
.abd-theme-ca-assembly-daily-file .header__icon,
.abd-theme-ca-assembly-daily-file .header__icon--cart,
.abd-theme-ca-assembly-daily-file .header__icon .icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-ca-assembly-daily-file .cart-count-bubble,
.abd-theme-ca-assembly-daily-file .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-ca-assembly-daily-file .cart-drawer,
.abd-theme-ca-assembly-daily-file .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-ca-assembly-daily-file .cart-drawer .cart-item,
.abd-theme-ca-assembly-daily-file .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-ca-assembly-daily-file .cart-drawer .cart-item__title,
.abd-theme-ca-assembly-daily-file .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-ca-assembly-daily-file .cart-drawer .cart-item__price,
.abd-theme-ca-assembly-daily-file .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-ca-assembly-daily-file .cart__footer,
.abd-theme-ca-assembly-daily-file .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-ca-assembly-daily-file .cart__ctas button,
.abd-theme-ca-assembly-daily-file .cart__checkout-button,
.abd-theme-ca-assembly-daily-file .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-ca-assembly-daily-file .cart__ctas button:hover,
.abd-theme-ca-assembly-daily-file .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-ca-assembly-daily-file .footer,
.abd-theme-ca-assembly-daily-file .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-ca-assembly-daily-file .footer__link,
.abd-theme-ca-assembly-daily-file .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: underline;
}

/* Search modal */
.abd-theme-ca-assembly-daily-file .search-modal,
.abd-theme-ca-assembly-daily-file .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-ca-assembly-daily-file .search-modal__input,
.abd-theme-ca-assembly-daily-file .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

/* Motion */
@media (prefers-reduced-motion: reduce) {
    .abd-theme-ca-assembly-daily-file a {
        transition: none;
    }
    .abd-theme-ca-assembly-daily-file .card,
    .abd-theme-ca-assembly-daily-file .product-card,
    .abd-theme-ca-assembly-daily-file .btn,
    .abd-theme-ca-assembly-daily-file button,
    .abd-theme-ca-assembly-daily-file .image-wrapper img {
        transition: none;
    }
}

/* Print-ready */
@media print {
    .abd-theme-ca-assembly-daily-file .theme-content {
        padding: 0.4in 0.5in;
        max-width: 100%;
    }
    .abd-theme-ca-assembly-daily-file {
        background: white;
        font-size: 9pt;
    }
}


/* --- cable-news.css --- */
/* Cable News Theme — Pin-Up Magnet Style (Election / Breaking News) */
.abd-theme-cable-news {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #1a1a2e)));
    --color-primary: var(--accent, var(--primary, #dc2626));
    --color-accent: var(--accent, var(--secondary, #1e40af));
    --color-border: var(--rule, var(--border, #1a1a2e));

    /* Pin-up news magnet palette */
    --cutout-white: #ffffff;
    --outline-black: #1a1a2e;
    --bg: #ffffff;
    --panel: #f0f4f8;
    --text: #1a1a2e;
    --muted: #4a5568;
    --alert: #dc2626;
    --accent: #1e40af;
    --rule: var(--outline-black);
    --ticker-bg: #eff6ff;
    --red: #dc2626;
    --blue: #1e40af;
    --white: #ffffff;
    
    /* Typography */
    --font-body: "Arial", "Helvetica Neue", "Helvetica", sans-serif;
    --font-heading: "Arial", "Helvetica Neue", "Helvetica", sans-serif;
    --font-mono: "Courier New", "Courier", monospace;
    
    /* Spacing */
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;
    
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-body);
    line-height: 1.6;
    border: 6px solid var(--cutout-white);
    border-radius: 0;
    box-shadow: 0 0 0 3px var(--outline-black), 0 8px 24px rgba(26, 26, 46, 0.12);
}

/* Dark mode support (optional, keeps light as default) */
@media (prefers-color-scheme: dark) {
    .abd-theme-cable-news {
        --bg: #0f172a; /* Dark navy background */
        --panel: #1e293b; /* Darker panel */
        --text: #f1f5f9; /* Light text */
        --muted: #94a3b8; /* Light gray */
        --rule: rgba(220, 38, 38, 0.3); /* Red divider */
        --ticker-bg: #1e293b;
    }
}

.abd-theme-cable-news * {
    box-sizing: border-box;
}

/* Base Layout - Newsroom Structure */
.abd-theme-cable-news .theme-content {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--spacing-lg);
    background: var(--bg);
    display: block;
    border: 4px solid var(--outline-black);
    border-radius: 0;
    box-shadow: 6px 6px 0 var(--outline-black);
}

/* Topbar - Network Header (optional, only if .topbar class exists) */
.abd-theme-cable-news .topbar {
    background: var(--panel);
    border-bottom: 2px solid var(--rule);
    padding: var(--spacing-md) var(--spacing-lg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 100;
    margin: calc(-1 * var(--spacing-lg)) calc(-1 * var(--spacing-lg)) var(--spacing-lg) calc(-1 * var(--spacing-lg));
}

.abd-theme-cable-news .topbar__network {
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text);
}

.abd-theme-cable-news .topbar__live {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    background: var(--alert);
    color: var(--cutout-white);
    padding: 4px 12px;
    font-size: 0.75rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    animation: pulse 2s infinite;
    border: 3px solid var(--outline-black);
    box-shadow: 3px 3px 0 var(--outline-black);
}

.abd-theme-cable-news .topbar__live::before {
    content: '●';
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #ffffff;
    border-radius: 50%;
    animation: blink 1s infinite;
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.8; }
}

/* Breaking Banner (optional, only if .breaking-banner class exists) */
.abd-theme-cable-news .breaking-banner {
    background: var(--alert);
    color: var(--cutout-white);
    padding: var(--spacing-md) var(--spacing-lg);
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 0.875rem;
    border-bottom: 4px solid var(--outline-black);
    margin: 0 calc(-1 * var(--spacing-lg)) var(--spacing-lg) calc(-1 * var(--spacing-lg));
    box-shadow: 0 4px 0 var(--outline-black);
}

.abd-theme-cable-news .breaking-banner::before {
    content: 'BREAKING';
    background: #ffffff;
    color: var(--alert);
    padding: 4px 12px;
    font-weight: 900;
    letter-spacing: 0.2em;
}

/* Lead - Main Headline Area (optional, only if .lead class exists) */
.abd-theme-cable-news .lead {
    padding: var(--spacing-xl) 0;
    border-bottom: 3px solid var(--rule);
    margin-bottom: var(--spacing-lg);
}

/* Typography - TV Newsroom Style */
.abd-theme-cable-news h1,
.abd-theme-cable-news h2,
.abd-theme-cable-news h3,
.abd-theme-cable-news h4,
.abd-theme-cable-news h5,
.abd-theme-cable-news h6 {
    font-family: var(--font-heading);
    font-weight: 900;
    color: var(--text);
    margin: var(--spacing-md) 0 var(--spacing-sm) 0;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.abd-theme-cable-news h1 {
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: var(--spacing-md);
    line-height: 1.1;
    text-shadow: 2px 2px 0 var(--cutout-white), 3px 3px 0 var(--outline-black);
}

.abd-theme-cable-news h2 {
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    font-weight: 800;
    margin-top: var(--spacing-lg);
    border-bottom: 2px solid var(--rule);
    padding-bottom: var(--spacing-sm);
}

.abd-theme-cable-news h3 {
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    font-weight: 700;
    margin-top: var(--spacing-md);
}

.abd-theme-cable-news h4,
.abd-theme-cable-news h5,
.abd-theme-cable-news h6 {
    font-size: clamp(1.1rem, 2.5vw, 1.4rem);
    font-weight: 700;
}

.abd-theme-cable-news p {
    margin: 0 0 var(--spacing-md) 0;
    color: var(--text);
    line-height: 1.7;
    font-size: clamp(1rem, 2vw, 1.125rem);
}

/* Labels - ALL CAPS Style */
.abd-theme-cable-news .kicker,
.abd-theme-cable-news .byline,
.abd-theme-cable-news .dateline,
.abd-theme-cable-news .section-title {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--accent);
    font-weight: 900;
    display: block;
    margin-bottom: var(--spacing-sm);
}

.abd-theme-cable-news .kicker {
    color: var(--alert);
    background: rgba(220, 38, 38, 0.1);
    padding: 4px 8px;
    display: inline-block;
}

/* Timestamp - Mono Font */
.abd-theme-cable-news .timestamp {
    font-family: var(--font-mono);
    font-size: 0.875rem;
    color: var(--muted);
    font-weight: 600;
}

.abd-theme-cable-news .byline {
    color: var(--muted);
    font-weight: 700;
}

.abd-theme-cable-news .dateline {
    color: var(--muted);
}

/* Links - Accent Blue */
.abd-theme-cable-news a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease;
}

.abd-theme-cable-news a:hover {
    color: var(--white);
    border-bottom-color: var(--accent);
    background: rgba(30, 64, 175, 0.15);
    padding: 2px 4px;
    margin: -2px -4px;
}

/* Lists - Fast Scanning */
.abd-theme-cable-news ul,
.abd-theme-cable-news ol {
    margin: var(--spacing-md) 0;
    padding-left: var(--spacing-lg);
    color: var(--text);
}

.abd-theme-cable-news li {
    margin-bottom: var(--spacing-sm);
    line-height: 1.7;
    font-size: clamp(1rem, 2vw, 1.125rem);
}

.abd-theme-cable-news ul li {
    list-style-type: none;
    position: relative;
    padding-left: 24px;
}

.abd-theme-cable-news ul li::before {
    content: '▶';
    position: absolute;
    left: 0;
    color: var(--accent);
    font-size: 0.75rem;
}

/* Blockquote - Anchor Quote */
.abd-theme-cable-news blockquote {
    margin: var(--spacing-lg) 0;
    padding: var(--spacing-lg);
    border-left: 4px solid var(--accent);
    background: var(--panel);
    color: var(--text);
    font-size: clamp(1.1rem, 2.5vw, 1.4rem);
    font-weight: 600;
    line-height: 1.6;
    font-style: italic;
}

/* Code */
.abd-theme-cable-news code {
    background: var(--panel);
    color: var(--text);
    padding: 2px 6px;
    border: 1px solid var(--rule);
    font-family: var(--font-mono);
    font-size: 0.9em;
}

.abd-theme-cable-news pre {
    background: var(--panel);
    color: var(--text);
    padding: var(--spacing-md);
    border: 1px solid var(--rule);
    margin: var(--spacing-md) 0;
    overflow-x: auto;
    font-family: var(--font-mono);
}

.abd-theme-cable-news pre code {
    background: transparent;
    border: none;
    padding: 0;
}

/* Tables */
.abd-theme-cable-news table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--spacing-md) 0;
    background: var(--panel);
    border: 1px solid var(--rule);
}

.abd-theme-cable-news th {
    text-align: left;
    background: var(--panel);
    color: var(--text);
    padding: var(--spacing-md);
    font-weight: 900;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    border-bottom: 2px solid var(--rule);
}

.abd-theme-cable-news td {
    border-bottom: 1px solid var(--rule);
    padding: var(--spacing-md);
    color: var(--text);
}

/* Images - Photo Credits */
.abd-theme-cable-news img {
    max-width: 100%;
    height: auto;
    border: 2px solid var(--rule);
    margin: var(--spacing-md) 0;
}

.abd-theme-cable-news figure {
    margin: var(--spacing-lg) 0;
}

.abd-theme-cable-news figcaption {
    font-size: 0.75rem;
    color: var(--muted);
    margin-top: var(--spacing-sm);
    font-style: italic;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-top: 1px solid var(--rule);
    padding-top: var(--spacing-sm);
}

/* Rules */
.abd-theme-cable-news hr {
    border: none;
    border-top: 2px solid var(--rule);
    margin: var(--spacing-lg) 0;
}

/* Lower Third - Overlay Style */
.abd-theme-cable-news .lower-third {
    background: rgba(0, 0, 0, 0.85);
    border-left: 4px solid var(--accent);
    padding: var(--spacing-md) var(--spacing-lg);
    margin: var(--spacing-lg) 0;
    position: relative;
}

.abd-theme-cable-news .lower-third__title {
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    font-weight: 900;
    color: var(--text);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--spacing-xs);
}

.abd-theme-cable-news .lower-third__subtitle {
    font-size: clamp(1rem, 2vw, 1.125rem);
    color: var(--muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.875rem;
}

/* Story - Main Content Area (optional, only if .story class exists) */
.abd-theme-cable-news .story {
    padding: var(--spacing-lg) 0;
}

.abd-theme-cable-news .story p {
    margin-bottom: var(--spacing-md);
}

/* Rail - Sidebar (optional, only if .rail class exists) */
.abd-theme-cable-news .rail {
    background: var(--panel);
    border-left: 2px solid var(--rule);
    padding: var(--spacing-lg);
    margin: var(--spacing-lg) 0;
    position: sticky;
    top: 20px;
    height: fit-content;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
}

.abd-theme-cable-news .rail__section {
    margin-bottom: var(--spacing-xl);
}

.abd-theme-cable-news .rail__title {
    font-size: 0.875rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--accent);
    margin-bottom: var(--spacing-md);
    border-bottom: 2px solid var(--rule);
    padding-bottom: var(--spacing-sm);
}

.abd-theme-cable-news .rail__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-cable-news .rail__item {
    padding: var(--spacing-md) 0;
    border-bottom: 1px solid var(--rule);
    font-size: 0.875rem;
    line-height: 1.5;
}

.abd-theme-cable-news .rail__item:last-child {
    border-bottom: none;
}

.abd-theme-cable-news .rail__item a {
    color: var(--text);
    font-weight: 600;
    display: block;
}

.abd-theme-cable-news .rail__item a:hover {
    color: var(--accent);
    background: transparent;
    border-bottom: none;
    padding: 0;
    margin: 0;
}

/* Ticker - Crawl Style (optional, only if .ticker class exists) */
.abd-theme-cable-news .ticker {
    background: var(--ticker-bg);
    border-top: 3px solid var(--alert);
    padding: var(--spacing-md) 0;
    overflow: hidden;
    white-space: nowrap;
    position: sticky;
    bottom: 0;
    z-index: 50;
    margin: var(--spacing-lg) calc(-1 * var(--spacing-lg)) calc(-1 * var(--spacing-lg)) calc(-1 * var(--spacing-lg));
}

.abd-theme-cable-news .ticker__container {
    display: inline-block;
    animation: ticker-scroll 60s linear infinite;
    padding-left: 100%;
}

@keyframes ticker-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

.abd-theme-cable-news .ticker__item {
    display: inline-block;
    padding: 0 var(--spacing-xl);
    font-family: var(--font-mono);
    font-size: 0.875rem;
    color: var(--text);
    font-weight: 600;
    border-right: 1px solid var(--rule);
}

.abd-theme-cable-news .ticker__item::before {
    content: '●';
    color: var(--alert);
    margin-right: var(--spacing-sm);
}

/* Tags - Badges */
.abd-theme-cable-news .tag {
    display: inline-block;
    padding: 4px 10px;
    font-size: 0.7rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-right: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
}

.abd-theme-cable-news .tag--live {
    background: var(--alert);
    color: #ffffff;
}

.abd-theme-cable-news .tag--exclusive {
    background: var(--accent);
    color: #ffffff;
}

.abd-theme-cable-news .tag--opinion {
    background: var(--muted);
    color: var(--text);
}

/* Dek - Subheadline */
.abd-theme-cable-news .dek {
    font-size: clamp(1.1rem, 2.5vw, 1.4rem);
    color: var(--muted);
    margin: var(--spacing-sm) 0 var(--spacing-md) 0;
    line-height: 1.6;
    font-weight: 600;
}

/* Callout - News Panel */
.abd-theme-cable-news .callout,
.abd-theme-cable-news .callout-box {
    background: var(--panel);
    border-left: 4px solid var(--accent);
    padding: var(--spacing-lg);
    margin: var(--spacing-lg) 0;
    border-top: 2px solid var(--rule);
    border-bottom: 2px solid var(--rule);
}

.abd-theme-cable-news .callout-box {
    border-left-color: var(--alert);
}

/* Pull Quote - Anchor Quote */
.abd-theme-cable-news .pull-quote {
    font-size: clamp(1.4rem, 3.5vw, 2rem);
    border-left: 4px solid var(--accent);
    padding-left: var(--spacing-lg);
    margin: var(--spacing-xl) 0;
    color: var(--text);
    font-weight: 700;
    font-style: italic;
    line-height: 1.4;
    background: var(--panel);
    padding: var(--spacing-lg);
}

/* Sidebar - Analysis Notes */
.abd-theme-cable-news .sidebar {
    border-left: 4px solid var(--alert);
    padding: var(--spacing-lg);
    margin: var(--spacing-lg) 0;
    font-size: 0.95rem;
    color: var(--text);
    background: var(--panel);
    border-top: 2px solid var(--rule);
    border-bottom: 2px solid var(--rule);
    border-right: 2px solid var(--rule);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.abd-theme-cable-news .sidebar h3,
.abd-theme-cable-news .sidebar h4 {
    color: var(--alert);
    font-size: 0.875rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 0;
    margin-bottom: 12px;
    border-bottom: 2px solid var(--rule);
    padding-bottom: 8px;
}

.abd-theme-cable-news .sidebar ul {
    list-style: none;
    padding: 0;
}

.abd-theme-cable-news .sidebar li {
    padding: 8px 0;
    border-bottom: 1px solid var(--rule);
}

.abd-theme-cable-news .sidebar li:last-child {
    border-bottom: none;
}

/* Highlighted Section */
.abd-theme-cable-news .highlighted-section {
    background: var(--panel);
    border: 2px solid var(--rule);
    border-left: 4px solid var(--alert);
    padding: var(--spacing-lg);
    margin: var(--spacing-lg) 0;
}

/* Cards */
.abd-theme-cable-news .card,
.abd-theme-cable-news .product-card {
    background: var(--panel);
    border: 2px solid var(--rule);
    border-left: 4px solid var(--accent);
    padding: var(--spacing-lg);
    margin: var(--spacing-md) 0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-cable-news .card:hover,
.abd-theme-cable-news .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    border-left-color: var(--alert);
}

/* Grid Layouts */
.abd-theme-cable-news .grid {
    display: grid;
    gap: var(--spacing-md);
    margin: var(--spacing-lg) 0;
}

.abd-theme-cable-news .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-cable-news .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-cable-news .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-cable-news .grid-2,
    .abd-theme-cable-news .grid-3,
    .abd-theme-cable-news .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-cable-news input[type="text"],
.abd-theme-cable-news input[type="email"],
.abd-theme-cable-news input[type="number"],
.abd-theme-cable-news input[type="password"],
.abd-theme-cable-news textarea,
.abd-theme-cable-news select {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--rule);
    background: var(--panel);
    color: var(--text);
    font-family: var(--font-body);
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-cable-news input:focus,
.abd-theme-cable-news textarea:focus,
.abd-theme-cable-news select:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.2);
}

/* Buttons */
.abd-theme-cable-news .btn,
.abd-theme-cable-news button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--accent);
    color: #ffffff;
    border: 2px solid var(--accent);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.abd-theme-cable-news .btn:hover,
.abd-theme-cable-news button:hover {
    background: var(--alert);
    border-color: var(--alert);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.abd-theme-cable-news .btn-secondary {
    background: transparent;
    color: var(--accent);
    border-color: var(--accent);
}

.abd-theme-cable-news .btn-secondary:hover {
    background: var(--accent);
    color: #ffffff;
}

/* Navigation */
.abd-theme-cable-news nav,
.abd-theme-cable-news .nav {
    border-bottom: 2px solid var(--rule);
    padding: var(--spacing-md) 0;
    margin-bottom: var(--spacing-lg);
}

.abd-theme-cable-news .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: var(--spacing-lg);
    flex-wrap: wrap;
}

.abd-theme-cable-news .nav a {
    color: var(--text);
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
    font-size: 0.875rem;
}

.abd-theme-cable-news .nav a:hover {
    border-bottom-color: var(--accent);
    color: var(--accent);
    background: transparent;
    border-bottom: 2px solid var(--accent);
    padding: 8px 0;
    margin: 0;
}

.abd-theme-cable-news .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: var(--spacing-md);
    font-family: var(--font-mono);
}

.abd-theme-cable-news .breadcrumb a {
    color: var(--text);
    text-decoration: none;
}

.abd-theme-cable-news .breadcrumb a:hover {
    color: var(--accent);
    background: transparent;
    border-bottom: none;
    padding: 0;
    margin: 0;
}

/* Badges */
.abd-theme-cable-news .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--alert);
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    border: 1px solid var(--rule);
}

.abd-theme-cable-news .badge-sale {
    background: var(--alert);
}

.abd-theme-cable-news .badge-new {
    background: var(--accent);
}

.abd-theme-cable-news .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-cable-news .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 2px solid var(--rule);
    margin: var(--spacing-md) 0;
}

.abd-theme-cable-news .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-cable-news .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-cable-news .product-price {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 900;
    color: var(--alert);
    margin: var(--spacing-sm) 0;
    font-family: var(--font-heading);
}

.abd-theme-cable-news .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-cable-news .product-title {
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    font-weight: 900;
    color: var(--text);
    margin: var(--spacing-sm) 0;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-family: var(--font-heading);
}

.abd-theme-cable-news .variant-selector {
    margin: var(--spacing-md) 0;
}

.abd-theme-cable-news .variant-selector label {
    display: block;
    font-weight: 900;
    margin-bottom: 8px;
    color: var(--text);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
}

.abd-theme-cable-news .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: var(--spacing-md) 0;
}

.abd-theme-cable-news .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-cable-news .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
    font-family: var(--font-mono);
}

/* Cart Elements */
.abd-theme-cable-news .cart-item {
    border-bottom: 2px solid var(--rule);
    padding: var(--spacing-md) 0;
    display: flex;
    gap: var(--spacing-md);
}

.abd-theme-cable-news .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 2px solid var(--rule);
}

.abd-theme-cable-news .cart-total {
    border-top: 3px solid var(--alert);
    padding-top: var(--spacing-md);
    margin-top: var(--spacing-lg);
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    font-weight: 900;
    color: var(--text);
    font-family: var(--font-heading);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Modals/Overlays */
.abd-theme-cable-news .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(30, 64, 175, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-cable-news .modal {
    background: var(--panel);
    border: 3px solid var(--accent);
    padding: var(--spacing-xl);
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
    position: relative;
}

.abd-theme-cable-news .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--alert);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Motion - Respect Reduced Motion */
/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-cable-news .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 24px;
        max-width: 1400px;
    }
    
    .abd-theme-cable-news .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-cable-news .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-cable-news form label,
.abd-theme-cable-news .newsletter-form label,
.abd-theme-cable-news .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-cable-news a:focus-visible,
.abd-theme-cable-news button:focus-visible,
.abd-theme-cable-news input:focus-visible,
.abd-theme-cable-news select:focus-visible,
.abd-theme-cable-news textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-cable-news .announcement-bar,
.abd-theme-cable-news .announcement-bar-section,
.abd-theme-cable-news .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-cable-news .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-cable-news .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-cable-news .newsletter-form,
.abd-theme-cable-news .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-cable-news .newsletter-form .field__input,
.abd-theme-cable-news .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-cable-news .form__message,
.abd-theme-cable-news .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-cable-news .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-cable-news details.accordion,
.abd-theme-cable-news .accordion,
.abd-theme-cable-news .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-cable-news details.accordion summary,
.abd-theme-cable-news .accordion__title,
.abd-theme-cable-news .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-cable-news details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-cable-news details[open] .accordion__content,
.abd-theme-cable-news .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-cable-news .pagination,
.abd-theme-cable-news .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-cable-news .pagination__item {
    margin: 0;
}

.abd-theme-cable-news .pagination__link,
.abd-theme-cable-news .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-cable-news .pagination__link:hover,
.abd-theme-cable-news .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-cable-news .pagination__item--current .pagination__link,
.abd-theme-cable-news .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-cable-news .cart__empty,
.abd-theme-cable-news .collection__empty,
.abd-theme-cable-news .search__no-results,
.abd-theme-cable-news .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-cable-news .cart__empty p,
.abd-theme-cable-news .collection__empty p,
.abd-theme-cable-news .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-cable-news .product-form__input--dropdown,
.abd-theme-cable-news .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-cable-news .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-cable-news .product-form__input label,
.abd-theme-cable-news .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-cable-news .product-form__input input:checked + label,
.abd-theme-cable-news .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-cable-news .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-cable-news .footer__payment,
.abd-theme-cable-news .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-cable-news .footer__payment svg,
.abd-theme-cable-news .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-cable-news .list-social,
.abd-theme-cable-news .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-cable-news .list-social__link,
.abd-theme-cable-news .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-cable-news .list-social__link:hover,
.abd-theme-cable-news .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-cable-news .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-cable-news .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-cable-news .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-cable-news .image-with-text,
.abd-theme-cable-news .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-cable-news .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-cable-news .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-cable-news .product-recommendations,
.abd-theme-cable-news .complementary-products {
    margin-top: 2rem;
}

.abd-theme-cable-news .product-recommendations__heading,
.abd-theme-cable-news .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-cable-news .cart__free-shipping,
.abd-theme-cable-news .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-cable-news .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-cable-news .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-cable-news .predictive-search,
.abd-theme-cable-news .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-cable-news .predictive-search__item,
.abd-theme-cable-news .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-cable-news .predictive-search__item:hover,
.abd-theme-cable-news .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-cable-news .skeleton,
.abd-theme-cable-news .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-cable-news .header-wrapper,
.abd-theme-cable-news header.shopify-section-header {
    background: var(--bg, var(--color-background, #ffffff));
    border-bottom: 2px solid var(--accent, var(--color-foreground, #000));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-cable-news .header__heading,
.abd-theme-cable-news .header__heading-link {
    font-family: var(--font-heading, var(--font-body, inherit));
    font-weight: 700;
    color: var(--text, var(--color-foreground, #000));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-cable-news .header__menu,
.abd-theme-cable-news .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-cable-news .header__menu-item,
.abd-theme-cable-news .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-cable-news .header__menu-item a,
.abd-theme-cable-news .list-menu__item a,
.abd-theme-cable-news .header__menu-item .header__active-menu-item {
    color: var(--text, var(--color-foreground, #000));
    text-decoration: none;
    font-size: 1rem;
    font-weight: 600;
}

.abd-theme-cable-news .header__menu-item a:hover,
.abd-theme-cable-news .list-menu__item a:hover {
    color: var(--accent);
}

/* Dropdown / megamenu */
.abd-theme-cable-news .header__submenu,
.abd-theme-cable-news .mega-menu__content,
.abd-theme-cable-news .list-menu--dropdown {
    background: var(--bg, var(--color-background, #fff));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-cable-news .header__submenu .list-menu__item a,
.abd-theme-cable-news .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-cable-news .menu-drawer,
.abd-theme-cable-news .menu-drawer__navigation {
    background: var(--bg, var(--color-background, #fff));
    border-right: 2px solid var(--text, var(--color-foreground, #000));
}

.abd-theme-cable-news .menu-drawer__menu-item,
.abd-theme-cable-news .menu-drawer__menu-item .link {
    color: var(--text, var(--color-foreground, #000));
    text-decoration: none;
}

/* Header icons (search, cart, account) */
.abd-theme-cable-news .header__icons,
.abd-theme-cable-news .header__icon {
    color: var(--text, var(--color-foreground, #000));
}

/* Cart count badge */
.abd-theme-cable-news .cart-count-bubble,
.abd-theme-cable-news .cart-icon-bubble {
    background: var(--accent);
    color: var(--bg, #fff);
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-cable-news .cart-drawer,
.abd-theme-cable-news .drawer__inner {
    background: var(--bg, var(--color-background, #fff));
    border-left: 2px solid var(--text, var(--color-foreground, #000));
}

.abd-theme-cable-news .cart-drawer .cart-item,
.abd-theme-cable-news .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-cable-news .cart-drawer .cart-item__title,
.abd-theme-cable-news .cart-item__title {
    font-weight: 700;
    color: var(--text, var(--color-foreground, #000));
}

.abd-theme-cable-news .cart-drawer .cart-item__price,
.abd-theme-cable-news .cart-item__price {
    color: var(--text, var(--color-foreground, #000));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-cable-news .cart__footer,
.abd-theme-cable-news .cart__blocks {
    border-top: 2px solid var(--text, var(--color-foreground, #000));
    padding-top: 0.75rem;
}

.abd-theme-cable-news .cart__ctas button,
.abd-theme-cable-news .cart__checkout-button,
.abd-theme-cable-news .shopify-payment-button__button {
    background: var(--accent);
    color: var(--bg, #fff);
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-cable-news .cart__ctas button:hover,
.abd-theme-cable-news .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-cable-news .footer,
.abd-theme-cable-news .footer__content-top {
    background: var(--bg, var(--color-background, #fff));
    border-top: 2px solid var(--text, var(--color-foreground, #000));
    padding: 1rem 0;
}

.abd-theme-cable-news .footer__link,
.abd-theme-cable-news .footer a {
    color: var(--text, var(--color-foreground, #000));
    text-decoration: none;
}

/* Search modal */
.abd-theme-cable-news .search-modal,
.abd-theme-cable-news .modal__content {
    background: var(--bg, var(--color-background, #fff));
    border: 2px solid var(--text, var(--color-foreground, #000));
}

.abd-theme-cable-news .search-modal__input,
.abd-theme-cable-news .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--text, var(--color-foreground, #000));
    font-family: var(--font-body, inherit);
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-cable-news * {
        animation: none !important;
        transition: none !important;
    }
    
    .abd-theme-cable-news .ticker__container {
        animation: none;
    }
    
    .abd-theme-cable-news .topbar__live {
        animation: none;
    }
    
    .abd-theme-cable-news .topbar__live::before {
        animation: none;
    }
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .abd-theme-cable-news .theme-content {
        padding: var(--spacing-sm);
    }
    
    .abd-theme-cable-news .topbar {
        flex-direction: column;
        gap: var(--spacing-sm);
        padding: var(--spacing-sm) var(--spacing-md);
    }
    
    .abd-theme-cable-news .rail {
        position: static;
        max-height: none;
        border-left: none;
        border-top: 2px solid var(--rule);
    }
    
    .abd-theme-cable-news .ticker {
        position: static;
    }
}


/* --- california-dreaming.css --- */
.abd-theme-california-dreaming {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    /* California Dream Color Palette - from beach sunset image */
    --primary-gold: #FFD700; /* Sun / golden glow */
    --primary-gold-light: #FFC107; /* Horizon glow */
    --primary-gold-dark: #FFB300; /* Warm accent */
    --ocean-blue: #007BFF; /* Clear sky blue */
    --ocean-blue-light: #00BCD4; /* Turquoise ocean */
    --ocean-blue-dark: #006994; /* Deep water / dark text */
    --sunset-gold: #FFEB3B; /* Water shimmer / highlight */
    --sky-blue: #64B5F6; /* Mid-sky cerulean */
    --sand-beige: #FFECB3; /* Beach sand */
    --wave-foam: #F8F8F8; /* Wave foam white */
    --cloud: #E0F2F7; /* Cloud / soft highlight */
    --muted: #B0BEC5; /* Distant buildings / muted grey */
    
    /* Typography */
    --font-family: 'Playfair Display', serif;
    --font-size-base: 16px;
    --line-height: 1.6;
    
    /* Spacing */
    --spacing-small: 8px;
    --spacing-medium: 24px;
    --spacing-large: 48px;
    
    /* Transitions */
    --transition-smooth: all 0.3s ease;
}

.abd-theme-california-dreaming {
    color: var(--ocean-blue-dark);
    font-family: var(--font-family);
    background: linear-gradient(135deg, var(--sky-blue) 0%, #ffffff 50%, var(--sand-beige) 100%);
    min-height: 100vh;
}

/* Container styles */
.abd-theme-california-dreaming .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--spacing-large);
    max-width: 1200px;
    margin: 0 auto;
}

/* Header styles */
.abd-theme-california-dreaming header {
    background: linear-gradient(135deg, var(--ocean-blue) 0%, var(--ocean-blue-light) 50%, var(--primary-gold-light) 100%);
    color: #fff;
    padding: var(--spacing-medium);
    border-radius: 15px;
    font-size: 28px;
    line-height: var(--line-height);
    margin-bottom: var(--spacing-medium);
    box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
    transition: var(--transition-smooth);
}

.abd-theme-california-dreaming header:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4);
}

/* Main content sections */
.abd-theme-california-dreaming article,
.abd-theme-california-dreaming aside,
.abd-theme-california-dreaming details,
.abd-theme-california-dreaming figcaption,
.abd-theme-california-dreaming figure,
.abd-theme-california-dreaming section {
    background: linear-gradient(135deg, #ffffff 0%, var(--sand-beige) 100%);
    border-radius: 12px;
    margin-bottom: var(--spacing-medium);
    padding: var(--spacing-medium);
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 2px solid var(--primary-gold-light);
    box-shadow: 0 2px 10px rgba(255, 215, 0, 0.2);
    transition: var(--transition-smooth);
}

.abd-theme-california-dreaming article:hover,
.abd-theme-california-dreaming aside:hover,
.abd-theme-california-dreaming section:hover {
    border-color: var(--ocean-blue-light);
    box-shadow: 0 4px 15px rgba(0, 188, 212, 0.3);
    transform: translateY(-2px);
}

/* Footer styles */
.abd-theme-california-dreaming footer {
    background: linear-gradient(135deg, var(--primary-gold-light) 0%, var(--sand-beige) 100%);
    color: var(--ocean-blue-dark);
    padding: var(--spacing-medium);
    border-top: 3px solid var(--primary-gold);
    margin-top: var(--spacing-large);
    border-radius: 12px 12px 0 0;
    box-shadow: 0 -2px 10px rgba(255, 215, 0, 0.2);
}

/* Highlighted sections */
.abd-theme-california-dreaming .highlighted-section {
    background: linear-gradient(135deg, var(--primary-gold-light) 0%, var(--sunset-gold) 100%);
    border: 3px solid var(--primary-gold);
    color: var(--ocean-blue-dark);
    box-shadow: 0 4px 20px rgba(255, 215, 0, 0.4);
}

.abd-theme-california-dreaming .highlighted-section:hover {
    background: linear-gradient(135deg, var(--sunset-gold) 0%, var(--primary-gold-dark) 100%);
    box-shadow: 0 6px 25px rgba(255, 193, 7, 0.5);
}

/* Images */
.abd-theme-california-dreaming .article-highlighted img,
.abd-theme-california-dreaming .highlighted-section img {
    border: 3px solid var(--primary-gold);
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
    transition: var(--transition-smooth);
}

.abd-theme-california-dreaming .article-highlighted img:hover,
.abd-theme-california-dreaming .highlighted-section img:hover {
    border-color: var(--ocean-blue-light);
    box-shadow: 0 6px 20px rgba(0, 188, 212, 0.4);
    transform: scale(1.02);
}

.abd-theme-california-dreaming .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-california-dreaming .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--primary-gold);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ocean-blue-dark);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-california-dreaming .callout,
.abd-theme-california-dreaming .callout-box {
    background: linear-gradient(135deg, var(--primary-gold-light) 0%, var(--sunset-gold) 100%);
    border: 3px solid var(--primary-gold);
    padding: 14px 16px;
    margin: 18px 0;
    box-shadow: 0 4px 20px rgba(255, 215, 0, 0.4);
    border-radius: 8px;
}

.abd-theme-california-dreaming .sidebar {
    border-left: 3px solid var(--primary-gold);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Typography enhancements */
.abd-theme-california-dreaming h1,
.abd-theme-california-dreaming h2,
.abd-theme-california-dreaming h3 {
    color: var(--ocean-blue);
    text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.5);
}

.abd-theme-california-dreaming h1 {
    background: linear-gradient(135deg, var(--ocean-blue) 0%, var(--primary-gold) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Links */
.abd-theme-california-dreaming a {
    color: var(--ocean-blue);
    text-decoration: none;
    transition: var(--transition-smooth);
    border-bottom: 2px solid transparent;
}

.abd-theme-california-dreaming a:hover {
    color: var(--primary-gold-dark);
    border-bottom-color: var(--primary-gold);
}

/* Buttons */
.abd-theme-california-dreaming button,
.abd-theme-california-dreaming .button {
    background: linear-gradient(135deg, var(--ocean-blue) 0%, var(--ocean-blue-light) 100%);
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 25px;
    cursor: pointer;
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    transition: var(--transition-smooth);
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.3);
}

.abd-theme-california-dreaming button:hover,
.abd-theme-california-dreaming .button:hover {
    background: linear-gradient(135deg, var(--primary-gold) 0%, var(--sunset-gold) 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.4);
}

/* Cards */
.abd-theme-california-dreaming .card {
    background: linear-gradient(135deg, #ffffff 0%, var(--sand-beige) 100%);
    border: 2px solid var(--primary-gold-light);
    border-radius: 12px;
    padding: var(--spacing-medium);
    margin-bottom: var(--spacing-medium);
    transition: var(--transition-smooth);
}

.abd-theme-california-dreaming .card:hover {
    border-color: var(--ocean-blue-light);
    box-shadow: 0 4px 15px rgba(0, 188, 212, 0.3);
}

/* Markdown-generated content styling */
.abd-theme-california-dreaming .theme-content {
    padding: var(--spacing-large);
}

.abd-theme-california-dreaming .theme-content p {
    margin-bottom: var(--spacing-medium);
    color: var(--ocean-blue-dark);
    line-height: var(--line-height);
}

.abd-theme-california-dreaming .theme-content h1,
.abd-theme-california-dreaming .theme-content h2,
.abd-theme-california-dreaming .theme-content h3,
.abd-theme-california-dreaming .theme-content h4,
.abd-theme-california-dreaming .theme-content h5,
.abd-theme-california-dreaming .theme-content h6 {
    margin-top: var(--spacing-large);
    margin-bottom: var(--spacing-medium);
}

.abd-theme-california-dreaming .theme-content h1 {
    font-weight: 800;
    color: var(--ocean-blue-dark);
    text-shadow: 2px 2px 0 var(--primary-gold-dark), 0 6px 12px rgba(255, 193, 7, 0.35);
    background: none;
    -webkit-text-fill-color: currentColor;
}

.abd-theme-california-dreaming .theme-content h2 {
    font-weight: 700;
    color: var(--primary-gold-dark);
    text-shadow: 2px 2px 0 var(--ocean-blue-dark), 0 4px 10px rgba(0, 105, 148, 0.25);
}

.abd-theme-california-dreaming .theme-content h3 {
    font-weight: 700;
    color: var(--ocean-blue);
    text-shadow: 2px 2px 0 var(--primary-gold), 0 3px 8px rgba(255, 193, 7, 0.25);
}

.abd-theme-california-dreaming .theme-content ul,
.abd-theme-california-dreaming .theme-content ol {
    margin: var(--spacing-medium) 0;
    padding-left: var(--spacing-large);
    color: var(--ocean-blue-dark);
}

.abd-theme-california-dreaming .theme-content li {
    margin-bottom: var(--spacing-small);
    line-height: var(--line-height);
}

.abd-theme-california-dreaming .theme-content blockquote {
    border-left: 4px solid var(--primary-gold);
    padding-left: var(--spacing-medium);
    margin: var(--spacing-medium) 0;
    color: var(--ocean-blue-dark);
    font-style: italic;
    background: rgba(255, 215, 0, 0.1);
    padding: var(--spacing-medium);
}

.abd-theme-california-dreaming .theme-content code {
    background: rgba(0, 123, 255, 0.1);
    color: var(--ocean-blue);
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
}

.abd-theme-california-dreaming .theme-content pre {
    background: rgba(0, 123, 255, 0.1);
    border: 2px solid var(--primary-gold-light);
    border-left: 6px solid var(--ocean-blue);
    padding: var(--spacing-medium);
    border-radius: 8px;
    overflow-x: auto;
    margin: var(--spacing-medium) 0;
}

.abd-theme-california-dreaming .theme-content pre code {
    background: transparent;
    padding: 0;
    color: var(--ocean-blue-dark);
}

.abd-theme-california-dreaming .theme-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: var(--spacing-medium) 0;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
}

.abd-theme-california-dreaming .theme-content table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--spacing-medium) 0;
    background: linear-gradient(135deg, #ffffff 0%, var(--sand-beige) 100%);
    border: 2px solid var(--primary-gold-light);
    border-radius: 8px;
    overflow: hidden;
}

.abd-theme-california-dreaming .theme-content th {
    background: linear-gradient(135deg, var(--ocean-blue) 0%, var(--ocean-blue-light) 100%);
    color: #fff;
    padding: var(--spacing-small) var(--spacing-medium);
    text-align: left;
    font-weight: bold;
}

.abd-theme-california-dreaming .theme-content td {
    padding: var(--spacing-small) var(--spacing-medium);
    border-top: 1px solid var(--primary-gold-light);
    color: var(--ocean-blue-dark);
}

.abd-theme-california-dreaming .theme-content tr:nth-child(even) {
    background: rgba(255, 215, 0, 0.05);
}

.abd-theme-california-dreaming .theme-content hr {
    border: none;
    border-top: 2px solid var(--primary-gold);
    margin: var(--spacing-large) 0;
    opacity: 0.5;
}

/* Cards */
.abd-theme-california-dreaming .card,
.abd-theme-california-dreaming .product-card {
    background: linear-gradient(135deg, var(--primary-gold-light) 0%, var(--sunset-gold) 100%);
    border: 3px solid var(--primary-gold);
    border-radius: 8px;
    padding: 20px;
    margin: 16px 0;
    box-shadow: 0 4px 20px rgba(255, 215, 0, 0.4);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-california-dreaming .card:hover,
.abd-theme-california-dreaming .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(255, 193, 7, 0.5);
}

/* Grid Layouts */
.abd-theme-california-dreaming .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-california-dreaming .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-california-dreaming .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-california-dreaming .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-california-dreaming .grid-2,
    .abd-theme-california-dreaming .grid-3,
    .abd-theme-california-dreaming .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-california-dreaming input[type="text"],
.abd-theme-california-dreaming input[type="email"],
.abd-theme-california-dreaming input[type="number"],
.abd-theme-california-dreaming input[type="password"],
.abd-theme-california-dreaming textarea,
.abd-theme-california-dreaming select {
    width: 100%;
    padding: 12px;
    border: 3px solid var(--primary-gold);
    background: #ffffff;
    color: var(--ocean-blue-dark);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
    border-radius: 8px;
    transition: var(--transition-smooth);
}

.abd-theme-california-dreaming input:focus,
.abd-theme-california-dreaming textarea:focus,
.abd-theme-california-dreaming select:focus {
    outline: none;
    border-color: var(--ocean-blue-light);
    box-shadow: 0 0 0 3px rgba(0, 188, 212, 0.2);
}

/* Buttons */
.abd-theme-california-dreaming .btn,
.abd-theme-california-dreaming button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--ocean-blue);
    color: #ffffff;
    border: 3px solid var(--ocean-blue);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-smooth);
    text-decoration: none;
    border-radius: 8px;
}

.abd-theme-california-dreaming .btn:hover,
.abd-theme-california-dreaming button:hover {
    background: var(--primary-gold);
    border-color: var(--primary-gold);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.4);
}

/* Product card buttons — blue outline + white text on hover (avoid yellow-on-yellow on gold cards) */
.abd-theme-california-dreaming .product-card button:hover,
.abd-theme-california-dreaming .product-card .product-card__quick-add:hover:not(:disabled),
.abd-theme-california-dreaming .product-card .btn:hover,
.abd-theme-california-dreaming .product-card .button:hover {
    background: transparent;
    border: 3px solid var(--ocean-blue);
    color: #fff;
    box-shadow: none;
}

.abd-theme-california-dreaming .btn-secondary {
    background: transparent;
    color: var(--ocean-blue);
}

.abd-theme-california-dreaming .btn-secondary:hover {
    background: var(--ocean-blue);
    color: #ffffff;
}

/* Navigation */
.abd-theme-california-dreaming nav,
.abd-theme-california-dreaming .nav {
    border-bottom: 3px solid var(--primary-gold);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-california-dreaming .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-california-dreaming .nav a {
    color: var(--ocean-blue-dark);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-california-dreaming .nav a:hover {
    border-bottom-color: var(--primary-gold);
}

.abd-theme-california-dreaming .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-california-dreaming .breadcrumb a {
    color: var(--ocean-blue-dark);
    text-decoration: none;
}

.abd-theme-california-dreaming .breadcrumb a:hover {
    color: var(--primary-gold);
}

/* Badges */
.abd-theme-california-dreaming .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--primary-gold);
    color: var(--ocean-blue-dark);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 2px solid var(--ocean-blue);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(255, 215, 0, 0.3);
}

.abd-theme-california-dreaming .badge-sale {
    background: var(--sunset-gold);
}

.abd-theme-california-dreaming .badge-new {
    background: var(--ocean-blue-light);
    color: #ffffff;
}

.abd-theme-california-dreaming .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-california-dreaming figure {
    margin: 20px 0;
}

.abd-theme-california-dreaming figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-california-dreaming .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--primary-gold);
    border-radius: 8px;
    margin: 16px 0;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
    transition: var(--transition-smooth);
}

.abd-theme-california-dreaming .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: var(--transition-smooth);
}

.abd-theme-california-dreaming .image-wrapper:hover img {
    transform: scale(1.02);
}

/* Product Elements */
.abd-theme-california-dreaming .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ocean-blue-dark);
    margin: 12px 0;
}

.abd-theme-california-dreaming .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-california-dreaming .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ocean-blue-dark);
    margin: 12px 0;
}

.abd-theme-california-dreaming .variant-selector {
    margin: 16px 0;
}

.abd-theme-california-dreaming .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ocean-blue-dark);
    font-size: 0.875rem;
}

.abd-theme-california-dreaming .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-california-dreaming .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-california-dreaming .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-california-dreaming .cart-item {
    border-bottom: 2px solid var(--primary-gold);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-california-dreaming .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 3px solid var(--primary-gold);
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
}

.abd-theme-california-dreaming .cart-total {
    border-top: 3px solid var(--primary-gold);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ocean-blue-dark);
}

/* Modals/Overlays */
.abd-theme-california-dreaming .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-california-dreaming .modal {
    background: linear-gradient(135deg, var(--primary-gold-light) 0%, var(--sunset-gold) 100%);
    border: 3px solid var(--primary-gold);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 6px 25px rgba(255, 193, 7, 0.5);
    position: relative;
    border-radius: 8px;
}

.abd-theme-california-dreaming .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--ocean-blue);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: var(--transition-smooth);
}

.abd-theme-california-dreaming .modal-close:hover {
    background: var(--ocean-blue-dark);
    transform: scale(1.1);
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-california-dreaming form label,
.abd-theme-california-dreaming .newsletter-form label,
.abd-theme-california-dreaming .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-california-dreaming a:focus-visible,
.abd-theme-california-dreaming button:focus-visible,
.abd-theme-california-dreaming input:focus-visible,
.abd-theme-california-dreaming select:focus-visible,
.abd-theme-california-dreaming textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-california-dreaming .announcement-bar,
.abd-theme-california-dreaming .announcement-bar-section,
.abd-theme-california-dreaming .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-california-dreaming .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-california-dreaming .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-california-dreaming .newsletter-form,
.abd-theme-california-dreaming .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-california-dreaming .newsletter-form .field__input,
.abd-theme-california-dreaming .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-california-dreaming .form__message,
.abd-theme-california-dreaming .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-california-dreaming .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-california-dreaming details.accordion,
.abd-theme-california-dreaming .accordion,
.abd-theme-california-dreaming .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-california-dreaming details.accordion summary,
.abd-theme-california-dreaming .accordion__title,
.abd-theme-california-dreaming .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-california-dreaming details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-california-dreaming details[open] .accordion__content,
.abd-theme-california-dreaming .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-california-dreaming .pagination,
.abd-theme-california-dreaming .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-california-dreaming .pagination__item {
    margin: 0;
}

.abd-theme-california-dreaming .pagination__link,
.abd-theme-california-dreaming .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-california-dreaming .pagination__link:hover,
.abd-theme-california-dreaming .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-california-dreaming .pagination__item--current .pagination__link,
.abd-theme-california-dreaming .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-california-dreaming .cart__empty,
.abd-theme-california-dreaming .collection__empty,
.abd-theme-california-dreaming .search__no-results,
.abd-theme-california-dreaming .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-california-dreaming .cart__empty p,
.abd-theme-california-dreaming .collection__empty p,
.abd-theme-california-dreaming .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-california-dreaming .product-form__input--dropdown,
.abd-theme-california-dreaming .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-california-dreaming .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-california-dreaming .product-form__input label,
.abd-theme-california-dreaming .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-california-dreaming .product-form__input input:checked + label,
.abd-theme-california-dreaming .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-california-dreaming .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-california-dreaming .footer__payment,
.abd-theme-california-dreaming .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-california-dreaming .footer__payment svg,
.abd-theme-california-dreaming .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-california-dreaming .list-social,
.abd-theme-california-dreaming .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-california-dreaming .list-social__link,
.abd-theme-california-dreaming .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-california-dreaming .list-social__link:hover,
.abd-theme-california-dreaming .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-california-dreaming .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-california-dreaming .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-california-dreaming .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-california-dreaming .image-with-text,
.abd-theme-california-dreaming .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-california-dreaming .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-california-dreaming .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-california-dreaming .product-recommendations,
.abd-theme-california-dreaming .complementary-products {
    margin-top: 2rem;
}

.abd-theme-california-dreaming .product-recommendations__heading,
.abd-theme-california-dreaming .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-california-dreaming .cart__free-shipping,
.abd-theme-california-dreaming .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-california-dreaming .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-california-dreaming .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-california-dreaming .predictive-search,
.abd-theme-california-dreaming .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-california-dreaming .predictive-search__item,
.abd-theme-california-dreaming .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-california-dreaming .predictive-search__item:hover,
.abd-theme-california-dreaming .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-california-dreaming .skeleton,
.abd-theme-california-dreaming .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

.abd-theme-california-dreaming .header-wrapper,
.abd-theme-california-dreaming header.shopify-section-header {
    background: var(--ocean-blue);
    border-bottom: 2px solid var(--ocean-blue-dark);
    padding: 0.5rem 1rem;
}

.abd-theme-california-dreaming .header__heading,
.abd-theme-california-dreaming .header__heading-link {
    font-family: var(--font-family);
    font-weight: 700;
    color: #fff;
    text-decoration: none;
}

.abd-theme-california-dreaming .header__menu,
.abd-theme-california-dreaming .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-california-dreaming .header__menu-item,
.abd-theme-california-dreaming .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-california-dreaming .header__menu-item a,
.abd-theme-california-dreaming .list-menu__item a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-california-dreaming .header__menu-item a:hover,
.abd-theme-california-dreaming .list-menu__item a:hover {
    color: var(--primary-gold-light);
}

.abd-theme-california-dreaming .header__submenu,
.abd-theme-california-dreaming .mega-menu__content,
.abd-theme-california-dreaming .list-menu--dropdown {
    background: #fff;
    border: 2px solid var(--primary-gold-light);
    box-shadow: 0 4px 15px rgba(0, 188, 212, 0.3);
}

.abd-theme-california-dreaming .header__submenu .list-menu__item a,
.abd-theme-california-dreaming .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
    color: var(--ocean-blue-dark);
}

.abd-theme-california-dreaming .menu-drawer,
.abd-theme-california-dreaming .menu-drawer__navigation {
    background: var(--sand-beige);
    border-right: 2px solid var(--ocean-blue);
}

.abd-theme-california-dreaming .menu-drawer__menu-item,
.abd-theme-california-dreaming .menu-drawer__menu-item .link {
    color: var(--ocean-blue-dark);
    text-decoration: none;
}

.abd-theme-california-dreaming .header__icons,
.abd-theme-california-dreaming .header__icon {
    color: #fff;
}

.abd-theme-california-dreaming .cart-count-bubble,
.abd-theme-california-dreaming .cart-icon-bubble {
    background: var(--ocean-blue-dark);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.abd-theme-california-dreaming .cart-drawer,
.abd-theme-california-dreaming .drawer__inner {
    background: var(--sand-beige);
    border-left: 2px solid var(--ocean-blue);
}

.abd-theme-california-dreaming .cart-drawer .cart-item,
.abd-theme-california-dreaming .cart__item {
    border-bottom: 1px solid var(--primary-gold-light);
    padding: 0.5rem 0;
}

.abd-theme-california-dreaming .cart-drawer .cart-item__title,
.abd-theme-california-dreaming .cart-item__title {
    font-weight: 700;
    color: var(--ocean-blue-dark);
}

.abd-theme-california-dreaming .cart-drawer .cart-item__price,
.abd-theme-california-dreaming .cart-item__price {
    color: var(--ocean-blue-dark);
    font-size: 0.9rem;
}

.abd-theme-california-dreaming .cart__footer,
.abd-theme-california-dreaming .cart__blocks {
    border-top: 2px solid var(--ocean-blue);
    padding-top: 0.75rem;
}

.abd-theme-california-dreaming .cart__ctas button,
.abd-theme-california-dreaming .cart__checkout-button,
.abd-theme-california-dreaming .shopify-payment-button__button {
    background: linear-gradient(135deg, var(--ocean-blue) 0%, var(--ocean-blue-light) 100%);
    color: #fff;
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-california-dreaming .cart__ctas button:hover,
.abd-theme-california-dreaming .cart__checkout-button:hover {
    opacity: 0.9;
}

.abd-theme-california-dreaming .footer,
.abd-theme-california-dreaming .footer__content-top {
    background: linear-gradient(135deg, var(--primary-gold-light) 0%, var(--sand-beige) 100%);
    border-top: 3px solid var(--primary-gold);
    padding: 1rem 0;
}

.abd-theme-california-dreaming .footer__link,
.abd-theme-california-dreaming .footer a {
    color: var(--ocean-blue-dark);
    text-decoration: none;
}

.abd-theme-california-dreaming .search-modal,
.abd-theme-california-dreaming .modal__content {
    background: var(--sand-beige);
    border: 2px solid var(--ocean-blue);
}

.abd-theme-california-dreaming .search-modal__input,
.abd-theme-california-dreaming .search__input {
    border: 2px solid var(--primary-gold);
    color: var(--ocean-blue-dark);
    font-family: var(--font-family);
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-california-dreaming .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-california-dreaming .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-california-dreaming .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-california-dreaming .theme-content {
        padding: 24px;
    }
}


/* --- california-mission.css --- */
/* California Mission — Guacamole Pin-Up Sticker Theme */
.abd-theme-california-mission {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #6A3A4F)));
    --color-foreground: var(--text, var(--ink, var(--color, #212121)));
    --color-primary: var(--accent, var(--primary, #E53935));
    --color-accent: var(--accent, var(--secondary, #8BC34A));
    --color-border: var(--rule, var(--border, #212121));

    /* Guacamole pin-up + California Mission palette */
    --guac-green: #8BC34A;
    --guac-dark: #7CB342;
    --guac-deep: #558B2F;
    --mission-cream: #FFF3E0;
    --mission-terra: #BF360C;
    --mission-roof: #D32F2F;
    --red-swimsuit: #F44336;
    --straw-hat: #FFC107;
    --sky-blue: #4DD0E1;
    --palm-green: #2E7D32;
    --trunk-brown: #795548;
    --bowl-brown: #8D6E63;
    --outer-bg: #6A3A4F;
    --outer-dark: #4A142F;
    --cutout-white: #FFFFFF;
    --outline-black: #212121;
    --skin: #FAD2B8;
    --adobe: var(--mission-cream);
    --sand: var(--bowl-brown);
    --terra: var(--mission-terra);
    --sage: var(--guac-green);
    --wood: var(--trunk-brown);
    --iron: var(--outline-black);
    --candle: var(--straw-hat);
    --parchment: var(--mission-cream);
    --cream: var(--mission-cream);
    --teal: var(--sky-blue);
    --brick: var(--mission-roof);
    --burnt-orange: var(--red-swimsuit);
    --olive-dark: var(--palm-green);
    --paper: var(--mission-cream);
    --bg: var(--outer-bg);
    --ink: var(--outline-black);
    --muted: var(--trunk-brown);
    --rule: rgba(33, 33, 33, 0.25);
    --accent: var(--red-swimsuit);
    --font-body: "Georgia", "Times New Roman", "Times", serif;
    --font-heading: "Georgia", "Times New Roman", "Times", serif;
    --font-label: "Georgia", "Times New Roman", "Times", serif;
    --spacing-small: 8px;
    --spacing-medium: 24px;
    --spacing-large: 48px;
    background:
        radial-gradient(circle at 20% 30%, rgba(139, 195, 74, 0.15) 0%, transparent 10%),
        radial-gradient(circle at 80% 70%, rgba(244, 67, 54, 0.1) 0%, transparent 8%),
        linear-gradient(180deg, var(--outer-bg) 0%, var(--outer-dark) 100%);
    color: var(--ink);
    font-family: var(--font-body);
    line-height: 1.7;
}

.abd-theme-california-mission * {
    box-sizing: border-box;
}

/* Base Layout — sticker cut-out effect */
.abd-theme-california-mission .theme-content {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--spacing-large) var(--spacing-medium);
    background: var(--paper);
    border: 6px solid var(--cutout-white);
    box-shadow: 0 0 0 3px var(--outline-black), 8px 8px 0 var(--mission-terra);
}

/* Typography - Museum Placards & Parish Bulletins */
.abd-theme-california-mission h1,
.abd-theme-california-mission h2,
.abd-theme-california-mission h3,
.abd-theme-california-mission h4,
.abd-theme-california-mission h5,
.abd-theme-california-mission h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--ink);
    margin: var(--spacing-medium) 0 var(--spacing-small) 0;
    line-height: 1.3;
}

.abd-theme-california-mission h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--burnt-orange);
    border-bottom: 3px solid var(--olive-dark);
    padding-bottom: var(--spacing-small);
    margin-bottom: var(--spacing-medium);
    letter-spacing: 0.02em;
}

.abd-theme-california-mission h2 {
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    border-bottom: 2px solid var(--olive-dark);
    padding-bottom: 8px;
    margin-top: var(--spacing-large);
    margin-bottom: var(--spacing-small);
    color: var(--wood);
}

.abd-theme-california-mission h3 {
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    color: var(--wood);
    margin-top: var(--spacing-medium);
}

.abd-theme-california-mission h4,
.abd-theme-california-mission h5,
.abd-theme-california-mission h6 {
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    color: var(--wood);
}

.abd-theme-california-mission p {
    margin: 0 0 var(--spacing-small) 0;
    color: var(--ink);
    line-height: 1.8;
}

/* Labels - Small Caps Style */
.abd-theme-california-mission .kicker,
.abd-theme-california-mission .byline,
.abd-theme-california-mission .dateline,
.abd-theme-california-mission .section-title {
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 600;
    display: block;
    margin-bottom: var(--spacing-small);
}

.abd-theme-california-mission .kicker {
    color: var(--olive-dark);
    border-left: 3px solid var(--olive-dark);
    padding-left: 12px;
    margin-bottom: var(--spacing-small);
}

/* Links - Understated with Terracotta/Sage Hover */
.abd-theme-california-mission a {
    color: var(--wood);
    text-decoration: none;
    border-bottom: 1px solid rgba(107, 91, 79, 0.3);
    transition: all 0.2s ease;
}

.abd-theme-california-mission a:hover {
    color: var(--burnt-orange);
    border-bottom-color: var(--burnt-orange);
    background: rgba(190, 90, 60, 0.1);
}

/* Lists */
.abd-theme-california-mission ul,
.abd-theme-california-mission ol {
    margin: var(--spacing-small) 0 var(--spacing-medium) 0;
    padding-left: var(--spacing-medium);
    color: var(--ink);
}

.abd-theme-california-mission li {
    margin-bottom: 8px;
    line-height: 1.7;
}

.abd-theme-california-mission ul li {
    list-style-type: none;
    position: relative;
    padding-left: 20px;
}

.abd-theme-california-mission ul li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--terra);
    font-weight: bold;
}

/* Blockquote - Prayer / Inscription Style */
.abd-theme-california-mission blockquote {
    margin: var(--spacing-medium) 0;
    padding: var(--spacing-medium);
    border-left: 4px solid var(--olive-dark);
    background: rgba(100, 120, 90, 0.08);
    color: var(--wood);
    font-style: italic;
    line-height: 1.8;
    position: relative;
}

.abd-theme-california-mission blockquote::before {
    content: '"';
    font-size: 3rem;
    color: var(--olive-dark);
    opacity: 0.3;
    position: absolute;
    left: 12px;
    top: 8px;
    font-family: Georgia, serif;
}

/* Code */
.abd-theme-california-mission code {
    background: var(--sand);
    color: var(--wood);
    padding: 2px 6px;
    border: 1px solid var(--rule);
    font-family: "Courier New", "Courier", monospace;
    font-size: 0.9em;
    border-radius: 3px;
}

.abd-theme-california-mission pre {
    background: var(--mission-roof);
    color: var(--cutout-white);
    padding: var(--spacing-medium);
    border: 3px solid var(--outline-black);
    margin: var(--spacing-medium) 0;
    overflow-x: auto;
    font-family: "Courier New", "Courier", monospace;
    box-shadow: 6px 6px 0 var(--guac-deep);
}

.abd-theme-california-mission pre code {
    background: transparent;
    border: none;
    padding: 0;
}

/* Tables */
.abd-theme-california-mission table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--spacing-medium) 0;
    background: var(--mission-cream);
    border: 3px solid var(--outline-black);
    border-radius: 4px;
    overflow: hidden;
}

.abd-theme-california-mission th {
    text-align: left;
    background: var(--mission-terra);
    color: var(--cutout-white);
    padding: 12px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
}

.abd-theme-california-mission td {
    border-top: 1px solid var(--rule);
    padding: 12px;
    color: var(--ink);
}

/* Images — sticker cut-out style */
.abd-theme-california-mission img {
    max-width: 100%;
    height: auto;
    border: 4px solid var(--cutout-white);
    box-shadow: 0 0 0 2px var(--outline-black), 6px 6px 0 var(--mission-terra);
    margin: var(--spacing-medium) 0;
}

/* Rules - Arcade Dividers */
.abd-theme-california-mission hr {
    border: none;
    border-top: 2px solid var(--rule);
    margin: var(--spacing-large) 0;
    position: relative;
}

.abd-theme-california-mission hr::after {
    content: '';
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background: var(--terra);
}

/* Masthead — Mission Sign Style */
.abd-theme-california-mission .masthead {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 700;
    color: var(--iron);
    text-align: center;
    margin: var(--spacing-large) 0;
    padding: var(--spacing-medium) 0;
    border-bottom: 4px solid var(--terra);
    text-shadow: 2px 2px 0 var(--cutout-white), 3px 3px 0 var(--outline-black);
    border-top: 2px solid var(--rule);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-family: var(--font-heading);
}

/* Dek - Subheadline */
.abd-theme-california-mission .dek {
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    color: var(--muted);
    margin: var(--spacing-small) 0 var(--spacing-medium) 0;
    line-height: 1.6;
    font-style: italic;
}

/* Callout — Museum Placard / Docent Note */
.abd-theme-california-mission .callout,
.abd-theme-california-mission .callout-box {
    background: var(--cream);
    border-left: 4px solid var(--guac-green);
    padding: var(--spacing-medium);
    margin: var(--spacing-medium) 0;
    border-radius: 0;
    box-shadow: 0 0 0 2px var(--outline-black), 6px 6px 0 var(--mission-terra);
    border: 3px solid var(--outline-black);
}

.abd-theme-california-mission .callout-box {
    border-left-color: var(--red-swimsuit);
    background: rgba(244, 67, 54, 0.08);
}

/* Pull Quote — Inscription on Wall */
.abd-theme-california-mission .pull-quote {
    font-size: clamp(1.4rem, 3vw, 2rem);
    border-left: 4px solid var(--guac-green);
    padding-left: var(--spacing-medium);
    margin: var(--spacing-large) 0;
    color: var(--wood);
    font-weight: 600;
    font-style: italic;
    line-height: 1.5;
    background: var(--cream);
    padding: var(--spacing-medium);
    border-radius: 0 4px 4px 0;
    border: 3px solid var(--outline-black);
    box-shadow: 6px 6px 0 var(--mission-terra);
}

/* Sidebar — Visitor Notes / Artifacts (Mission List Box Style) */
.abd-theme-california-mission .sidebar {
    border: 4px solid var(--cutout-white);
    border-left: 4px solid var(--red-swimsuit);
    padding: var(--spacing-medium);
    margin: var(--spacing-medium) 0;
    font-size: 0.95rem;
    color: var(--cream);
    font-style: normal;
    background: var(--mission-roof);
    box-shadow: 0 0 0 2px var(--outline-black), 6px 6px 0 var(--guac-deep);
}

/* Highlighted Section */
.abd-theme-california-mission .highlighted-section {
    background: var(--guac-green);
    color: var(--outline-black);
    border: 3px solid var(--outline-black);
    border-left: 4px solid var(--red-swimsuit);
    padding: var(--spacing-medium);
    margin: var(--spacing-medium) 0;
    border-radius: 0;
    box-shadow: 6px 6px 0 var(--mission-terra);
}

/* Tag — Tile-like Badge */
.abd-theme-california-mission .tag {
    display: inline-block;
    padding: 4px 12px;
    background: var(--red-swimsuit);
    color: var(--cutout-white);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 0;
    margin: 2px;
    box-shadow: 0 3px 0 var(--outline-black);
    border: 2px solid var(--outline-black);
}

/* Button — Pin-Up Style */
.abd-theme-california-mission button,
.abd-theme-california-mission .button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--red-swimsuit);
    color: var(--cutout-white);
    border: 3px solid var(--outline-black);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    border-radius: 0;
    box-shadow: 0 4px 0 var(--mission-terra);
}

.abd-theme-california-mission button:hover,
.abd-theme-california-mission .button:hover {
    background: var(--mission-terra);
    color: var(--cutout-white);
    transform: translateY(-2px);
    box-shadow: 0 6px 0 var(--outline-black);
}

/* Figure & Figcaption - Museum Label Captions */
.abd-theme-california-mission figure {
    margin: var(--spacing-medium) 0;
    text-align: center;
}

.abd-theme-california-mission figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: var(--spacing-small);
    font-style: italic;
    text-align: center;
    padding: 8px;
    background: var(--sand);
    border-top: 1px solid var(--rule);
}

/* Cards */
.abd-theme-california-mission .card,
.abd-theme-california-mission .product-card {
    background: var(--mission-cream);
    border: 4px solid var(--cutout-white);
    border-left: 4px solid var(--guac-green);
    border-radius: 0;
    padding: var(--spacing-medium);
    margin: var(--spacing-medium) 0;
    box-shadow: 0 0 0 2px var(--outline-black), 6px 6px 0 var(--mission-terra);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-california-mission .card:hover,
.abd-theme-california-mission .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 0 2px var(--outline-black), 8px 8px 0 var(--guac-deep);
}

/* Grid Layouts */
.abd-theme-california-mission .grid {
    display: grid;
    gap: var(--spacing-medium);
    margin: var(--spacing-medium) 0;
}

.abd-theme-california-mission .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-california-mission .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-california-mission .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-california-mission .grid-2,
    .abd-theme-california-mission .grid-3,
    .abd-theme-california-mission .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-california-mission input[type="text"],
.abd-theme-california-mission input[type="email"],
.abd-theme-california-mission input[type="number"],
.abd-theme-california-mission input[type="password"],
.abd-theme-california-mission textarea,
.abd-theme-california-mission select {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--rule);
    background: var(--adobe);
    color: var(--ink);
    font-family: var(--font-body);
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
    border-radius: 4px;
    transition: border-color 0.2s ease;
}

.abd-theme-california-mission input:focus,
.abd-theme-california-mission textarea:focus,
.abd-theme-california-mission select:focus {
    outline: none;
    border-color: var(--terra);
    box-shadow: 0 0 0 3px rgba(184, 92, 56, 0.1);
}

/* Buttons */
.abd-theme-california-mission .btn {
    display: inline-block;
    padding: 12px 24px;
    background: var(--wood);
    color: var(--adobe);
    border: 2px solid var(--iron);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.abd-theme-california-mission .btn:hover {
    background: var(--iron);
    color: var(--candle);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.abd-theme-california-mission .btn-secondary {
    background: transparent;
    color: var(--wood);
    border-color: var(--wood);
}

.abd-theme-california-mission .btn-secondary:hover {
    background: var(--wood);
    color: var(--adobe);
}

/* Navigation */
.abd-theme-california-mission nav,
.abd-theme-california-mission .nav {
    border-bottom: 3px solid var(--rule);
    padding: var(--spacing-medium) 0;
    margin-bottom: var(--spacing-large);
}

.abd-theme-california-mission .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: var(--spacing-medium);
    flex-wrap: wrap;
}

.abd-theme-california-mission .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
}

.abd-theme-california-mission .nav a:hover {
    border-bottom-color: var(--terra);
    color: var(--terra);
}

.abd-theme-california-mission .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: var(--spacing-medium);
}

.abd-theme-california-mission .breadcrumb a {
    color: var(--wood);
    text-decoration: none;
}

.abd-theme-california-mission .breadcrumb a:hover {
    color: var(--terra);
}

/* Badges */
.abd-theme-california-mission .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--terra);
    color: var(--adobe);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid var(--rule);
    border-radius: 3px;
    box-shadow: 0 2px 4px rgba(184, 92, 56, 0.2);
}

.abd-theme-california-mission .badge-sale {
    background: var(--terra);
}

.abd-theme-california-mission .badge-new {
    background: var(--sage);
}

.abd-theme-california-mission .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-california-mission .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 2px solid var(--rule);
    border-radius: 4px;
    margin: var(--spacing-medium) 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.abd-theme-california-mission .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-california-mission .image-wrapper:hover img {
    transform: scale(1.02);
}

/* Product Elements */
.abd-theme-california-mission .product-price {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: var(--terra);
    margin: var(--spacing-small) 0;
    font-family: var(--font-heading);
}

.abd-theme-california-mission .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-california-mission .product-title {
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    font-weight: 600;
    color: var(--ink);
    margin: var(--spacing-small) 0;
    font-family: var(--font-heading);
}

.abd-theme-california-mission .variant-selector {
    margin: var(--spacing-medium) 0;
}

.abd-theme-california-mission .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
}

.abd-theme-california-mission .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: var(--spacing-medium) 0;
}

.abd-theme-california-mission .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-california-mission .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-california-mission .cart-item {
    border-bottom: 2px solid var(--rule);
    padding: var(--spacing-medium) 0;
    display: flex;
    gap: var(--spacing-medium);
}

.abd-theme-california-mission .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 2px solid var(--rule);
    border-radius: 4px;
}

.abd-theme-california-mission .cart-total {
    border-top: 3px solid var(--terra);
    padding-top: var(--spacing-medium);
    margin-top: var(--spacing-large);
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    font-weight: 700;
    color: var(--ink);
    font-family: var(--font-heading);
}

/* Modals/Overlays */
.abd-theme-california-mission .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(44, 36, 24, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-california-mission .modal {
    background: var(--adobe);
    border: 3px solid var(--wood);
    padding: var(--spacing-large);
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    position: relative;
    border-radius: 4px;
}

.abd-theme-california-mission .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--iron);
    color: var(--adobe);
    border: 2px solid var(--wood);
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.abd-theme-california-mission .modal-close:hover {
    background: var(--terra);
    color: var(--adobe);
}

/* Responsive Design */
@media (min-width: 768px) {
    .abd-theme-california-mission .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: var(--spacing-large);
        max-width: 1200px;
    }
    
    .abd-theme-california-mission .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-california-mission .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 768px) {
    .abd-theme-california-mission .theme-content {
        padding: var(--spacing-medium) var(--spacing-small);
    }
}

/* Motion - Respect Reduced Motion */
/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-california-mission form label,
.abd-theme-california-mission .newsletter-form label,
.abd-theme-california-mission .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-california-mission a:focus-visible,
.abd-theme-california-mission button:focus-visible,
.abd-theme-california-mission input:focus-visible,
.abd-theme-california-mission select:focus-visible,
.abd-theme-california-mission textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-california-mission .announcement-bar,
.abd-theme-california-mission .announcement-bar-section,
.abd-theme-california-mission .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-california-mission .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-california-mission .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-california-mission .newsletter-form,
.abd-theme-california-mission .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-california-mission .newsletter-form .field__input,
.abd-theme-california-mission .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-california-mission .form__message,
.abd-theme-california-mission .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-california-mission .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-california-mission details.accordion,
.abd-theme-california-mission .accordion,
.abd-theme-california-mission .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-california-mission details.accordion summary,
.abd-theme-california-mission .accordion__title,
.abd-theme-california-mission .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-california-mission details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-california-mission details[open] .accordion__content,
.abd-theme-california-mission .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-california-mission .pagination,
.abd-theme-california-mission .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-california-mission .pagination__item {
    margin: 0;
}

.abd-theme-california-mission .pagination__link,
.abd-theme-california-mission .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-california-mission .pagination__link:hover,
.abd-theme-california-mission .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-california-mission .pagination__item--current .pagination__link,
.abd-theme-california-mission .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-california-mission .cart__empty,
.abd-theme-california-mission .collection__empty,
.abd-theme-california-mission .search__no-results,
.abd-theme-california-mission .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-california-mission .cart__empty p,
.abd-theme-california-mission .collection__empty p,
.abd-theme-california-mission .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-california-mission .product-form__input--dropdown,
.abd-theme-california-mission .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-california-mission .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-california-mission .product-form__input label,
.abd-theme-california-mission .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-california-mission .product-form__input input:checked + label,
.abd-theme-california-mission .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-california-mission .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-california-mission .footer__payment,
.abd-theme-california-mission .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-california-mission .footer__payment svg,
.abd-theme-california-mission .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-california-mission .list-social,
.abd-theme-california-mission .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-california-mission .list-social__link,
.abd-theme-california-mission .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-california-mission .list-social__link:hover,
.abd-theme-california-mission .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-california-mission .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-california-mission .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-california-mission .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-california-mission .image-with-text,
.abd-theme-california-mission .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-california-mission .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-california-mission .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-california-mission .product-recommendations,
.abd-theme-california-mission .complementary-products {
    margin-top: 2rem;
}

.abd-theme-california-mission .product-recommendations__heading,
.abd-theme-california-mission .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-california-mission .cart__free-shipping,
.abd-theme-california-mission .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-california-mission .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-california-mission .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-california-mission .predictive-search,
.abd-theme-california-mission .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-california-mission .predictive-search__item,
.abd-theme-california-mission .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-california-mission .predictive-search__item:hover,
.abd-theme-california-mission .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-california-mission .skeleton,
.abd-theme-california-mission .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-california-mission .header-wrapper,
.abd-theme-california-mission header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-california-mission .header__heading,
.abd-theme-california-mission .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-california-mission .header__menu,
.abd-theme-california-mission .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-california-mission .header__menu-item,
.abd-theme-california-mission .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-california-mission .header__menu-item a,
.abd-theme-california-mission .list-menu__item a,
.abd-theme-california-mission .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-california-mission .header__menu-item a:hover,
.abd-theme-california-mission .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-california-mission .header__submenu,
.abd-theme-california-mission .mega-menu__content,
.abd-theme-california-mission .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-california-mission .header__submenu .list-menu__item a,
.abd-theme-california-mission .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-california-mission .menu-drawer,
.abd-theme-california-mission .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-california-mission .menu-drawer__menu-item,
.abd-theme-california-mission .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-california-mission .header__icons,
.abd-theme-california-mission .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-california-mission .cart-count-bubble,
.abd-theme-california-mission .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-california-mission .cart-drawer,
.abd-theme-california-mission .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-california-mission .cart-drawer .cart-item,
.abd-theme-california-mission .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-california-mission .cart-drawer .cart-item__title,
.abd-theme-california-mission .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-california-mission .cart-drawer .cart-item__price,
.abd-theme-california-mission .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-california-mission .cart__footer,
.abd-theme-california-mission .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-california-mission .cart__ctas button,
.abd-theme-california-mission .cart__checkout-button,
.abd-theme-california-mission .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-california-mission .cart__ctas button:hover,
.abd-theme-california-mission .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-california-mission .footer,
.abd-theme-california-mission .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-california-mission .footer__link,
.abd-theme-california-mission .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-california-mission .search-modal,
.abd-theme-california-mission .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-california-mission .search-modal__input,
.abd-theme-california-mission .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-california-mission * {
        transition: none !important;
        animation: none !important;
    }
}


/* --- cubism.css --- */
/* Cubism Theme — Autumn Landscape (Geometric Color Planes) */
.abd-theme-cubism {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #6EC4F2)));
    --color-foreground: var(--text, var(--ink, var(--color, #4B3621)));
    --color-primary: var(--accent, var(--primary, #FF9900));
    --color-accent: var(--accent, var(--secondary, #D2691E));
    --color-border: var(--rule, var(--border, #4B3621));

    /* Autumn landscape palette — sky, foliage, grass, trunk */
    --sky: #6EC4F2;
    --sky-light: #98D3F9;
    --gold: #FFD700;
    --orange: #FF9900;
    --rust: #D2691E;
    --earth: #A0522D;
    --trunk: #4B3621;
    --grass: #228B22;
    --grass-bright: #3CB371;
    --olive: #6B8E23;
    --path: #D3B077;
    --flare-purple: #D68EE0;
    --bg: var(--sky);
    --paper: var(--path);
    --ink: var(--trunk);
    --muted: var(--earth);
    --clay: var(--orange);
    --stone: var(--olive);
    --accent-red: var(--rust);
    --accent-blue: var(--sky);
    --accent-olive: var(--grass);
    --rule: var(--trunk);
    font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    color: var(--ink);
    background: linear-gradient(160deg, var(--sky-light) 0%, var(--sky) 50%, var(--grass) 100%);
}

.abd-theme-cubism * {
    box-sizing: border-box;
}

/* Layout */
.abd-theme-cubism .theme-content {
    max-width: 980px;
    margin: 48px auto;
    padding: 32px;
    background: linear-gradient(180deg, var(--path) 0%, rgba(255, 250, 240, 0.95) 100%);
    border: 4px solid var(--rule);
    box-shadow: 10px 10px 0 var(--earth), 0 0 0 2px var(--trunk);
    position: relative;
}

.abd-theme-cubism .fractured-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.9fr;
    gap: 20px;
}

@media (max-width: 900px) {
    .abd-theme-cubism .fractured-grid {
        grid-template-columns: 1fr;
    }
}

/* Typography */
.abd-theme-cubism h1,
.abd-theme-cubism h2,
.abd-theme-cubism h3,
.abd-theme-cubism h4,
.abd-theme-cubism h5,
.abd-theme-cubism h6 {
    font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.1;
}

.abd-theme-cubism h1 {
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    transform: translateX(-6px);
}

.abd-theme-cubism h2 {
    font-size: clamp(1.6rem, 2.6vw, 2.4rem);
    color: var(--grass);
}

.abd-theme-cubism h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    color: var(--orange);
}

.abd-theme-cubism p {
    margin: 0 0 14px;
    color: var(--muted);
}

/* Fragments — geometric color planes */
.abd-theme-cubism .fragment {
    background: var(--grass-bright);
    border: 3px solid var(--rule);
    padding: 16px;
    position: relative;
    z-index: 1;
    box-shadow: 4px 4px 0 var(--earth);
}

.abd-theme-cubism .fragment.offset {
    transform: translate(12px, -8px);
    background: var(--gold);
    z-index: 2;
    box-shadow: 6px 6px 0 var(--rust);
}

.abd-theme-cubism .fragment.tilt {
    transform: rotate(-1.5deg);
    background: var(--orange);
    z-index: 3;
    box-shadow: 5px 5px 0 var(--earth);
}

/* Links */
.abd-theme-cubism a {
    color: var(--accent-red);
    text-decoration: none;
    border-bottom: 2px solid var(--accent-red);
}

.abd-theme-cubism a:hover {
    color: var(--orange);
    border-bottom-color: var(--orange);
}

/* Lists */
.abd-theme-cubism ul,
.abd-theme-cubism ol {
    margin: 14px 0 18px;
    padding-left: 22px;
}

.abd-theme-cubism li {
    margin-bottom: 6px;
}

/* Blockquotes */
.abd-theme-cubism blockquote {
    margin: 18px 0;
    padding: 14px 16px;
    background: rgba(255, 215, 0, 0.15);
    color: var(--ink);
    border-left: 4px solid var(--orange);
}

/* Code */
.abd-theme-cubism code {
    background: rgba(255, 153, 0, 0.2);
    color: var(--ink);
    padding: 2px 6px;
    border: 1px solid var(--rule);
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-cubism pre {
    background: var(--trunk);
    color: var(--path);
    padding: 16px;
    border: 2px solid var(--rule);
    margin: 18px 0;
    overflow-x: auto;
}

.abd-theme-cubism pre code {
    background: transparent;
    border: none;
    color: var(--path);
}

/* Tables */
.abd-theme-cubism table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    background: var(--path);
    border: 3px solid var(--rule);
}

.abd-theme-cubism th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.8rem;
    background: var(--grass);
    color: #fff;
    padding: 10px 8px;
}

.abd-theme-cubism td {
    border-top: 1px solid var(--rule);
    padding: 10px 8px;
    color: var(--muted);
}

/* Images */
.abd-theme-cubism img {
    max-width: 100%;
    height: auto;
    border: 2px solid var(--rule);
    margin: 14px 0;
}

/* Rules */
.abd-theme-cubism hr {
    border: none;
    border-top: 2px solid var(--rule);
    margin: 20px 0;
}

/* Highlighted section */
.abd-theme-cubism .highlighted-section {
    background: rgba(255, 215, 0, 0.2);
    border: 3px solid var(--rule);
    padding: 16px;
    margin: 18px 0;
    box-shadow: 6px 6px 0 var(--rust);
}

.abd-theme-cubism .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-cubism .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--orange);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-cubism .callout,
.abd-theme-cubism .callout-box {
    background: var(--grass-bright);
    color: var(--trunk);
    border: 3px solid var(--rule);
    padding: 14px 16px;
    margin: 18px 0;
    box-shadow: 6px 6px 0 var(--earth);
}

.abd-theme-cubism .sidebar {
    border-left: 3px solid var(--rule);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Cards */
.abd-theme-cubism .card,
.abd-theme-cubism .product-card {
    background: var(--path);
    border: 3px solid var(--rule);
    padding: 20px;
    margin: 16px 0;
    box-shadow: 6px 6px 0 var(--earth);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-cubism .card:hover,
.abd-theme-cubism .product-card:hover {
    transform: translate(-3px, -3px);
    box-shadow: 8px 8px 0 var(--rust);
}

/* Grid Layouts */
.abd-theme-cubism .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-cubism .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-cubism .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-cubism .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-cubism .grid-2,
    .abd-theme-cubism .grid-3,
    .abd-theme-cubism .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-cubism input[type="text"],
.abd-theme-cubism input[type="email"],
.abd-theme-cubism input[type="number"],
.abd-theme-cubism input[type="password"],
.abd-theme-cubism textarea,
.abd-theme-cubism select {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--rule);
    background: var(--path);
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-cubism input:focus,
.abd-theme-cubism textarea:focus,
.abd-theme-cubism select:focus {
    outline: none;
    border-color: var(--orange);
    box-shadow: 0 0 0 3px rgba(255, 153, 0, 0.3);
}

/* Buttons */
.abd-theme-cubism .btn,
.abd-theme-cubism button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--orange);
    color: var(--trunk);
    border: 3px solid var(--rule);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    box-shadow: 4px 4px 0 var(--earth);
}

.abd-theme-cubism .btn:hover,
.abd-theme-cubism button:hover {
    background: var(--gold);
    border-color: var(--rule);
    transform: translateY(-2px);
    box-shadow: 5px 5px 0 var(--rust);
}

.abd-theme-cubism .btn-secondary {
    background: var(--grass);
    color: #fff;
    border-color: var(--rule);
}

.abd-theme-cubism .btn-secondary:hover {
    background: var(--grass-bright);
    color: var(--trunk);
}

/* Navigation */
.abd-theme-cubism nav,
.abd-theme-cubism .nav {
    border-bottom: 3px solid var(--rule);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-cubism .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-cubism .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-cubism .nav a:hover {
    border-bottom-color: var(--orange);
}

.abd-theme-cubism .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-cubism .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-cubism .breadcrumb a:hover {
    color: var(--orange);
}

/* Badges */
.abd-theme-cubism .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--rust);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid var(--rule);
}

.abd-theme-cubism .badge-sale {
    background: var(--rust);
}

.abd-theme-cubism .badge-new {
    background: var(--grass);
}

.abd-theme-cubism .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-cubism figure {
    margin: 20px 0;
}

.abd-theme-cubism figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-cubism .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--rule);
    margin: 16px 0;
    box-shadow: 6px 6px 0 var(--earth);
}

.abd-theme-cubism .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-cubism .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-cubism .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-cubism .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-cubism .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-cubism .variant-selector {
    margin: 16px 0;
}

.abd-theme-cubism .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
}

.abd-theme-cubism .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-cubism .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-cubism .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-cubism .cart-item {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-cubism .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 2px solid var(--rule);
    box-shadow: 4px 4px 0 var(--earth);
}

.abd-theme-cubism .cart-total {
    border-top: 3px solid var(--orange);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-cubism .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-cubism .modal {
    background: var(--path);
    border: 4px solid var(--rule);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 10px 10px 0 var(--earth);
    position: relative;
}

.abd-theme-cubism .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--orange);
    color: var(--trunk);
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-cubism .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-cubism .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-cubism .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-cubism .theme-content {
        padding: 24px;
    }
}

/* Motion */
/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-cubism form label,
.abd-theme-cubism .newsletter-form label,
.abd-theme-cubism .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-cubism a:focus-visible,
.abd-theme-cubism button:focus-visible,
.abd-theme-cubism input:focus-visible,
.abd-theme-cubism select:focus-visible,
.abd-theme-cubism textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-cubism .announcement-bar,
.abd-theme-cubism .announcement-bar-section,
.abd-theme-cubism .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-cubism .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-cubism .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-cubism .newsletter-form,
.abd-theme-cubism .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-cubism .newsletter-form .field__input,
.abd-theme-cubism .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-cubism .form__message,
.abd-theme-cubism .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-cubism .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-cubism details.accordion,
.abd-theme-cubism .accordion,
.abd-theme-cubism .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-cubism details.accordion summary,
.abd-theme-cubism .accordion__title,
.abd-theme-cubism .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-cubism details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-cubism details[open] .accordion__content,
.abd-theme-cubism .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-cubism .pagination,
.abd-theme-cubism .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-cubism .pagination__item {
    margin: 0;
}

.abd-theme-cubism .pagination__link,
.abd-theme-cubism .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-cubism .pagination__link:hover,
.abd-theme-cubism .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-cubism .pagination__item--current .pagination__link,
.abd-theme-cubism .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-cubism .cart__empty,
.abd-theme-cubism .collection__empty,
.abd-theme-cubism .search__no-results,
.abd-theme-cubism .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-cubism .cart__empty p,
.abd-theme-cubism .collection__empty p,
.abd-theme-cubism .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-cubism .product-form__input--dropdown,
.abd-theme-cubism .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-cubism .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-cubism .product-form__input label,
.abd-theme-cubism .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-cubism .product-form__input input:checked + label,
.abd-theme-cubism .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-cubism .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-cubism .footer__payment,
.abd-theme-cubism .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-cubism .footer__payment svg,
.abd-theme-cubism .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-cubism .list-social,
.abd-theme-cubism .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-cubism .list-social__link,
.abd-theme-cubism .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-cubism .list-social__link:hover,
.abd-theme-cubism .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-cubism .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-cubism .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-cubism .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-cubism .image-with-text,
.abd-theme-cubism .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-cubism .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-cubism .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-cubism .product-recommendations,
.abd-theme-cubism .complementary-products {
    margin-top: 2rem;
}

.abd-theme-cubism .product-recommendations__heading,
.abd-theme-cubism .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-cubism .cart__free-shipping,
.abd-theme-cubism .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-cubism .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-cubism .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-cubism .predictive-search,
.abd-theme-cubism .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-cubism .predictive-search__item,
.abd-theme-cubism .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-cubism .predictive-search__item:hover,
.abd-theme-cubism .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-cubism .skeleton,
.abd-theme-cubism .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-cubism .header-wrapper,
.abd-theme-cubism header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-cubism .header__heading,
.abd-theme-cubism .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-cubism .header__menu,
.abd-theme-cubism .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-cubism .header__menu-item,
.abd-theme-cubism .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-cubism .header__menu-item a,
.abd-theme-cubism .list-menu__item a,
.abd-theme-cubism .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-cubism .header__menu-item a:hover,
.abd-theme-cubism .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-cubism .header__submenu,
.abd-theme-cubism .mega-menu__content,
.abd-theme-cubism .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-cubism .header__submenu .list-menu__item a,
.abd-theme-cubism .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-cubism .menu-drawer,
.abd-theme-cubism .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-cubism .menu-drawer__menu-item,
.abd-theme-cubism .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-cubism .header__icons,
.abd-theme-cubism .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-cubism .cart-count-bubble,
.abd-theme-cubism .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-cubism .cart-drawer,
.abd-theme-cubism .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-cubism .cart-drawer .cart-item,
.abd-theme-cubism .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-cubism .cart-drawer .cart-item__title,
.abd-theme-cubism .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-cubism .cart-drawer .cart-item__price,
.abd-theme-cubism .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-cubism .cart__footer,
.abd-theme-cubism .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-cubism .cart__ctas button,
.abd-theme-cubism .cart__checkout-button,
.abd-theme-cubism .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-cubism .cart__ctas button:hover,
.abd-theme-cubism .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-cubism .footer,
.abd-theme-cubism .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-cubism .footer__link,
.abd-theme-cubism .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-cubism .search-modal,
.abd-theme-cubism .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-cubism .search-modal__input,
.abd-theme-cubism .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-cubism a {
        transition: none;
    }
    .abd-theme-cubism .card,
    .abd-theme-cubism .product-card,
    .abd-theme-cubism .btn,
    .abd-theme-cubism button,
    .abd-theme-cubism .image-wrapper img {
        transition: none;
    }
}


/* --- disco.css --- */
/* 1970s Disco Theme (Nightclubs / Mirrors / Rhythm) */
.abd-theme-disco {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    --bg: #241018;
    --ink: #fff2d9;
    --muted: #f4c07a;
    --gold: #f5c542;
    --amber: #ff9f43;
    --purple: #7a2f8f;
    --magenta: #ff4fb2;
    --teal: #3fe0d0;
    --copper: #d06a2b;
    --shine: rgba(255, 255, 255, 0.35);
    --round-display: "Cooper Black", "Arial Rounded MT Bold", "Trebuchet MS", "Verdana", sans-serif;
    font-family: "Trebuchet MS", "Verdana", sans-serif;
    color: var(--ink);
    background:
        radial-gradient(circle at 20% 20%, rgba(245, 197, 66, 0.28), transparent 40%),
        radial-gradient(circle at 80% 30%, rgba(255, 79, 178, 0.22), transparent 45%),
        radial-gradient(circle at 50% 80%, rgba(63, 224, 208, 0.2), transparent 50%),
        linear-gradient(135deg, #2b0f1f 0%, #241018 45%, #2a1432 100%);
}

.abd-theme-disco * {
    box-sizing: border-box;
}

/* Layout */
.abd-theme-disco .theme-content {
    max-width: 960px;
    margin: 48px auto;
    padding: 32px;
    background:
        linear-gradient(180deg, rgba(43, 26, 15, 0.9), rgba(28, 18, 10, 0.96)),
        radial-gradient(circle at 30% 20%, rgba(255, 79, 178, 0.12), transparent 40%);
    border: 2px solid var(--gold);
    border-radius: 18px;
    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.35),
        0 0 18px rgba(255, 79, 178, 0.25);
}

.abd-theme-disco .rounded-panel {
    background: linear-gradient(135deg, rgba(216, 167, 59, 0.2), rgba(179, 101, 46, 0.2));
    padding: 16px 20px;
    border-radius: 22px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
    margin: 16px 0;
}

/* Typography */
.abd-theme-disco h1,
.abd-theme-disco h2,
.abd-theme-disco h3,
.abd-theme-disco h4,
.abd-theme-disco h5,
.abd-theme-disco h6 {
    font-family: var(--round-display);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gold);
}

.abd-theme-disco h1 {
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    text-shadow:
        0 0 12px rgba(255, 79, 178, 0.7),
        0 0 18px rgba(63, 224, 208, 0.5);
    margin-bottom: 16px;
}

.abd-theme-disco h2 {
    font-size: clamp(1.6rem, 2.6vw, 2.4rem);
    color: var(--magenta);
    text-shadow: 0 0 10px rgba(63, 224, 208, 0.7);
    margin: 20px 0 12px;
}

.abd-theme-disco h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    color: var(--teal);
    margin: 16px 0 10px;
    text-shadow: 0 0 10px rgba(255, 79, 178, 0.6);
}

.abd-theme-disco p {
    margin: 0 0 14px;
    color: var(--ink);
    line-height: 1.7;
}

/* Labels */
.abd-theme-disco .kicker,
.abd-theme-disco .byline,
.abd-theme-disco .dateline,
.abd-theme-disco .section-title {
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--muted);
    background: rgba(255, 255, 255, 0.08);
    padding: 2px 8px;
    border-radius: 999px;
}

/* Links */
.abd-theme-disco a {
    color: var(--teal);
    text-decoration: none;
    border-bottom: 1px solid var(--amber);
}

.abd-theme-disco a:hover {
    color: var(--magenta);
    border-bottom-color: var(--gold);
}

/* Lists */
.abd-theme-disco ul,
.abd-theme-disco ol {
    margin: 14px 0 18px;
    padding-left: 22px;
}

.abd-theme-disco li {
    margin-bottom: 6px;
}

.abd-theme-disco ul li::marker {
    color: var(--gold);
}

/* Blockquotes */
.abd-theme-disco blockquote {
    margin: 18px 0;
    padding: 14px 16px;
    background: rgba(255, 79, 178, 0.18);
    border-left: 4px solid var(--magenta);
    color: var(--ink);
    box-shadow: 0 0 12px rgba(255, 79, 178, 0.35);
}

/* Code */
.abd-theme-disco code {
    background: rgba(63, 224, 208, 0.2);
    color: var(--ink);
    padding: 2px 6px;
    border: 1px solid var(--teal);
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-disco pre {
    background: #1a0f08;
    color: #f7e7c6;
    padding: 14px;
    border: 1px solid var(--teal);
    margin: 18px 0;
    overflow-x: auto;
}

.abd-theme-disco pre code {
    background: transparent;
    border: none;
    color: #f7e7c6;
}

/* Tables */
.abd-theme-disco table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    background: rgba(26, 15, 8, 0.9);
    border: 1px solid var(--teal);
}

.abd-theme-disco th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.8rem;
    background: var(--magenta);
    color: #fff;
    padding: 10px 8px;
}

.abd-theme-disco td {
    border-top: 1px solid rgba(63, 224, 208, 0.35);
    padding: 10px 8px;
    color: var(--ink);
}

/* Images */
.abd-theme-disco img {
    max-width: 100%;
    height: auto;
    border: 2px solid var(--magenta);
    box-shadow: 0 0 12px rgba(255, 79, 178, 0.5);
    margin: 16px 0;
}

/* Rules */
.abd-theme-disco hr {
    border: none;
    border-top: 2px solid var(--teal);
    margin: 20px 0;
    box-shadow: 0 0 10px rgba(63, 224, 208, 0.5);
}

/* Highlighted section */
.abd-theme-disco .highlighted-section {
    border: 2px solid var(--magenta);
    background: rgba(63, 224, 208, 0.18);
    padding: 16px;
    margin: 18px 0;
    box-shadow: 0 0 14px rgba(216, 167, 59, 0.4);
}

.abd-theme-disco .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-disco .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--magenta);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.abd-theme-disco .callout,
.abd-theme-disco .callout-box {
    border: 2px solid var(--magenta);
    padding: 14px 16px;
    margin: 18px 0;
    background: rgba(63, 224, 208, 0.15);
    box-shadow: 0 0 10px rgba(216, 167, 59, 0.3);
}

.abd-theme-disco .sidebar {
    border-left: 3px solid var(--magenta);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Motion */
/* Cards */
.abd-theme-disco .card,
.abd-theme-disco .product-card {
    background: rgba(36, 16, 24, 0.9);
    border: 2px solid var(--magenta);
    border-radius: 8px;
    padding: 20px;
    margin: 16px 0;
    box-shadow: 0 0 14px rgba(216, 167, 59, 0.4);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-disco .card:hover,
.abd-theme-disco .product-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: 0 0 20px rgba(255, 79, 178, 0.6);
}

/* Grid Layouts */
.abd-theme-disco .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-disco .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-disco .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-disco .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-disco .grid-2,
    .abd-theme-disco .grid-3,
    .abd-theme-disco .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-disco input[type="text"],
.abd-theme-disco input[type="email"],
.abd-theme-disco input[type="number"],
.abd-theme-disco input[type="password"],
.abd-theme-disco textarea,
.abd-theme-disco select {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--magenta);
    background: rgba(36, 16, 24, 0.8);
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-disco input:focus,
.abd-theme-disco textarea:focus,
.abd-theme-disco select:focus {
    outline: none;
    border-color: var(--teal);
    box-shadow: 0 0 0 3px rgba(63, 224, 208, 0.3);
}

/* Buttons */
.abd-theme-disco .btn,
.abd-theme-disco button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--magenta);
    color: #ffffff;
    border: 2px solid var(--magenta);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    box-shadow: 0 0 10px rgba(255, 79, 178, 0.4);
}

.abd-theme-disco .btn:hover,
.abd-theme-disco button:hover {
    background: var(--teal);
    border-color: var(--teal);
    transform: translateY(-2px);
    box-shadow: 0 0 15px rgba(63, 224, 208, 0.5);
}

.abd-theme-disco .btn-secondary {
    background: transparent;
    color: var(--magenta);
}

.abd-theme-disco .btn-secondary:hover {
    background: var(--magenta);
    color: #ffffff;
}

/* Navigation */
.abd-theme-disco nav,
.abd-theme-disco .nav {
    border-bottom: 3px solid var(--magenta);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-disco .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-disco .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-disco .nav a:hover {
    border-bottom-color: var(--teal);
}

.abd-theme-disco .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-disco .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-disco .breadcrumb a:hover {
    color: var(--teal);
}

/* Badges */
.abd-theme-disco .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--magenta);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid var(--teal);
    box-shadow: 0 0 8px rgba(255, 79, 178, 0.4);
}

.abd-theme-disco .badge-sale {
    background: var(--amber);
}

.abd-theme-disco .badge-new {
    background: var(--teal);
}

.abd-theme-disco .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-disco figure {
    margin: 20px 0;
}

.abd-theme-disco figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-disco .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 2px solid var(--magenta);
    margin: 16px 0;
    box-shadow: 0 0 10px rgba(255, 79, 178, 0.3);
}

.abd-theme-disco .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-disco .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-disco .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gold);
    margin: 12px 0;
}

.abd-theme-disco .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-disco .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-disco .variant-selector {
    margin: 16px 0;
}

.abd-theme-disco .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
}

.abd-theme-disco .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-disco .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-disco .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-disco .cart-item {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-disco .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 2px solid var(--magenta);
    box-shadow: 0 0 8px rgba(255, 79, 178, 0.3);
}

.abd-theme-disco .cart-total {
    border-top: 3px solid var(--magenta);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--gold);
}

/* Modals/Overlays */
.abd-theme-disco .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-disco .modal {
    background: rgba(36, 16, 24, 0.95);
    border: 3px solid var(--magenta);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 0 20px rgba(255, 79, 178, 0.5);
    position: relative;
}

.abd-theme-disco .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--amber);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-disco .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-disco .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-disco .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-disco .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-disco form label,
.abd-theme-disco .newsletter-form label,
.abd-theme-disco .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-disco a:focus-visible,
.abd-theme-disco button:focus-visible,
.abd-theme-disco input:focus-visible,
.abd-theme-disco select:focus-visible,
.abd-theme-disco textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-disco .announcement-bar,
.abd-theme-disco .announcement-bar-section,
.abd-theme-disco .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-disco .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-disco .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-disco .newsletter-form,
.abd-theme-disco .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-disco .newsletter-form .field__input,
.abd-theme-disco .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-disco .form__message,
.abd-theme-disco .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-disco .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-disco details.accordion,
.abd-theme-disco .accordion,
.abd-theme-disco .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-disco details.accordion summary,
.abd-theme-disco .accordion__title,
.abd-theme-disco .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-disco details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-disco details[open] .accordion__content,
.abd-theme-disco .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-disco .pagination,
.abd-theme-disco .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-disco .pagination__item {
    margin: 0;
}

.abd-theme-disco .pagination__link,
.abd-theme-disco .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-disco .pagination__link:hover,
.abd-theme-disco .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-disco .pagination__item--current .pagination__link,
.abd-theme-disco .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-disco .cart__empty,
.abd-theme-disco .collection__empty,
.abd-theme-disco .search__no-results,
.abd-theme-disco .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-disco .cart__empty p,
.abd-theme-disco .collection__empty p,
.abd-theme-disco .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-disco .product-form__input--dropdown,
.abd-theme-disco .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-disco .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-disco .product-form__input label,
.abd-theme-disco .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-disco .product-form__input input:checked + label,
.abd-theme-disco .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-disco .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-disco .footer__payment,
.abd-theme-disco .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-disco .footer__payment svg,
.abd-theme-disco .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-disco .list-social,
.abd-theme-disco .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-disco .list-social__link,
.abd-theme-disco .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-disco .list-social__link:hover,
.abd-theme-disco .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-disco .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-disco .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-disco .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-disco .image-with-text,
.abd-theme-disco .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-disco .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-disco .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-disco .product-recommendations,
.abd-theme-disco .complementary-products {
    margin-top: 2rem;
}

.abd-theme-disco .product-recommendations__heading,
.abd-theme-disco .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-disco .cart__free-shipping,
.abd-theme-disco .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-disco .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-disco .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-disco .predictive-search,
.abd-theme-disco .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-disco .predictive-search__item,
.abd-theme-disco .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-disco .predictive-search__item:hover,
.abd-theme-disco .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-disco .skeleton,
.abd-theme-disco .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-disco .header-wrapper,
.abd-theme-disco header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-disco .header__heading,
.abd-theme-disco .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-disco .header__menu,
.abd-theme-disco .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-disco .header__menu-item,
.abd-theme-disco .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-disco .header__menu-item a,
.abd-theme-disco .list-menu__item a,
.abd-theme-disco .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-disco .header__menu-item a:hover,
.abd-theme-disco .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-disco .header__submenu,
.abd-theme-disco .mega-menu__content,
.abd-theme-disco .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-disco .header__submenu .list-menu__item a,
.abd-theme-disco .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-disco .menu-drawer,
.abd-theme-disco .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-disco .menu-drawer__menu-item,
.abd-theme-disco .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-disco .header__icons,
.abd-theme-disco .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-disco .cart-count-bubble,
.abd-theme-disco .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-disco .cart-drawer,
.abd-theme-disco .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-disco .cart-drawer .cart-item,
.abd-theme-disco .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-disco .cart-drawer .cart-item__title,
.abd-theme-disco .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-disco .cart-drawer .cart-item__price,
.abd-theme-disco .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-disco .cart__footer,
.abd-theme-disco .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-disco .cart__ctas button,
.abd-theme-disco .cart__checkout-button,
.abd-theme-disco .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-disco .cart__ctas button:hover,
.abd-theme-disco .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-disco .footer,
.abd-theme-disco .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-disco .footer__link,
.abd-theme-disco .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-disco .search-modal,
.abd-theme-disco .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-disco .search-modal__input,
.abd-theme-disco .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-disco a {
        transition: none;
    }
    .abd-theme-disco .card,
    .abd-theme-disco .product-card,
    .abd-theme-disco .btn,
    .abd-theme-disco button,
    .abd-theme-disco .image-wrapper img {
        transition: none;
    }
}


/* --- france.css --- */
/* France Theme (Tricolore Editorial / Parisian) */
.abd-theme-france {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    /* Variables */
    --paper: #f7f4ef;
    --ink: #2b2b2b;
    --fr-blue: #1f4aa8;
    --fr-red: #c9232f;
    --muted: #6b6b6b;
    --rule: rgba(43, 43, 43, 0.2);
    --soft: rgba(43, 43, 43, 0.08);
    --serif: "Didot", "Bodoni MT", "Bodoni 72", "Garamond", "Georgia", "Times New Roman", serif;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.75), rgba(247, 244, 239, 0.95)),
        repeating-linear-gradient(90deg, rgba(31, 74, 168, 0.06) 0 2px, transparent 2px 100%),
        repeating-linear-gradient(180deg, rgba(43, 43, 43, 0.05) 0 1px, transparent 1px 28px),
        radial-gradient(circle at 15% 12%, rgba(201, 35, 47, 0.06), transparent 28%),
        radial-gradient(circle at 85% 70%, rgba(0, 0, 0, 0.02), transparent 45%),
        var(--paper);
    color: var(--ink);
    font-family: var(--serif);
    line-height: 1.7;
}

.abd-theme-france * {
    box-sizing: border-box;
}

/* Base */
.abd-theme-france .theme-content {
    max-width: 960px;
    margin: 48px auto;
    padding: 32px;
    border: 1px solid var(--rule);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.6);
    box-shadow:
        inset 0 0 0 1px rgba(31, 74, 168, 0.08),
        inset 0 0 0 3px rgba(201, 35, 47, 0.04);
}

.abd-theme-france hr {
    border: none;
    height: 2px;
    background: linear-gradient(90deg, var(--fr-blue) 0%, #ffffff 50%, var(--fr-red) 100%);
    margin: 24px 0;
}

.abd-theme-france p {
    margin: 0 0 16px;
    color: var(--ink);
}

/* Typography */
.abd-theme-france h1,
.abd-theme-france h2,
.abd-theme-france h3,
.abd-theme-france h4,
.abd-theme-france h5,
.abd-theme-france h6 {
    font-family: var(--serif);
    color: var(--ink);
    line-height: 1.15;
    margin: 24px 0 12px;
}

.abd-theme-france h1 {
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    letter-spacing: 0.01em;
    border-bottom: 2px solid transparent;
    padding-bottom: 10px;
    background-image: linear-gradient(90deg, var(--fr-blue), #ffffff 50%, var(--fr-red));
    background-size: 100% 2px;
    background-repeat: no-repeat;
    background-position: 0 100%;
    text-transform: uppercase;
    font-variant: small-caps;
    letter-spacing: 0.06em;
}

.abd-theme-france h2 {
    font-size: clamp(1.6rem, 2.6vw, 2.3rem);
    color: var(--fr-blue);
    text-transform: uppercase;
    font-variant: small-caps;
    letter-spacing: 0.08em;
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--fr-red);
}

.abd-theme-france h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    color: var(--fr-red);
    text-transform: uppercase;
    font-variant: small-caps;
    letter-spacing: 0.07em;
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--fr-blue);
    box-shadow: none;
}


/* Layout */
.abd-theme-france .feature-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 24px;
    margin: 24px 0;
}

.abd-theme-france .sidebar {
    border-left: 4px solid var(--accent);
    padding: 24px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid var(--rule);
    border-left: 5px solid var(--accent);
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.abd-theme-france .sidebar h3,
.abd-theme-france .sidebar h4 {
    color: var(--accent);
    font-size: 1rem;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 12px;
    border-bottom: 2px solid var(--rule);
    padding-bottom: 8px;
}

.abd-theme-france .sidebar ul {
    list-style: none;
    padding: 0;
}

.abd-theme-france .sidebar li {
    padding: 8px 0;
    border-bottom: 1px solid var(--rule);
}

.abd-theme-france .sidebar li:last-child {
    border-bottom: none;
}

@media (max-width: 900px) {
    .abd-theme-france .feature-layout {
        grid-template-columns: 1fr;
    }

    .abd-theme-france .sidebar {
        border-left: 4px solid var(--accent);
        border-top: 2px solid var(--rule);
        padding: 24px;
    }
}

/* Components */
.abd-theme-france .masthead {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--fr-blue);
    border-bottom: 1px solid var(--rule);
    padding-bottom: 8px;
    margin-bottom: 18px;
    position: relative;
}

.abd-theme-france .kicker,
.abd-theme-france .section-title {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--fr-blue);
    font-variant: small-caps;
    background: rgba(31, 74, 168, 0.06);
    padding: 4px 10px;
    display: inline-block;
    border-radius: 999px;
    border: 1px solid rgba(201, 35, 47, 0.2);
}

.abd-theme-france .dek {
    font-size: 1.05rem;
    color: var(--muted);
    margin: 8px 0 16px;
}

.abd-theme-france .byline,
.abd-theme-france .dateline {
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
}

.abd-theme-france a {
    color: var(--fr-blue);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

.abd-theme-france a:hover {
    color: var(--fr-red);
}

.abd-theme-france blockquote {
    margin: 20px 0;
    padding: 16px 18px;
    border-left: 3px solid var(--fr-blue);
    background: linear-gradient(90deg, rgba(31, 74, 168, 0.06), rgba(255, 255, 255, 0.6));
    color: var(--ink);
    font-style: italic;
}

.abd-theme-france .pull-quote {
    font-size: clamp(1.3rem, 2.6vw, 1.9rem);
    border-left: 4px solid var(--fr-red);
    padding-left: 14px;
    margin: 22px 0;
    color: var(--ink);
}

.abd-theme-france .callout {
    border: 1px solid var(--rule);
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.7);
}

.abd-theme-france figure {
    margin: 20px 0;
}

.abd-theme-france figcaption {
    font-size: 0.85rem;
    color: var(--muted);
    border-top: 1px solid var(--rule);
    padding-top: 8px;
}

.abd-theme-france .tag {
    display: inline-block;
    border: 1px solid var(--fr-blue);
    color: var(--fr-blue);
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.abd-theme-france .button {
    display: inline-block;
    background: transparent;
    color: var(--fr-red);
    border: 1px solid var(--fr-red);
    padding: 10px 18px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.8rem;
    transition: all 0.2s ease;
    box-shadow: inset 0 0 0 1px rgba(31, 74, 168, 0.15);
}

.abd-theme-france .button:hover {
    background: var(--fr-red);
    color: #ffffff;
}

.abd-theme-france .highlighted-section {
    border: 2px solid transparent;
    padding: 16px 18px;
    margin: 20px 0;
    background:
        linear-gradient(90deg, rgba(31, 74, 168, 0.12), rgba(255, 255, 255, 0.8) 50%, rgba(201, 35, 47, 0.12)),
        #ffffff;
    background-clip: padding-box;
    border-radius: 12px;
    box-shadow:
        0 8px 18px rgba(31, 74, 168, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        inset 0 -1px 0 rgba(43, 43, 43, 0.12);
    position: relative;
}

.abd-theme-france .highlighted-section::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: 14px;
    background: linear-gradient(90deg, var(--fr-blue), #ffffff 50%, var(--fr-red));
    z-index: -1;
}

.abd-theme-france .highlighted-section::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 9px;
    border: 1px solid rgba(43, 43, 43, 0.12);
    pointer-events: none;
}

/* Lists and tables */
.abd-theme-france ul,
.abd-theme-france ol {
    margin: 16px 0 20px;
    padding-left: 22px;
}

.abd-theme-france table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    border: 1px solid var(--rule);
    background: rgba(255, 255, 255, 0.7);
}

.abd-theme-france th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.75rem;
    color: var(--fr-blue);
    border-bottom: 1px solid var(--rule);
    padding: 10px;
}

.abd-theme-france td {
    padding: 10px;
    border-top: 1px solid var(--soft);
}

.abd-theme-france code {
    background: rgba(31, 74, 168, 0.12);
    color: var(--fr-blue);
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid rgba(31, 74, 168, 0.25);
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-france pre {
    background: #1c1c1c;
    color: #f7f4ef;
    padding: 16px;
    border-radius: 8px;
    border: 1px solid rgba(31, 74, 168, 0.25);
    margin: 18px 0;
    overflow-x: auto;
}

.abd-theme-france pre code {
    background: transparent;
    border: none;
    color: inherit;
    padding: 0;
}

/* Cards */
.abd-theme-france .card,
.abd-theme-france .product-card {
    background: #ffffff;
    border: 2px solid var(--fr-blue);
    border-radius: 12px;
    padding: 20px;
    margin: 16px 0;
    box-shadow: 0 8px 18px rgba(31, 74, 168, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-france .card:hover,
.abd-theme-france .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(31, 74, 168, 0.12);
}

/* Grid Layouts */
.abd-theme-france .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-france .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-france .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-france .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-france .grid-2,
    .abd-theme-france .grid-3,
    .abd-theme-france .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-france input[type="text"],
.abd-theme-france input[type="email"],
.abd-theme-france input[type="number"],
.abd-theme-france input[type="password"],
.abd-theme-france textarea,
.abd-theme-france select {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--rule);
    background: #ffffff;
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
    border-radius: 6px;
}

.abd-theme-france input:focus,
.abd-theme-france textarea:focus,
.abd-theme-france select:focus {
    outline: none;
    border-color: var(--fr-blue);
    box-shadow: 0 0 0 3px rgba(31, 74, 168, 0.1);
}

/* Buttons - extending existing .button */
.abd-theme-france .btn {
    display: inline-block;
    background: transparent;
    color: var(--fr-red);
    border: 1px solid var(--fr-red);
    padding: 10px 18px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.8rem;
    transition: all 0.2s ease;
    box-shadow: inset 0 0 0 1px rgba(31, 74, 168, 0.15);
    text-decoration: none;
    cursor: pointer;
}

.abd-theme-france .btn:hover {
    background: var(--fr-red);
    color: #ffffff;
}

.abd-theme-france .btn-secondary {
    background: transparent;
    color: var(--fr-blue);
    border-color: var(--fr-blue);
}

.abd-theme-france .btn-secondary:hover {
    background: var(--fr-blue);
    color: #ffffff;
}

/* Navigation */
.abd-theme-france nav,
.abd-theme-france .nav {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-france .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-france .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-france .nav a:hover {
    border-bottom-color: var(--fr-red);
}

.abd-theme-france .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-france .breadcrumb a {
    color: var(--fr-blue);
    text-decoration: none;
}

.abd-theme-france .breadcrumb a:hover {
    color: var(--fr-red);
}

/* Badges */
.abd-theme-france .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--fr-red);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 999px;
}

.abd-theme-france .badge-sale {
    background: var(--fr-red);
}

.abd-theme-france .badge-new {
    background: var(--fr-blue);
}

.abd-theme-france .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-france figure {
    margin: 20px 0;
}

.abd-theme-france figcaption {
    font-size: 0.85rem;
    color: var(--muted);
    margin-top: 6px;
    border-left: 2px solid var(--accent);
    padding-left: 8px;
}

.abd-theme-france .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--rule);
    border-radius: 8px;
    margin: 16px 0;
}

.abd-theme-france .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-france .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-france .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-france .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-france .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-france .variant-selector {
    margin: 16px 0;
}

.abd-theme-france .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
}

.abd-theme-france .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-france .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-france .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-france .cart-item {
    border-bottom: 1px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-france .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 1px solid var(--rule);
    border-radius: 6px;
}

.abd-theme-france .cart-total {
    border-top: 2px solid var(--fr-blue);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-france .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-france .modal {
    background: #ffffff;
    border: 2px solid var(--fr-blue);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 8px 18px rgba(31, 74, 168, 0.15);
    position: relative;
    border-radius: 12px;
}

.abd-theme-france .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--fr-red);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-france form label,
.abd-theme-france .newsletter-form label,
.abd-theme-france .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-france a:focus-visible,
.abd-theme-france button:focus-visible,
.abd-theme-france input:focus-visible,
.abd-theme-france select:focus-visible,
.abd-theme-france textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-france .announcement-bar,
.abd-theme-france .announcement-bar-section,
.abd-theme-france .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-france .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-france .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-france .newsletter-form,
.abd-theme-france .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-france .newsletter-form .field__input,
.abd-theme-france .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-france .form__message,
.abd-theme-france .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-france .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-france details.accordion,
.abd-theme-france .accordion,
.abd-theme-france .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-france details.accordion summary,
.abd-theme-france .accordion__title,
.abd-theme-france .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-france details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-france details[open] .accordion__content,
.abd-theme-france .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-france .pagination,
.abd-theme-france .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-france .pagination__item {
    margin: 0;
}

.abd-theme-france .pagination__link,
.abd-theme-france .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-france .pagination__link:hover,
.abd-theme-france .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-france .pagination__item--current .pagination__link,
.abd-theme-france .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-france .cart__empty,
.abd-theme-france .collection__empty,
.abd-theme-france .search__no-results,
.abd-theme-france .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-france .cart__empty p,
.abd-theme-france .collection__empty p,
.abd-theme-france .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-france .product-form__input--dropdown,
.abd-theme-france .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-france .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-france .product-form__input label,
.abd-theme-france .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-france .product-form__input input:checked + label,
.abd-theme-france .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-france .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-france .footer__payment,
.abd-theme-france .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-france .footer__payment svg,
.abd-theme-france .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-france .list-social,
.abd-theme-france .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-france .list-social__link,
.abd-theme-france .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-france .list-social__link:hover,
.abd-theme-france .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-france .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-france .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-france .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-france .image-with-text,
.abd-theme-france .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-france .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-france .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-france .product-recommendations,
.abd-theme-france .complementary-products {
    margin-top: 2rem;
}

.abd-theme-france .product-recommendations__heading,
.abd-theme-france .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-france .cart__free-shipping,
.abd-theme-france .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-france .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-france .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-france .predictive-search,
.abd-theme-france .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-france .predictive-search__item,
.abd-theme-france .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-france .predictive-search__item:hover,
.abd-theme-france .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-france .skeleton,
.abd-theme-france .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-france .header-wrapper,
.abd-theme-france header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-france .header__heading,
.abd-theme-france .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-france .header__menu,
.abd-theme-france .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-france .header__menu-item,
.abd-theme-france .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-france .header__menu-item a,
.abd-theme-france .list-menu__item a,
.abd-theme-france .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-france .header__menu-item a:hover,
.abd-theme-france .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-france .header__submenu,
.abd-theme-france .mega-menu__content,
.abd-theme-france .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-france .header__submenu .list-menu__item a,
.abd-theme-france .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-france .menu-drawer,
.abd-theme-france .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-france .menu-drawer__menu-item,
.abd-theme-france .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-france .header__icons,
.abd-theme-france .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-france .cart-count-bubble,
.abd-theme-france .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-france .cart-drawer,
.abd-theme-france .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-france .cart-drawer .cart-item,
.abd-theme-france .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-france .cart-drawer .cart-item__title,
.abd-theme-france .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-france .cart-drawer .cart-item__price,
.abd-theme-france .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-france .cart__footer,
.abd-theme-france .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-france .cart__ctas button,
.abd-theme-france .cart__checkout-button,
.abd-theme-france .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-france .cart__ctas button:hover,
.abd-theme-france .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-france .footer,
.abd-theme-france .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-france .footer__link,
.abd-theme-france .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-france .search-modal,
.abd-theme-france .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-france .search-modal__input,
.abd-theme-france .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-france a,
    .abd-theme-france .button {
        transition: none;
    }
    .abd-theme-france .card,
    .abd-theme-france .product-card,
    .abd-theme-france .btn,
    .abd-theme-france button,
    .abd-theme-france .image-wrapper img {
        transition: none;
    }
}


/* --- free-love.css --- */
/* 1960s Free Love — Pin-Up Flower Power Theme */
.abd-theme-free-love {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #f7efe0)));
    --color-foreground: var(--text, var(--ink, var(--color, #3b2a1e)));
    --color-primary: var(--accent, var(--primary, #ff6b6b));
    --color-accent: var(--accent, var(--secondary, #5fbf6a));
    --color-border: var(--rule, var(--border, #3b2a1e));

    /* Pin-up flower power palette */
    --bg: #f7efe0;
    --ink: #3b2a1e;
    --muted: #6a4f3a;
    --sun: #f6c344;
    --sky: #5bb6ff;
    --rose: #ff6b6b;
    --leaf: #5fbf6a;
    --earth: #c58b5a;
    --cutout-white: #ffffff;
    --outline-black: #3b2a1e;
    font-family: "Trebuchet MS", "Verdana", sans-serif;
    color: var(--ink);
    background:
        radial-gradient(circle at 15% 20%, rgba(246, 195, 68, 0.25), transparent 35%),
        radial-gradient(circle at 75% 30%, rgba(91, 182, 255, 0.2), transparent 40%),
        radial-gradient(circle at 40% 80%, rgba(255, 107, 107, 0.2), transparent 45%),
        var(--bg);
    border: 6px solid var(--cutout-white);
    border-radius: 0;
    box-shadow: 0 0 0 3px var(--outline-black), 0 8px 24px rgba(59, 42, 30, 0.2);
}

.abd-theme-free-love * {
    box-sizing: border-box;
}

/* Layout */
.abd-theme-free-love .theme-content {
    max-width: 940px;
    margin: 48px auto;
    padding: 32px;
    background: #fbf4e7;
    border: 4px solid var(--outline-black);
    border-radius: 0;
    box-shadow: 8px 8px 0 var(--outline-black);
}

.abd-theme-free-love .overlap {
    background: var(--sun);
    padding: 16px 18px;
    margin: 16px 0;
    border-radius: 0;
    transform: translateX(8px);
    border: 3px solid var(--outline-black);
    box-shadow: 4px 4px 0 var(--outline-black);
}

/* Typography */
.abd-theme-free-love h1,
.abd-theme-free-love h2,
.abd-theme-free-love h3,
.abd-theme-free-love h4,
.abd-theme-free-love h5,
.abd-theme-free-love h6 {
    font-family: "Comic Sans MS", "Trebuchet MS", sans-serif;
    font-weight: 700;
    color: var(--ink);
}

.abd-theme-free-love h1 {
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    color: var(--rose);
    text-shadow: 2px 2px 0 var(--cutout-white), 3px 3px 0 var(--outline-black);
    margin-bottom: 16px;
}

.abd-theme-free-love h2 {
    font-size: clamp(1.6rem, 2.6vw, 2.4rem);
    color: var(--sky);
    text-shadow: 2px 2px 0 var(--cutout-white), 3px 3px 0 var(--outline-black);
    margin: 20px 0 12px;
}

.abd-theme-free-love h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    color: var(--leaf);
    text-shadow: 2px 2px 0 var(--cutout-white), 3px 3px 0 var(--outline-black);
    margin: 16px 0 10px;
}

.abd-theme-free-love p {
    margin: 0 0 14px;
    color: var(--ink);
    line-height: 1.75;
}

/* Labels */
.abd-theme-free-love .kicker,
.abd-theme-free-love .byline,
.abd-theme-free-love .dateline,
.abd-theme-free-love .section-title {
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
}

/* Links */
.abd-theme-free-love a {
    color: var(--rose);
    text-decoration: underline;
}

.abd-theme-free-love a:hover {
    color: var(--sky);
}

/* Lists */
.abd-theme-free-love ul,
.abd-theme-free-love ol {
    margin: 14px 0 18px;
    padding-left: 22px;
}

.abd-theme-free-love ul li::marker {
    color: var(--sun);
}

/* Blockquotes */
.abd-theme-free-love blockquote {
    margin: 18px 0;
    padding: 14px 16px;
    background: rgba(91, 182, 255, 0.15);
    border-left: 4px solid var(--sky);
    color: var(--ink);
}

/* Code */
.abd-theme-free-love code {
    background: rgba(197, 139, 90, 0.2);
    color: var(--ink);
    padding: 2px 6px;
    border: 1px solid var(--earth);
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-free-love pre {
    background: #3b2a1e;
    color: #fbf4e7;
    padding: 14px;
    border: 2px solid var(--earth);
    margin: 18px 0;
    overflow-x: auto;
}

.abd-theme-free-love pre code {
    background: transparent;
    border: none;
    color: #fbf4e7;
}

/* Tables */
.abd-theme-free-love table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    background: #fff7ea;
    border: 2px solid var(--earth);
}

.abd-theme-free-love th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.8rem;
    background: var(--sun);
    color: #3b2a1e;
    padding: 10px 8px;
}

.abd-theme-free-love td {
    border-top: 1px solid var(--earth);
    padding: 10px 8px;
    color: var(--ink);
}

/* Images */
.abd-theme-free-love img {
    max-width: 100%;
    height: auto;
    border: 2px solid var(--earth);
    margin: 16px 0;
}

/* Rules */
.abd-theme-free-love hr {
    border: none;
    border-top: 3px dotted var(--earth);
    margin: 20px 0;
}

/* Highlighted section */
.abd-theme-free-love .highlighted-section {
    border: 3px solid var(--outline-black);
    border-radius: 0;
    background: var(--leaf);
    color: var(--cutout-white);
    padding: 16px;
    margin: 18px 0;
    box-shadow: 4px 4px 0 var(--outline-black);
}

.abd-theme-free-love .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-free-love .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--sun);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-free-love .callout,
.abd-theme-free-love .callout-box {
    border: 2px solid var(--sun);
    padding: 14px 16px;
    margin: 18px 0;
    background: rgba(255, 107, 107, 0.1);
    box-shadow: 4px 4px 0 var(--sun);
}

.abd-theme-free-love .sidebar {
    border-left: 3px solid var(--sun);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Cards */
.abd-theme-free-love .card,
.abd-theme-free-love .product-card {
    background: #ffffff;
    border: 2px solid var(--sun);
    border-radius: 8px;
    padding: 20px;
    margin: 16px 0;
    box-shadow: 4px 4px 0 var(--sun);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-free-love .card:hover,
.abd-theme-free-love .product-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: 6px 6px 0 var(--sun);
}

/* Grid Layouts */
.abd-theme-free-love .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-free-love .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-free-love .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-free-love .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-free-love .grid-2,
    .abd-theme-free-love .grid-3,
    .abd-theme-free-love .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-free-love input[type="text"],
.abd-theme-free-love input[type="email"],
.abd-theme-free-love input[type="number"],
.abd-theme-free-love input[type="password"],
.abd-theme-free-love textarea,
.abd-theme-free-love select {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--sun);
    background: #ffffff;
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-free-love input:focus,
.abd-theme-free-love textarea:focus,
.abd-theme-free-love select:focus {
    outline: none;
    border-color: var(--rose);
    box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.2);
}

/* Buttons */
.abd-theme-free-love .btn,
.abd-theme-free-love button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--sun);
    color: var(--ink);
    border: 2px solid var(--sun);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.abd-theme-free-love .btn:hover,
.abd-theme-free-love button:hover {
    background: var(--rose);
    border-color: var(--rose);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 4px 4px 0 var(--sun);
}

.abd-theme-free-love .btn-secondary {
    background: transparent;
    color: var(--sun);
}

.abd-theme-free-love .btn-secondary:hover {
    background: var(--sun);
    color: var(--ink);
}

/* Navigation */
.abd-theme-free-love nav,
.abd-theme-free-love .nav {
    border-bottom: 3px solid var(--sun);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-free-love .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-free-love .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-free-love .nav a:hover {
    border-bottom-color: var(--rose);
}

.abd-theme-free-love .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-free-love .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-free-love .breadcrumb a:hover {
    color: var(--rose);
}

/* Badges */
.abd-theme-free-love .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--rose);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid var(--sun);
}

.abd-theme-free-love .badge-sale {
    background: var(--rose);
}

.abd-theme-free-love .badge-new {
    background: var(--leaf);
}

.abd-theme-free-love .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-free-love figure {
    margin: 20px 0;
}

.abd-theme-free-love figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-free-love .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 2px solid var(--sun);
    margin: 16px 0;
}

.abd-theme-free-love .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-free-love .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-free-love .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-free-love .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-free-love .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-free-love .variant-selector {
    margin: 16px 0;
}

.abd-theme-free-love .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
}

.abd-theme-free-love .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-free-love .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-free-love .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-free-love .cart-item {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-free-love .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 2px solid var(--sun);
}

.abd-theme-free-love .cart-total {
    border-top: 3px solid var(--sun);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-free-love .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-free-love .modal {
    background: #ffffff;
    border: 3px solid var(--sun);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 8px 8px 0 var(--sun);
    position: relative;
}

.abd-theme-free-love .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--rose);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-free-love .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-free-love .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-free-love .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-free-love .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-free-love form label,
.abd-theme-free-love .newsletter-form label,
.abd-theme-free-love .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-free-love a:focus-visible,
.abd-theme-free-love button:focus-visible,
.abd-theme-free-love input:focus-visible,
.abd-theme-free-love select:focus-visible,
.abd-theme-free-love textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-free-love .announcement-bar,
.abd-theme-free-love .announcement-bar-section,
.abd-theme-free-love .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-free-love .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-free-love .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-free-love .newsletter-form,
.abd-theme-free-love .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-free-love .newsletter-form .field__input,
.abd-theme-free-love .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-free-love .form__message,
.abd-theme-free-love .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-free-love .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-free-love details.accordion,
.abd-theme-free-love .accordion,
.abd-theme-free-love .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-free-love details.accordion summary,
.abd-theme-free-love .accordion__title,
.abd-theme-free-love .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-free-love details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-free-love details[open] .accordion__content,
.abd-theme-free-love .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-free-love .pagination,
.abd-theme-free-love .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-free-love .pagination__item {
    margin: 0;
}

.abd-theme-free-love .pagination__link,
.abd-theme-free-love .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-free-love .pagination__link:hover,
.abd-theme-free-love .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-free-love .pagination__item--current .pagination__link,
.abd-theme-free-love .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-free-love .cart__empty,
.abd-theme-free-love .collection__empty,
.abd-theme-free-love .search__no-results,
.abd-theme-free-love .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-free-love .cart__empty p,
.abd-theme-free-love .collection__empty p,
.abd-theme-free-love .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-free-love .product-form__input--dropdown,
.abd-theme-free-love .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-free-love .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-free-love .product-form__input label,
.abd-theme-free-love .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-free-love .product-form__input input:checked + label,
.abd-theme-free-love .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-free-love .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-free-love .footer__payment,
.abd-theme-free-love .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-free-love .footer__payment svg,
.abd-theme-free-love .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-free-love .list-social,
.abd-theme-free-love .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-free-love .list-social__link,
.abd-theme-free-love .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-free-love .list-social__link:hover,
.abd-theme-free-love .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-free-love .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-free-love .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-free-love .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-free-love .image-with-text,
.abd-theme-free-love .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-free-love .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-free-love .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-free-love .product-recommendations,
.abd-theme-free-love .complementary-products {
    margin-top: 2rem;
}

.abd-theme-free-love .product-recommendations__heading,
.abd-theme-free-love .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-free-love .cart__free-shipping,
.abd-theme-free-love .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-free-love .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-free-love .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-free-love .predictive-search,
.abd-theme-free-love .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-free-love .predictive-search__item,
.abd-theme-free-love .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-free-love .predictive-search__item:hover,
.abd-theme-free-love .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-free-love .skeleton,
.abd-theme-free-love .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-free-love .header-wrapper,
.abd-theme-free-love header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-free-love .header__heading,
.abd-theme-free-love .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-free-love .header__menu,
.abd-theme-free-love .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-free-love .header__menu-item,
.abd-theme-free-love .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-free-love .header__menu-item a,
.abd-theme-free-love .list-menu__item a,
.abd-theme-free-love .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-free-love .header__menu-item a:hover,
.abd-theme-free-love .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-free-love .header__submenu,
.abd-theme-free-love .mega-menu__content,
.abd-theme-free-love .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-free-love .header__submenu .list-menu__item a,
.abd-theme-free-love .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-free-love .menu-drawer,
.abd-theme-free-love .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-free-love .menu-drawer__menu-item,
.abd-theme-free-love .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-free-love .header__icons,
.abd-theme-free-love .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-free-love .cart-count-bubble,
.abd-theme-free-love .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-free-love .cart-drawer,
.abd-theme-free-love .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-free-love .cart-drawer .cart-item,
.abd-theme-free-love .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-free-love .cart-drawer .cart-item__title,
.abd-theme-free-love .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-free-love .cart-drawer .cart-item__price,
.abd-theme-free-love .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-free-love .cart__footer,
.abd-theme-free-love .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-free-love .cart__ctas button,
.abd-theme-free-love .cart__checkout-button,
.abd-theme-free-love .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-free-love .cart__ctas button:hover,
.abd-theme-free-love .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-free-love .footer,
.abd-theme-free-love .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-free-love .footer__link,
.abd-theme-free-love .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-free-love .search-modal,
.abd-theme-free-love .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-free-love .search-modal__input,
.abd-theme-free-love .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-free-love a {
        transition: none;
    }
    .abd-theme-free-love .card,
    .abd-theme-free-love .product-card,
    .abd-theme-free-love .btn,
    .abd-theme-free-love button,
    .abd-theme-free-love .image-wrapper img {
        transition: none;
    }
}


/* --- highway-street-photo.css --- */
/* Highway + Street Photo Theme — Street Signs Against Blue Sky */
.abd-theme-highway-street-photo {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #12285C)));
    --color-foreground: var(--text, var(--ink, var(--color, #12285C)));
    --color-primary: var(--accent, var(--primary, #2E8B57));
    --color-accent: var(--accent, var(--secondary, #1E7E34));
    --color-border: var(--rule, var(--border, #B0B0B0));

    /* Street sign + sky palette from image */
    --sky-blue-dark: #0B337F;
    --sky-blue-mid: #1E66E0;
    --sky-blue-light: #3B82F6;
    --cloud-white: #FFFFFF;
    --cloud-pale: #F8F8F8;
    --sign-green: #2E8B57;
    --sign-green-dark: #1E7E34;
    --metal-grey: #B0B0B0;
    --metal-dark: #505050;
    --metal-light: #D0D0D0;
    --bg: var(--sky-blue-dark);
    --paper: var(--cloud-white);
    --ink: #12285C;
    --muted: #505050;
    --lane: var(--metal-light);
    --rule: rgba(176, 176, 176, 0.6);
    --mono: "Courier New", "Courier", monospace;
    --sans: "Highway Gothic", "FHWA Series", "Arial Narrow", "Arial", sans-serif;
    font-family: var(--sans);
    color: var(--ink);
    background: linear-gradient(135deg, var(--sky-blue-dark) 0%, var(--sky-blue-mid) 40%, var(--sky-blue-light) 100%);
}

.abd-theme-highway-street-photo * {
    box-sizing: border-box;
}

/* Layout */
.abd-theme-highway-street-photo .theme-content {
    max-width: 960px;
    margin: 48px auto;
    padding: 32px;
    background: var(--cloud-white);
    border: 3px solid var(--metal-grey);
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(11, 51, 127, 0.3);
}

.abd-theme-highway-street-photo .lane-divider {
    border-left: 3px solid var(--lane);
    padding-left: 18px;
}

/* Typography */
.abd-theme-highway-street-photo h1,
.abd-theme-highway-street-photo h2,
.abd-theme-highway-street-photo h3,
.abd-theme-highway-street-photo h4,
.abd-theme-highway-street-photo h5,
.abd-theme-highway-street-photo h6 {
    font-family: var(--sans);
    font-weight: 700;
    color: var(--ink);
    letter-spacing: 0.06em;
}

.abd-theme-highway-street-photo h1 {
    font-size: clamp(2.2rem, 3.6vw, 3.2rem);
    text-transform: uppercase;
    border-bottom: 3px solid var(--sign-green);
    padding-bottom: 8px;
    margin-bottom: 16px;
    color: var(--sky-blue-dark);
}

.abd-theme-highway-street-photo h2 {
    font-size: clamp(1.5rem, 2.4vw, 2.2rem);
    color: var(--sign-green);
    margin: 22px 0 10px;
    border-bottom: 3px solid var(--metal-grey);
    padding-bottom: 6px;
    display: inline-block;
}

.abd-theme-highway-street-photo h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    color: var(--sky-blue-dark);
    margin: 18px 0 8px;
    border-bottom: 2px solid var(--metal-light);
    padding-bottom: 4px;
    display: inline-block;
}

.abd-theme-highway-street-photo p {
    margin: 0 0 12px;
    color: var(--ink);
    line-height: 1.7;
}

/* Labels */
.abd-theme-highway-street-photo .kicker,
.abd-theme-highway-street-photo .byline,
.abd-theme-highway-street-photo .dateline,
.abd-theme-highway-street-photo .section-title {
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--metal-dark);
    background: rgba(176, 176, 176, 0.2);
    display: inline-block;
    padding: 4px 10px;
    border: 1px solid var(--metal-grey);
    border-radius: 4px;
}

/* Links */
.abd-theme-highway-street-photo a {
    color: var(--sign-green);
    text-decoration: none;
    border-bottom: 1px solid var(--sign-green);
}

.abd-theme-highway-street-photo a:hover {
    color: var(--sky-blue-light);
    border-bottom-color: var(--sky-blue-light);
}

/* Lists */
.abd-theme-highway-street-photo ul,
.abd-theme-highway-street-photo ol {
    margin: 14px 0 18px;
    padding-left: 22px;
}

.abd-theme-highway-street-photo li {
    margin-bottom: 6px;
}

/* Blockquotes */
.abd-theme-highway-street-photo blockquote {
    margin: 18px 0;
    padding: 14px 16px;
    background: var(--cloud-pale);
    border-left: 4px solid var(--sign-green);
    color: var(--ink);
    border-radius: 10px;
    border: 1px solid var(--metal-light);
    border-left-width: 4px;
}

/* Code */
.abd-theme-highway-street-photo code {
    background: rgba(46, 139, 87, 0.12);
    color: var(--ink);
    padding: 2px 6px;
    border: 1px solid var(--metal-grey);
    font-family: var(--mono);
    font-size: 0.9em;
}

.abd-theme-highway-street-photo pre {
    background: var(--sky-blue-dark);
    color: var(--cloud-white);
    padding: 14px;
    border: 1px solid var(--metal-grey);
    margin: 18px 0;
    overflow-x: auto;
    font-family: var(--mono);
    border-radius: 10px;
}

.abd-theme-highway-street-photo pre code {
    background: transparent;
    border: none;
    color: var(--cloud-white);
}

/* Tables */
.abd-theme-highway-street-photo table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    background: var(--cloud-white);
    border: 2px solid var(--metal-grey);
    border-radius: 10px;
    overflow: hidden;
}

.abd-theme-highway-street-photo th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.75rem;
    background: var(--sign-green);
    color: var(--cloud-white);
    padding: 10px 8px;
}

.abd-theme-highway-street-photo td {
    border-top: 1px solid var(--metal-light);
    padding: 10px 8px;
    color: var(--ink);
}

/* Images */
.abd-theme-highway-street-photo img {
    max-width: 100%;
    height: auto;
    border: 3px solid var(--metal-grey);
    margin: 16px 0;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(11, 51, 127, 0.15);
}

/* Rules */
.abd-theme-highway-street-photo hr {
    border: none;
    border-top: 1px solid var(--rule);
    margin: 20px 0;
}

/* Highlighted section */
.abd-theme-highway-street-photo .highlighted-section {
    background: var(--sign-green);
    color: var(--cloud-white);
    padding: 16px 18px;
    margin: 18px 0;
    border-radius: 10px;
    border: 3px solid var(--metal-grey);
    box-shadow: 0 6px 16px rgba(11, 51, 127, 0.2);
    position: relative;
    font-weight: 700;
}

.abd-theme-highway-street-photo .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-highway-street-photo .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--sign-green);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 700;
    font-style: italic;
}

.abd-theme-highway-street-photo .callout,
.abd-theme-highway-street-photo .callout-box {
    background: var(--cloud-pale);
    color: var(--ink);
    border: 3px solid var(--metal-grey);
    padding: 14px 16px;
    margin: 18px 0;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(80, 80, 80, 0.15);
}

.abd-theme-highway-street-photo .sidebar {
    border-left: 4px solid var(--sign-green);
    padding: 24px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--ink);
    background: var(--cloud-pale);
    border: 2px solid var(--metal-grey);
    border-left-width: 4px;
    border-left-color: var(--sign-green);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(80, 80, 80, 0.1);
}

.abd-theme-highway-street-photo .sidebar h3,
.abd-theme-highway-street-photo .sidebar h4 {
    color: var(--sign-green);
    font-size: 1rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 0;
    margin-bottom: 12px;
    border-bottom: 2px solid var(--metal-grey);
    padding-bottom: 8px;
}

.abd-theme-highway-street-photo .sidebar ul {
    list-style: none;
    padding: 0;
}

.abd-theme-highway-street-photo .sidebar li {
    padding: 8px 0;
    border-bottom: 1px solid var(--metal-light);
}

.abd-theme-highway-street-photo .sidebar li:last-child {
    border-bottom: none;
}

/* Cards - Street Sign Style */
.abd-theme-highway-street-photo .card,
.abd-theme-highway-street-photo .product-card {
    background: var(--sign-green);
    color: var(--cloud-white);
    border: 4px solid var(--metal-grey);
    border-radius: 6px;
    padding: 24px;
    margin: 20px 0;
    box-shadow: 
        0 8px 20px rgba(11, 51, 127, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
}

.abd-theme-highway-street-photo .card::before,
.abd-theme-highway-street-photo .product-card::before {
    content: none;
}

.abd-theme-highway-street-photo .card:hover,
.abd-theme-highway-street-photo .product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(11, 51, 127, 0.3);
    border-color: var(--metal-dark);
}

.abd-theme-highway-street-photo .card .product-title,
.abd-theme-highway-street-photo .product-card .product-title,
.abd-theme-highway-street-photo .card h3,
.abd-theme-highway-street-photo .product-card h3 {
    color: var(--cloud-white);
}

.abd-theme-highway-street-photo .card .product-price,
.abd-theme-highway-street-photo .product-card .product-price {
    color: var(--cloud-white);
}

.abd-theme-highway-street-photo .card .product-price-compare,
.abd-theme-highway-street-photo .product-card .product-price-compare {
    color: rgba(255, 255, 255, 0.8);
}

/* Grid Layouts */
.abd-theme-highway-street-photo .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-highway-street-photo .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-highway-street-photo .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-highway-street-photo .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-highway-street-photo .grid-2,
    .abd-theme-highway-street-photo .grid-3,
    .abd-theme-highway-street-photo .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-highway-street-photo input[type="text"],
.abd-theme-highway-street-photo input[type="email"],
.abd-theme-highway-street-photo input[type="number"],
.abd-theme-highway-street-photo input[type="password"],
.abd-theme-highway-street-photo textarea,
.abd-theme-highway-street-photo select {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--metal-grey);
    background: var(--cloud-white);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
    border-radius: 6px;
}

.abd-theme-highway-street-photo input:focus,
.abd-theme-highway-street-photo textarea:focus,
.abd-theme-highway-street-photo select:focus {
    outline: none;
    border-color: var(--sign-green);
    box-shadow: 0 0 0 3px rgba(46, 139, 87, 0.2);
}

/* Buttons - Street Sign Style */
.abd-theme-highway-street-photo .btn,
.abd-theme-highway-street-photo button {
    display: inline-block;
    padding: 14px 28px;
    background: var(--sign-green);
    color: var(--cloud-white);
    border: 3px solid var(--metal-grey);
    font-family: var(--sans);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(11, 51, 127, 0.2);
}

.abd-theme-highway-street-photo .btn:hover,
.abd-theme-highway-street-photo button:hover {
    background: var(--sign-green-dark);
    border-color: var(--metal-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(11, 51, 127, 0.3);
}

.abd-theme-highway-street-photo .btn-secondary {
    background: var(--cloud-white);
    color: var(--sign-green);
    border: 3px solid var(--sign-green);
}

.abd-theme-highway-street-photo .btn-secondary:hover {
    background: var(--sign-green);
    color: var(--cloud-white);
    border-color: var(--sign-green);
}

/* Navigation */
.abd-theme-highway-street-photo nav,
.abd-theme-highway-street-photo .nav {
    border-bottom: 2px solid var(--metal-grey);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-highway-street-photo .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-highway-street-photo .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 8px 0;
    border-bottom: 3px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-highway-street-photo .nav a:hover {
    border-bottom-color: var(--sign-green);
}

.abd-theme-highway-street-photo .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
    font-family: var(--mono);
}

.abd-theme-highway-street-photo .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-highway-street-photo .breadcrumb a:hover {
    color: var(--sign-green);
}

/* Badges - Street Sign Style */
.abd-theme-highway-street-photo .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--sign-green);
    color: var(--cloud-white);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 2px solid var(--metal-grey);
    border-radius: 4px;
}

.abd-theme-highway-street-photo .badge::before {
    content: none;
}

.abd-theme-highway-street-photo .badge-sale {
    background: var(--sign-green);
    border-color: var(--metal-dark);
}

.abd-theme-highway-street-photo .badge-new {
    background: var(--sky-blue-light);
    color: var(--cloud-white);
    border-color: var(--sky-blue-dark);
}

.abd-theme-highway-street-photo .badge-new::before {
    content: none;
}

.abd-theme-highway-street-photo .badge-out-of-stock {
    background: var(--metal-grey);
    color: var(--cloud-white);
    border-color: var(--metal-dark);
}

.abd-theme-highway-street-photo .badge-out-of-stock::before {
    content: none;
}

/* Enhanced Images */
.abd-theme-highway-street-photo figure {
    margin: 20px 0;
}

.abd-theme-highway-street-photo figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-highway-street-photo .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--metal-grey);
    border-radius: 8px;
    margin: 16px 0;
    box-shadow: 0 6px 16px rgba(11, 51, 127, 0.2);
    background: var(--cloud-white);
}

.abd-theme-highway-street-photo .image-wrapper::before {
    content: none;
}

.abd-theme-highway-street-photo .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-highway-street-photo .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements - Street Sign Style */
.abd-theme-highway-street-photo .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--sign-green);
    margin: 12px 0;
    letter-spacing: 0.05em;
    padding: 8px 16px;
    display: inline-block;
    border-radius: 6px;
}

.abd-theme-highway-street-photo .product-price-compare {
    font-size: 1rem;
    color: var(--metal-dark);
    text-decoration: line-through;
    margin-left: 8px;
    font-weight: 600;
}

.abd-theme-highway-street-photo .product-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-bottom: 3px solid var(--sign-green);
    padding-bottom: 8px;
    display: inline-block;
}

.abd-theme-highway-street-photo .variant-selector {
    margin: 16px 0;
}

.abd-theme-highway-street-photo .variant-selector label {
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
    color: var(--ink);
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
}

.abd-theme-highway-street-photo .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-highway-street-photo .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-highway-street-photo .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-highway-street-photo .cart-item {
    border-bottom: 2px solid var(--metal-light);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-highway-street-photo .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 3px solid var(--metal-grey);
    border-radius: 8px;
}

.abd-theme-highway-street-photo .cart-total {
    border-top: 3px solid var(--sign-green);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--sign-green);
}

/* Modals/Overlays */
.abd-theme-highway-street-photo .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-highway-street-photo .modal {
    background: var(--cloud-white);
    border: 4px solid var(--metal-grey);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 16px 40px rgba(11, 51, 127, 0.25);
    position: relative;
    border-radius: 10px;
}

.abd-theme-highway-street-photo .modal::before {
    content: none;
}

.abd-theme-highway-street-photo .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--sign-green);
    color: var(--cloud-white);
    border: 2px solid var(--metal-grey);
    width: 36px;
    height: 36px;
    cursor: pointer;
    font-size: 1.25rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
}

.abd-theme-highway-street-photo .modal-close:hover {
    background: var(--sign-green-dark);
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-highway-street-photo .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 48px;
        max-width: 1200px;
    }
    
    .abd-theme-highway-street-photo .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-highway-street-photo .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-highway-street-photo .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-highway-street-photo form label,
.abd-theme-highway-street-photo .newsletter-form label,
.abd-theme-highway-street-photo .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-highway-street-photo a:focus-visible,
.abd-theme-highway-street-photo button:focus-visible,
.abd-theme-highway-street-photo input:focus-visible,
.abd-theme-highway-street-photo select:focus-visible,
.abd-theme-highway-street-photo textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-highway-street-photo .announcement-bar,
.abd-theme-highway-street-photo .announcement-bar-section,
.abd-theme-highway-street-photo .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-highway-street-photo .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-highway-street-photo .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-highway-street-photo .newsletter-form,
.abd-theme-highway-street-photo .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-highway-street-photo .newsletter-form .field__input,
.abd-theme-highway-street-photo .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-highway-street-photo .form__message,
.abd-theme-highway-street-photo .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-highway-street-photo .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-highway-street-photo details.accordion,
.abd-theme-highway-street-photo .accordion,
.abd-theme-highway-street-photo .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-highway-street-photo details.accordion summary,
.abd-theme-highway-street-photo .accordion__title,
.abd-theme-highway-street-photo .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-highway-street-photo details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-highway-street-photo details[open] .accordion__content,
.abd-theme-highway-street-photo .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-highway-street-photo .pagination,
.abd-theme-highway-street-photo .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-highway-street-photo .pagination__item {
    margin: 0;
}

.abd-theme-highway-street-photo .pagination__link,
.abd-theme-highway-street-photo .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-highway-street-photo .pagination__link:hover,
.abd-theme-highway-street-photo .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-highway-street-photo .pagination__item--current .pagination__link,
.abd-theme-highway-street-photo .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-highway-street-photo .cart__empty,
.abd-theme-highway-street-photo .collection__empty,
.abd-theme-highway-street-photo .search__no-results,
.abd-theme-highway-street-photo .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-highway-street-photo .cart__empty p,
.abd-theme-highway-street-photo .collection__empty p,
.abd-theme-highway-street-photo .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-highway-street-photo .product-form__input--dropdown,
.abd-theme-highway-street-photo .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-highway-street-photo .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-highway-street-photo .product-form__input label,
.abd-theme-highway-street-photo .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-highway-street-photo .product-form__input input:checked + label,
.abd-theme-highway-street-photo .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-highway-street-photo .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-highway-street-photo .footer__payment,
.abd-theme-highway-street-photo .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-highway-street-photo .footer__payment svg,
.abd-theme-highway-street-photo .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-highway-street-photo .list-social,
.abd-theme-highway-street-photo .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-highway-street-photo .list-social__link,
.abd-theme-highway-street-photo .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-highway-street-photo .list-social__link:hover,
.abd-theme-highway-street-photo .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-highway-street-photo .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-highway-street-photo .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-highway-street-photo .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-highway-street-photo .image-with-text,
.abd-theme-highway-street-photo .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-highway-street-photo .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-highway-street-photo .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-highway-street-photo .product-recommendations,
.abd-theme-highway-street-photo .complementary-products {
    margin-top: 2rem;
}

.abd-theme-highway-street-photo .product-recommendations__heading,
.abd-theme-highway-street-photo .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-highway-street-photo .cart__free-shipping,
.abd-theme-highway-street-photo .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-highway-street-photo .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-highway-street-photo .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-highway-street-photo .predictive-search,
.abd-theme-highway-street-photo .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-highway-street-photo .predictive-search__item,
.abd-theme-highway-street-photo .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-highway-street-photo .predictive-search__item:hover,
.abd-theme-highway-street-photo .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-highway-street-photo .skeleton,
.abd-theme-highway-street-photo .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-highway-street-photo .header-wrapper,
.abd-theme-highway-street-photo header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-highway-street-photo .header__heading,
.abd-theme-highway-street-photo .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-highway-street-photo .header__menu,
.abd-theme-highway-street-photo .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-highway-street-photo .header__menu-item,
.abd-theme-highway-street-photo .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-highway-street-photo .header__menu-item a,
.abd-theme-highway-street-photo .list-menu__item a,
.abd-theme-highway-street-photo .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-highway-street-photo .header__menu-item a:hover,
.abd-theme-highway-street-photo .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-highway-street-photo .header__submenu,
.abd-theme-highway-street-photo .mega-menu__content,
.abd-theme-highway-street-photo .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-highway-street-photo .header__submenu .list-menu__item a,
.abd-theme-highway-street-photo .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-highway-street-photo .menu-drawer,
.abd-theme-highway-street-photo .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-highway-street-photo .menu-drawer__menu-item,
.abd-theme-highway-street-photo .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-highway-street-photo .header__icons,
.abd-theme-highway-street-photo .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-highway-street-photo .cart-count-bubble,
.abd-theme-highway-street-photo .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-highway-street-photo .cart-drawer,
.abd-theme-highway-street-photo .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-highway-street-photo .cart-drawer .cart-item,
.abd-theme-highway-street-photo .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-highway-street-photo .cart-drawer .cart-item__title,
.abd-theme-highway-street-photo .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-highway-street-photo .cart-drawer .cart-item__price,
.abd-theme-highway-street-photo .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-highway-street-photo .cart__footer,
.abd-theme-highway-street-photo .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-highway-street-photo .cart__ctas button,
.abd-theme-highway-street-photo .cart__checkout-button,
.abd-theme-highway-street-photo .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-highway-street-photo .cart__ctas button:hover,
.abd-theme-highway-street-photo .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-highway-street-photo .footer,
.abd-theme-highway-street-photo .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-highway-street-photo .footer__link,
.abd-theme-highway-street-photo .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-highway-street-photo .search-modal,
.abd-theme-highway-street-photo .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-highway-street-photo .search-modal__input,
.abd-theme-highway-street-photo .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-highway-street-photo a {
        transition: none;
    }
    .abd-theme-highway-street-photo .card,
    .abd-theme-highway-street-photo .product-card,
    .abd-theme-highway-street-photo .btn,
    .abd-theme-highway-street-photo button,
    .abd-theme-highway-street-photo .image-wrapper img {
        transition: none;
    }
}


/* --- impressionist.css --- */
/* Impressionist Theme — Birth of Venus inspired (Bouguereau) */
.abd-theme-impressionist {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #F8EDE8)));
    --color-foreground: var(--text, var(--ink, var(--color, #5C4A42)));
    --color-primary: var(--accent, var(--primary, #7BA3A8));
    --color-accent: var(--accent, var(--secondary, #8B6B5C));
    --color-border: var(--rule, var(--border, #C8C0B8));

    /* Birth of Venus palette: sky, ocean, skin, hair, shells */
    --bg: #F5E6DC;
    --paper: #F8EDE8;
    --ink: #5C4A42;
    --muted: #8B7A72;
    --sky: #B8D4E8;
    --cream: #F8EDE8;
    --gold: #D4C4A8;
    --rose: #E8D5D0;
    --lavender: #C8D8E8;
    --ocean: #8FB4B8;
    --auburn: #6B3420;
    --rule: rgba(139, 122, 114, 0.3);
    --line-height: 1.85;
    font-family: "Georgia", "Times New Roman", serif;
    color: var(--ink);
    background:
        radial-gradient(circle at 20% 15%, rgba(255, 255, 255, 0.4), transparent 50%),
        repeating-linear-gradient(0deg, transparent 0px, transparent 2px, rgba(92, 74, 66, 0.02) 2px, rgba(92, 74, 66, 0.02) 4px),
        linear-gradient(175deg, var(--sky) 0%, var(--cream) 35%, var(--ocean) 100%);
}

.abd-theme-impressionist * {
    box-sizing: border-box;
}

/* Layout */
.abd-theme-impressionist .theme-content {
    max-width: 880px;
    margin: 56px auto;
    padding: 36px 32px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.6), rgba(248, 237, 232, 0.95));
    box-shadow: 0 16px 40px rgba(92, 74, 66, 0.08);
    border-radius: 20px;
    line-height: var(--line-height);
}

.abd-theme-impressionist .layered-section {
    background: rgba(232, 213, 208, 0.4);
    padding: 18px 20px;
    margin: 18px 0;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(92, 74, 66, 0.06);
}

/* Typography */
.abd-theme-impressionist h1,
.abd-theme-impressionist h2,
.abd-theme-impressionist h3,
.abd-theme-impressionist h4,
.abd-theme-impressionist h5,
.abd-theme-impressionist h6 {
    font-family: "Georgia", "Times New Roman", serif;
    font-weight: 500;
    color: var(--muted);
    line-height: 1.15;
}

.abd-theme-impressionist h1 {
    font-size: clamp(2.4rem, 4vw, 3.4rem);
    margin-bottom: 14px;
    color: var(--auburn);
    text-shadow:
        0 2px 12px rgba(232, 213, 208, 0.6),
        0 1px 2px rgba(200, 216, 232, 0.4);
}

.abd-theme-impressionist h2 {
    font-size: clamp(1.6rem, 2.6vw, 2.2rem);
    margin-top: 28px;
    margin-bottom: 10px;
    color: var(--ocean);
    padding-bottom: 6px;
    background-image: linear-gradient(90deg, rgba(232, 213, 208, 0.8), rgba(184, 212, 232, 0.7));
    background-size: 40% 2px;
    background-repeat: no-repeat;
    background-position: left bottom;
}

.abd-theme-impressionist h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    margin-top: 22px;
    margin-bottom: 8px;
    color: var(--muted);
    padding-bottom: 4px;
    background-image: linear-gradient(90deg, rgba(184, 212, 232, 0.6), rgba(232, 213, 208, 0.6));
    background-size: 32% 1px;
    background-repeat: no-repeat;
    background-position: left bottom;
}

.abd-theme-impressionist p {
    margin-bottom: 16px;
    color: var(--ink);
}

.abd-theme-impressionist p:first-of-type::first-letter {
    float: left;
    font-size: 2.6rem;
    line-height: 1;
    padding: 0 8px 0 0;
    color: var(--muted);
}

/* Links */
.abd-theme-impressionist a {
    color: var(--muted);
    text-decoration: none;
    border-bottom: 1px solid rgba(139, 122, 114, 0.4);
    transition: color 0.25s ease, border-color 0.25s ease;
}

.abd-theme-impressionist a:hover {
    color: var(--auburn);
    border-bottom-color: rgba(107, 52, 32, 0.5);
}

/* Lists */
.abd-theme-impressionist ul,
.abd-theme-impressionist ol {
    margin: 16px 0 20px;
    padding-left: 24px;
    color: var(--ink);
}

.abd-theme-impressionist li {
    margin-bottom: 8px;
}

/* Blockquotes */
.abd-theme-impressionist blockquote {
    margin: 20px 0;
    padding: 16px 18px;
    background: rgba(184, 212, 232, 0.35);
    border-radius: 14px;
    color: var(--muted);
    box-shadow: 0 10px 28px rgba(92, 74, 66, 0.06);
    font-style: italic;
}

/* Code */
.abd-theme-impressionist code {
    background: rgba(212, 196, 168, 0.4);
    color: var(--ink);
    padding: 2px 6px;
    border-radius: 6px;
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-impressionist pre {
    background: rgba(107, 52, 32, 0.85);
    color: #F8EDE8;
    padding: 16px;
    border-radius: 12px;
    margin: 20px 0;
    overflow-x: auto;
}

.abd-theme-impressionist pre code {
    background: transparent;
    color: #F8EDE8;
    padding: 0;
}

/* Tables */
.abd-theme-impressionist table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background: rgba(248, 237, 232, 0.9);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(92, 74, 66, 0.06);
}

.abd-theme-impressionist th {
    text-align: left;
    font-weight: 600;
    color: var(--cream);
    background: rgba(123, 163, 168, 0.6);
    padding: 10px 8px;
}

.abd-theme-impressionist td {
    padding: 10px 8px;
    color: var(--ink);
}

.abd-theme-impressionist tr:nth-child(even) {
    background: rgba(232, 213, 208, 0.25);
}

/* Images */
.abd-theme-impressionist img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
    box-shadow: 0 14px 32px rgba(92, 74, 66, 0.1);
    margin: 16px 0;
}

/* Rules */
.abd-theme-impressionist hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(139, 122, 114, 0.35), transparent);
    margin: 24px 0;
}

/* Highlighted sections */
.abd-theme-impressionist .highlighted-section {
    border: 2px solid transparent;
    border-radius: 16px;
    background:
        linear-gradient(120deg, rgba(232, 213, 208, 0.6), rgba(184, 212, 232, 0.5)) border-box,
        rgba(212, 196, 168, 0.2) padding-box;
    box-shadow: 0 8px 24px rgba(92, 74, 66, 0.06);
    margin: 20px 0;
    padding: 14px 16px;
}

.abd-theme-impressionist .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-impressionist .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid rgba(139, 122, 114, 0.45);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-impressionist .callout,
.abd-theme-impressionist .callout-box {
    border: 2px solid transparent;
    border-radius: 16px;
    background:
        linear-gradient(120deg, rgba(232, 213, 208, 0.6), rgba(184, 212, 232, 0.5)) border-box,
        rgba(212, 196, 168, 0.2) padding-box;
    box-shadow: 0 8px 24px rgba(92, 74, 66, 0.06);
    margin: 18px 0;
    padding: 14px 16px;
}

.abd-theme-impressionist .sidebar {
    border-left: 3px solid rgba(139, 122, 114, 0.35);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Cards */
.abd-theme-impressionist .card,
.abd-theme-impressionist .product-card {
    background: rgba(255, 255, 255, 0.95);
    border: 2px solid transparent;
    border-radius: 16px;
    background:
        linear-gradient(120deg, rgba(232, 213, 208, 0.5), rgba(184, 212, 232, 0.5)) border-box,
        rgba(248, 237, 232, 0.9) padding-box;
    box-shadow: 0 10px 28px rgba(92, 74, 66, 0.08);
    margin: 16px 0;
    padding: 20px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.abd-theme-impressionist .card:hover,
.abd-theme-impressionist .product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(92, 74, 66, 0.1);
}

/* Grid Layouts */
.abd-theme-impressionist .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-impressionist .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-impressionist .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-impressionist .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-impressionist .grid-2,
    .abd-theme-impressionist .grid-3,
    .abd-theme-impressionist .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-impressionist input[type="text"],
.abd-theme-impressionist input[type="email"],
.abd-theme-impressionist input[type="number"],
.abd-theme-impressionist input[type="password"],
.abd-theme-impressionist textarea,
.abd-theme-impressionist select {
    width: 100%;
    padding: 12px;
    border: 2px solid rgba(139, 122, 114, 0.35);
    background: #ffffff;
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
    border-radius: 8px;
}

.abd-theme-impressionist input:focus,
.abd-theme-impressionist textarea:focus,
.abd-theme-impressionist select:focus {
    outline: none;
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(212, 196, 168, 0.35);
}

/* Buttons */
.abd-theme-impressionist .btn,
.abd-theme-impressionist button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--gold);
    color: var(--ink);
    border: 2px solid var(--gold);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    border-radius: 8px;
}

.abd-theme-impressionist .btn:hover,
.abd-theme-impressionist button:hover {
    background: var(--rose);
    border-color: var(--rose);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(92, 74, 66, 0.12);
}

.abd-theme-impressionist .btn-secondary {
    background: transparent;
    color: var(--ink);
}

.abd-theme-impressionist .btn-secondary:hover {
    background: var(--gold);
    color: var(--ink);
}

/* Navigation */
.abd-theme-impressionist nav,
.abd-theme-impressionist .nav {
    border-bottom: 2px solid rgba(139, 122, 114, 0.3);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-impressionist .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-impressionist .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-impressionist .nav a:hover {
    border-bottom-color: var(--rose);
}

.abd-theme-impressionist .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-impressionist .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-impressionist .breadcrumb a:hover {
    color: var(--rose);
}

/* Badges */
.abd-theme-impressionist .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--rose);
    color: var(--ink);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid rgba(139, 122, 114, 0.35);
    border-radius: 8px;
}

.abd-theme-impressionist .badge-sale {
    background: var(--rose);
}

.abd-theme-impressionist .badge-new {
    background: var(--lavender);
}

.abd-theme-impressionist .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-impressionist figure {
    margin: 20px 0;
}

.abd-theme-impressionist figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-impressionist .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 14px;
    background:
        linear-gradient(120deg, rgba(232, 213, 208, 0.5), rgba(184, 212, 232, 0.5)) border-box,
        rgba(212, 196, 168, 0.2) padding-box;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
    margin: 16px 0;
}

.abd-theme-impressionist .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-impressionist .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-impressionist .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-impressionist .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-impressionist .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-impressionist .variant-selector {
    margin: 16px 0;
}

.abd-theme-impressionist .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
}

.abd-theme-impressionist .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-impressionist .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-impressionist .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-impressionist .cart-item {
    border-bottom: 1px solid rgba(139, 122, 114, 0.3);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-impressionist .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 2px solid transparent;
    border-radius: 8px;
    background:
        linear-gradient(120deg, rgba(232, 213, 208, 0.5), rgba(184, 212, 232, 0.5)) border-box,
        rgba(212, 196, 168, 0.2) padding-box;
}

.abd-theme-impressionist .cart-total {
    border-top: 2px solid rgba(139, 122, 114, 0.4);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-impressionist .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-impressionist .modal {
    background: var(--cream);
    border: 2px solid transparent;
    border-radius: 18px;
    background:
        linear-gradient(120deg, rgba(232, 213, 208, 0.5), rgba(184, 212, 232, 0.5)) border-box,
        rgba(212, 196, 168, 0.2) padding-box;
    box-shadow: 0 16px 40px rgba(92, 74, 66, 0.12);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}

.abd-theme-impressionist .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--rose);
    color: var(--ink);
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-impressionist .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-impressionist .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-impressionist .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-impressionist .theme-content {
        padding: 24px;
    }
}

/* Motion */
/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-impressionist form label,
.abd-theme-impressionist .newsletter-form label,
.abd-theme-impressionist .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-impressionist a:focus-visible,
.abd-theme-impressionist button:focus-visible,
.abd-theme-impressionist input:focus-visible,
.abd-theme-impressionist select:focus-visible,
.abd-theme-impressionist textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-impressionist .announcement-bar,
.abd-theme-impressionist .announcement-bar-section,
.abd-theme-impressionist .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-impressionist .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-impressionist .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-impressionist .newsletter-form,
.abd-theme-impressionist .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-impressionist .newsletter-form .field__input,
.abd-theme-impressionist .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-impressionist .form__message,
.abd-theme-impressionist .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-impressionist .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-impressionist details.accordion,
.abd-theme-impressionist .accordion,
.abd-theme-impressionist .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-impressionist details.accordion summary,
.abd-theme-impressionist .accordion__title,
.abd-theme-impressionist .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-impressionist details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-impressionist details[open] .accordion__content,
.abd-theme-impressionist .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-impressionist .pagination,
.abd-theme-impressionist .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-impressionist .pagination__item {
    margin: 0;
}

.abd-theme-impressionist .pagination__link,
.abd-theme-impressionist .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-impressionist .pagination__link:hover,
.abd-theme-impressionist .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-impressionist .pagination__item--current .pagination__link,
.abd-theme-impressionist .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-impressionist .cart__empty,
.abd-theme-impressionist .collection__empty,
.abd-theme-impressionist .search__no-results,
.abd-theme-impressionist .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-impressionist .cart__empty p,
.abd-theme-impressionist .collection__empty p,
.abd-theme-impressionist .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-impressionist .product-form__input--dropdown,
.abd-theme-impressionist .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-impressionist .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-impressionist .product-form__input label,
.abd-theme-impressionist .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-impressionist .product-form__input input:checked + label,
.abd-theme-impressionist .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-impressionist .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-impressionist .footer__payment,
.abd-theme-impressionist .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-impressionist .footer__payment svg,
.abd-theme-impressionist .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-impressionist .list-social,
.abd-theme-impressionist .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-impressionist .list-social__link,
.abd-theme-impressionist .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-impressionist .list-social__link:hover,
.abd-theme-impressionist .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-impressionist .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-impressionist .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-impressionist .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-impressionist .image-with-text,
.abd-theme-impressionist .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-impressionist .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-impressionist .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-impressionist .product-recommendations,
.abd-theme-impressionist .complementary-products {
    margin-top: 2rem;
}

.abd-theme-impressionist .product-recommendations__heading,
.abd-theme-impressionist .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-impressionist .cart__free-shipping,
.abd-theme-impressionist .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-impressionist .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-impressionist .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-impressionist .predictive-search,
.abd-theme-impressionist .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-impressionist .predictive-search__item,
.abd-theme-impressionist .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-impressionist .predictive-search__item:hover,
.abd-theme-impressionist .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-impressionist .skeleton,
.abd-theme-impressionist .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-impressionist .header-wrapper,
.abd-theme-impressionist header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-impressionist .header__heading,
.abd-theme-impressionist .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-impressionist .header__menu,
.abd-theme-impressionist .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-impressionist .header__menu-item,
.abd-theme-impressionist .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-impressionist .header__menu-item a,
.abd-theme-impressionist .list-menu__item a,
.abd-theme-impressionist .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-impressionist .header__menu-item a:hover,
.abd-theme-impressionist .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-impressionist .header__submenu,
.abd-theme-impressionist .mega-menu__content,
.abd-theme-impressionist .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-impressionist .header__submenu .list-menu__item a,
.abd-theme-impressionist .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-impressionist .menu-drawer,
.abd-theme-impressionist .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-impressionist .menu-drawer__menu-item,
.abd-theme-impressionist .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-impressionist .header__icons,
.abd-theme-impressionist .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-impressionist .cart-count-bubble,
.abd-theme-impressionist .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-impressionist .cart-drawer,
.abd-theme-impressionist .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-impressionist .cart-drawer .cart-item,
.abd-theme-impressionist .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-impressionist .cart-drawer .cart-item__title,
.abd-theme-impressionist .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-impressionist .cart-drawer .cart-item__price,
.abd-theme-impressionist .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-impressionist .cart__footer,
.abd-theme-impressionist .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-impressionist .cart__ctas button,
.abd-theme-impressionist .cart__checkout-button,
.abd-theme-impressionist .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-impressionist .cart__ctas button:hover,
.abd-theme-impressionist .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-impressionist .footer,
.abd-theme-impressionist .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-impressionist .footer__link,
.abd-theme-impressionist .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-impressionist .search-modal,
.abd-theme-impressionist .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-impressionist .search-modal__input,
.abd-theme-impressionist .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-impressionist a {
        transition: none;
    }
    .abd-theme-impressionist .card,
    .abd-theme-impressionist .product-card,
    .abd-theme-impressionist .btn,
    .abd-theme-impressionist button,
    .abd-theme-impressionist .image-wrapper img {
        transition: none;
    }
}


/* --- italy.css --- */
/* Italy Theme / Colosseo — inspired by vintage Colosseum travel poster */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Oswald:wght@400;600&display=swap');

.abd-theme-italy {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #f8fafc)));
    --color-foreground: var(--text, var(--ink, var(--color, #333333)));
    --color-primary: var(--accent, var(--primary, #c47734));
    --color-accent: var(--accent, var(--secondary, #7dc34c));
    --color-border: var(--rule, var(--border, #e5e5e5));

    /* Colosseo palette from poster */
    --colosseo-gold: #d5a557;
    --colosseo-orange: #e88d3e;
    --colosseo-terracotta: #a35b3e;
    --colosseo-green: #7dc34c;
    --colosseo-olive: #5c6e3b;
    --colosseo-sky: #dde8ed;
    --colosseo-text: #333333;

    --wall: #e8e4dc;
    --ink: var(--colosseo-text);
    --it-green: var(--colosseo-olive);
    --it-red: var(--colosseo-orange);
    font-family: "Georgia", "Times New Roman", serif;
    color: var(--colosseo-text);
    background-color: var(--colosseo-sky);
    background-image:
        radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.95) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(213, 165, 87, 0.08) 0%, transparent 50%),
        repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0, 0, 0, 0.02) 2px, rgba(0, 0, 0, 0.02) 4px);
}

.abd-theme-italy * {
    box-sizing: border-box;
}

/* Base — white frame, rounded corners (poster aesthetic) */
.abd-theme-italy .theme-content {
    max-width: 980px;
    margin: 40px auto;
    padding: 48px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(163, 91, 62, 0.15);
    box-shadow: 6px 6px 24px rgba(0, 0, 0, 0.08);
    position: relative;
}

.abd-theme-italy .theme-content::before {
    content: none;
}

.abd-theme-italy hr {
    border: none;
    border-top: 2px solid var(--colosseo-olive);
    margin: 24px 0;
    opacity: 0.6;
}

.abd-theme-italy p {
    margin: 0 0 16px;
    color: var(--ink);
    line-height: 1.75;
}

/* Typography */
/* COLOSSEO style — bold blocky sans-serif, warm orange */
.abd-theme-italy h1 {
    font-family: "Bebas Neue", "Impact", "Arial Black", sans-serif;
    font-size: clamp(3rem, 5vw, 4.5rem);
    color: var(--colosseo-orange);
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 0.95;
    margin: 24px 0 16px;
    text-shadow: 1px 1px 0 rgba(163, 91, 62, 0.4);
}

.abd-theme-italy h2,
.abd-theme-italy h3,
.abd-theme-italy h4,
.abd-theme-italy h5,
.abd-theme-italy h6 {
    font-family: "Oswald", "Arial Narrow", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--colosseo-terracotta);
    line-height: 1.2;
    margin: 28px 0 12px;
}

.abd-theme-italy h2 {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    border-bottom: 2px solid var(--colosseo-gold);
    display: inline-block;
    padding-bottom: 6px;
}

.abd-theme-italy h3 {
    font-size: clamp(1.3rem, 2vw, 1.6rem);
    color: var(--colosseo-olive);
}

/* ARTS BY DYLAN style — condensed, dark text */
.abd-theme-italy .kicker,
.abd-theme-italy .section-title,
.abd-theme-italy .masthead,
.abd-theme-italy .abd-category {
    font-family: "Oswald", "Arial Narrow", sans-serif;
    font-size: 0.9rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--colosseo-text);
    padding: 8px 0;
    display: block;
    background: none;
    border: none;
    border-top: 2px solid var(--colosseo-olive);
    box-shadow: none;
}

.abd-theme-italy .dek {
    font-size: 1.05rem;
    color: var(--colosseo-text);
    margin: 8px 0 16px;
}

.abd-theme-italy .byline,
.abd-theme-italy .dateline {
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--colosseo-terracotta);
}

/* Links */
.abd-theme-italy a {
    color: var(--colosseo-olive);
    text-decoration: none;
    border-bottom: 1px solid var(--colosseo-gold);
    font-weight: 600;
}

.abd-theme-italy a:hover {
    color: var(--colosseo-orange);
    border-bottom-color: var(--colosseo-orange);
}

/* Blockquotes */
.abd-theme-italy blockquote {
    margin: 20px 0;
    padding: 20px 24px;
    border: 1px solid rgba(163, 91, 62, 0.2);
    border-left: 4px solid var(--colosseo-orange);
    background: rgba(255, 255, 255, 0.8);
    border-radius: 8px;
    box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.06);
    font-style: italic;
}

.abd-theme-italy .pull-quote {
    font-size: clamp(1.3rem, 2.6vw, 1.9rem);
    border-left: 4px solid var(--colosseo-gold);
    padding-left: 16px;
    margin: 22px 0;
    color: var(--colosseo-terracotta);
}

.abd-theme-italy .callout {
    border: 3px solid var(--colosseo-terracotta);
    padding: 14px 16px;
    background: rgba(31, 122, 79, 0.08);
    box-shadow: 6px 6px 0 var(--colosseo-terracotta);
    transform: none;
}

/* Lists */
.abd-theme-italy ul,
.abd-theme-italy ol {
    margin: 16px 0 20px;
    padding-left: 24px;
}

.abd-theme-italy ul li::marker {
    color: var(--it-red);
}

/* Code */
.abd-theme-italy code {
    background: var(--colosseo-terracotta);
    color: #ffffff;
    padding: 2px 6px;
    border: 2px solid var(--colosseo-terracotta);
    font-family: "Courier New", monospace;
    font-weight: 700;
}

.abd-theme-italy pre {
    background: #0f0f0f;
    color: #ffffff;
    padding: 16px;
    border: 3px solid var(--colosseo-terracotta);
    box-shadow: 6px 6px 0 var(--it-green);
    margin: 20px 0;
    overflow-x: auto;
    transform: none;
}

.abd-theme-italy pre code {
    background: transparent;
    border: none;
    color: inherit;
    padding: 0;
}

/* Tables */
.abd-theme-italy table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    border: 3px solid var(--colosseo-terracotta);
    box-shadow: 6px 6px 0 var(--colosseo-terracotta);
    transform: none;
    background: #ffffff;
}

.abd-theme-italy th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.75rem;
    background: var(--colosseo-terracotta);
    color: #ffffff;
    padding: 10px;
}

.abd-theme-italy td {
    padding: 10px;
    border-top: 2px solid var(--colosseo-terracotta);
    color: var(--ink);
}

.abd-theme-italy tr:nth-child(even) td {
    background: rgba(31, 122, 79, 0.08);
}

/* Sidebar */
.abd-theme-italy .sidebar {
    border-left: 4px solid var(--colosseo-terracotta);
    padding: 24px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.8);
    border: 2px solid var(--rule);
    border-left: 5px solid var(--colosseo-terracotta);
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(31, 122, 79, 0.15);
}

.abd-theme-italy .sidebar h3,
.abd-theme-italy .sidebar h4 {
    color: var(--colosseo-terracotta);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 0;
    margin-bottom: 12px;
    border-bottom: 2px solid var(--rule);
    padding-bottom: 8px;
}

.abd-theme-italy .sidebar ul {
    list-style: none;
    padding: 0;
}

.abd-theme-italy .sidebar li {
    padding: 8px 0;
    border-bottom: 1px solid var(--rule);
}

.abd-theme-italy .sidebar li:last-child {
    border-bottom: none;
}

/* Images */
.abd-theme-italy img {
    max-width: 100%;
    height: auto;
    border: 3px solid var(--colosseo-terracotta);
    box-shadow: 6px 6px 0 var(--colosseo-terracotta);
    margin: 16px 0;
    transform: none;
    background: #ffffff;
    padding: 4px;
}

/* Highlighted section */
.abd-theme-italy .highlighted-section {
    border: 4px solid var(--colosseo-terracotta);
    padding: 16px;
    margin: 20px 0;
    background:
        linear-gradient(90deg, rgba(31, 122, 79, 0.2), rgba(255, 255, 255, 0.85), rgba(199, 51, 46, 0.2));
    box-shadow: 8px 8px 0 var(--colosseo-terracotta);
    transform: none;
    font-weight: 700;
}

/* Cards */
.abd-theme-italy .card,
.abd-theme-italy .product-card {
    background: #ffffff;
    border: 2px solid var(--colosseo-olive);
    border-radius: 12px;
    padding: 24px;
    margin: 16px 0;
    box-shadow: 6px 6px 20px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-italy .card:hover,
.abd-theme-italy .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 8px 8px 24px rgba(0, 0, 0, 0.12);
}

/* Grid Layouts */
.abd-theme-italy .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-italy .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-italy .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-italy .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-italy .grid-2,
    .abd-theme-italy .grid-3,
    .abd-theme-italy .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-italy input[type="text"],
.abd-theme-italy input[type="email"],
.abd-theme-italy input[type="number"],
.abd-theme-italy input[type="password"],
.abd-theme-italy textarea,
.abd-theme-italy select {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--colosseo-olive);
    background: #ffffff;
    color: var(--colosseo-text);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
    border-radius: 8px;
}

.abd-theme-italy input:focus,
.abd-theme-italy textarea:focus,
.abd-theme-italy select:focus {
    outline: none;
    border-color: var(--colosseo-orange);
    box-shadow: 0 0 0 3px rgba(232, 141, 62, 0.2);
}

/* Buttons */
.abd-theme-italy .btn,
.abd-theme-italy button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--colosseo-orange);
    color: #ffffff;
    border: 2px solid var(--colosseo-orange);
    font-family: "Oswald", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    border-radius: 8px;
    box-shadow: 4px 4px 12px rgba(163, 91, 62, 0.2);
}

.abd-theme-italy .btn:hover,
.abd-theme-italy button:hover {
    background: var(--colosseo-terracotta);
    border-color: var(--colosseo-terracotta);
    transform: translateY(-2px);
    box-shadow: 6px 6px 16px rgba(163, 91, 62, 0.25);
}

.abd-theme-italy .btn-secondary {
    background: transparent;
    color: var(--colosseo-olive);
}

.abd-theme-italy .btn-secondary:hover {
    background: var(--colosseo-olive);
    color: #ffffff;
}

/* Navigation */
.abd-theme-italy nav,
.abd-theme-italy .nav {
    border-bottom: 2px solid var(--colosseo-olive);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-italy .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-italy .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-italy .nav a:hover {
    border-bottom-color: var(--colosseo-orange);
}

.abd-theme-italy .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-italy .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-italy .breadcrumb a:hover {
    color: var(--colosseo-orange);
}

/* Badges */
.abd-theme-italy .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--colosseo-orange);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid var(--colosseo-terracotta);
    border-radius: 6px;
}

.abd-theme-italy .badge-sale {
    background: var(--colosseo-terracotta);
}

.abd-theme-italy .badge-new {
    background: var(--colosseo-green);
}

.abd-theme-italy .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-italy figure {
    margin: 20px 0;
}

.abd-theme-italy figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-italy .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 2px solid var(--colosseo-olive);
    border-radius: 12px;
    margin: 16px 0;
    box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.06);
}

.abd-theme-italy .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-italy .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-italy .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-italy .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-italy .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-italy .variant-selector {
    margin: 16px 0;
}

.abd-theme-italy .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
}

.abd-theme-italy .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-italy .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-italy .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-italy .cart-item {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-italy .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 2px solid var(--it-green);
}

.abd-theme-italy .cart-total {
    border-top: 3px solid var(--it-green);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-italy .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-italy .modal {
    background: #ffffff;
    border: 3px solid var(--it-green);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 8px 8px 0 var(--it-green);
    position: relative;
}

.abd-theme-italy .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--it-red);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-italy .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-italy .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-italy .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-italy .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-italy form label,
.abd-theme-italy .newsletter-form label,
.abd-theme-italy .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-italy a:focus-visible,
.abd-theme-italy button:focus-visible,
.abd-theme-italy input:focus-visible,
.abd-theme-italy select:focus-visible,
.abd-theme-italy textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-italy .announcement-bar,
.abd-theme-italy .announcement-bar-section,
.abd-theme-italy .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-italy .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-italy .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-italy .newsletter-form,
.abd-theme-italy .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-italy .newsletter-form .field__input,
.abd-theme-italy .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-italy .form__message,
.abd-theme-italy .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-italy .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-italy details.accordion,
.abd-theme-italy .accordion,
.abd-theme-italy .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-italy details.accordion summary,
.abd-theme-italy .accordion__title,
.abd-theme-italy .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-italy details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-italy details[open] .accordion__content,
.abd-theme-italy .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-italy .pagination,
.abd-theme-italy .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-italy .pagination__item {
    margin: 0;
}

.abd-theme-italy .pagination__link,
.abd-theme-italy .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-italy .pagination__link:hover,
.abd-theme-italy .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-italy .pagination__item--current .pagination__link,
.abd-theme-italy .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-italy .cart__empty,
.abd-theme-italy .collection__empty,
.abd-theme-italy .search__no-results,
.abd-theme-italy .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-italy .cart__empty p,
.abd-theme-italy .collection__empty p,
.abd-theme-italy .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-italy .product-form__input--dropdown,
.abd-theme-italy .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-italy .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-italy .product-form__input label,
.abd-theme-italy .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-italy .product-form__input input:checked + label,
.abd-theme-italy .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-italy .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-italy .footer__payment,
.abd-theme-italy .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-italy .footer__payment svg,
.abd-theme-italy .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-italy .list-social,
.abd-theme-italy .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-italy .list-social__link,
.abd-theme-italy .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-italy .list-social__link:hover,
.abd-theme-italy .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-italy .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-italy .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-italy .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-italy .image-with-text,
.abd-theme-italy .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-italy .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-italy .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-italy .product-recommendations,
.abd-theme-italy .complementary-products {
    margin-top: 2rem;
}

.abd-theme-italy .product-recommendations__heading,
.abd-theme-italy .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-italy .cart__free-shipping,
.abd-theme-italy .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-italy .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-italy .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-italy .predictive-search,
.abd-theme-italy .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-italy .predictive-search__item,
.abd-theme-italy .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-italy .predictive-search__item:hover,
.abd-theme-italy .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-italy .skeleton,
.abd-theme-italy .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-italy .header-wrapper,
.abd-theme-italy header.shopify-section-header {
    background: var(--colosseo-sky);
    border-bottom: 2px solid var(--colosseo-olive);
    padding: 0.5rem 1rem;
}

/* Logo / store name — ARTS BY DYLAN style */
.abd-theme-italy .header__heading,
.abd-theme-italy .header__heading-link,
.abd-theme-italy .header__title a {
    font-family: "Oswald", "Arial Narrow", sans-serif;
    font-weight: 600;
    color: var(--colosseo-text);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* Main navigation menu */
.abd-theme-italy .header__menu,
.abd-theme-italy .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-italy .header__menu-item,
.abd-theme-italy .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-italy .header__menu-item a,
.abd-theme-italy .list-menu__item a,
.abd-theme-italy .header__menu-item .header__active-menu-item {
    color: var(--colosseo-text);
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-italy .header__menu-item a:hover,
.abd-theme-italy .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-italy .header__submenu,
.abd-theme-italy .mega-menu__content,
.abd-theme-italy .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-italy .header__submenu .list-menu__item a,
.abd-theme-italy .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-italy .menu-drawer,
.abd-theme-italy .menu-drawer__navigation {
    background: var(--colosseo-sky);
    border-right: 2px solid var(--colosseo-olive);
}

.abd-theme-italy .menu-drawer__menu-item,
.abd-theme-italy .menu-drawer__menu-item .link {
    color: var(--colosseo-text);
    text-decoration: none;
}

/* Header icons */
.abd-theme-italy .header__icons,
.abd-theme-italy .header__icon {
    color: var(--colosseo-text);
}

/* Cart count badge */
.abd-theme-italy .cart-count-bubble,
.abd-theme-italy .cart-icon-bubble {
    background: var(--colosseo-orange);
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-italy .cart-drawer,
.abd-theme-italy .drawer__inner {
    background: var(--colosseo-sky);
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-italy .cart-drawer .cart-item,
.abd-theme-italy .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-italy .cart-drawer .cart-item__title,
.abd-theme-italy .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-italy .cart-drawer .cart-item__price,
.abd-theme-italy .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-italy .cart__footer,
.abd-theme-italy .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-italy .cart__ctas button,
.abd-theme-italy .cart__checkout-button,
.abd-theme-italy .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-italy .cart__ctas button:hover,
.abd-theme-italy .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-italy .footer,
.abd-theme-italy .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-italy .footer__link,
.abd-theme-italy .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-italy .search-modal,
.abd-theme-italy .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-italy .search-modal__input,
.abd-theme-italy .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-italy a {
        transition: none;
    }
    .abd-theme-italy .card,
    .abd-theme-italy .product-card,
    .abd-theme-italy .btn,
    .abd-theme-italy button,
    .abd-theme-italy .image-wrapper img {
        transition: none;
    }
}


/* --- men's-magazine.css --- */
/* Men's Magazine Theme — Pin-Up Illustration Style */
.abd-theme-mens-magazine {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #f5ebe0)));
    --color-foreground: var(--text, var(--ink, var(--color, #1a1510)));
    --color-primary: var(--accent, var(--primary, #c41e3a));
    --color-accent: var(--accent, var(--secondary, #c41e3a));
    --color-border: var(--rule, var(--border, #1a1510));

    /* Pin-up illustration palette (vintage men's mag) */
    --paper: #f5ebe0;
    --ink: #1a1510;
    --muted: #5c4a3a;
    --lip-red: #c41e3a;
    --sepia: #8b6914;
    --gold: #d4af37;
    --cutout-white: #ffffff;
    --outline-black: #1a1510;
    --peach: #ffe4c4;
    --rule: var(--outline-black);
    --accent: var(--lip-red);
    --gutter: 32px;
    --max-width: 980px;
    --body-font: "Georgia", "Times New Roman", serif;
    --headline-font: "Oswald", "Arial Narrow", "Helvetica Neue", "Helvetica", sans-serif;
    --label-font: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    --bg: var(--paper);

    background:
        radial-gradient(circle at 20% 30%, rgba(255, 228, 196, 0.4) 0%, transparent 45%),
        linear-gradient(180deg, var(--paper) 0%, #ebe0d5 100%);
    color: var(--ink);
    border: 6px solid var(--cutout-white);
    border-radius: 0;
    box-shadow: 0 0 0 3px var(--outline-black), 0 8px 24px rgba(26, 21, 16, 0.2);
}

.abd-theme-mens-magazine * {
    box-sizing: border-box;
}

/* Layout */
.abd-theme-mens-magazine .theme-content {
    max-width: var(--max-width);
    margin: 48px auto;
    padding: 36px 28px;
    background: var(--cutout-white);
    border: 4px solid var(--outline-black);
    border-radius: 0;
    box-shadow: 6px 6px 0 var(--outline-black);
    font-family: var(--body-font);
    line-height: 1.7;
}

.abd-theme-mens-magazine .editorial-grid {
    display: grid;
    grid-template-columns: 2.2fr 1fr;
    gap: var(--gutter);
    align-items: start;
}

@media (max-width: 900px) {
    .abd-theme-mens-magazine .editorial-grid {
        grid-template-columns: 1fr;
    }
}

/* Typography */
.abd-theme-mens-magazine h1 {
    font-family: var(--headline-font);
    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1.05;
    margin: 0 0 18px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--lip-red);
    text-shadow: 2px 2px 0 var(--cutout-white), 3px 3px 0 var(--outline-black);
}

.abd-theme-mens-magazine h2 {
    font-family: var(--headline-font);
    font-size: clamp(1.6rem, 2.5vw, 2.4rem);
    margin: 30px 0 12px;
    letter-spacing: 0.01em;
}

.abd-theme-mens-magazine h3 {
    font-family: var(--headline-font);
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    margin: 22px 0 10px;
    letter-spacing: 0.02em;
}

.abd-theme-mens-magazine p {
    margin: 0 0 16px;
    color: var(--muted);
}

.abd-theme-mens-magazine .kicker {
    font-family: var(--label-font);
    font-size: 0.75rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 8px;
    display: inline-block;
    border-bottom: 1px solid var(--accent);
    padding-bottom: 4px;
}

.abd-theme-mens-magazine .dek {
    font-size: clamp(1rem, 1.6vw, 1.2rem);
    line-height: 1.4;
    color: var(--muted);
    margin-bottom: 12px;
}

.abd-theme-mens-magazine .byline,
.abd-theme-mens-magazine .dateline {
    font-family: var(--label-font);
    font-size: 0.8rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
}

/* Components */
.abd-theme-mens-magazine .masthead {
    font-family: var(--headline-font);
    font-size: clamp(1.6rem, 2.4vw, 2.4rem);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    border-bottom: 2px solid var(--ink);
    padding-bottom: 10px;
    margin-bottom: 24px;
}

.abd-theme-mens-magazine .hero-image-container {
    background: var(--peach);
    border: 3px solid var(--outline-black);
    border-radius: 0;
    min-height: 220px;
    margin: 18px 0 24px;
    box-shadow: 4px 4px 0 var(--outline-black);
}

.abd-theme-mens-magazine .pull-quote {
    font-family: var(--headline-font);
    font-size: clamp(1.6rem, 2.8vw, 2.4rem);
    line-height: 1.2;
    border-left: 4px solid var(--lip-red);
    padding: 16px 16px 16px 20px;
    margin: 24px 0;
    color: var(--ink);
    background: var(--peach);
    border: 3px solid var(--outline-black);
    box-shadow: 4px 4px 0 var(--outline-black);
}

.abd-theme-mens-magazine .callout-box {
    border: 3px solid var(--outline-black);
    border-radius: 0;
    background: var(--gold);
    color: var(--outline-black);
    padding: 16px;
    margin: 18px 0;
    font-family: var(--label-font);
    font-size: 0.9rem;
    letter-spacing: 0.04em;
    box-shadow: 4px 4px 0 var(--outline-black);
}

.abd-theme-mens-magazine .sidebar {
    border-left: 1px solid var(--rule);
    padding-left: 18px;
    font-family: var(--label-font);
}

.abd-theme-mens-magazine figure {
    margin: 20px 0;
}

.abd-theme-mens-magazine figcaption {
    font-size: 0.85rem;
    color: var(--muted);
    margin-top: 6px;
    border-left: 2px solid var(--accent);
    padding-left: 8px;
}

.abd-theme-mens-magazine hr {
    border: none;
    border-top: 1px solid var(--rule);
    margin: 24px 0;
}

/* Links */
.abd-theme-mens-magazine a {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid var(--accent);
    transition: color 0.2s ease, border-color 0.2s ease;
}

.abd-theme-mens-magazine a:hover {
    color: var(--accent);
    border-bottom-color: var(--accent);
}

/* Lists */
.abd-theme-mens-magazine ul,
.abd-theme-mens-magazine ol {
    margin: 16px 0 20px;
    padding-left: 22px;
}

.abd-theme-mens-magazine li {
    margin-bottom: 8px;
}

/* Code */
.abd-theme-mens-magazine code {
    background: #eee7dc;
    color: var(--ink);
    padding: 2px 6px;
    border: 1px solid var(--rule);
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-mens-magazine pre {
    background: #1a1a1a;
    color: #f7f3ea;
    padding: 14px;
    border: 1px solid var(--ink);
    margin: 20px 0;
    overflow-x: auto;
}

.abd-theme-mens-magazine pre code {
    background: transparent;
    border: none;
    color: #f7f3ea;
}

/* Tables */
.abd-theme-mens-magazine table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

.abd-theme-mens-magazine th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.8rem;
    border-bottom: 2px solid var(--ink);
    padding: 10px 8px;
}

.abd-theme-mens-magazine td {
    border-bottom: 1px solid var(--rule);
    padding: 10px 8px;
    color: var(--muted);
}

/* Highlighted section */
.abd-theme-mens-magazine .highlighted-section {
    border: 1px solid var(--rule);
    padding: 16px;
    margin: 20px 0;
    background: #fffdf8;
}

/* Cards */
.abd-theme-mens-magazine .card,
.abd-theme-mens-magazine .product-card {
    background: #fffdf8;
    border: 1px solid var(--rule);
    padding: 20px;
    margin: 16px 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-mens-magazine .card:hover,
.abd-theme-mens-magazine .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* Grid Layouts */
.abd-theme-mens-magazine .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-mens-magazine .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-mens-magazine .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-mens-magazine .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 900px) {
    .abd-theme-mens-magazine .grid-2,
    .abd-theme-mens-magazine .grid-3,
    .abd-theme-mens-magazine .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-mens-magazine input[type="text"],
.abd-theme-mens-magazine input[type="email"],
.abd-theme-mens-magazine input[type="number"],
.abd-theme-mens-magazine input[type="password"],
.abd-theme-mens-magazine textarea,
.abd-theme-mens-magazine select {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--rule);
    background: #ffffff;
    color: var(--ink);
    font-family: var(--body-font);
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-mens-magazine input:focus,
.abd-theme-mens-magazine textarea:focus,
.abd-theme-mens-magazine select:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(176, 122, 42, 0.1);
}

/* Buttons */
.abd-theme-mens-magazine .btn,
.abd-theme-mens-magazine button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--accent);
    color: #ffffff;
    border: 1px solid var(--accent);
    font-family: var(--label-font);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.abd-theme-mens-magazine .btn:hover,
.abd-theme-mens-magazine button:hover {
    background: #8f6121;
    border-color: #8f6121;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.abd-theme-mens-magazine .btn-secondary {
    background: transparent;
    color: var(--accent);
}

.abd-theme-mens-magazine .btn-secondary:hover {
    background: var(--accent);
    color: #ffffff;
}

/* Navigation */
.abd-theme-mens-magazine nav,
.abd-theme-mens-magazine .nav {
    border-bottom: 2px solid var(--ink);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-mens-magazine .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-mens-magazine .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
    font-family: var(--headline-font);
}

.abd-theme-mens-magazine .nav a:hover {
    border-bottom-color: var(--accent);
}

.abd-theme-mens-magazine .breadcrumb {
    font-size: 0.75rem;
    color: var(--muted);
    margin-bottom: 16px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-family: var(--label-font);
}

.abd-theme-mens-magazine .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-mens-magazine .breadcrumb a:hover {
    color: var(--accent);
}

/* Badges */
.abd-theme-mens-magazine .badge {
    display: inline-block;
    padding: 4px 10px;
    background: var(--accent);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    border-bottom: 1px solid var(--accent);
    font-family: var(--label-font);
}

.abd-theme-mens-magazine .badge-sale {
    background: var(--accent);
}

.abd-theme-mens-magazine .badge-new {
    background: var(--ink);
}

.abd-theme-mens-magazine .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-mens-magazine figure {
    margin: 20px 0;
}

.abd-theme-mens-magazine figcaption {
    font-size: 0.85rem;
    color: var(--muted);
    margin-top: 6px;
    border-left: 2px solid var(--accent);
    padding-left: 8px;
    font-family: var(--label-font);
}

.abd-theme-mens-magazine .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--rule);
    margin: 18px 0;
    background: #e6e0d6;
}

.abd-theme-mens-magazine .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-mens-magazine .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-mens-magazine .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
    font-family: var(--headline-font);
}

.abd-theme-mens-magazine .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-mens-magazine .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
    font-family: var(--headline-font);
}

.abd-theme-mens-magazine .variant-selector {
    margin: 16px 0;
}

.abd-theme-mens-magazine .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.75rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-family: var(--label-font);
}

.abd-theme-mens-magazine .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-mens-magazine .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-mens-magazine .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-mens-magazine .cart-item {
    border-bottom: 1px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-mens-magazine .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 1px solid var(--rule);
}

.abd-theme-mens-magazine .cart-total {
    border-top: 2px solid var(--ink);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
    font-family: var(--headline-font);
}

/* Modals/Overlays */
.abd-theme-mens-magazine .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-mens-magazine .modal {
    background: #fffdf8;
    border: 2px solid var(--ink);
    outline: 3px double var(--rule);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(0, 0, 0, 0.15);
    position: relative;
}

.abd-theme-mens-magazine .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--accent);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-mens-magazine .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-mens-magazine .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-mens-magazine .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-mens-magazine .theme-content {
        padding: 24px;
    }
}

/* Motion */
/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-mens-magazine form label,
.abd-theme-mens-magazine .newsletter-form label,
.abd-theme-mens-magazine .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-mens-magazine a:focus-visible,
.abd-theme-mens-magazine button:focus-visible,
.abd-theme-mens-magazine input:focus-visible,
.abd-theme-mens-magazine select:focus-visible,
.abd-theme-mens-magazine textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-mens-magazine .announcement-bar,
.abd-theme-mens-magazine .announcement-bar-section,
.abd-theme-mens-magazine .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-mens-magazine .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-mens-magazine .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-mens-magazine .newsletter-form,
.abd-theme-mens-magazine .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-mens-magazine .newsletter-form .field__input,
.abd-theme-mens-magazine .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-mens-magazine .form__message,
.abd-theme-mens-magazine .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-mens-magazine .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-mens-magazine details.accordion,
.abd-theme-mens-magazine .accordion,
.abd-theme-mens-magazine .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-mens-magazine details.accordion summary,
.abd-theme-mens-magazine .accordion__title,
.abd-theme-mens-magazine .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-mens-magazine details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-mens-magazine details[open] .accordion__content,
.abd-theme-mens-magazine .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-mens-magazine .pagination,
.abd-theme-mens-magazine .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-mens-magazine .pagination__item {
    margin: 0;
}

.abd-theme-mens-magazine .pagination__link,
.abd-theme-mens-magazine .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-mens-magazine .pagination__link:hover,
.abd-theme-mens-magazine .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-mens-magazine .pagination__item--current .pagination__link,
.abd-theme-mens-magazine .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-mens-magazine .cart__empty,
.abd-theme-mens-magazine .collection__empty,
.abd-theme-mens-magazine .search__no-results,
.abd-theme-mens-magazine .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-mens-magazine .cart__empty p,
.abd-theme-mens-magazine .collection__empty p,
.abd-theme-mens-magazine .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-mens-magazine .product-form__input--dropdown,
.abd-theme-mens-magazine .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-mens-magazine .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-mens-magazine .product-form__input label,
.abd-theme-mens-magazine .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-mens-magazine .product-form__input input:checked + label,
.abd-theme-mens-magazine .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-mens-magazine .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-mens-magazine .footer__payment,
.abd-theme-mens-magazine .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-mens-magazine .footer__payment svg,
.abd-theme-mens-magazine .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-mens-magazine .list-social,
.abd-theme-mens-magazine .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-mens-magazine .list-social__link,
.abd-theme-mens-magazine .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-mens-magazine .list-social__link:hover,
.abd-theme-mens-magazine .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-mens-magazine .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-mens-magazine .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-mens-magazine .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-mens-magazine .image-with-text,
.abd-theme-mens-magazine .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-mens-magazine .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-mens-magazine .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-mens-magazine .product-recommendations,
.abd-theme-mens-magazine .complementary-products {
    margin-top: 2rem;
}

.abd-theme-mens-magazine .product-recommendations__heading,
.abd-theme-mens-magazine .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-mens-magazine .cart__free-shipping,
.abd-theme-mens-magazine .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-mens-magazine .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-mens-magazine .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-mens-magazine .predictive-search,
.abd-theme-mens-magazine .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-mens-magazine .predictive-search__item,
.abd-theme-mens-magazine .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-mens-magazine .predictive-search__item:hover,
.abd-theme-mens-magazine .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-mens-magazine .skeleton,
.abd-theme-mens-magazine .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-mens-magazine .header-wrapper,
.abd-theme-mens-magazine header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-mens-magazine .header__heading,
.abd-theme-mens-magazine .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-mens-magazine .header__menu,
.abd-theme-mens-magazine .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-mens-magazine .header__menu-item,
.abd-theme-mens-magazine .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-mens-magazine .header__menu-item a,
.abd-theme-mens-magazine .list-menu__item a,
.abd-theme-mens-magazine .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-mens-magazine .header__menu-item a:hover,
.abd-theme-mens-magazine .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-mens-magazine .header__submenu,
.abd-theme-mens-magazine .mega-menu__content,
.abd-theme-mens-magazine .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-mens-magazine .header__submenu .list-menu__item a,
.abd-theme-mens-magazine .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-mens-magazine .menu-drawer,
.abd-theme-mens-magazine .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-mens-magazine .menu-drawer__menu-item,
.abd-theme-mens-magazine .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-mens-magazine .header__icons,
.abd-theme-mens-magazine .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-mens-magazine .cart-count-bubble,
.abd-theme-mens-magazine .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-mens-magazine .cart-drawer,
.abd-theme-mens-magazine .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-mens-magazine .cart-drawer .cart-item,
.abd-theme-mens-magazine .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-mens-magazine .cart-drawer .cart-item__title,
.abd-theme-mens-magazine .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-mens-magazine .cart-drawer .cart-item__price,
.abd-theme-mens-magazine .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-mens-magazine .cart__footer,
.abd-theme-mens-magazine .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-mens-magazine .cart__ctas button,
.abd-theme-mens-magazine .cart__checkout-button,
.abd-theme-mens-magazine .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-mens-magazine .cart__ctas button:hover,
.abd-theme-mens-magazine .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-mens-magazine .footer,
.abd-theme-mens-magazine .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-mens-magazine .footer__link,
.abd-theme-mens-magazine .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-mens-magazine .search-modal,
.abd-theme-mens-magazine .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-mens-magazine .search-modal__input,
.abd-theme-mens-magazine .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-mens-magazine a {
        transition: none;
    }
    .abd-theme-mens-magazine .card,
    .abd-theme-mens-magazine .product-card,
    .abd-theme-mens-magazine .btn,
    .abd-theme-mens-magazine button,
    .abd-theme-mens-magazine .image-wrapper img {
        transition: none;
    }
}


/* --- military-theme.css --- */
.abd-theme-military-theme {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    /* Secret Navy Document Color Palette */
    --navy-blue: #001f3f;
    --navy-blue-dark: #001529;
    --navy-blue-light: #003366;
    --gold: #d4af37;
    --gold-light: #f4d03f;
    --gold-dark: #b8941e;
    --paper-beige: #f5f5dc;
    --paper-cream: #faf8f3;
    --text-navy: #1a237e;
    --border-gold: #c9a961;
    
    /* Typography */
    --font-mono: 'Courier Prime', 'Courier New', monospace;
    --font-header: 'Special Elite', 'Times New Roman', serif;
    
    /* Spacing */
    --spacing-small: 8px;
    --spacing-medium: 16px;
    --spacing-large: 32px;
}

.abd-theme-military-theme {
    font-family: var(--font-mono);
    line-height: 1.6;
    color: var(--text-navy);
    background-color: var(--paper-cream);
    /* Textured paper background effect */
    background-image: 
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 2px,
            rgba(0, 0, 0, 0.03) 2px,
            rgba(0, 0, 0, 0.03) 4px
        ),
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 2px,
            rgba(0, 0, 0, 0.03) 2px,
            rgba(0, 0, 0, 0.03) 4px
        ),
        radial-gradient(circle at 20% 30%, rgba(139, 69, 19, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(139, 69, 19, 0.05) 0%, transparent 50%);
    background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%;
    min-height: 100vh;
    padding: var(--spacing-large);
    position: relative;
}

/* Document border effect */
.abd-theme-military-theme::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 8px double var(--gold);
    pointer-events: none;
    z-index: 0;
}

.abd-theme-military-theme > * {
    position: relative;
    z-index: 1;
}

/* Header with gold styling */
.abd-theme-military-theme .abd-header {
    border-bottom: 3px solid var(--gold);
    border-top: 2px solid var(--gold);
    margin-bottom: var(--spacing-large);
    padding: var(--spacing-medium) 0;
    background: linear-gradient(to bottom, 
        rgba(212, 175, 55, 0.1) 0%, 
        transparent 100%);
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.2);
}

/* Classified stamp */
.abd-theme-military-theme .abd-stamp {
    color: var(--gold);
    border: 4px double var(--gold);
    font-family: var(--font-header);
    font-size: 1.5rem;
    font-weight: 800;
    transform: rotate(-12deg);
    margin-bottom: var(--spacing-large);
    padding: var(--spacing-small) var(--spacing-medium);
    background: rgba(212, 175, 55, 0.1);
    display: inline-block;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.3);
}

/* Gold headers */
.abd-theme-military-theme h1 {
    font-family: var(--font-header);
    font-size: 2.4rem;
    text-transform: uppercase;
    margin: var(--spacing-medium) 0;
    color: var(--gold);
    letter-spacing: 2px;
    line-height: 1.4;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
    border-bottom: 2px solid var(--gold);
    padding-bottom: var(--spacing-small);
    display: inline-block;
}

.abd-theme-military-theme h2 {
    font-family: var(--font-header);
    border-bottom: 2px solid var(--gold);
    display: inline-block;
    margin-top: var(--spacing-large);
    color: var(--gold);
    line-height: 1.5;
    font-size: 1.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding-bottom: var(--spacing-small);
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

.abd-theme-military-theme h3 {
    font-family: var(--font-header);
    color: var(--gold-dark);
    font-size: 1.4rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: var(--spacing-medium);
    border-left: 4px solid var(--gold);
    padding-left: var(--spacing-medium);
}

/* Meta information */
.abd-theme-military-theme .abd-meta {
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    color: var(--navy-blue);
    border: 1px solid var(--navy-blue-light);
    padding: var(--spacing-small) var(--spacing-medium);
    background: rgba(0, 31, 63, 0.05);
    display: inline-block;
    margin-bottom: var(--spacing-medium);
    letter-spacing: 1px;
}

/* Navy blue text for paragraphs */
.abd-theme-military-theme p {
    margin-bottom: var(--spacing-medium);
    color: var(--text-navy);
    font-size: 1rem;
    text-align: justify;
    line-height: 1.8;
}

/* Key points section - document style */
.abd-theme-military-theme .abd-key-points {
    border: 2px dashed var(--navy-blue);
    border-left: 6px solid var(--gold);
    padding: var(--spacing-large);
    margin-top: var(--spacing-large);
    background: rgba(255, 255, 255, 0.5);
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.05);
    position: relative;
}

.abd-theme-military-theme .abd-key-points::before {
    content: 'CLASSIFIED';
    position: absolute;
    top: 10px;
    right: 10px;
    font-family: var(--font-header);
    font-size: 0.7rem;
    color: var(--gold);
    opacity: 0.3;
    letter-spacing: 2px;
}

/* Footer - document style */
.abd-theme-military-theme .abd-footer {
    margin-top: var(--spacing-large);
    font-size: 0.75rem;
    text-align: left;
    font-weight: bold;
    border-top: 2px solid var(--gold);
    padding-top: var(--spacing-medium);
    color: var(--navy-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Lists */
.abd-theme-military-theme ul,
.abd-theme-military-theme ol {
    color: var(--text-navy);
    margin-left: var(--spacing-large);
    margin-bottom: var(--spacing-medium);
}

.abd-theme-military-theme li {
    margin-bottom: var(--spacing-small);
    line-height: 1.8;
}

.abd-theme-military-theme li::marker {
    color: var(--gold);
}

/* Links */
.abd-theme-military-theme a {
    color: var(--navy-blue);
    text-decoration: underline;
    text-decoration-color: var(--gold);
    transition: all 0.3s ease;
}

.abd-theme-military-theme a:hover {
    color: var(--gold-dark);
    text-decoration-color: var(--navy-blue);
}

/* Blockquotes - document style */
.abd-theme-military-theme blockquote {
    border-left: 4px solid var(--gold);
    padding-left: var(--spacing-medium);
    margin: var(--spacing-medium) 0;
    color: var(--text-navy);
    font-style: italic;
    background: rgba(212, 175, 55, 0.05);
    padding: var(--spacing-medium);
}

/* Code blocks */
.abd-theme-military-theme code {
    background: rgba(0, 31, 63, 0.1);
    color: var(--navy-blue);
    padding: 2px 6px;
    border: 1px solid var(--navy-blue-light);
    font-family: var(--font-mono);
}

.abd-theme-military-theme pre {
    background: rgba(0, 31, 63, 0.1);
    border: 2px solid var(--navy-blue);
    border-left: 6px solid var(--gold);
    padding: var(--spacing-medium);
    overflow-x: auto;
    color: var(--text-navy);
}

/* Tables - document style */
.abd-theme-military-theme table {
    border-collapse: collapse;
    width: 100%;
    margin: var(--spacing-medium) 0;
    background: rgba(255, 255, 255, 0.5);
}

.abd-theme-military-theme th {
    background: var(--navy-blue);
    color: var(--gold);
    padding: var(--spacing-small) var(--spacing-medium);
    text-align: left;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 1px solid var(--gold);
}

.abd-theme-military-theme td {
    padding: var(--spacing-small) var(--spacing-medium);
    border: 1px solid var(--navy-blue-light);
    color: var(--text-navy);
}

.abd-theme-military-theme tr:nth-child(even) {
    background: rgba(212, 175, 55, 0.05);
}

/* Markdown-generated content styling */
.abd-theme-military-theme .theme-content {
    padding: var(--spacing-large);
}

.abd-theme-military-theme .theme-content p {
    margin-bottom: var(--spacing-medium);
    color: var(--text-navy);
    font-size: 1rem;
    text-align: justify;
    line-height: 1.8;
}

.abd-theme-military-theme .theme-content h1,
.abd-theme-military-theme .theme-content h2,
.abd-theme-military-theme .theme-content h3,
.abd-theme-military-theme .theme-content h4,
.abd-theme-military-theme .theme-content h5,
.abd-theme-military-theme .theme-content h6 {
    margin-top: var(--spacing-large);
    margin-bottom: var(--spacing-medium);
}

.abd-theme-military-theme .theme-content ul,
.abd-theme-military-theme .theme-content ol {
    margin: var(--spacing-medium) 0;
    padding-left: var(--spacing-large);
    color: var(--text-navy);
}

.abd-theme-military-theme .theme-content li {
    margin-bottom: var(--spacing-small);
    line-height: 1.8;
}

.abd-theme-military-theme .theme-content blockquote {
    border-left: 4px solid var(--gold);
    padding-left: var(--spacing-medium);
    margin: var(--spacing-medium) 0;
    color: var(--text-navy);
    font-style: italic;
    background: rgba(212, 175, 55, 0.05);
    padding: var(--spacing-medium);
}

.abd-theme-military-theme .theme-content code {
    background: rgba(0, 31, 63, 0.1);
    color: var(--navy-blue);
    padding: 2px 6px;
    border: 1px solid var(--navy-blue-light);
    font-family: var(--font-mono);
}

.abd-theme-military-theme .theme-content pre {
    background: rgba(0, 31, 63, 0.1);
    border: 2px solid var(--navy-blue);
    border-left: 6px solid var(--gold);
    padding: var(--spacing-medium);
    overflow-x: auto;
    color: var(--text-navy);
}

.abd-theme-military-theme .theme-content pre code {
    background: transparent;
    padding: 0;
    border: none;
}

.abd-theme-military-theme .theme-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: var(--spacing-medium) 0;
    border: 2px solid var(--gold);
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.3);
}

.abd-theme-military-theme .theme-content table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--spacing-medium) 0;
    background: rgba(255, 255, 255, 0.5);
}

.abd-theme-military-theme .theme-content th {
    background: var(--navy-blue);
    color: var(--gold);
    padding: var(--spacing-small) var(--spacing-medium);
    text-align: left;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 1px solid var(--gold);
}

.abd-theme-military-theme .theme-content td {
    padding: var(--spacing-small) var(--spacing-medium);
    border: 1px solid var(--navy-blue-light);
    color: var(--text-navy);
}

.abd-theme-military-theme .theme-content tr:nth-child(even) {
    background: rgba(212, 175, 55, 0.05);
}

.abd-theme-military-theme .theme-content hr {
    border: none;
    border-top: 2px solid var(--gold);
    margin: var(--spacing-large) 0;
    opacity: 0.5;
}

/* Responsive design */
@media (max-width: 768px) {
    .abd-theme-military-theme {
        padding: var(--spacing-medium);
    }
    
    .abd-theme-military-theme h1 {
        font-size: 1.8rem;
    }
    
    .abd-theme-military-theme h2 {
        font-size: 1.4rem;
    }
    
    .abd-theme-military-theme .abd-stamp {
        font-size: 1.2rem;
    }
}

/* Highlighted section */
.abd-theme-military-theme .highlighted-section {
    border: 2px solid var(--border-gold);
    padding: var(--spacing-medium);
    margin: var(--spacing-large) 0;
    background: var(--paper-beige);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.abd-theme-military-theme .dek {
    font-size: 1.1rem;
    color: var(--text-navy);
    margin: 8px 0 16px;
    line-height: 1.5;
    opacity: 0.8;
}

.abd-theme-military-theme .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--gold);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--text-navy);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-military-theme .callout,
.abd-theme-military-theme .callout-box {
    border: 2px solid var(--border-gold);
    padding: var(--spacing-medium);
    margin: var(--spacing-medium) 0;
    background: var(--paper-beige);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.abd-theme-military-theme .sidebar {
    border-left: 3px solid var(--border-gold);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--text-navy);
    font-style: italic;
    opacity: 0.8;
}

/* Cards */
.abd-theme-military-theme .card,
.abd-theme-military-theme .product-card {
    background: var(--paper-beige);
    border: 2px solid var(--border-gold);
    padding: var(--spacing-medium);
    margin: var(--spacing-medium) 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-military-theme .card:hover,
.abd-theme-military-theme .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* Grid Layouts */
.abd-theme-military-theme .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-military-theme .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-military-theme .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-military-theme .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-military-theme .grid-2,
    .abd-theme-military-theme .grid-3,
    .abd-theme-military-theme .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-military-theme input[type="text"],
.abd-theme-military-theme input[type="email"],
.abd-theme-military-theme input[type="number"],
.abd-theme-military-theme input[type="password"],
.abd-theme-military-theme textarea,
.abd-theme-military-theme select {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--border-gold);
    background: #ffffff;
    color: var(--text-navy);
    font-family: var(--font-mono);
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-military-theme input:focus,
.abd-theme-military-theme textarea:focus,
.abd-theme-military-theme select:focus {
    outline: none;
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2);
}

/* Buttons */
.abd-theme-military-theme .btn,
.abd-theme-military-theme button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--navy-blue);
    color: var(--gold);
    border: 2px solid var(--border-gold);
    font-family: var(--font-header);
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.abd-theme-military-theme .btn:hover,
.abd-theme-military-theme button:hover {
    background: var(--gold);
    color: var(--navy-blue);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.abd-theme-military-theme .btn-secondary {
    background: transparent;
    color: var(--navy-blue);
}

.abd-theme-military-theme .btn-secondary:hover {
    background: var(--navy-blue);
    color: var(--gold);
}

/* Navigation */
.abd-theme-military-theme nav,
.abd-theme-military-theme .nav {
    border-bottom: 2px solid var(--border-gold);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-military-theme .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-military-theme .nav a {
    color: var(--text-navy);
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
    font-family: var(--font-header);
}

.abd-theme-military-theme .nav a:hover {
    border-bottom-color: var(--gold);
}

.abd-theme-military-theme .breadcrumb {
    font-size: 0.875rem;
    color: var(--text-navy);
    margin-bottom: 16px;
    font-family: var(--font-mono);
    opacity: 0.8;
}

.abd-theme-military-theme .breadcrumb a {
    color: var(--text-navy);
    text-decoration: none;
}

.abd-theme-military-theme .breadcrumb a:hover {
    color: var(--gold);
}

/* Badges */
.abd-theme-military-theme .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--gold);
    color: var(--navy-blue);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid var(--border-gold);
    font-family: var(--font-header);
}

.abd-theme-military-theme .badge-sale {
    background: var(--gold);
}

.abd-theme-military-theme .badge-new {
    background: var(--navy-blue);
    color: var(--gold);
}

.abd-theme-military-theme .badge-out-of-stock {
    background: var(--text-navy);
    opacity: 0.6;
    color: var(--gold);
}

/* Enhanced Images */
.abd-theme-military-theme figure {
    margin: 20px 0;
}

.abd-theme-military-theme figcaption {
    font-size: 0.875rem;
    color: var(--text-navy);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
    font-family: var(--font-mono);
    opacity: 0.8;
}

.abd-theme-military-theme .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 2px solid var(--border-gold);
    margin: 16px 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.abd-theme-military-theme .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-military-theme .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-military-theme .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-navy);
    margin: 12px 0;
    font-family: var(--font-header);
}

.abd-theme-military-theme .product-price-compare {
    font-size: 1rem;
    color: var(--text-navy);
    text-decoration: line-through;
    margin-left: 8px;
    opacity: 0.6;
}

.abd-theme-military-theme .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-navy);
    margin: 12px 0;
    font-family: var(--font-header);
}

.abd-theme-military-theme .variant-selector {
    margin: 16px 0;
}

.abd-theme-military-theme .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--text-navy);
    font-size: 0.75rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-family: var(--font-header);
}

.abd-theme-military-theme .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-military-theme .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-military-theme .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
    font-family: var(--font-mono);
}

/* Cart Elements */
.abd-theme-military-theme .cart-item {
    border-bottom: 1px solid var(--border-gold);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-military-theme .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 2px solid var(--border-gold);
}

.abd-theme-military-theme .cart-total {
    border-top: 2px solid var(--border-gold);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-navy);
    font-family: var(--font-header);
}

/* Modals/Overlays */
.abd-theme-military-theme .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-military-theme .modal {
    background: var(--paper-beige);
    border: 3px solid var(--border-gold);
    padding: var(--spacing-large);
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    position: relative;
}

.abd-theme-military-theme .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--navy-blue);
    color: var(--gold);
    border: 2px solid var(--border-gold);
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-header);
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-military-theme .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-military-theme .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-military-theme .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-military-theme .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-military-theme form label,
.abd-theme-military-theme .newsletter-form label,
.abd-theme-military-theme .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-military-theme a:focus-visible,
.abd-theme-military-theme button:focus-visible,
.abd-theme-military-theme input:focus-visible,
.abd-theme-military-theme select:focus-visible,
.abd-theme-military-theme textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-military-theme .announcement-bar,
.abd-theme-military-theme .announcement-bar-section,
.abd-theme-military-theme .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-military-theme .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-military-theme .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-military-theme .newsletter-form,
.abd-theme-military-theme .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-military-theme .newsletter-form .field__input,
.abd-theme-military-theme .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-military-theme .form__message,
.abd-theme-military-theme .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-military-theme .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-military-theme details.accordion,
.abd-theme-military-theme .accordion,
.abd-theme-military-theme .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-military-theme details.accordion summary,
.abd-theme-military-theme .accordion__title,
.abd-theme-military-theme .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-military-theme details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-military-theme details[open] .accordion__content,
.abd-theme-military-theme .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-military-theme .pagination,
.abd-theme-military-theme .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-military-theme .pagination__item {
    margin: 0;
}

.abd-theme-military-theme .pagination__link,
.abd-theme-military-theme .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-military-theme .pagination__link:hover,
.abd-theme-military-theme .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-military-theme .pagination__item--current .pagination__link,
.abd-theme-military-theme .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-military-theme .cart__empty,
.abd-theme-military-theme .collection__empty,
.abd-theme-military-theme .search__no-results,
.abd-theme-military-theme .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-military-theme .cart__empty p,
.abd-theme-military-theme .collection__empty p,
.abd-theme-military-theme .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-military-theme .product-form__input--dropdown,
.abd-theme-military-theme .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-military-theme .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-military-theme .product-form__input label,
.abd-theme-military-theme .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-military-theme .product-form__input input:checked + label,
.abd-theme-military-theme .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-military-theme .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-military-theme .footer__payment,
.abd-theme-military-theme .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-military-theme .footer__payment svg,
.abd-theme-military-theme .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-military-theme .list-social,
.abd-theme-military-theme .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-military-theme .list-social__link,
.abd-theme-military-theme .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-military-theme .list-social__link:hover,
.abd-theme-military-theme .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-military-theme .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-military-theme .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-military-theme .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-military-theme .image-with-text,
.abd-theme-military-theme .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-military-theme .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-military-theme .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-military-theme .product-recommendations,
.abd-theme-military-theme .complementary-products {
    margin-top: 2rem;
}

.abd-theme-military-theme .product-recommendations__heading,
.abd-theme-military-theme .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-military-theme .cart__free-shipping,
.abd-theme-military-theme .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-military-theme .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-military-theme .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-military-theme .predictive-search,
.abd-theme-military-theme .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-military-theme .predictive-search__item,
.abd-theme-military-theme .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-military-theme .predictive-search__item:hover,
.abd-theme-military-theme .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-military-theme .skeleton,
.abd-theme-military-theme .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-military-theme .header-wrapper,
.abd-theme-military-theme header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name — scale down to match other themes (override global h2) */
.abd-theme-military-theme .header__title,
.abd-theme-military-theme .header__heading,
.abd-theme-military-theme .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    font-size: 1.1rem;
    margin: 0;
    padding: 0;
    border: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    text-shadow: none;
}

/* Main navigation menu — compact spacing to match other themes */
.abd-theme-military-theme .header__menu,
.abd-theme-military-theme .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

/* Override generic nav block when it targets the header nav */
.abd-theme-military-theme header nav.header__menu {
    padding: 0;
    margin-bottom: 0;
}

.abd-theme-military-theme .header__menu-item,
.abd-theme-military-theme .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-military-theme .header__menu-item a,
.abd-theme-military-theme .list-menu__item a,
.abd-theme-military-theme .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
}

.abd-theme-military-theme .header__menu-item a:hover,
.abd-theme-military-theme .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-military-theme .header__submenu,
.abd-theme-military-theme .mega-menu__content,
.abd-theme-military-theme .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-military-theme .header__submenu .list-menu__item a,
.abd-theme-military-theme .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-military-theme .menu-drawer,
.abd-theme-military-theme .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-military-theme .menu-drawer__menu-item,
.abd-theme-military-theme .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-military-theme .header__icons,
.abd-theme-military-theme .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-military-theme .cart-count-bubble,
.abd-theme-military-theme .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-military-theme .cart-drawer,
.abd-theme-military-theme .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-military-theme .cart-drawer .cart-item,
.abd-theme-military-theme .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-military-theme .cart-drawer .cart-item__title,
.abd-theme-military-theme .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-military-theme .cart-drawer .cart-item__price,
.abd-theme-military-theme .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-military-theme .cart__footer,
.abd-theme-military-theme .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-military-theme .cart__ctas button,
.abd-theme-military-theme .cart__checkout-button,
.abd-theme-military-theme .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-military-theme .cart__ctas button:hover,
.abd-theme-military-theme .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-military-theme .footer,
.abd-theme-military-theme .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-military-theme .footer__link,
.abd-theme-military-theme .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-military-theme .search-modal,
.abd-theme-military-theme .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-military-theme .search-modal__input,
.abd-theme-military-theme .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-military-theme a {
        transition: none;
    }
    .abd-theme-military-theme .card,
    .abd-theme-military-theme .product-card,
    .abd-theme-military-theme .btn,
    .abd-theme-military-theme button,
    .abd-theme-military-theme .image-wrapper img {
        transition: none;
    }
}


/* --- millennial-myspace.css --- */
.abd-theme-millennial-myspace {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    font-family: 'Helvetica', 'Arial', sans-serif;
    line-height: 1.6;
    color: #262626;
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 40px;
    background:
        radial-gradient(circle at 15% 0%, rgba(233, 89, 80, 0.08), transparent 40%),
        radial-gradient(circle at 85% 10%, rgba(63, 114, 155, 0.1), transparent 45%),
        #fafafa;
    border: 1px solid #dbdbdb;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    position: relative;
    border-top: 60px solid #3b5998;
    border-radius: 18px;
}

.abd-theme-millennial-myspace .abd-header {
    text-align: left;
    margin-bottom: 50px;
    position: relative;
    z-index: 1;
    background: #ffffff;
    padding: 28px 28px 28px 120px;
    border: 1px solid #dbdbdb;
    border-radius: 16px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
    min-height: 120px;
}

.abd-theme-millennial-myspace .abd-header::before {
    content: "";
    position: absolute;
    left: 28px;
    top: 28px;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 35%, #ffffff 0%, #ffffff 35%, #f0f0f0 60%, #e6e6e6 100%);
    border: 4px solid #ffffff;
    box-shadow:
        0 0 0 3px #e95950,
        0 0 0 6px #3f729b;
}

.abd-theme-millennial-myspace .abd-header::after {
    content: "online";
    position: absolute;
    right: 24px;
    top: 20px;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: #e95950;
    color: #ffffff;
    padding: 4px 10px;
    border-radius: 999px;
}

.abd-theme-millennial-myspace .abd-cover {
    background:
        linear-gradient(120deg, rgba(59, 89, 152, 0.9), rgba(233, 89, 80, 0.85)),
        radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.35), transparent 40%);
    border-radius: 16px;
    height: 160px;
    margin: -30px 0 30px;
    border: 1px solid #dbdbdb;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.abd-theme-millennial-myspace .abd-category {
    display: inline-block;
    text-transform: lowercase;
    font-family: 'Lobster', cursive;
    font-size: 1rem;
    color: #3b5998;
    margin-bottom: 20px;
    transform: rotate(-2deg);
    background: rgba(233, 89, 80, 0.12);
    padding: 4px 10px;
    border-radius: 999px;
}

.abd-theme-millennial-myspace h1 {
    font-family: 'Lobster', cursive;
    font-size: 3.2rem;
    line-height: 1.2;
    margin-bottom: 12px;
    color: #262626;
    font-weight: 400;
}

.abd-theme-millennial-myspace h2 {
    font-family: 'Helvetica', sans-serif;
    font-size: 1.5rem;
    margin-top: 40px;
    color: #262626;
    font-weight: 700;
}

.abd-theme-millennial-myspace p {
    margin-bottom: 24px;
    font-size: 1.1rem;
    color: #4a4a4a;
    line-height: 1.8;
}

.abd-theme-millennial-myspace .abd-key-points {
    background: #fff;
    padding: 16px;
    margin: 40px 0;
    border: 1px solid #dbdbdb;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
    border-radius: 14px;
    transform: none;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    text-align: center;
    font-weight: 600;
    color: #262626;
}

.abd-theme-millennial-myspace .abd-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 12px;
    margin: 24px 0 36px;
}

.abd-theme-millennial-myspace .abd-stats .stat {
    background: #ffffff;
    border: 1px solid #dbdbdb;
    border-radius: 14px;
    padding: 12px 14px;
    text-align: center;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
}

.abd-theme-millennial-myspace .abd-stats .stat strong {
    display: block;
    font-size: 1.4rem;
    color: #3b5998;
}

.abd-theme-millennial-myspace .abd-stats .stat span {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.75rem;
    color: #7a7a7a;
}

.abd-theme-millennial-myspace .abd-post-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin: 24px 0;
}

.abd-theme-millennial-myspace .abd-post-grid img {
    margin: 0;
}

.abd-theme-millennial-myspace .abd-key-points strong {
    display: block;
    font-size: 1.2rem;
    color: #3b5998;
}

.abd-theme-millennial-myspace .abd-key-points small {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #7a7a7a;
    font-size: 0.75rem;
}

.abd-theme-millennial-myspace a {
    color: #3b5998;
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-millennial-myspace a:hover {
    color: #e95950;
    text-decoration: underline;
}

/* Lists - MySpace style */
.abd-theme-millennial-myspace ul,
.abd-theme-millennial-myspace ol {
    margin: 24px 0;
    padding-left: 30px;
    color: #4a4a4a;
}

.abd-theme-millennial-myspace li {
    margin-bottom: 12px;
    line-height: 1.8;
}

.abd-theme-millennial-myspace ul li::marker {
    color: #e95950;
}

/* Blockquotes - Instagram story style */
.abd-theme-millennial-myspace blockquote {
    border-left: 4px solid #3b5998;
    padding-left: 20px;
    margin: 24px 0;
    color: #4a4a4a;
    font-style: italic;
    background: #fafafa;
    padding: 20px;
    border-radius: 8px;
}

/* Code blocks - clean millennial style */
.abd-theme-millennial-myspace code {
    background: #f0f0f0;
    color: #e95950;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
}

.abd-theme-millennial-myspace pre {
    background: #262626;
    color: #fafafa;
    padding: 20px;
    border-radius: 8px;
    margin: 24px 0;
    overflow-x: auto;
    font-family: 'Courier New', monospace;
    border: 1px solid #dbdbdb;
}

.abd-theme-millennial-myspace pre code {
    background: transparent;
    padding: 0;
    color: #fafafa;
}

/* Tables - clean social media grid */
.abd-theme-millennial-myspace table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    background: #fff;
    border: 1px solid #dbdbdb;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.abd-theme-millennial-myspace th {
    background: #3b5998;
    color: #fff;
    padding: 15px;
    text-align: left;
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.abd-theme-millennial-myspace td {
    padding: 15px;
    border-top: 1px solid #dbdbdb;
    color: #4a4a4a;
}

.abd-theme-millennial-myspace tr:nth-child(even) {
    background: #fafafa;
}

.abd-theme-millennial-myspace tr:hover {
    background: #f0f0f0;
}

/* Images - Instagram post style */
.abd-theme-millennial-myspace img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 24px 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border: 1px solid #dbdbdb;
}

/* Horizontal rules - subtle divider */
.abd-theme-millennial-myspace hr {
    border: none;
    border-top: 1px solid #dbdbdb;
    margin: 40px 0;
}

/* Buttons - social media style */
.abd-theme-millennial-myspace button,
.abd-theme-millennial-myspace .button {
    background: #3b5998;
    color: #fff;
    border: none;
    padding: 12px 24px;
    font-family: 'Helvetica', sans-serif;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(59, 89, 152, 0.3);
}

.abd-theme-millennial-myspace button:hover,
.abd-theme-millennial-myspace .button:hover {
    background: #e95950;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(233, 89, 80, 0.4);
}

/* Markdown content support */
.abd-theme-millennial-myspace .theme-content {
    padding: 20px 0;
}

.abd-theme-millennial-myspace .theme-content h1,
.abd-theme-millennial-myspace .theme-content h2,
.abd-theme-millennial-myspace .theme-content h3,
.abd-theme-millennial-myspace .theme-content h4,
.abd-theme-millennial-myspace .theme-content h5,
.abd-theme-millennial-myspace .theme-content h6 {
    margin-top: 40px;
    margin-bottom: 20px;
}

.abd-theme-millennial-myspace .theme-content h1 {
    font-family: 'Lobster', cursive;
    font-size: 3rem;
    color: #3f729b;
    font-weight: 400;
}

.abd-theme-millennial-myspace .theme-content h2 {
    font-family: 'Helvetica', sans-serif;
    font-size: 1.5rem;
    color: #262626;
    font-weight: 700;
}

.abd-theme-millennial-myspace .theme-content h3 {
    font-family: 'Helvetica', sans-serif;
    font-size: 1.3rem;
    color: #262626;
    font-weight: 700;
}

.abd-theme-millennial-myspace .theme-content p {
    margin-bottom: 24px;
    font-size: 1.1rem;
    color: #4a4a4a;
    line-height: 1.8;
}

.abd-theme-millennial-myspace .theme-content ul,
.abd-theme-millennial-myspace .theme-content ol {
    margin: 24px 0;
    padding-left: 30px;
    color: #4a4a4a;
}

.abd-theme-millennial-myspace .theme-content li {
    margin-bottom: 12px;
    line-height: 1.8;
}

.abd-theme-millennial-myspace .theme-content blockquote {
    border-left: 4px solid #3b5998;
    padding-left: 20px;
    margin: 24px 0;
    color: #4a4a4a;
    font-style: italic;
    background: #fafafa;
    padding: 20px;
    border-radius: 8px;
}

.abd-theme-millennial-myspace .theme-content code {
    background: #f0f0f0;
    color: #e95950;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
}

.abd-theme-millennial-myspace .theme-content pre {
    background: #262626;
    color: #fafafa;
    padding: 20px;
    border-radius: 8px;
    margin: 24px 0;
    overflow-x: auto;
    font-family: 'Courier New', monospace;
    border: 1px solid #dbdbdb;
}

.abd-theme-millennial-myspace .theme-content pre code {
    background: transparent;
    padding: 0;
    color: #fafafa;
}

.abd-theme-millennial-myspace .theme-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    background: #fff;
    border: 1px solid #dbdbdb;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.abd-theme-millennial-myspace .theme-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 24px 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border: 1px solid #dbdbdb;
}

.abd-theme-millennial-myspace .theme-content hr {
    border: none;
    border-top: 1px solid #dbdbdb;
    margin: 40px 0;
}

/* Highlighted sections */
.abd-theme-millennial-myspace .highlighted-section {
    background: #fff;
    padding: 20px;
    margin: 24px 0;
    border: 1px solid #dbdbdb;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-left: 4px solid #e95950;
}

.abd-theme-millennial-myspace .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-millennial-myspace .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid #e95950;
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-millennial-myspace .callout,
.abd-theme-millennial-myspace .callout-box {
    background: #fff;
    padding: 14px 16px;
    margin: 18px 0;
    border: 1px solid #dbdbdb;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border-left: 4px solid #e95950;
}

.abd-theme-millennial-myspace .sidebar {
    border-left: 3px solid #dbdbdb;
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Cards */
.abd-theme-millennial-myspace .card,
.abd-theme-millennial-myspace .product-card {
    background: #fff;
    border: 1px solid #dbdbdb;
    border-radius: 8px;
    padding: 20px;
    margin: 16px 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border-left: 4px solid #e95950;
}

.abd-theme-millennial-myspace .card:hover,
.abd-theme-millennial-myspace .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

/* Grid Layouts */
.abd-theme-millennial-myspace .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-millennial-myspace .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-millennial-myspace .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-millennial-myspace .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-millennial-myspace .grid-2,
    .abd-theme-millennial-myspace .grid-3,
    .abd-theme-millennial-myspace .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-millennial-myspace input[type="text"],
.abd-theme-millennial-myspace input[type="email"],
.abd-theme-millennial-myspace input[type="number"],
.abd-theme-millennial-myspace input[type="password"],
.abd-theme-millennial-myspace textarea,
.abd-theme-millennial-myspace select {
    width: 100%;
    padding: 12px;
    border: 1px solid #dbdbdb;
    background: #ffffff;
    color: #262626;
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
    border-radius: 4px;
}

.abd-theme-millennial-myspace input:focus,
.abd-theme-millennial-myspace textarea:focus,
.abd-theme-millennial-myspace select:focus {
    outline: none;
    border-color: #3b5998;
    box-shadow: 0 0 0 3px rgba(59, 89, 152, 0.1);
}

/* Buttons */
.abd-theme-millennial-myspace .btn,
.abd-theme-millennial-myspace button {
    display: inline-block;
    padding: 12px 24px;
    background: #3b5998;
    color: #ffffff;
    border: none;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    border-radius: 4px;
}

.abd-theme-millennial-myspace .btn:hover,
.abd-theme-millennial-myspace button:hover {
    background: #2d4373;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.abd-theme-millennial-myspace .btn-secondary {
    background: transparent;
    color: #3b5998;
    border: 1px solid #3b5998;
}

.abd-theme-millennial-myspace .btn-secondary:hover {
    background: #3b5998;
    color: #ffffff;
}

/* Navigation */
.abd-theme-millennial-myspace nav,
.abd-theme-millennial-myspace .nav {
    border-bottom: 2px solid #dbdbdb;
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-millennial-myspace .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-millennial-myspace .nav a {
    color: #262626;
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-millennial-myspace .nav a:hover {
    border-bottom-color: #e95950;
}

.abd-theme-millennial-myspace .breadcrumb {
    font-size: 0.875rem;
    color: #8e8e8e;
    margin-bottom: 16px;
}

.abd-theme-millennial-myspace .breadcrumb a {
    color: #262626;
    text-decoration: none;
}

.abd-theme-millennial-myspace .breadcrumb a:hover {
    color: #3b5998;
}

/* Badges */
.abd-theme-millennial-myspace .badge {
    display: inline-block;
    padding: 4px 12px;
    background: #e95950;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 4px;
}

.abd-theme-millennial-myspace .badge-sale {
    background: #e95950;
}

.abd-theme-millennial-myspace .badge-new {
    background: #3f729b;
}

.abd-theme-millennial-myspace .badge-out-of-stock {
    background: #8e8e8e;
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-millennial-myspace figure {
    margin: 20px 0;
}

.abd-theme-millennial-myspace figcaption {
    font-size: 0.875rem;
    color: #8e8e8e;
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-millennial-myspace .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 1px solid #dbdbdb;
    border-radius: 8px;
    margin: 16px 0;
}

.abd-theme-millennial-myspace .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-millennial-myspace .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-millennial-myspace .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: #262626;
    margin: 12px 0;
}

.abd-theme-millennial-myspace .product-price-compare {
    font-size: 1rem;
    color: #8e8e8e;
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-millennial-myspace .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #262626;
    margin: 12px 0;
}

.abd-theme-millennial-myspace .variant-selector {
    margin: 16px 0;
}

.abd-theme-millennial-myspace .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #262626;
    font-size: 0.875rem;
}

.abd-theme-millennial-myspace .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-millennial-myspace .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-millennial-myspace .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-millennial-myspace .cart-item {
    border-bottom: 1px solid #dbdbdb;
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-millennial-myspace .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 1px solid #dbdbdb;
    border-radius: 4px;
}

.abd-theme-millennial-myspace .cart-total {
    border-top: 2px solid #dbdbdb;
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: #262626;
}

/* Modals/Overlays */
.abd-theme-millennial-myspace .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-millennial-myspace .modal {
    background: #ffffff;
    border: 1px solid #dbdbdb;
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    position: relative;
    border-radius: 8px;
}

.abd-theme-millennial-myspace .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: #e95950;
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-millennial-myspace .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-millennial-myspace .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-millennial-myspace .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-millennial-myspace .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-millennial-myspace form label,
.abd-theme-millennial-myspace .newsletter-form label,
.abd-theme-millennial-myspace .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-millennial-myspace a:focus-visible,
.abd-theme-millennial-myspace button:focus-visible,
.abd-theme-millennial-myspace input:focus-visible,
.abd-theme-millennial-myspace select:focus-visible,
.abd-theme-millennial-myspace textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-millennial-myspace .announcement-bar,
.abd-theme-millennial-myspace .announcement-bar-section,
.abd-theme-millennial-myspace .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-millennial-myspace .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-millennial-myspace .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-millennial-myspace .newsletter-form,
.abd-theme-millennial-myspace .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-millennial-myspace .newsletter-form .field__input,
.abd-theme-millennial-myspace .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-millennial-myspace .form__message,
.abd-theme-millennial-myspace .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-millennial-myspace .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-millennial-myspace details.accordion,
.abd-theme-millennial-myspace .accordion,
.abd-theme-millennial-myspace .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-millennial-myspace details.accordion summary,
.abd-theme-millennial-myspace .accordion__title,
.abd-theme-millennial-myspace .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-millennial-myspace details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-millennial-myspace details[open] .accordion__content,
.abd-theme-millennial-myspace .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-millennial-myspace .pagination,
.abd-theme-millennial-myspace .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-millennial-myspace .pagination__item {
    margin: 0;
}

.abd-theme-millennial-myspace .pagination__link,
.abd-theme-millennial-myspace .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-millennial-myspace .pagination__link:hover,
.abd-theme-millennial-myspace .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-millennial-myspace .pagination__item--current .pagination__link,
.abd-theme-millennial-myspace .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-millennial-myspace .cart__empty,
.abd-theme-millennial-myspace .collection__empty,
.abd-theme-millennial-myspace .search__no-results,
.abd-theme-millennial-myspace .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-millennial-myspace .cart__empty p,
.abd-theme-millennial-myspace .collection__empty p,
.abd-theme-millennial-myspace .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-millennial-myspace .product-form__input--dropdown,
.abd-theme-millennial-myspace .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-millennial-myspace .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-millennial-myspace .product-form__input label,
.abd-theme-millennial-myspace .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-millennial-myspace .product-form__input input:checked + label,
.abd-theme-millennial-myspace .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-millennial-myspace .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-millennial-myspace .footer__payment,
.abd-theme-millennial-myspace .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-millennial-myspace .footer__payment svg,
.abd-theme-millennial-myspace .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-millennial-myspace .list-social,
.abd-theme-millennial-myspace .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-millennial-myspace .list-social__link,
.abd-theme-millennial-myspace .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-millennial-myspace .list-social__link:hover,
.abd-theme-millennial-myspace .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-millennial-myspace .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-millennial-myspace .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-millennial-myspace .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-millennial-myspace .image-with-text,
.abd-theme-millennial-myspace .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-millennial-myspace .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-millennial-myspace .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-millennial-myspace .product-recommendations,
.abd-theme-millennial-myspace .complementary-products {
    margin-top: 2rem;
}

.abd-theme-millennial-myspace .product-recommendations__heading,
.abd-theme-millennial-myspace .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-millennial-myspace .cart__free-shipping,
.abd-theme-millennial-myspace .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-millennial-myspace .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-millennial-myspace .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-millennial-myspace .predictive-search,
.abd-theme-millennial-myspace .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-millennial-myspace .predictive-search__item,
.abd-theme-millennial-myspace .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-millennial-myspace .predictive-search__item:hover,
.abd-theme-millennial-myspace .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-millennial-myspace .skeleton,
.abd-theme-millennial-myspace .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-millennial-myspace .header-wrapper,
.abd-theme-millennial-myspace header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-millennial-myspace .header__heading,
.abd-theme-millennial-myspace .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-millennial-myspace .header__menu,
.abd-theme-millennial-myspace .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-millennial-myspace .header__menu-item,
.abd-theme-millennial-myspace .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-millennial-myspace .header__menu-item a,
.abd-theme-millennial-myspace .list-menu__item a,
.abd-theme-millennial-myspace .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-millennial-myspace .header__menu-item a:hover,
.abd-theme-millennial-myspace .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-millennial-myspace .header__submenu,
.abd-theme-millennial-myspace .mega-menu__content,
.abd-theme-millennial-myspace .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-millennial-myspace .header__submenu .list-menu__item a,
.abd-theme-millennial-myspace .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-millennial-myspace .menu-drawer,
.abd-theme-millennial-myspace .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-millennial-myspace .menu-drawer__menu-item,
.abd-theme-millennial-myspace .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-millennial-myspace .header__icons,
.abd-theme-millennial-myspace .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-millennial-myspace .cart-count-bubble,
.abd-theme-millennial-myspace .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-millennial-myspace .cart-drawer,
.abd-theme-millennial-myspace .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-millennial-myspace .cart-drawer .cart-item,
.abd-theme-millennial-myspace .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-millennial-myspace .cart-drawer .cart-item__title,
.abd-theme-millennial-myspace .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-millennial-myspace .cart-drawer .cart-item__price,
.abd-theme-millennial-myspace .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-millennial-myspace .cart__footer,
.abd-theme-millennial-myspace .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-millennial-myspace .cart__ctas button,
.abd-theme-millennial-myspace .cart__checkout-button,
.abd-theme-millennial-myspace .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-millennial-myspace .cart__ctas button:hover,
.abd-theme-millennial-myspace .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-millennial-myspace .footer,
.abd-theme-millennial-myspace .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-millennial-myspace .footer__link,
.abd-theme-millennial-myspace .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-millennial-myspace .search-modal,
.abd-theme-millennial-myspace .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-millennial-myspace .search-modal__input,
.abd-theme-millennial-myspace .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-millennial-myspace a {
        transition: none;
    }
    .abd-theme-millennial-myspace .card,
    .abd-theme-millennial-myspace .product-card,
    .abd-theme-millennial-myspace .btn,
    .abd-theme-millennial-myspace button,
    .abd-theme-millennial-myspace .image-wrapper img {
        transition: none;
    }
}



/* --- national-parks-poster.css --- */
/* National Parks Poster Theme (WPA / Travel Poster) */
.abd-theme-national-parks-poster {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #FDF5E6)));
    --color-foreground: var(--text, var(--ink, var(--color, #1A1A1A)));
    --color-primary: var(--accent, var(--primary, #6A7B8C));
    --color-accent: var(--accent, var(--secondary, #CC8833));
    --color-border: var(--rule, var(--border, #B0B8C8));

    /* Bald eagle / sunrise landscape palette */
    --sky: #A8BFCC;
    --sun: #FFD700;
    --pine: #6A7B8C;
    --rust: #CC8833;
    --earth: #332211;
    --paper: #FDF5E6;
    --ink: #1A1A1A;
    --muted: #B59E9E;
    --rule: rgba(106, 123, 140, 0.35);
    font-family: "Trebuchet MS", "Verdana", sans-serif;
    color: var(--ink);
    background:
        radial-gradient(circle at 18% 12%, rgba(255, 222, 173, 0.35), transparent 40%),
        repeating-linear-gradient(0deg, rgba(26, 26, 26, 0.03) 0px, rgba(26, 26, 26, 0.03) 1px, transparent 1px, transparent 3px),
        linear-gradient(180deg, #FDF5E6 0%, #FFDEAD 40%, var(--sky) 100%);
}

.abd-theme-national-parks-poster * {
    box-sizing: border-box;
}

/* Layout */
.abd-theme-national-parks-poster .theme-content {
    max-width: 960px;
    margin: 40px auto;
    padding: 32px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.75), rgba(253, 245, 230, 0.98)),
        radial-gradient(circle at 85% 15%, rgba(168, 191, 204, 0.2), transparent 40%);
    border: 4px solid var(--earth);
    box-shadow:
        0 10px 20px rgba(51, 34, 17, 0.12),
        inset 0 0 0 2px rgba(106, 123, 140, 0.15);
}

/* Typography */
.abd-theme-national-parks-poster h1,
.abd-theme-national-parks-poster h2,
.abd-theme-national-parks-poster h3,
.abd-theme-national-parks-poster h4,
.abd-theme-national-parks-poster h5,
.abd-theme-national-parks-poster h6 {
    font-family: "Arial Black", "Impact", "Trebuchet MS", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 20px 0 12px;
    color: var(--earth);
}

.abd-theme-national-parks-poster h1 {
    font-size: clamp(2.4rem, 4vw, 3.8rem);
    color: var(--pine);
    text-shadow:
        2px 2px 0 var(--sun),
        4px 4px 0 rgba(51, 34, 17, 0.2);
    border-bottom: 4px solid var(--rust);
    padding-bottom: 8px;
}

.abd-theme-national-parks-poster h2 {
    font-size: clamp(1.6rem, 2.6vw, 2.4rem);
    color: var(--rust);
    border-bottom: 3px solid var(--pine);
    display: inline-block;
    padding-bottom: 6px;
}

.abd-theme-national-parks-poster h3 {
    font-size: clamp(1.2rem, 2vw, 1.7rem);
    color: var(--pine);
}

.abd-theme-national-parks-poster p {
    margin: 0 0 16px;
    line-height: 1.7;
}

/* Labels */
.abd-theme-national-parks-poster .kicker,
.abd-theme-national-parks-poster .byline,
.abd-theme-national-parks-poster .dateline,
.abd-theme-national-parks-poster .section-title {
    font-size: 0.75rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--earth);
    background: rgba(106, 123, 140, 0.1);
    padding: 4px 10px;
    display: inline-block;
    border: 2px solid var(--earth);
}

/* Links */
.abd-theme-national-parks-poster a {
    color: var(--pine);
    text-decoration: none;
    border-bottom: 2px solid var(--pine);
    font-weight: 700;
}

.abd-theme-national-parks-poster a:hover {
    color: var(--rust);
    border-bottom-color: var(--rust);
}

/* Blockquotes */
.abd-theme-national-parks-poster blockquote {
    margin: 20px 0;
    padding: 16px 18px;
    border-left: 6px solid var(--sun);
    background: rgba(168, 191, 204, 0.25);
    color: var(--ink);
}

/* Code */
.abd-theme-national-parks-poster code {
    background: rgba(204, 136, 51, 0.15);
    color: var(--earth);
    padding: 2px 6px;
    border: 1px solid var(--rust);
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-national-parks-poster pre {
    background: var(--earth);
    color: #FDF5E6;
    padding: 16px;
    border: 3px solid var(--rust);
    margin: 18px 0;
    overflow-x: auto;
}

.abd-theme-national-parks-poster pre code {
    background: transparent;
    border: none;
    color: inherit;
    padding: 0;
}

/* Tables */
.abd-theme-national-parks-poster table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    background: #ffffff;
    border: 3px solid var(--earth);
}

.abd-theme-national-parks-poster th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.75rem;
    background: var(--pine);
    color: #ffffff;
    padding: 10px;
}

.abd-theme-national-parks-poster td {
    padding: 10px;
    border-top: 2px solid var(--rule);
}

.abd-theme-national-parks-poster tr:nth-child(even) td {
    background: rgba(168, 191, 204, 0.15);
}

/* Images */
.abd-theme-national-parks-poster img {
    max-width: 100%;
    height: auto;
    border: 4px solid var(--earth);
    box-shadow: 6px 6px 0 var(--earth);
    margin: 16px 0;
    background: #fff;
    padding: 4px;
}

/* Rules */
.abd-theme-national-parks-poster hr {
    border: none;
    border-top: 4px solid var(--earth);
    margin: 24px 0;
    box-shadow: 0 4px 0 var(--sun);
}

/* Highlighted section */
.abd-theme-national-parks-poster .highlighted-section {
    border: 4px solid var(--pine);
    padding: 16px;
    margin: 20px 0;
    background: linear-gradient(90deg, rgba(106, 123, 140, 0.15), rgba(255, 255, 255, 0.9), rgba(204, 136, 51, 0.12));
    box-shadow: 6px 6px 0 var(--earth);
    font-weight: 700;
}

.abd-theme-national-parks-poster .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-national-parks-poster .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--pine);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
}

.abd-theme-national-parks-poster .callout,
.abd-theme-national-parks-poster .callout-box {
    border: 2px solid var(--pine);
    padding: 14px 16px;
    margin: 18px 0;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 4px 4px 0 var(--earth);
}

.abd-theme-national-parks-poster .sidebar {
    border-left: 4px solid var(--pine);
    padding: 24px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.95);
    border: 2px solid var(--rule);
    border-left: 5px solid var(--pine);
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(106, 123, 140, 0.2);
}

.abd-theme-national-parks-poster .sidebar h3,
.abd-theme-national-parks-poster .sidebar h4 {
    color: var(--pine);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 0;
    margin-bottom: 12px;
    border-bottom: 2px solid var(--rule);
    padding-bottom: 8px;
}

.abd-theme-national-parks-poster .sidebar ul {
    list-style: none;
    padding: 0;
}

.abd-theme-national-parks-poster .sidebar li {
    padding: 8px 0;
    border-bottom: 1px solid var(--rule);
}

.abd-theme-national-parks-poster .sidebar li:last-child {
    border-bottom: none;
}

/* Cards */
.abd-theme-national-parks-poster .card,
.abd-theme-national-parks-poster .product-card {
    background: #ffffff;
    border: 2px solid var(--pine);
    border-radius: 8px;
    padding: 20px;
    margin: 16px 0;
    box-shadow: 4px 4px 0 var(--earth);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-national-parks-poster .card:hover,
.abd-theme-national-parks-poster .product-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: 6px 6px 0 var(--earth);
}

/* Grid Layouts */
.abd-theme-national-parks-poster .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-national-parks-poster .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-national-parks-poster .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-national-parks-poster .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-national-parks-poster .grid-2,
    .abd-theme-national-parks-poster .grid-3,
    .abd-theme-national-parks-poster .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-national-parks-poster input[type="text"],
.abd-theme-national-parks-poster input[type="email"],
.abd-theme-national-parks-poster input[type="number"],
.abd-theme-national-parks-poster input[type="password"],
.abd-theme-national-parks-poster textarea,
.abd-theme-national-parks-poster select {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--pine);
    background: #ffffff;
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-national-parks-poster input:focus,
.abd-theme-national-parks-poster textarea:focus,
.abd-theme-national-parks-poster select:focus {
    outline: none;
    border-color: var(--sun);
    box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.25);
}

/* Buttons */
.abd-theme-national-parks-poster .btn,
.abd-theme-national-parks-poster button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--pine);
    color: #ffffff;
    border: 2px solid var(--pine);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.abd-theme-national-parks-poster .btn:hover,
.abd-theme-national-parks-poster button:hover {
    background: var(--sun);
    border-color: var(--sun);
    transform: translateY(-2px);
    box-shadow: 4px 4px 0 var(--earth);
}

.abd-theme-national-parks-poster .btn-secondary {
    background: transparent;
    color: var(--pine);
}

.abd-theme-national-parks-poster .btn-secondary:hover {
    background: var(--pine);
    color: #ffffff;
}

/* Navigation */
.abd-theme-national-parks-poster nav,
.abd-theme-national-parks-poster .nav {
    border-bottom: 3px solid var(--pine);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-national-parks-poster .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-national-parks-poster .nav a {
    color: var(--pine);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-national-parks-poster .nav a:hover {
    border-bottom-color: var(--sun);
}

.abd-theme-national-parks-poster .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-national-parks-poster .breadcrumb a {
    color: var(--pine);
    text-decoration: none;
}

.abd-theme-national-parks-poster .breadcrumb a:hover {
    color: var(--sun);
}

/* Badges */
.abd-theme-national-parks-poster .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--sun);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid var(--pine);
}

.abd-theme-national-parks-poster .badge-sale {
    background: var(--rust);
}

.abd-theme-national-parks-poster .badge-new {
    background: var(--pine);
}

.abd-theme-national-parks-poster .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-national-parks-poster figure {
    margin: 20px 0;
}

.abd-theme-national-parks-poster figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-national-parks-poster .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--pine);
    margin: 16px 0;
}

.abd-theme-national-parks-poster .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-national-parks-poster .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-national-parks-poster .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--pine);
    margin: 12px 0;
}

.abd-theme-national-parks-poster .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-national-parks-poster .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--pine);
    margin: 12px 0;
}

.abd-theme-national-parks-poster .variant-selector {
    margin: 16px 0;
}

.abd-theme-national-parks-poster .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--pine);
    font-size: 0.875rem;
}

.abd-theme-national-parks-poster .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-national-parks-poster .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-national-parks-poster .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-national-parks-poster .cart-item {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-national-parks-poster .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 2px solid var(--pine);
}

.abd-theme-national-parks-poster .cart-total {
    border-top: 3px solid var(--pine);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--pine);
}

/* Modals/Overlays */
.abd-theme-national-parks-poster .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-national-parks-poster .modal {
    background: #ffffff;
    border: 3px solid var(--pine);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 8px 8px 0 var(--earth);
    position: relative;
}

.abd-theme-national-parks-poster .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--rust);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-national-parks-poster .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-national-parks-poster .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-national-parks-poster .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-national-parks-poster .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-national-parks-poster form label,
.abd-theme-national-parks-poster .newsletter-form label,
.abd-theme-national-parks-poster .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-national-parks-poster a:focus-visible,
.abd-theme-national-parks-poster button:focus-visible,
.abd-theme-national-parks-poster input:focus-visible,
.abd-theme-national-parks-poster select:focus-visible,
.abd-theme-national-parks-poster textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-national-parks-poster .announcement-bar,
.abd-theme-national-parks-poster .announcement-bar-section,
.abd-theme-national-parks-poster .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-national-parks-poster .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-national-parks-poster .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-national-parks-poster .newsletter-form,
.abd-theme-national-parks-poster .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-national-parks-poster .newsletter-form .field__input,
.abd-theme-national-parks-poster .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-national-parks-poster .form__message,
.abd-theme-national-parks-poster .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-national-parks-poster .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-national-parks-poster details.accordion,
.abd-theme-national-parks-poster .accordion,
.abd-theme-national-parks-poster .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-national-parks-poster details.accordion summary,
.abd-theme-national-parks-poster .accordion__title,
.abd-theme-national-parks-poster .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-national-parks-poster details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-national-parks-poster details[open] .accordion__content,
.abd-theme-national-parks-poster .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-national-parks-poster .pagination,
.abd-theme-national-parks-poster .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-national-parks-poster .pagination__item {
    margin: 0;
}

.abd-theme-national-parks-poster .pagination__link,
.abd-theme-national-parks-poster .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-national-parks-poster .pagination__link:hover,
.abd-theme-national-parks-poster .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-national-parks-poster .pagination__item--current .pagination__link,
.abd-theme-national-parks-poster .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-national-parks-poster .cart__empty,
.abd-theme-national-parks-poster .collection__empty,
.abd-theme-national-parks-poster .search__no-results,
.abd-theme-national-parks-poster .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-national-parks-poster .cart__empty p,
.abd-theme-national-parks-poster .collection__empty p,
.abd-theme-national-parks-poster .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-national-parks-poster .product-form__input--dropdown,
.abd-theme-national-parks-poster .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-national-parks-poster .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-national-parks-poster .product-form__input label,
.abd-theme-national-parks-poster .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-national-parks-poster .product-form__input input:checked + label,
.abd-theme-national-parks-poster .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-national-parks-poster .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-national-parks-poster .footer__payment,
.abd-theme-national-parks-poster .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-national-parks-poster .footer__payment svg,
.abd-theme-national-parks-poster .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-national-parks-poster .list-social,
.abd-theme-national-parks-poster .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-national-parks-poster .list-social__link,
.abd-theme-national-parks-poster .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-national-parks-poster .list-social__link:hover,
.abd-theme-national-parks-poster .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-national-parks-poster .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-national-parks-poster .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-national-parks-poster .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-national-parks-poster .image-with-text,
.abd-theme-national-parks-poster .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-national-parks-poster .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-national-parks-poster .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-national-parks-poster .product-recommendations,
.abd-theme-national-parks-poster .complementary-products {
    margin-top: 2rem;
}

.abd-theme-national-parks-poster .product-recommendations__heading,
.abd-theme-national-parks-poster .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-national-parks-poster .cart__free-shipping,
.abd-theme-national-parks-poster .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-national-parks-poster .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-national-parks-poster .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-national-parks-poster .predictive-search,
.abd-theme-national-parks-poster .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-national-parks-poster .predictive-search__item,
.abd-theme-national-parks-poster .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-national-parks-poster .predictive-search__item:hover,
.abd-theme-national-parks-poster .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-national-parks-poster .skeleton,
.abd-theme-national-parks-poster .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-national-parks-poster .header-wrapper,
.abd-theme-national-parks-poster header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-national-parks-poster .header__heading,
.abd-theme-national-parks-poster .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-national-parks-poster .header__menu,
.abd-theme-national-parks-poster .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-national-parks-poster .header__menu-item,
.abd-theme-national-parks-poster .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-national-parks-poster .header__menu-item a,
.abd-theme-national-parks-poster .list-menu__item a,
.abd-theme-national-parks-poster .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-national-parks-poster .header__menu-item a:hover,
.abd-theme-national-parks-poster .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-national-parks-poster .header__submenu,
.abd-theme-national-parks-poster .mega-menu__content,
.abd-theme-national-parks-poster .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-national-parks-poster .header__submenu .list-menu__item a,
.abd-theme-national-parks-poster .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-national-parks-poster .menu-drawer,
.abd-theme-national-parks-poster .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-national-parks-poster .menu-drawer__menu-item,
.abd-theme-national-parks-poster .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-national-parks-poster .header__icons,
.abd-theme-national-parks-poster .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-national-parks-poster .cart-count-bubble,
.abd-theme-national-parks-poster .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-national-parks-poster .cart-drawer,
.abd-theme-national-parks-poster .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-national-parks-poster .cart-drawer .cart-item,
.abd-theme-national-parks-poster .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-national-parks-poster .cart-drawer .cart-item__title,
.abd-theme-national-parks-poster .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-national-parks-poster .cart-drawer .cart-item__price,
.abd-theme-national-parks-poster .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-national-parks-poster .cart__footer,
.abd-theme-national-parks-poster .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-national-parks-poster .cart__ctas button,
.abd-theme-national-parks-poster .cart__checkout-button,
.abd-theme-national-parks-poster .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-national-parks-poster .cart__ctas button:hover,
.abd-theme-national-parks-poster .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-national-parks-poster .footer,
.abd-theme-national-parks-poster .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-national-parks-poster .footer__link,
.abd-theme-national-parks-poster .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-national-parks-poster .search-modal,
.abd-theme-national-parks-poster .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-national-parks-poster .search-modal__input,
.abd-theme-national-parks-poster .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-national-parks-poster a {
        transition: none;
    }
    .abd-theme-national-parks-poster .card,
    .abd-theme-national-parks-poster .product-card,
    .abd-theme-national-parks-poster .btn,
    .abd-theme-national-parks-poster button,
    .abd-theme-national-parks-poster .image-wrapper img {
        transition: none;
    }
}


/* --- newspaper.css --- */
/* Newspaper & Literary Magazine Theme */
.abd-theme-newspaper {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    --paper: #e9e3d8;
    --ink: #2b2b2b;
    --muted: #4c4c4c;
    --rule: #cfc8be;
    --accent: #7a6b5a;
    --font-body: 'Merriweather', 'Georgia', 'Times New Roman', serif;
    --font-headline: 'Georgia', 'Times New Roman', serif;
    --letter-spacing: 0.04em;
    --line-height: 1.7;
    background:
        linear-gradient(0deg, rgba(0, 0, 0, 0.035), rgba(0, 0, 0, 0.035)),
        var(--paper);
    color: var(--ink);
}

/* Base reset */
.abd-theme-newspaper * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Layout */
.abd-theme-newspaper .theme-content {
    max-width: 860px;
    margin: 48px auto;
    font-family: var(--font-body);
    line-height: var(--line-height);
    background: #f5f0e7;
    padding: 36px 32px;
    border: 1px solid var(--rule);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

@media (min-width: 1024px) {
    .abd-theme-newspaper .theme-content.columns {
        column-count: 2;
        column-gap: 32px;
    }
}

/* Typography */
.abd-theme-newspaper h1,
.abd-theme-newspaper h2,
.abd-theme-newspaper h3,
.abd-theme-newspaper h4,
.abd-theme-newspaper h5,
.abd-theme-newspaper h6 {
    font-family: var(--font-headline);
    font-weight: 700;
    color: var(--ink);
    letter-spacing: 0.02em;
}

.abd-theme-newspaper h1 {
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    line-height: 1.05;
    text-transform: uppercase;
    border-bottom: 2px solid var(--ink);
    padding-bottom: 10px;
    margin-bottom: 18px;
}

/* Drop cap for first paragraph */
.abd-theme-newspaper p:first-of-type::first-letter {
    float: left;
    font-size: 3.6rem;
    line-height: 1;
    padding: 0 8px 0 0;
    font-family: var(--font-headline);
    color: var(--ink);
}

.abd-theme-newspaper h2 {
    font-size: clamp(1.6rem, 2.5vw, 2.2rem);
    margin-top: 30px;
    border-bottom: 1px solid var(--accent);
    padding-bottom: 6px;
}

.abd-theme-newspaper h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    margin-top: 22px;
}

.abd-theme-newspaper p,
.abd-theme-newspaper blockquote,
.abd-theme-newspaper cite {
    margin-bottom: 1.2rem;
    color: var(--muted);
}

.abd-theme-newspaper .byline,
.abd-theme-newspaper .dateline,
.abd-theme-newspaper .section-title {
    font-size: 0.75rem;
    letter-spacing: var(--letter-spacing);
    color: #666;
    text-transform: uppercase;
}

.abd-theme-newspaper figure {
    margin: 40px auto;
    max-width: 800px;
}

.abd-theme-newspaper figcaption {
    font-style: italic;
    color: var(--secondary-color);
    margin-top: 8px;
}

.abd-theme-newspaper hr {
    border: none;
    border-top: 1px solid var(--rule);
    margin: 24px 0;
}

.abd-theme-newspaper a {
    text-decoration: none;
    color: var(--ink);
    border-bottom: 1px solid var(--accent);
}

.abd-theme-newspaper a:hover {
    color: var(--accent);
}

.abd-theme-newspaper .theme-content > section {
    background-color: #f0e9dd;
    padding: 20px;
    margin-bottom: 36px;
    border-left: 4px solid var(--accent);
}

.abd-theme-newspaper .pullquote {
    font-size: 1.1rem;
    line-height: 1.5;
    color: var(--muted);
    background-color: #f0e9dd;
    padding: 12px 16px;
    border-left: 3px solid var(--accent);
}

/* Lists */
.abd-theme-newspaper ul,
.abd-theme-newspaper ol {
    margin: 18px 0;
    padding-left: 24px;
}

.abd-theme-newspaper li {
    margin-bottom: 8px;
}

/* Blockquotes */
.abd-theme-newspaper blockquote {
    border-left: 4px solid var(--accent);
    padding-left: 16px;
    background: rgba(230, 224, 214, 0.6);
    padding: 16px;
    font-style: italic;
}

/* Inline code */
.abd-theme-newspaper code {
    background: #e6e0d6;
    color: #2b2b2b;
    padding: 2px 6px;
    border: 1px solid var(--accent);
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
}

/* Code blocks */
.abd-theme-newspaper pre {
    background: #1f1f1f;
    color: #f7f3ea;
    padding: 16px;
    border: 2px solid var(--ink);
    margin: 24px 0;
    overflow-x: auto;
    font-family: 'Courier New', monospace;
}

.abd-theme-newspaper pre code {
    background: transparent;
    border: none;
    padding: 0;
    color: #f7f3ea;
}

/* Tables */
.abd-theme-newspaper table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    background: #fff;
    border: 1px solid var(--ink);
}

.abd-theme-newspaper th {
    background: var(--ink);
    color: #fff;
    padding: 10px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing);
}

.abd-theme-newspaper td {
    padding: 10px;
    border-top: 1px solid var(--rule);
    color: var(--muted);
}

.abd-theme-newspaper tr:nth-child(even) {
    background: #f1ede3;
}

/* Images */
.abd-theme-newspaper img {
    max-width: 100%;
    height: auto;
    border: 1px solid var(--ink);
    padding: 4px;
    background: #fff;
    margin: 20px 0;
}

/* Buttons */
.abd-theme-newspaper button,
.abd-theme-newspaper .button {
    background: var(--ink);
    color: #fff;
    border: 1px solid var(--accent);
    padding: 8px 16px;
    font-family: var(--font-headline);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing);
    cursor: pointer;
}

.abd-theme-newspaper button:hover,
.abd-theme-newspaper .button:hover {
    background: var(--accent);
}

/* Highlighted section */
.abd-theme-newspaper .highlighted-section {
    background: #fff;
    border: 1px solid var(--accent);
    padding: 16px;
    margin: 24px 0;
}

.abd-theme-newspaper .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-newspaper .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--accent);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-newspaper .callout,
.abd-theme-newspaper .callout-box {
    background: #fff;
    border: 1px solid var(--accent);
    padding: 14px 16px;
    margin: 18px 0;
}

.abd-theme-newspaper .sidebar {
    border-left: 4px solid var(--accent);
    padding: 24px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--ink);
    background: #f8f8f8;
    border: 2px solid var(--rule);
    border-left: 5px solid var(--accent);
    border-radius: 0;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}

.abd-theme-newspaper .sidebar h3,
.abd-theme-newspaper .sidebar h4 {
    color: var(--accent);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 0;
    margin-bottom: 12px;
    border-bottom: 2px solid var(--rule);
    padding-bottom: 8px;
}

.abd-theme-newspaper .sidebar ul {
    list-style: none;
    padding: 0;
}

.abd-theme-newspaper .sidebar li {
    padding: 8px 0;
    border-bottom: 1px solid var(--rule);
}

.abd-theme-newspaper .sidebar li:last-child {
    border-bottom: none;
}

/* Cards */
.abd-theme-newspaper .card,
.abd-theme-newspaper .product-card {
    background: #fff;
    border: 1px solid var(--accent);
    padding: 20px;
    margin: 16px 0;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-newspaper .card:hover,
.abd-theme-newspaper .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.15);
}

/* Grid Layouts */
.abd-theme-newspaper .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-newspaper .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-newspaper .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-newspaper .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-newspaper .grid-2,
    .abd-theme-newspaper .grid-3,
    .abd-theme-newspaper .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-newspaper input[type="text"],
.abd-theme-newspaper input[type="email"],
.abd-theme-newspaper input[type="number"],
.abd-theme-newspaper input[type="password"],
.abd-theme-newspaper textarea,
.abd-theme-newspaper select {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--rule);
    background: #ffffff;
    color: var(--ink);
    font-family: var(--font-body);
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-newspaper input:focus,
.abd-theme-newspaper textarea:focus,
.abd-theme-newspaper select:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(122, 107, 90, 0.1);
}

/* Buttons */
.abd-theme-newspaper .btn,
.abd-theme-newspaper button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--accent);
    color: #ffffff;
    border: 1px solid var(--accent);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.abd-theme-newspaper .btn:hover,
.abd-theme-newspaper button:hover {
    background: #5a4d3f;
    border-color: #5a4d3f;
    transform: translateY(-1px);
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
}

.abd-theme-newspaper .btn-secondary {
    background: transparent;
    color: var(--accent);
}

.abd-theme-newspaper .btn-secondary:hover {
    background: var(--accent);
    color: #ffffff;
}

/* Navigation */
.abd-theme-newspaper nav,
.abd-theme-newspaper .nav {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-newspaper .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-newspaper .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-newspaper .nav a:hover {
    border-bottom-color: var(--accent);
}

.abd-theme-newspaper .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-newspaper .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-newspaper .breadcrumb a:hover {
    color: var(--accent);
}

/* Badges */
.abd-theme-newspaper .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--accent);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid var(--rule);
}

.abd-theme-newspaper .badge-sale {
    background: #8b3a3a;
}

.abd-theme-newspaper .badge-new {
    background: var(--accent);
}

.abd-theme-newspaper .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-newspaper figure {
    margin: 20px 0;
}

.abd-theme-newspaper figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-newspaper .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--rule);
    margin: 16px 0;
}

.abd-theme-newspaper .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-newspaper .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-newspaper .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-newspaper .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-newspaper .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-newspaper .variant-selector {
    margin: 16px 0;
}

.abd-theme-newspaper .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
}

.abd-theme-newspaper .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-newspaper .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-newspaper .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-newspaper .cart-item {
    border-bottom: 1px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-newspaper .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 1px solid var(--rule);
}

.abd-theme-newspaper .cart-total {
    border-top: 2px solid var(--accent);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-newspaper .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-newspaper .modal {
    background: #ffffff;
    border: 2px solid var(--accent);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.2);
    position: relative;
}

.abd-theme-newspaper .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--accent);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-newspaper .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-newspaper .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-newspaper .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

/* Responsive Design */
/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-newspaper form label,
.abd-theme-newspaper .newsletter-form label,
.abd-theme-newspaper .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-newspaper a:focus-visible,
.abd-theme-newspaper button:focus-visible,
.abd-theme-newspaper input:focus-visible,
.abd-theme-newspaper select:focus-visible,
.abd-theme-newspaper textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-newspaper .announcement-bar,
.abd-theme-newspaper .announcement-bar-section,
.abd-theme-newspaper .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-newspaper .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-newspaper .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-newspaper .newsletter-form,
.abd-theme-newspaper .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-newspaper .newsletter-form .field__input,
.abd-theme-newspaper .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-newspaper .form__message,
.abd-theme-newspaper .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-newspaper .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-newspaper details.accordion,
.abd-theme-newspaper .accordion,
.abd-theme-newspaper .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-newspaper details.accordion summary,
.abd-theme-newspaper .accordion__title,
.abd-theme-newspaper .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-newspaper details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-newspaper details[open] .accordion__content,
.abd-theme-newspaper .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-newspaper .pagination,
.abd-theme-newspaper .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-newspaper .pagination__item {
    margin: 0;
}

.abd-theme-newspaper .pagination__link,
.abd-theme-newspaper .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-newspaper .pagination__link:hover,
.abd-theme-newspaper .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-newspaper .pagination__item--current .pagination__link,
.abd-theme-newspaper .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-newspaper .cart__empty,
.abd-theme-newspaper .collection__empty,
.abd-theme-newspaper .search__no-results,
.abd-theme-newspaper .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-newspaper .cart__empty p,
.abd-theme-newspaper .collection__empty p,
.abd-theme-newspaper .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-newspaper .product-form__input--dropdown,
.abd-theme-newspaper .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-newspaper .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-newspaper .product-form__input label,
.abd-theme-newspaper .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-newspaper .product-form__input input:checked + label,
.abd-theme-newspaper .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-newspaper .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-newspaper .footer__payment,
.abd-theme-newspaper .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-newspaper .footer__payment svg,
.abd-theme-newspaper .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-newspaper .list-social,
.abd-theme-newspaper .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-newspaper .list-social__link,
.abd-theme-newspaper .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-newspaper .list-social__link:hover,
.abd-theme-newspaper .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-newspaper .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-newspaper .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-newspaper .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-newspaper .image-with-text,
.abd-theme-newspaper .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-newspaper .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-newspaper .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-newspaper .product-recommendations,
.abd-theme-newspaper .complementary-products {
    margin-top: 2rem;
}

.abd-theme-newspaper .product-recommendations__heading,
.abd-theme-newspaper .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-newspaper .cart__free-shipping,
.abd-theme-newspaper .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-newspaper .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-newspaper .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-newspaper .predictive-search,
.abd-theme-newspaper .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-newspaper .predictive-search__item,
.abd-theme-newspaper .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-newspaper .predictive-search__item:hover,
.abd-theme-newspaper .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-newspaper .skeleton,
.abd-theme-newspaper .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-newspaper .header-wrapper,
.abd-theme-newspaper header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-newspaper .header__heading,
.abd-theme-newspaper .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-newspaper .header__menu,
.abd-theme-newspaper .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-newspaper .header__menu-item,
.abd-theme-newspaper .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-newspaper .header__menu-item a,
.abd-theme-newspaper .list-menu__item a,
.abd-theme-newspaper .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-newspaper .header__menu-item a:hover,
.abd-theme-newspaper .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-newspaper .header__submenu,
.abd-theme-newspaper .mega-menu__content,
.abd-theme-newspaper .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-newspaper .header__submenu .list-menu__item a,
.abd-theme-newspaper .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-newspaper .menu-drawer,
.abd-theme-newspaper .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-newspaper .menu-drawer__menu-item,
.abd-theme-newspaper .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-newspaper .header__icons,
.abd-theme-newspaper .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-newspaper .cart-count-bubble,
.abd-theme-newspaper .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-newspaper .cart-drawer,
.abd-theme-newspaper .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-newspaper .cart-drawer .cart-item,
.abd-theme-newspaper .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-newspaper .cart-drawer .cart-item__title,
.abd-theme-newspaper .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-newspaper .cart-drawer .cart-item__price,
.abd-theme-newspaper .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-newspaper .cart__footer,
.abd-theme-newspaper .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-newspaper .cart__ctas button,
.abd-theme-newspaper .cart__checkout-button,
.abd-theme-newspaper .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-newspaper .cart__ctas button:hover,
.abd-theme-newspaper .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-newspaper .footer,
.abd-theme-newspaper .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-newspaper .footer__link,
.abd-theme-newspaper .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-newspaper .search-modal,
.abd-theme-newspaper .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-newspaper .search-modal__input,
.abd-theme-newspaper .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}


@media only screen and (max-width: 600px) {
    .abd-theme-newspaper .theme-content {
        margin: 20px auto;
        padding: 20px;
    }
    .abd-theme-newspaper .card,
    .abd-theme-newspaper .product-card,
    .abd-theme-newspaper .btn,
    .abd-theme-newspaper button,
    .abd-theme-newspaper .image-wrapper img {
        transition: none;
    }
}



/* --- nineties-graphic-design.css --- */
/* 1990s Graphic Design Theme (Early Web / Print / Zines) */
.abd-theme-nineties-graphic-design {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    --bg: #f3f3f3;
    --ink: #111111;
    --muted: #555555;
    --primary: #ff0000;
    --secondary: #0000ff;
    --accent: #00ff00;
    --gray: #c0c0c0;
    --frame: #000000;
    font-family: "Arial", "Helvetica", sans-serif;
    color: var(--ink);
    background: var(--bg);
}

.abd-theme-nineties-graphic-design * {
    box-sizing: border-box;
}

/* Layout */
.abd-theme-nineties-graphic-design .theme-content {
    max-width: 960px;
    margin: 32px auto;
    padding: 24px;
    background: #ffffff;
    border: 4px solid var(--frame);
    box-shadow: 8px 8px 0 var(--frame);
}

.abd-theme-nineties-graphic-design .frame {
    border: 3px solid var(--frame);
    padding: 12px;
    background: #ffffff;
    box-shadow: 6px 6px 0 var(--frame);
    margin: 16px 0;
}

.abd-theme-nineties-graphic-design .offset-left {
    transform: translateX(-8px);
}

.abd-theme-nineties-graphic-design .offset-right {
    transform: translateX(8px);
}

/* Typography */
.abd-theme-nineties-graphic-design h1,
.abd-theme-nineties-graphic-design h2,
.abd-theme-nineties-graphic-design h3,
.abd-theme-nineties-graphic-design h4,
.abd-theme-nineties-graphic-design h5,
.abd-theme-nineties-graphic-design h6 {
    font-family: "Impact", "Arial Black", "Arial", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ink);
    font-style: italic;
}

.abd-theme-nineties-graphic-design h1 {
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    border-bottom: 4px solid var(--ink);
    padding-bottom: 8px;
    margin-bottom: 16px;
    text-shadow:
        2px 2px 0 #ffffff,
        4px 4px 0 #000000,
        6px 6px 0 var(--secondary);
    transform: skewX(-6deg);
    display: inline-block;
    color: transparent;
    background: linear-gradient(135deg, #3a1fff 0%, #ff2fcf 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.abd-theme-nineties-graphic-design h2 {
    font-size: clamp(1.5rem, 2.6vw, 2.2rem);
    color: var(--primary);
    border-left: 6px solid var(--primary);
    padding-left: 10px;
    margin: 20px 0 12px;
    text-shadow:
        2px 2px 0 #000000,
        6px 6px 0 #00ffff;
    transform: skewX(-4deg);
}

.abd-theme-nineties-graphic-design h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    color: #ff00ff;
    margin: 16px 0 10px;
    text-shadow:
        2px 2px 0 #000000,
        5px 5px 0 #00ff00;
    transform: skewX(-3deg);
}

.abd-theme-nineties-graphic-design p {
    margin: 0 0 12px;
    color: var(--ink);
    line-height: 1.6;
}

/* Labels */
.abd-theme-nineties-graphic-design .kicker,
.abd-theme-nineties-graphic-design .byline,
.abd-theme-nineties-graphic-design .dateline,
.abd-theme-nineties-graphic-design .section-title {
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
    background: #ffffff;
    display: inline-block;
    padding: 2px 6px;
    border: 2px solid var(--frame);
    box-shadow: 3px 3px 0 var(--frame);
}

/* Links */
.abd-theme-nineties-graphic-design a {
    color: var(--secondary);
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

.abd-theme-nineties-graphic-design a:hover {
    color: var(--primary);
}

/* Lists */
.abd-theme-nineties-graphic-design ul,
.abd-theme-nineties-graphic-design ol {
    margin: 12px 0 16px;
    padding-left: 22px;
}

.abd-theme-nineties-graphic-design li {
    margin-bottom: 6px;
}

.abd-theme-nineties-graphic-design ul li::marker {
    color: var(--accent);
}

/* Blockquotes */
.abd-theme-nineties-graphic-design blockquote {
    border: 3px dashed var(--frame);
    padding: 12px;
    margin: 16px 0;
    background: #f7f7f7;
    color: var(--ink);
}

/* Code */
.abd-theme-nineties-graphic-design code {
    background: #000000;
    color: var(--accent);
    padding: 2px 6px;
    border: 2px inset var(--gray);
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-nineties-graphic-design pre {
    background: #000000;
    color: var(--accent);
    padding: 12px;
    border: 3px inset var(--gray);
    margin: 16px 0;
    overflow-x: auto;
    font-family: "Courier New", monospace;
}

.abd-theme-nineties-graphic-design pre code {
    background: transparent;
    border: none;
    padding: 0;
}

/* Tables */
.abd-theme-nineties-graphic-design table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    background: #ffffff;
    border: 3px solid var(--frame);
}

.abd-theme-nineties-graphic-design th {
    background: var(--primary);
    color: #ffffff;
    padding: 10px 8px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.abd-theme-nineties-graphic-design td {
    border-top: 2px solid var(--frame);
    padding: 10px 8px;
    color: var(--ink);
}

.abd-theme-nineties-graphic-design tr:nth-child(even) {
    background: #efefef;
}

/* Images */
.abd-theme-nineties-graphic-design img {
    max-width: 100%;
    height: auto;
    border: 3px solid var(--frame);
    margin: 12px 0;
}

/* Rules */
.abd-theme-nineties-graphic-design hr {
    border: none;
    border-top: 3px solid var(--frame);
    margin: 18px 0;
}

/* Buttons */
.abd-theme-nineties-graphic-design button,
.abd-theme-nineties-graphic-design .button {
    background: var(--gray);
    color: var(--ink);
    border: 3px outset #ffffff;
    padding: 8px 16px;
    font-family: "Arial Black", "Impact", "Arial", sans-serif;
    text-transform: uppercase;
    cursor: pointer;
}

.abd-theme-nineties-graphic-design button:hover,
.abd-theme-nineties-graphic-design .button:hover {
    background: var(--accent);
    color: #000000;
}

/* Highlighted section */
.abd-theme-nineties-graphic-design .highlighted-section {
    border: 3px double var(--frame);
    background: #f7f7f7;
    padding: 12px;
    margin: 16px 0;
    box-shadow: 6px 6px 0 var(--frame);
}

.abd-theme-nineties-graphic-design .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-nineties-graphic-design .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--frame);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.abd-theme-nineties-graphic-design .callout,
.abd-theme-nineties-graphic-design .callout-box {
    border: 3px double var(--frame);
    padding: 14px 16px;
    margin: 18px 0;
    background: #f7f7f7;
    box-shadow: 6px 6px 0 var(--frame);
}

.abd-theme-nineties-graphic-design .sidebar {
    border-left: 3px solid var(--frame);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Cards */
.abd-theme-nineties-graphic-design .card,
.abd-theme-nineties-graphic-design .product-card {
    background: #f7f7f7;
    border: 3px double var(--frame);
    padding: 20px;
    margin: 16px 0;
    box-shadow: 6px 6px 0 var(--frame);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-nineties-graphic-design .card:hover,
.abd-theme-nineties-graphic-design .product-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: 8px 8px 0 var(--frame);
}

/* Grid Layouts */
.abd-theme-nineties-graphic-design .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-nineties-graphic-design .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-nineties-graphic-design .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-nineties-graphic-design .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-nineties-graphic-design .grid-2,
    .abd-theme-nineties-graphic-design .grid-3,
    .abd-theme-nineties-graphic-design .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-nineties-graphic-design input[type="text"],
.abd-theme-nineties-graphic-design input[type="email"],
.abd-theme-nineties-graphic-design input[type="number"],
.abd-theme-nineties-graphic-design input[type="password"],
.abd-theme-nineties-graphic-design textarea,
.abd-theme-nineties-graphic-design select {
    width: 100%;
    padding: 12px;
    border: 3px double var(--frame);
    background: #ffffff;
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-nineties-graphic-design input:focus,
.abd-theme-nineties-graphic-design textarea:focus,
.abd-theme-nineties-graphic-design select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 0, 0, 0.2);
}

/* Buttons */
.abd-theme-nineties-graphic-design .btn,
.abd-theme-nineties-graphic-design button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--primary);
    color: #ffffff;
    border: 3px double var(--frame);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    box-shadow: 4px 4px 0 var(--frame);
}

.abd-theme-nineties-graphic-design .btn:hover,
.abd-theme-nineties-graphic-design button:hover {
    background: var(--secondary);
    transform: translateY(-2px);
    box-shadow: 6px 6px 0 var(--frame);
}

.abd-theme-nineties-graphic-design .btn-secondary {
    background: transparent;
    color: var(--ink);
}

.abd-theme-nineties-graphic-design .btn-secondary:hover {
    background: var(--primary);
    color: #ffffff;
}

/* Navigation */
.abd-theme-nineties-graphic-design nav,
.abd-theme-nineties-graphic-design .nav {
    border-bottom: 3px double var(--frame);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-nineties-graphic-design .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-nineties-graphic-design .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 8px 0;
    border-bottom: 3px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-nineties-graphic-design .nav a:hover {
    border-bottom-color: var(--primary);
}

.abd-theme-nineties-graphic-design .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-nineties-graphic-design .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-nineties-graphic-design .breadcrumb a:hover {
    color: var(--primary);
}

/* Badges */
.abd-theme-nineties-graphic-design .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--primary);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 2px solid var(--frame);
    box-shadow: 3px 3px 0 var(--frame);
}

.abd-theme-nineties-graphic-design .badge-sale {
    background: var(--primary);
}

.abd-theme-nineties-graphic-design .badge-new {
    background: var(--secondary);
}

.abd-theme-nineties-graphic-design .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-nineties-graphic-design figure {
    margin: 20px 0;
}

.abd-theme-nineties-graphic-design figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-nineties-graphic-design .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 3px double var(--frame);
    margin: 16px 0;
    box-shadow: 6px 6px 0 var(--frame);
}

.abd-theme-nineties-graphic-design .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-nineties-graphic-design .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-nineties-graphic-design .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-nineties-graphic-design .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-nineties-graphic-design .product-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-nineties-graphic-design .variant-selector {
    margin: 16px 0;
}

.abd-theme-nineties-graphic-design .variant-selector label {
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
    color: var(--ink);
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
}

.abd-theme-nineties-graphic-design .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-nineties-graphic-design .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-nineties-graphic-design .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-nineties-graphic-design .cart-item {
    border-bottom: 3px double var(--frame);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-nineties-graphic-design .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 3px double var(--frame);
    box-shadow: 4px 4px 0 var(--frame);
}

.abd-theme-nineties-graphic-design .cart-total {
    border-top: 3px double var(--frame);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-nineties-graphic-design .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-nineties-graphic-design .modal {
    background: #f7f7f7;
    border: 3px double var(--frame);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 8px 8px 0 var(--frame);
    position: relative;
}

.abd-theme-nineties-graphic-design .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--primary);
    color: #ffffff;
    border: 3px double var(--frame);
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 3px 3px 0 var(--frame);
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-nineties-graphic-design .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-nineties-graphic-design .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-nineties-graphic-design .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-nineties-graphic-design .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-nineties-graphic-design form label,
.abd-theme-nineties-graphic-design .newsletter-form label,
.abd-theme-nineties-graphic-design .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-nineties-graphic-design a:focus-visible,
.abd-theme-nineties-graphic-design button:focus-visible,
.abd-theme-nineties-graphic-design input:focus-visible,
.abd-theme-nineties-graphic-design select:focus-visible,
.abd-theme-nineties-graphic-design textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-nineties-graphic-design .announcement-bar,
.abd-theme-nineties-graphic-design .announcement-bar-section,
.abd-theme-nineties-graphic-design .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-nineties-graphic-design .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-nineties-graphic-design .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-nineties-graphic-design .newsletter-form,
.abd-theme-nineties-graphic-design .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-nineties-graphic-design .newsletter-form .field__input,
.abd-theme-nineties-graphic-design .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-nineties-graphic-design .form__message,
.abd-theme-nineties-graphic-design .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-nineties-graphic-design .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-nineties-graphic-design details.accordion,
.abd-theme-nineties-graphic-design .accordion,
.abd-theme-nineties-graphic-design .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-nineties-graphic-design details.accordion summary,
.abd-theme-nineties-graphic-design .accordion__title,
.abd-theme-nineties-graphic-design .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-nineties-graphic-design details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-nineties-graphic-design details[open] .accordion__content,
.abd-theme-nineties-graphic-design .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-nineties-graphic-design .pagination,
.abd-theme-nineties-graphic-design .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-nineties-graphic-design .pagination__item {
    margin: 0;
}

.abd-theme-nineties-graphic-design .pagination__link,
.abd-theme-nineties-graphic-design .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-nineties-graphic-design .pagination__link:hover,
.abd-theme-nineties-graphic-design .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-nineties-graphic-design .pagination__item--current .pagination__link,
.abd-theme-nineties-graphic-design .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-nineties-graphic-design .cart__empty,
.abd-theme-nineties-graphic-design .collection__empty,
.abd-theme-nineties-graphic-design .search__no-results,
.abd-theme-nineties-graphic-design .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-nineties-graphic-design .cart__empty p,
.abd-theme-nineties-graphic-design .collection__empty p,
.abd-theme-nineties-graphic-design .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-nineties-graphic-design .product-form__input--dropdown,
.abd-theme-nineties-graphic-design .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-nineties-graphic-design .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-nineties-graphic-design .product-form__input label,
.abd-theme-nineties-graphic-design .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-nineties-graphic-design .product-form__input input:checked + label,
.abd-theme-nineties-graphic-design .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-nineties-graphic-design .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-nineties-graphic-design .footer__payment,
.abd-theme-nineties-graphic-design .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-nineties-graphic-design .footer__payment svg,
.abd-theme-nineties-graphic-design .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-nineties-graphic-design .list-social,
.abd-theme-nineties-graphic-design .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-nineties-graphic-design .list-social__link,
.abd-theme-nineties-graphic-design .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-nineties-graphic-design .list-social__link:hover,
.abd-theme-nineties-graphic-design .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-nineties-graphic-design .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-nineties-graphic-design .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-nineties-graphic-design .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-nineties-graphic-design .image-with-text,
.abd-theme-nineties-graphic-design .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-nineties-graphic-design .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-nineties-graphic-design .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-nineties-graphic-design .product-recommendations,
.abd-theme-nineties-graphic-design .complementary-products {
    margin-top: 2rem;
}

.abd-theme-nineties-graphic-design .product-recommendations__heading,
.abd-theme-nineties-graphic-design .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-nineties-graphic-design .cart__free-shipping,
.abd-theme-nineties-graphic-design .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-nineties-graphic-design .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-nineties-graphic-design .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-nineties-graphic-design .predictive-search,
.abd-theme-nineties-graphic-design .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-nineties-graphic-design .predictive-search__item,
.abd-theme-nineties-graphic-design .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-nineties-graphic-design .predictive-search__item:hover,
.abd-theme-nineties-graphic-design .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-nineties-graphic-design .skeleton,
.abd-theme-nineties-graphic-design .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-nineties-graphic-design .header-wrapper,
.abd-theme-nineties-graphic-design header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-nineties-graphic-design .header__heading,
.abd-theme-nineties-graphic-design .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-nineties-graphic-design .header__menu,
.abd-theme-nineties-graphic-design .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-nineties-graphic-design .header__menu-item,
.abd-theme-nineties-graphic-design .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-nineties-graphic-design .header__menu-item a,
.abd-theme-nineties-graphic-design .list-menu__item a,
.abd-theme-nineties-graphic-design .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-nineties-graphic-design .header__menu-item a:hover,
.abd-theme-nineties-graphic-design .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-nineties-graphic-design .header__submenu,
.abd-theme-nineties-graphic-design .mega-menu__content,
.abd-theme-nineties-graphic-design .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-nineties-graphic-design .header__submenu .list-menu__item a,
.abd-theme-nineties-graphic-design .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-nineties-graphic-design .menu-drawer,
.abd-theme-nineties-graphic-design .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-nineties-graphic-design .menu-drawer__menu-item,
.abd-theme-nineties-graphic-design .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-nineties-graphic-design .header__icons,
.abd-theme-nineties-graphic-design .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-nineties-graphic-design .cart-count-bubble,
.abd-theme-nineties-graphic-design .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-nineties-graphic-design .cart-drawer,
.abd-theme-nineties-graphic-design .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-nineties-graphic-design .cart-drawer .cart-item,
.abd-theme-nineties-graphic-design .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-nineties-graphic-design .cart-drawer .cart-item__title,
.abd-theme-nineties-graphic-design .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-nineties-graphic-design .cart-drawer .cart-item__price,
.abd-theme-nineties-graphic-design .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-nineties-graphic-design .cart__footer,
.abd-theme-nineties-graphic-design .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-nineties-graphic-design .cart__ctas button,
.abd-theme-nineties-graphic-design .cart__checkout-button,
.abd-theme-nineties-graphic-design .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-nineties-graphic-design .cart__ctas button:hover,
.abd-theme-nineties-graphic-design .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-nineties-graphic-design .footer,
.abd-theme-nineties-graphic-design .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-nineties-graphic-design .footer__link,
.abd-theme-nineties-graphic-design .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-nineties-graphic-design .search-modal,
.abd-theme-nineties-graphic-design .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-nineties-graphic-design .search-modal__input,
.abd-theme-nineties-graphic-design .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-nineties-graphic-design a {
        transition: none;
    }
    .abd-theme-nineties-graphic-design .card,
    .abd-theme-nineties-graphic-design .product-card,
    .abd-theme-nineties-graphic-design .btn,
    .abd-theme-nineties-graphic-design button,
    .abd-theme-nineties-graphic-design .image-wrapper img {
        transition: none;
    }
}


/* --- renaissance.css --- */
/* Renaissance Theme (Humanist / Balanced / Classical) */
.abd-theme-renaissance {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    --paper: #f4eddc;
    --ink: #2b2621;
    --umber: #5a3e2b;
    --burgundy: #6b2c2c;
    --olive: #4d5a3c;
    --rule: #cdbfa8;
    --max-width: 900px;
    --gutter: 32px;
    --line-height: 1.75;
    --ratio: 1.618;
    font-family: "Garamond", "Baskerville", "Palatino Linotype", "Times New Roman", serif;
    color: var(--ink);
    background: var(--paper);
}

.abd-theme-renaissance * {
    box-sizing: border-box;
}

/* Layout */
.abd-theme-renaissance .theme-content {
    max-width: var(--max-width);
    margin: 56px auto;
    padding: 40px 36px;
    background: #f8f2e6;
    border: 1px solid var(--rule);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
    line-height: var(--line-height);
}

.abd-theme-renaissance .column-layout {
    display: grid;
    grid-template-columns: 1fr 0.618fr;
    gap: var(--gutter);
    align-items: start;
}

@media (max-width: 900px) {
    .abd-theme-renaissance .column-layout {
        grid-template-columns: 1fr;
    }
}

/* Typography */
.abd-theme-renaissance h1,
.abd-theme-renaissance h2,
.abd-theme-renaissance h3,
.abd-theme-renaissance h4,
.abd-theme-renaissance h5,
.abd-theme-renaissance h6 {
    font-family: "Garamond", "Baskerville", "Palatino Linotype", "Times New Roman", serif;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.15;
}

.abd-theme-renaissance h1 {
    font-size: clamp(2.6rem, 4vw, 3.6rem);
    margin-bottom: 18px;
    border-bottom: 2px solid var(--rule);
    padding-bottom: 10px;
}

.abd-theme-renaissance h2 {
    font-size: clamp(1.8rem, 2.8vw, 2.4rem);
    margin-top: 32px;
    margin-bottom: 12px;
    color: var(--umber);
}

.abd-theme-renaissance h3 {
    font-size: clamp(1.3rem, 2vw, 1.7rem);
    margin-top: 24px;
    margin-bottom: 10px;
    color: var(--olive);
}

.abd-theme-renaissance p {
    margin-bottom: 16px;
    color: var(--ink);
}

/* Drop cap (restrained) */
.abd-theme-renaissance p:first-of-type::first-letter {
    float: left;
    font-size: 3rem;
    line-height: 1;
    padding: 0 8px 0 0;
    color: var(--umber);
}

/* Labels */
.abd-theme-renaissance .kicker,
.abd-theme-renaissance .byline,
.abd-theme-renaissance .dateline,
.abd-theme-renaissance .section-title {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--burgundy);
}

/* Rules */
.abd-theme-renaissance hr {
    border: none;
    border-top: 1px solid var(--rule);
    margin: 24px 0;
}

/* Links */
.abd-theme-renaissance a {
    color: var(--umber);
    text-decoration: none;
    border-bottom: 1px solid var(--rule);
    transition: color 0.2s ease, border-color 0.2s ease;
}

.abd-theme-renaissance a:hover {
    color: var(--burgundy);
    border-bottom-color: var(--burgundy);
}

/* Lists */
.abd-theme-renaissance ul,
.abd-theme-renaissance ol {
    margin: 16px 0 20px;
    padding-left: 24px;
}

.abd-theme-renaissance li {
    margin-bottom: 8px;
}

/* Blockquotes */
.abd-theme-renaissance blockquote {
    border-left: 3px solid var(--rule);
    padding-left: 16px;
    margin: 20px 0;
    background: rgba(205, 191, 168, 0.25);
    padding: 16px;
    font-style: italic;
    color: var(--umber);
}

/* Figures */
.abd-theme-renaissance figure {
    margin: 20px 0;
}

.abd-theme-renaissance figcaption {
    font-size: 0.85rem;
    color: var(--muted, #4c4c4c);
    border-left: 2px solid var(--rule);
    padding-left: 8px;
    margin-top: 6px;
}

/* Code */
.abd-theme-renaissance code {
    background: #e9dfcf;
    color: var(--ink);
    padding: 2px 6px;
    border: 1px solid var(--rule);
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-renaissance pre {
    background: #26221e;
    color: #f4eddc;
    padding: 16px;
    border: 1px solid var(--ink);
    margin: 20px 0;
    overflow-x: auto;
    font-family: "Courier New", monospace;
}

.abd-theme-renaissance pre code {
    background: transparent;
    border: none;
    color: #f4eddc;
}

/* Tables */
.abd-theme-renaissance table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background: #fffaf1;
    border: 1px solid var(--ink);
}

.abd-theme-renaissance th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.8rem;
    border-bottom: 2px solid var(--ink);
    padding: 10px 8px;
    color: var(--ink);
}

.abd-theme-renaissance td {
    border-bottom: 1px solid var(--rule);
    padding: 10px 8px;
    color: var(--ink);
}

/* Images */
.abd-theme-renaissance img {
    max-width: 100%;
    height: auto;
    border: 1px solid var(--ink);
    padding: 4px;
    background: #fffaf1;
    margin: 16px 0;
}

/* Highlighted sections */
.abd-theme-renaissance .highlighted-section {
    border: 1px solid var(--rule);
    padding: 16px;
    margin: 20px 0;
    background: #fff8ed;
}

.abd-theme-renaissance .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-renaissance .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--ink);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-renaissance .callout,
.abd-theme-renaissance .callout-box {
    border: 1px solid var(--rule);
    padding: 14px 16px;
    margin: 18px 0;
    background: #fff8ed;
}

.abd-theme-renaissance .sidebar {
    border-left: 3px solid var(--rule);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Cards */
.abd-theme-renaissance .card,
.abd-theme-renaissance .product-card {
    background: #fff8ed;
    border: 1px solid var(--rule);
    padding: 20px;
    margin: 16px 0;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-renaissance .card:hover,
.abd-theme-renaissance .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.15);
}

/* Grid Layouts */
.abd-theme-renaissance .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-renaissance .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-renaissance .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-renaissance .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-renaissance .grid-2,
    .abd-theme-renaissance .grid-3,
    .abd-theme-renaissance .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-renaissance input[type="text"],
.abd-theme-renaissance input[type="email"],
.abd-theme-renaissance input[type="number"],
.abd-theme-renaissance input[type="password"],
.abd-theme-renaissance textarea,
.abd-theme-renaissance select {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--rule);
    background: #ffffff;
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-renaissance input:focus,
.abd-theme-renaissance textarea:focus,
.abd-theme-renaissance select:focus {
    outline: none;
    border-color: var(--burgundy);
    box-shadow: 0 0 0 3px rgba(107, 44, 44, 0.1);
}

/* Buttons */
.abd-theme-renaissance .btn,
.abd-theme-renaissance button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--burgundy);
    color: #ffffff;
    border: 1px solid var(--burgundy);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.abd-theme-renaissance .btn:hover,
.abd-theme-renaissance button:hover {
    background: var(--umber);
    border-color: var(--umber);
    transform: translateY(-1px);
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
}

.abd-theme-renaissance .btn-secondary {
    background: transparent;
    color: var(--burgundy);
}

.abd-theme-renaissance .btn-secondary:hover {
    background: var(--burgundy);
    color: #ffffff;
}

/* Navigation */
.abd-theme-renaissance nav,
.abd-theme-renaissance .nav {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-renaissance .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-renaissance .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-renaissance .nav a:hover {
    border-bottom-color: var(--burgundy);
}

.abd-theme-renaissance .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-renaissance .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-renaissance .breadcrumb a:hover {
    color: var(--burgundy);
}

/* Badges */
.abd-theme-renaissance .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--burgundy);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid var(--rule);
}

.abd-theme-renaissance .badge-sale {
    background: var(--burgundy);
}

.abd-theme-renaissance .badge-new {
    background: var(--olive);
}

.abd-theme-renaissance .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-renaissance figure {
    margin: 20px 0;
}

.abd-theme-renaissance figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-renaissance .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--rule);
    margin: 16px 0;
}

.abd-theme-renaissance .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-renaissance .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-renaissance .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-renaissance .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-renaissance .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-renaissance .variant-selector {
    margin: 16px 0;
}

.abd-theme-renaissance .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
}

.abd-theme-renaissance .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-renaissance .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-renaissance .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-renaissance .cart-item {
    border-bottom: 1px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-renaissance .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 1px solid var(--rule);
}

.abd-theme-renaissance .cart-total {
    border-top: 2px solid var(--burgundy);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-renaissance .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-renaissance .modal {
    background: #fff8ed;
    border: 2px solid var(--burgundy);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.2);
    position: relative;
}

.abd-theme-renaissance .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--burgundy);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-renaissance .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-renaissance .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-renaissance .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-renaissance .theme-content {
        padding: 24px;
    }
}

/* Motion */
/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-renaissance form label,
.abd-theme-renaissance .newsletter-form label,
.abd-theme-renaissance .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-renaissance a:focus-visible,
.abd-theme-renaissance button:focus-visible,
.abd-theme-renaissance input:focus-visible,
.abd-theme-renaissance select:focus-visible,
.abd-theme-renaissance textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-renaissance .announcement-bar,
.abd-theme-renaissance .announcement-bar-section,
.abd-theme-renaissance .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-renaissance .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-renaissance .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-renaissance .newsletter-form,
.abd-theme-renaissance .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-renaissance .newsletter-form .field__input,
.abd-theme-renaissance .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-renaissance .form__message,
.abd-theme-renaissance .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-renaissance .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-renaissance details.accordion,
.abd-theme-renaissance .accordion,
.abd-theme-renaissance .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-renaissance details.accordion summary,
.abd-theme-renaissance .accordion__title,
.abd-theme-renaissance .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-renaissance details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-renaissance details[open] .accordion__content,
.abd-theme-renaissance .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-renaissance .pagination,
.abd-theme-renaissance .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-renaissance .pagination__item {
    margin: 0;
}

.abd-theme-renaissance .pagination__link,
.abd-theme-renaissance .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-renaissance .pagination__link:hover,
.abd-theme-renaissance .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-renaissance .pagination__item--current .pagination__link,
.abd-theme-renaissance .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-renaissance .cart__empty,
.abd-theme-renaissance .collection__empty,
.abd-theme-renaissance .search__no-results,
.abd-theme-renaissance .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-renaissance .cart__empty p,
.abd-theme-renaissance .collection__empty p,
.abd-theme-renaissance .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-renaissance .product-form__input--dropdown,
.abd-theme-renaissance .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-renaissance .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-renaissance .product-form__input label,
.abd-theme-renaissance .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-renaissance .product-form__input input:checked + label,
.abd-theme-renaissance .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-renaissance .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-renaissance .footer__payment,
.abd-theme-renaissance .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-renaissance .footer__payment svg,
.abd-theme-renaissance .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-renaissance .list-social,
.abd-theme-renaissance .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-renaissance .list-social__link,
.abd-theme-renaissance .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-renaissance .list-social__link:hover,
.abd-theme-renaissance .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-renaissance .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-renaissance .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-renaissance .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-renaissance .image-with-text,
.abd-theme-renaissance .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-renaissance .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-renaissance .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-renaissance .product-recommendations,
.abd-theme-renaissance .complementary-products {
    margin-top: 2rem;
}

.abd-theme-renaissance .product-recommendations__heading,
.abd-theme-renaissance .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-renaissance .cart__free-shipping,
.abd-theme-renaissance .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-renaissance .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-renaissance .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-renaissance .predictive-search,
.abd-theme-renaissance .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-renaissance .predictive-search__item,
.abd-theme-renaissance .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-renaissance .predictive-search__item:hover,
.abd-theme-renaissance .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-renaissance .skeleton,
.abd-theme-renaissance .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-renaissance .header-wrapper,
.abd-theme-renaissance header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-renaissance .header__heading,
.abd-theme-renaissance .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-renaissance .header__menu,
.abd-theme-renaissance .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-renaissance .header__menu-item,
.abd-theme-renaissance .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-renaissance .header__menu-item a,
.abd-theme-renaissance .list-menu__item a,
.abd-theme-renaissance .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-renaissance .header__menu-item a:hover,
.abd-theme-renaissance .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-renaissance .header__submenu,
.abd-theme-renaissance .mega-menu__content,
.abd-theme-renaissance .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-renaissance .header__submenu .list-menu__item a,
.abd-theme-renaissance .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-renaissance .menu-drawer,
.abd-theme-renaissance .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-renaissance .menu-drawer__menu-item,
.abd-theme-renaissance .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-renaissance .header__icons,
.abd-theme-renaissance .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-renaissance .cart-count-bubble,
.abd-theme-renaissance .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-renaissance .cart-drawer,
.abd-theme-renaissance .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-renaissance .cart-drawer .cart-item,
.abd-theme-renaissance .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-renaissance .cart-drawer .cart-item__title,
.abd-theme-renaissance .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-renaissance .cart-drawer .cart-item__price,
.abd-theme-renaissance .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-renaissance .cart__footer,
.abd-theme-renaissance .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-renaissance .cart__ctas button,
.abd-theme-renaissance .cart__checkout-button,
.abd-theme-renaissance .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-renaissance .cart__ctas button:hover,
.abd-theme-renaissance .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-renaissance .footer,
.abd-theme-renaissance .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-renaissance .footer__link,
.abd-theme-renaissance .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-renaissance .search-modal,
.abd-theme-renaissance .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-renaissance .search-modal__input,
.abd-theme-renaissance .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-renaissance a {
        transition: none;
    }
}


/* --- retro-diner.css --- */
/* 1950s Retro Diner — Pin-Up Magnet Style (Donut / Coffee / Burger) */
.abd-theme-retro-diner {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #fff7ee)));
    --color-foreground: var(--text, var(--ink, var(--color, #111111)));
    --color-primary: var(--accent, var(--primary, #e53935));
    --color-accent: var(--accent, var(--secondary, #2bb7b3));
    --color-border: var(--rule, var(--border, #111111));

    /* Pin-up diner magnet palette */
    --bg: #f7f1e8;
    --ink: #1f1f1f;
    --cream: #fff7ee;
    --red: #e53935;
    --turquoise: #2bb7b3;
    --black: #111111;
    --chrome: #d8d8d8;
    --cutout-white: #ffffff;
    --outline-black: #111111;
    font-family: "Arial Black", "Impact", "Arial", sans-serif;
    color: var(--ink);
    background: linear-gradient(180deg, #fff7ee 0%, #f0e6d6 100%);
    border: 6px solid var(--cutout-white);
    border-radius: 0;
    box-shadow: 0 0 0 3px var(--outline-black), 0 8px 24px rgba(17, 17, 17, 0.15);
}

.abd-theme-retro-diner * {
    box-sizing: border-box;
}

/* Layout */
.abd-theme-retro-diner .theme-content {
    max-width: 960px;
    margin: 48px auto;
    padding: 32px;
    background: var(--cream);
    border: 4px solid var(--outline-black);
    border-radius: 0;
    box-shadow: 8px 8px 0 var(--outline-black);
}

.abd-theme-retro-diner .badge {
    display: inline-block;
    padding: 6px 12px;
    background: var(--turquoise);
    color: var(--cutout-white);
    border: 3px solid var(--outline-black);
    border-radius: 0;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 4px 4px 0 var(--outline-black);
}

/* Typography */
.abd-theme-retro-diner h1,
.abd-theme-retro-diner h2,
.abd-theme-retro-diner h3,
.abd-theme-retro-diner h4,
.abd-theme-retro-diner h5,
.abd-theme-retro-diner h6 {
    font-family: "Arial Black", "Impact", "Arial", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--black);
}

.abd-theme-retro-diner h1 {
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    color: var(--red);
    text-shadow: 2px 2px 0 var(--cutout-white), 4px 4px 0 var(--outline-black);
    margin-bottom: 16px;
}

.abd-theme-retro-diner h2 {
    font-size: clamp(1.6rem, 2.6vw, 2.4rem);
    color: var(--turquoise);
    text-shadow: 2px 2px 0 var(--cutout-white), 3px 3px 0 var(--outline-black);
    margin: 20px 0 12px;
}

.abd-theme-retro-diner h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    color: var(--outline-black);
    text-shadow: 2px 2px 0 var(--cutout-white);
    margin: 16px 0 10px;
}

.abd-theme-retro-diner p {
    margin: 0 0 14px;
    color: var(--ink);
    line-height: 1.7;
}

/* Labels */
.abd-theme-retro-diner .kicker,
.abd-theme-retro-diner .byline,
.abd-theme-retro-diner .dateline,
.abd-theme-retro-diner .section-title {
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--black);
}

/* Links */
.abd-theme-retro-diner a {
    color: var(--red);
    text-decoration: none;
    border-bottom: 2px solid var(--red);
}

.abd-theme-retro-diner a:hover {
    color: var(--turquoise);
    border-bottom-color: var(--turquoise);
}

/* Lists */
.abd-theme-retro-diner ul,
.abd-theme-retro-diner ol {
    margin: 14px 0 18px;
    padding-left: 22px;
}

.abd-theme-retro-diner ul li::marker {
    color: var(--red);
}

/* Blockquotes */
.abd-theme-retro-diner blockquote {
    margin: 18px 0;
    padding: 14px 16px;
    background: rgba(43, 183, 179, 0.15);
    border-left: 4px solid var(--turquoise);
    color: var(--ink);
}

/* Code */
.abd-theme-retro-diner code {
    background: rgba(229, 57, 53, 0.15);
    color: var(--black);
    padding: 2px 6px;
    border: 1px solid var(--red);
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-retro-diner pre {
    background: #1f1f1f;
    color: #fff7ee;
    padding: 14px;
    border: 2px solid var(--black);
    margin: 18px 0;
    overflow-x: auto;
}

.abd-theme-retro-diner pre code {
    background: transparent;
    border: none;
    color: #fff7ee;
}

/* Tables */
.abd-theme-retro-diner table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    background: #ffffff;
    border: 2px solid var(--black);
}

.abd-theme-retro-diner th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.8rem;
    background: var(--red);
    color: #fff;
    padding: 10px 8px;
}

.abd-theme-retro-diner td {
    border-top: 1px solid var(--black);
    padding: 10px 8px;
    color: var(--ink);
}

/* Images */
.abd-theme-retro-diner img {
    max-width: 100%;
    height: auto;
    border: 3px solid var(--black);
    margin: 16px 0;
}

/* Rules */
.abd-theme-retro-diner hr {
    border: none;
    border-top: 3px solid var(--black);
    margin: 20px 0;
}

/* Highlighted section */
.abd-theme-retro-diner .highlighted-section {
    border: 2px solid var(--turquoise);
    background: rgba(229, 57, 53, 0.12);
    padding: 16px;
    margin: 18px 0;
}

.abd-theme-retro-diner .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-retro-diner .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--turquoise);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-retro-diner .callout,
.abd-theme-retro-diner .callout-box {
    border: 2px solid var(--turquoise);
    padding: 14px 16px;
    margin: 18px 0;
    background: rgba(229, 57, 53, 0.1);
    box-shadow: 4px 4px 0 var(--black);
}

.abd-theme-retro-diner .sidebar {
    border-left: 3px solid var(--turquoise);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Cards */
.abd-theme-retro-diner .card,
.abd-theme-retro-diner .product-card {
    background: #ffffff;
    border: 2px solid var(--turquoise);
    border-radius: 8px;
    padding: 20px;
    margin: 16px 0;
    box-shadow: 4px 4px 0 var(--black);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-retro-diner .card:hover,
.abd-theme-retro-diner .product-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: 6px 6px 0 var(--black);
}

/* Grid Layouts */
.abd-theme-retro-diner .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-retro-diner .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-retro-diner .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-retro-diner .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-retro-diner .grid-2,
    .abd-theme-retro-diner .grid-3,
    .abd-theme-retro-diner .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-retro-diner input[type="text"],
.abd-theme-retro-diner input[type="email"],
.abd-theme-retro-diner input[type="number"],
.abd-theme-retro-diner input[type="password"],
.abd-theme-retro-diner textarea,
.abd-theme-retro-diner select {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--turquoise);
    background: #ffffff;
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-retro-diner input:focus,
.abd-theme-retro-diner textarea:focus,
.abd-theme-retro-diner select:focus {
    outline: none;
    border-color: var(--red);
    box-shadow: 0 0 0 3px rgba(229, 57, 53, 0.2);
}

/* Buttons */
.abd-theme-retro-diner .btn,
.abd-theme-retro-diner button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--turquoise);
    color: #ffffff;
    border: 2px solid var(--turquoise);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.abd-theme-retro-diner .btn:hover,
.abd-theme-retro-diner button:hover {
    background: var(--red);
    border-color: var(--red);
    transform: translateY(-2px);
    box-shadow: 4px 4px 0 var(--black);
}

.abd-theme-retro-diner .btn-secondary {
    background: transparent;
    color: var(--turquoise);
}

.abd-theme-retro-diner .btn-secondary:hover {
    background: var(--turquoise);
    color: #ffffff;
}

/* Navigation */
.abd-theme-retro-diner nav,
.abd-theme-retro-diner .nav {
    border-bottom: 3px solid var(--turquoise);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-retro-diner .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-retro-diner .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-retro-diner .nav a:hover {
    border-bottom-color: var(--red);
}

.abd-theme-retro-diner .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-retro-diner .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-retro-diner .breadcrumb a:hover {
    color: var(--red);
}

/* Badges */
.abd-theme-retro-diner .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--red);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid var(--black);
}

.abd-theme-retro-diner .badge-sale {
    background: var(--red);
}

.abd-theme-retro-diner .badge-new {
    background: var(--turquoise);
}

.abd-theme-retro-diner .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-retro-diner figure {
    margin: 20px 0;
}

.abd-theme-retro-diner figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-retro-diner .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 2px solid var(--turquoise);
    margin: 16px 0;
}

.abd-theme-retro-diner .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-retro-diner .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-retro-diner .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-retro-diner .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-retro-diner .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-retro-diner .variant-selector {
    margin: 16px 0;
}

.abd-theme-retro-diner .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
}

.abd-theme-retro-diner .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-retro-diner .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-retro-diner .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-retro-diner .cart-item {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-retro-diner .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 2px solid var(--turquoise);
}

.abd-theme-retro-diner .cart-total {
    border-top: 3px solid var(--turquoise);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-retro-diner .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-retro-diner .modal {
    background: #ffffff;
    border: 3px solid var(--turquoise);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 8px 8px 0 var(--black);
    position: relative;
}

.abd-theme-retro-diner .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--red);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-retro-diner .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-retro-diner .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-retro-diner .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-retro-diner .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-retro-diner form label,
.abd-theme-retro-diner .newsletter-form label,
.abd-theme-retro-diner .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-retro-diner a:focus-visible,
.abd-theme-retro-diner button:focus-visible,
.abd-theme-retro-diner input:focus-visible,
.abd-theme-retro-diner select:focus-visible,
.abd-theme-retro-diner textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-retro-diner .announcement-bar,
.abd-theme-retro-diner .announcement-bar-section,
.abd-theme-retro-diner .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-retro-diner .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-retro-diner .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-retro-diner .newsletter-form,
.abd-theme-retro-diner .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-retro-diner .newsletter-form .field__input,
.abd-theme-retro-diner .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-retro-diner .form__message,
.abd-theme-retro-diner .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-retro-diner .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-retro-diner details.accordion,
.abd-theme-retro-diner .accordion,
.abd-theme-retro-diner .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-retro-diner details.accordion summary,
.abd-theme-retro-diner .accordion__title,
.abd-theme-retro-diner .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-retro-diner details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-retro-diner details[open] .accordion__content,
.abd-theme-retro-diner .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-retro-diner .pagination,
.abd-theme-retro-diner .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-retro-diner .pagination__item {
    margin: 0;
}

.abd-theme-retro-diner .pagination__link,
.abd-theme-retro-diner .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-diner .pagination__link:hover,
.abd-theme-retro-diner .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-retro-diner .pagination__item--current .pagination__link,
.abd-theme-retro-diner .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-retro-diner .cart__empty,
.abd-theme-retro-diner .collection__empty,
.abd-theme-retro-diner .search__no-results,
.abd-theme-retro-diner .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-retro-diner .cart__empty p,
.abd-theme-retro-diner .collection__empty p,
.abd-theme-retro-diner .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-retro-diner .product-form__input--dropdown,
.abd-theme-retro-diner .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-retro-diner .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-retro-diner .product-form__input label,
.abd-theme-retro-diner .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-retro-diner .product-form__input input:checked + label,
.abd-theme-retro-diner .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-retro-diner .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-retro-diner .footer__payment,
.abd-theme-retro-diner .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-retro-diner .footer__payment svg,
.abd-theme-retro-diner .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-retro-diner .list-social,
.abd-theme-retro-diner .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-retro-diner .list-social__link,
.abd-theme-retro-diner .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-diner .list-social__link:hover,
.abd-theme-retro-diner .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-retro-diner .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-retro-diner .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-diner .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-retro-diner .image-with-text,
.abd-theme-retro-diner .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-retro-diner .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-retro-diner .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-retro-diner .product-recommendations,
.abd-theme-retro-diner .complementary-products {
    margin-top: 2rem;
}

.abd-theme-retro-diner .product-recommendations__heading,
.abd-theme-retro-diner .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-retro-diner .cart__free-shipping,
.abd-theme-retro-diner .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-retro-diner .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-retro-diner .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-retro-diner .predictive-search,
.abd-theme-retro-diner .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-retro-diner .predictive-search__item,
.abd-theme-retro-diner .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-retro-diner .predictive-search__item:hover,
.abd-theme-retro-diner .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-retro-diner .skeleton,
.abd-theme-retro-diner .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-retro-diner .header-wrapper,
.abd-theme-retro-diner header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-retro-diner .header__heading,
.abd-theme-retro-diner .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-retro-diner .header__menu,
.abd-theme-retro-diner .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-retro-diner .header__menu-item,
.abd-theme-retro-diner .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-retro-diner .header__menu-item a,
.abd-theme-retro-diner .list-menu__item a,
.abd-theme-retro-diner .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-retro-diner .header__menu-item a:hover,
.abd-theme-retro-diner .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-retro-diner .header__submenu,
.abd-theme-retro-diner .mega-menu__content,
.abd-theme-retro-diner .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-retro-diner .header__submenu .list-menu__item a,
.abd-theme-retro-diner .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-retro-diner .menu-drawer,
.abd-theme-retro-diner .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-diner .menu-drawer__menu-item,
.abd-theme-retro-diner .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-retro-diner .header__icons,
.abd-theme-retro-diner .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-retro-diner .cart-count-bubble,
.abd-theme-retro-diner .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-retro-diner .cart-drawer,
.abd-theme-retro-diner .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-diner .cart-drawer .cart-item,
.abd-theme-retro-diner .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-retro-diner .cart-drawer .cart-item__title,
.abd-theme-retro-diner .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-diner .cart-drawer .cart-item__price,
.abd-theme-retro-diner .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-retro-diner .cart__footer,
.abd-theme-retro-diner .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-retro-diner .cart__ctas button,
.abd-theme-retro-diner .cart__checkout-button,
.abd-theme-retro-diner .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-retro-diner .cart__ctas button:hover,
.abd-theme-retro-diner .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-retro-diner .footer,
.abd-theme-retro-diner .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-retro-diner .footer__link,
.abd-theme-retro-diner .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-retro-diner .search-modal,
.abd-theme-retro-diner .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-diner .search-modal__input,
.abd-theme-retro-diner .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-retro-diner a {
        transition: none;
    }
    .abd-theme-retro-diner .card,
    .abd-theme-retro-diner .product-card,
    .abd-theme-retro-diner .btn,
    .abd-theme-retro-diner button,
    .abd-theme-retro-diner .image-wrapper img {
        transition: none;
    }
}


/* --- retro-internet.css --- */
.abd-theme-retro-internet {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    background-color: #111;
    background-image:
        linear-gradient(0deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05));
    background-size: 100% 100%;
    font-family: 'Times New Roman', serif;
    color: #ffff00;
    padding: 40px;
    max-width: 900px;
    margin: 0 auto;
    border: 6px solid #c0c0c0;
    box-shadow:
        inset 2px 2px 0 #f5f5f5,
        inset -2px -2px 0 #555,
        0 10px 20px rgba(0, 0, 0, 0.6);
}

.abd-theme-retro-internet .abd-geocities-box {
    background: #000;
    border: 3px inset #ffffff;
    padding: 20px;
    box-shadow: 10px 10px 0px #000000;
}

.abd-theme-retro-internet .abd-marquee {
    background: #ff0000;
    color: #fff;
    font-weight: bold;
    padding: 5px;
    overflow: hidden;
    white-space: nowrap;
    margin-bottom: 20px;
}

.abd-theme-retro-internet .abd-marquee-inner {
    display: inline-block;
    animation: abd-marquee 15s linear infinite;
}

.abd-theme-retro-internet h1 {
    font-size: 3rem;
    color: #00ffff;
    text-shadow: 3px 3px #ff00ff;
    text-align: center;
    margin: 20px 0;
    font-family: 'Comic Sans MS', cursive;
}

.abd-theme-retro-internet .abd-blink {
    animation: abd-blink 1s step-end infinite;
    color: #ff00ff;
    font-weight: bold;
    text-align: center;
    display: block;
    margin: 10px 0;
}

.abd-theme-retro-internet p {
    margin-bottom: 15px;
}

.abd-theme-retro-internet h2 {
    color: #00ff00;
    border-bottom: 2px dashed #ffff00;
}

.abd-theme-retro-internet .abd-construction {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 30px 0;
}

.abd-theme-retro-internet .abd-gif-box {
    border: 2px solid #fff;
    padding: 10px;
    background: #333;
    font-family: monospace;
    font-size: 0.7rem;
    color: #0f0;
}

.abd-theme-retro-internet .abd-key-points {
    border: 4px double #00ffff;
    padding: 20px;
    margin: 30px 0;
    background: #111;
}

.abd-theme-retro-internet .abd-counter {
    background: #222;
    color: #0f0;
    font-family: 'Courier New', monospace;
    padding: 5px 10px;
    border: 1px solid #fff;
    display: inline-block;
    font-size: 1.2rem;
}

.abd-theme-retro-internet .abd-footer {
    text-align: center;
    border-top: 3px groove #c0c0c0;
    padding-top: 20px;
    margin-top: 40px;
    font-size: 0.9rem;
}

.abd-theme-retro-internet .abd-guestbook {
    background: #333;
    padding: 10px;
    border: 1px solid #ffff00;
    color: #ffff00;
    margin-top: 20px;
    text-decoration: underline;
    text-align: center;
    cursor: pointer;
}

/* Links */
.abd-theme-retro-internet a {
    color: #00ffff;
    text-decoration: underline;
    font-weight: bold;
}

.abd-theme-retro-internet a:hover {
    color: #ff00ff;
}

/* Lists */
.abd-theme-retro-internet ul,
.abd-theme-retro-internet ol {
    margin: 16px 0;
    padding-left: 30px;
    color: #ffff00;
}

.abd-theme-retro-internet li {
    margin-bottom: 8px;
    line-height: 1.6;
}

.abd-theme-retro-internet ul li::marker {
    color: #00ffff;
}

/* Blockquotes */
.abd-theme-retro-internet blockquote {
    border: 3px dashed #00ffff;
    padding: 16px;
    margin: 20px 0;
    background: #111;
    color: #ffff00;
    font-style: italic;
}

/* Inline code */
.abd-theme-retro-internet code {
    background: #000;
    color: #00ff00;
    padding: 2px 6px;
    border: 1px solid #00ff00;
    font-family: 'Courier New', monospace;
    font-weight: bold;
}

/* Code blocks */
.abd-theme-retro-internet pre {
    background: #000;
    color: #00ff00;
    padding: 16px;
    border: 2px double #00ffff;
    margin: 20px 0;
    overflow-x: auto;
    font-family: 'Courier New', monospace;
}

.abd-theme-retro-internet pre code {
    background: transparent;
    padding: 0;
    border: none;
    color: #00ff00;
}

/* Tables */
.abd-theme-retro-internet table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background: #000;
    border: 2px solid #00ffff;
}

.abd-theme-retro-internet th {
    background: #ff00ff;
    color: #fff;
    padding: 10px;
    text-align: left;
    font-weight: bold;
    border: 1px solid #00ffff;
}

.abd-theme-retro-internet td {
    padding: 10px;
    border: 1px solid #00ffff;
    color: #ffff00;
}

.abd-theme-retro-internet tr:nth-child(even) {
    background: #000040;
}

/* Images */
.abd-theme-retro-internet img {
    max-width: 100%;
    height: auto;
    border: 3px solid #fff;
    background: #000;
    padding: 4px;
    margin: 16px 0;
}

/* Horizontal rules */
.abd-theme-retro-internet hr {
    border: none;
    border-top: 3px dotted #ffff00;
    margin: 24px 0;
}

/* Buttons */
.abd-theme-retro-internet button,
.abd-theme-retro-internet .button {
    background: #ff00ff;
    color: #fff;
    border: 3px outset #fff;
    padding: 8px 16px;
    font-family: 'Comic Sans MS', cursive;
    font-weight: bold;
    cursor: pointer;
}

.abd-theme-retro-internet button:hover,
.abd-theme-retro-internet .button:hover {
    background: #00ffff;
    color: #000;
}

/* Highlighted sections */
.abd-theme-retro-internet .highlighted-section {
    border: 3px double #ff00ff;
    background: #111;
    padding: 16px;
    margin: 20px 0;
    color: #ffff00;
}

.abd-theme-retro-internet .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-retro-internet .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid #00ffff;
    padding-left: 16px;
    margin: 24px 0;
    color: #ffff00;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.abd-theme-retro-internet .callout,
.abd-theme-retro-internet .callout-box {
    border: 3px double #ff00ff;
    background: #111;
    padding: 14px 16px;
    margin: 18px 0;
    color: #ffff00;
}

.abd-theme-retro-internet .sidebar {
    border-left: 3px solid #00ffff;
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Markdown content support */
.abd-theme-retro-internet .theme-content {
    padding: 16px 0;
}

.abd-theme-retro-internet .theme-content h1,
.abd-theme-retro-internet .theme-content h2,
.abd-theme-retro-internet .theme-content h3,
.abd-theme-retro-internet .theme-content h4,
.abd-theme-retro-internet .theme-content h5,
.abd-theme-retro-internet .theme-content h6 {
    margin-top: 24px;
    margin-bottom: 12px;
}

.abd-theme-retro-internet .theme-content p {
    margin-bottom: 15px;
}

.abd-theme-retro-internet .theme-content ul,
.abd-theme-retro-internet .theme-content ol {
    margin: 16px 0;
    padding-left: 30px;
    color: #ffff00;
}

.abd-theme-retro-internet .theme-content blockquote {
    border: 3px dashed #00ffff;
    padding: 16px;
    margin: 20px 0;
    background: #111;
    color: #ffff00;
}

.abd-theme-retro-internet .theme-content code {
    background: #000;
    color: #00ff00;
    padding: 2px 6px;
    border: 1px solid #00ff00;
    font-family: 'Courier New', monospace;
    font-weight: bold;
}

.abd-theme-retro-internet .theme-content pre {
    background: #000;
    color: #00ff00;
    padding: 16px;
    border: 2px double #00ffff;
    margin: 20px 0;
    overflow-x: auto;
}

.abd-theme-retro-internet .theme-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background: #000;
    border: 2px solid #00ffff;
}

.abd-theme-retro-internet .theme-content img {
    max-width: 100%;
    height: auto;
    border: 3px solid #fff;
    background: #000;
    padding: 4px;
    margin: 16px 0;
}

.abd-theme-retro-internet .theme-content hr {
    border: none;
    border-top: 3px dotted #ffff00;
    margin: 24px 0;
}

@keyframes abd-marquee {
    0% { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}

@keyframes abd-blink {
    50% { opacity: 0; }
}

/* Cards */
.abd-theme-retro-internet .card,
.abd-theme-retro-internet .product-card {
    background: #111;
    border: 3px double #ff00ff;
    padding: 20px;
    margin: 16px 0;
    color: #ffff00;
    box-shadow: 0 0 20px rgba(255, 0, 255, 0.5);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-retro-internet .card:hover,
.abd-theme-retro-internet .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.6);
}

/* Grid Layouts */
.abd-theme-retro-internet .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-retro-internet .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-retro-internet .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-retro-internet .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-retro-internet .grid-2,
    .abd-theme-retro-internet .grid-3,
    .abd-theme-retro-internet .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-retro-internet input[type="text"],
.abd-theme-retro-internet input[type="email"],
.abd-theme-retro-internet input[type="number"],
.abd-theme-retro-internet input[type="password"],
.abd-theme-retro-internet textarea,
.abd-theme-retro-internet select {
    width: 100%;
    padding: 12px;
    border: 3px double #00ffff;
    background: #111;
    color: #ffff00;
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-retro-internet input:focus,
.abd-theme-retro-internet textarea:focus,
.abd-theme-retro-internet select:focus {
    outline: none;
    border-color: #ff00ff;
    box-shadow: 0 0 0 3px rgba(255, 0, 255, 0.3);
}

/* Buttons */
.abd-theme-retro-internet .btn,
.abd-theme-retro-internet button {
    display: inline-block;
    padding: 12px 24px;
    background: #ff00ff;
    color: #ffff00;
    border: 3px double #00ffff;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    box-shadow: 0 0 15px rgba(255, 0, 255, 0.5);
}

.abd-theme-retro-internet .btn:hover,
.abd-theme-retro-internet button:hover {
    background: #00ffff;
    color: #000;
    box-shadow: 0 0 25px rgba(0, 255, 255, 0.7);
}

.abd-theme-retro-internet .btn-secondary {
    background: transparent;
    color: #ffff00;
}

.abd-theme-retro-internet .btn-secondary:hover {
    background: #ff00ff;
    color: #ffff00;
}

/* Navigation */
.abd-theme-retro-internet nav,
.abd-theme-retro-internet .nav {
    border-bottom: 3px double #ff00ff;
    padding: 16px 0;
    margin-bottom: 24px;
    box-shadow: 0 0 10px rgba(255, 0, 255, 0.3);
}

.abd-theme-retro-internet .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-retro-internet .nav a {
    color: #ffff00;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-retro-internet .nav a:hover {
    border-bottom-color: #00ffff;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
}

.abd-theme-retro-internet .breadcrumb {
    font-size: 0.875rem;
    color: #888;
    margin-bottom: 16px;
}

.abd-theme-retro-internet .breadcrumb a {
    color: #ffff00;
    text-decoration: none;
}

.abd-theme-retro-internet .breadcrumb a:hover {
    color: #00ffff;
}

/* Badges */
.abd-theme-retro-internet .badge {
    display: inline-block;
    padding: 4px 12px;
    background: #ff00ff;
    color: #ffff00;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 2px solid #00ffff;
    box-shadow: 0 0 10px rgba(255, 0, 255, 0.5);
}

.abd-theme-retro-internet .badge-sale {
    background: #ff00ff;
}

.abd-theme-retro-internet .badge-new {
    background: #00ffff;
    color: #000;
}

.abd-theme-retro-internet .badge-out-of-stock {
    background: #444;
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-retro-internet figure {
    margin: 20px 0;
}

.abd-theme-retro-internet figcaption {
    font-size: 0.875rem;
    color: #888;
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-retro-internet .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 3px double #ff00ff;
    margin: 16px 0;
    box-shadow: 0 0 15px rgba(255, 0, 255, 0.4);
}

.abd-theme-retro-internet .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-retro-internet .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-retro-internet .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffff00;
    margin: 12px 0;
    text-shadow: 0 0 10px rgba(255, 255, 0, 0.5);
}

.abd-theme-retro-internet .product-price-compare {
    font-size: 1rem;
    color: #888;
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-retro-internet .product-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffff00;
    margin: 12px 0;
}

.abd-theme-retro-internet .variant-selector {
    margin: 16px 0;
}

.abd-theme-retro-internet .variant-selector label {
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
    color: #ffff00;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
}

.abd-theme-retro-internet .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-retro-internet .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-retro-internet .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-retro-internet .cart-item {
    border-bottom: 3px double #ff00ff;
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-retro-internet .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 3px double #00ffff;
    box-shadow: 0 0 10px rgba(0, 255, 255, 0.4);
}

.abd-theme-retro-internet .cart-total {
    border-top: 3px double #ff00ff;
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffff00;
    text-shadow: 0 0 10px rgba(255, 255, 0, 0.5);
}

/* Modals/Overlays */
.abd-theme-retro-internet .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-retro-internet .modal {
    background: #111;
    border: 3px double #ff00ff;
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 0 30px rgba(255, 0, 255, 0.6);
    position: relative;
    color: #ffff00;
}

.abd-theme-retro-internet .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: #ff00ff;
    color: #ffff00;
    border: 2px solid #00ffff;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 10px rgba(255, 0, 255, 0.5);
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-retro-internet .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-retro-internet .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-retro-internet .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-retro-internet .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-retro-internet form label,
.abd-theme-retro-internet .newsletter-form label,
.abd-theme-retro-internet .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-retro-internet a:focus-visible,
.abd-theme-retro-internet button:focus-visible,
.abd-theme-retro-internet input:focus-visible,
.abd-theme-retro-internet select:focus-visible,
.abd-theme-retro-internet textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-retro-internet .announcement-bar,
.abd-theme-retro-internet .announcement-bar-section,
.abd-theme-retro-internet .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-retro-internet .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-retro-internet .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-retro-internet .newsletter-form,
.abd-theme-retro-internet .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-retro-internet .newsletter-form .field__input,
.abd-theme-retro-internet .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-retro-internet .form__message,
.abd-theme-retro-internet .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-retro-internet .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-retro-internet details.accordion,
.abd-theme-retro-internet .accordion,
.abd-theme-retro-internet .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-retro-internet details.accordion summary,
.abd-theme-retro-internet .accordion__title,
.abd-theme-retro-internet .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-retro-internet details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-retro-internet details[open] .accordion__content,
.abd-theme-retro-internet .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-retro-internet .pagination,
.abd-theme-retro-internet .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-retro-internet .pagination__item {
    margin: 0;
}

.abd-theme-retro-internet .pagination__link,
.abd-theme-retro-internet .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-internet .pagination__link:hover,
.abd-theme-retro-internet .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-retro-internet .pagination__item--current .pagination__link,
.abd-theme-retro-internet .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-retro-internet .cart__empty,
.abd-theme-retro-internet .collection__empty,
.abd-theme-retro-internet .search__no-results,
.abd-theme-retro-internet .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-retro-internet .cart__empty p,
.abd-theme-retro-internet .collection__empty p,
.abd-theme-retro-internet .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-retro-internet .product-form__input--dropdown,
.abd-theme-retro-internet .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-retro-internet .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-retro-internet .product-form__input label,
.abd-theme-retro-internet .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-retro-internet .product-form__input input:checked + label,
.abd-theme-retro-internet .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-retro-internet .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-retro-internet .footer__payment,
.abd-theme-retro-internet .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-retro-internet .footer__payment svg,
.abd-theme-retro-internet .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-retro-internet .list-social,
.abd-theme-retro-internet .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-retro-internet .list-social__link,
.abd-theme-retro-internet .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-internet .list-social__link:hover,
.abd-theme-retro-internet .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-retro-internet .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-retro-internet .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-internet .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-retro-internet .image-with-text,
.abd-theme-retro-internet .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-retro-internet .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-retro-internet .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-retro-internet .product-recommendations,
.abd-theme-retro-internet .complementary-products {
    margin-top: 2rem;
}

.abd-theme-retro-internet .product-recommendations__heading,
.abd-theme-retro-internet .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-retro-internet .cart__free-shipping,
.abd-theme-retro-internet .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-retro-internet .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-retro-internet .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-retro-internet .predictive-search,
.abd-theme-retro-internet .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-retro-internet .predictive-search__item,
.abd-theme-retro-internet .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-retro-internet .predictive-search__item:hover,
.abd-theme-retro-internet .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-retro-internet .skeleton,
.abd-theme-retro-internet .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-retro-internet .header-wrapper,
.abd-theme-retro-internet header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-retro-internet .header__heading,
.abd-theme-retro-internet .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-retro-internet .header__menu,
.abd-theme-retro-internet .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-retro-internet .header__menu-item,
.abd-theme-retro-internet .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-retro-internet .header__menu-item a,
.abd-theme-retro-internet .list-menu__item a,
.abd-theme-retro-internet .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-retro-internet .header__menu-item a:hover,
.abd-theme-retro-internet .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-retro-internet .header__submenu,
.abd-theme-retro-internet .mega-menu__content,
.abd-theme-retro-internet .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-retro-internet .header__submenu .list-menu__item a,
.abd-theme-retro-internet .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-retro-internet .menu-drawer,
.abd-theme-retro-internet .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-internet .menu-drawer__menu-item,
.abd-theme-retro-internet .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-retro-internet .header__icons,
.abd-theme-retro-internet .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-retro-internet .cart-count-bubble,
.abd-theme-retro-internet .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-retro-internet .cart-drawer,
.abd-theme-retro-internet .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-internet .cart-drawer .cart-item,
.abd-theme-retro-internet .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-retro-internet .cart-drawer .cart-item__title,
.abd-theme-retro-internet .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-internet .cart-drawer .cart-item__price,
.abd-theme-retro-internet .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-retro-internet .cart__footer,
.abd-theme-retro-internet .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-retro-internet .cart__ctas button,
.abd-theme-retro-internet .cart__checkout-button,
.abd-theme-retro-internet .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-retro-internet .cart__ctas button:hover,
.abd-theme-retro-internet .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-retro-internet .footer,
.abd-theme-retro-internet .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-retro-internet .footer__link,
.abd-theme-retro-internet .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-retro-internet .search-modal,
.abd-theme-retro-internet .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-internet .search-modal__input,
.abd-theme-retro-internet .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}



/* --- retro-tech-polaroid.css --- */
/* Retro Tech Instagram + Polaroid Theme */
.abd-theme-retro-tech-polaroid {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    --bg: #ffffff;
    --panel: #ffffff;
    --ink: #2b2b2b;
    --muted: #6a6a6a;
    --accent-pink: #ff5fa2;
    --accent-orange: #ff9a3c;
    --accent-rose: #ff7a8a;
    --frame: #111111;
    --shadow: rgba(0, 0, 0, 0.18);
    --hand: "Segoe Print", "Bradley Hand", "Comic Sans MS", "Chalkboard SE", "Noteworthy", cursive;
    font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    color: var(--ink);
    background: #ffffff;
}

.abd-theme-retro-tech-polaroid * {
    box-sizing: border-box;
}

/* Layout */
.abd-theme-retro-tech-polaroid .theme-content {
    max-width: 960px;
    margin: 48px auto;
    padding: 28px;
    background: var(--panel);
    border: 1px solid #e8e8e8;
    border-radius: 14px;
    box-shadow: 0 12px 28px var(--shadow);
}

.abd-theme-retro-tech-polaroid .polaroid {
    background: #ffffff;
    color: #1a1a1a;
    padding: 14px 14px 28px;
    border: 2px solid #111111;
    border-radius: 6px;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.18);
    transform: rotate(-0.6deg);
    margin: 18px 0;
}

/* Typography */
.abd-theme-retro-tech-polaroid h1,
.abd-theme-retro-tech-polaroid h2,
.abd-theme-retro-tech-polaroid h3,
.abd-theme-retro-tech-polaroid h4,
.abd-theme-retro-tech-polaroid h5,
.abd-theme-retro-tech-polaroid h6 {
    font-family: "Arial Black", "Impact", "Helvetica", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--accent-pink);
}

.abd-theme-retro-tech-polaroid h1 {
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    text-shadow: 2px 2px 0 #000000;
    margin-bottom: 16px;
}

.abd-theme-retro-tech-polaroid h2 {
    font-size: clamp(1.5rem, 2.6vw, 2.2rem);
    color: var(--accent-orange);
    text-shadow: 2px 2px 0 #000000;
    margin: 20px 0 12px;
}

.abd-theme-retro-tech-polaroid h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    color: var(--accent-rose);
    margin: 16px 0 10px;
    text-shadow: 2px 2px 0 #000000;
}

.abd-theme-retro-tech-polaroid p {
    margin: 0 0 14px;
    color: var(--ink);
    line-height: 1.7;
    font-family: "Avenir Next", "Avenir", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}

/* Labels */
.abd-theme-retro-tech-polaroid .kicker,
.abd-theme-retro-tech-polaroid .byline,
.abd-theme-retro-tech-polaroid .dateline,
.abd-theme-retro-tech-polaroid .section-title {
    font-size: 0.75rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--muted);
}

/* Links */
.abd-theme-retro-tech-polaroid a {
    color: var(--accent-pink);
    text-decoration: none;
    border-bottom: 1px solid var(--accent-pink);
}

.abd-theme-retro-tech-polaroid a:hover {
    color: var(--accent-orange);
    border-bottom-color: var(--accent-orange);
}

/* Lists */
.abd-theme-retro-tech-polaroid ul,
.abd-theme-retro-tech-polaroid ol {
    margin: 14px 0 18px;
    padding-left: 22px;
}

.abd-theme-retro-tech-polaroid li {
    margin-bottom: 6px;
}

.abd-theme-retro-tech-polaroid ul li::marker {
    color: var(--accent-orange);
}

/* Blockquotes */
.abd-theme-retro-tech-polaroid blockquote {
    margin: 18px 0;
    padding: 14px 16px;
    background: rgba(255, 154, 60, 0.12);
    border-left: 4px solid var(--accent-pink);
    color: var(--ink);
    font-family: "Avenir Next", "Avenir", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}

/* Code */
.abd-theme-retro-tech-polaroid code {
    background: rgba(255, 154, 60, 0.2);
    color: var(--ink);
    padding: 2px 6px;
    border: 1px solid rgba(255, 154, 60, 0.6);
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-retro-tech-polaroid pre {
    background: #2b2b2b;
    color: #ffffff;
    padding: 14px;
    border: 1px solid rgba(255, 154, 60, 0.6);
    margin: 18px 0;
    overflow-x: auto;
}

.abd-theme-retro-tech-polaroid pre code {
    background: transparent;
    border: none;
    color: #f2f2f2;
}

/* Tables */
.abd-theme-retro-tech-polaroid table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    background: #ffffff;
    border: 1px solid rgba(255, 154, 60, 0.4);
}

.abd-theme-retro-tech-polaroid th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.75rem;
    background: var(--accent-pink);
    color: #fff;
    padding: 10px 8px;
}

.abd-theme-retro-tech-polaroid td {
    border-top: 1px solid rgba(255, 154, 60, 0.3);
    padding: 10px 8px;
    color: var(--ink);
}

/* Images */
.abd-theme-retro-tech-polaroid img {
    max-width: 100%;
    height: auto;
    border: 2px solid var(--frame);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.35);
    margin: 16px 0;
    background: #ffffff;
    padding: 4px;
}

/* Rules */
.abd-theme-retro-tech-polaroid hr {
    border: none;
    border-top: 2px solid rgba(255, 154, 60, 0.6);
    margin: 20px 0;
}

/* Highlighted section (Polaroid card) */
.abd-theme-retro-tech-polaroid .highlighted-section {
    background: #ffffff;
    color: #1a1a1a;
    padding: 14px 14px 26px;
    margin: 18px 0;
    border: 2px solid #111;
    border-radius: 6px;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.25);
    transform: rotate(-0.6deg);
    font-family: "Avenir Next", "Avenir", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}

.abd-theme-retro-tech-polaroid .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-retro-tech-polaroid .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid #111;
    padding-left: 16px;
    margin: 24px 0;
    color: #1a1a1a;
    font-weight: 600;
    font-style: italic;
}

.abd-theme-retro-tech-polaroid .callout,
.abd-theme-retro-tech-polaroid .callout-box {
    background: #ffffff;
    border: 2px solid #111;
    padding: 14px 16px;
    margin: 18px 0;
    border-radius: 6px;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.25);
    transform: rotate(0.3deg);
}

.abd-theme-retro-tech-polaroid .sidebar {
    border-left: 3px solid #111;
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Cards */
.abd-theme-retro-tech-polaroid .card,
.abd-theme-retro-tech-polaroid .product-card {
    background: #ffffff;
    border: 2px solid #111;
    border-radius: 6px;
    padding: 14px 14px 26px;
    margin: 16px 0;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    transform: rotate(-0.3deg);
}

.abd-theme-retro-tech-polaroid .card:hover,
.abd-theme-retro-tech-polaroid .product-card:hover {
    transform: translate(-2px, -2px) rotate(-0.3deg);
    box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.3);
}

/* Grid Layouts */
.abd-theme-retro-tech-polaroid .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-retro-tech-polaroid .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-retro-tech-polaroid .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-retro-tech-polaroid .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-retro-tech-polaroid .grid-2,
    .abd-theme-retro-tech-polaroid .grid-3,
    .abd-theme-retro-tech-polaroid .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-retro-tech-polaroid input[type="text"],
.abd-theme-retro-tech-polaroid input[type="email"],
.abd-theme-retro-tech-polaroid input[type="number"],
.abd-theme-retro-tech-polaroid input[type="password"],
.abd-theme-retro-tech-polaroid textarea,
.abd-theme-retro-tech-polaroid select {
    width: 100%;
    padding: 12px;
    border: 2px solid #111;
    background: #ffffff;
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
    border-radius: 6px;
}

.abd-theme-retro-tech-polaroid input:focus,
.abd-theme-retro-tech-polaroid textarea:focus,
.abd-theme-retro-tech-polaroid select:focus {
    outline: none;
    border-color: var(--accent-pink);
    box-shadow: 0 0 0 3px rgba(255, 95, 162, 0.2);
}

/* Buttons */
.abd-theme-retro-tech-polaroid .btn,
.abd-theme-retro-tech-polaroid button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--accent-pink);
    color: #ffffff;
    border: 2px solid #111;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    border-radius: 6px;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.25);
}

.abd-theme-retro-tech-polaroid .btn:hover,
.abd-theme-retro-tech-polaroid button:hover {
    background: var(--accent-orange);
    transform: translateY(-2px);
    box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.3);
}

.abd-theme-retro-tech-polaroid .btn-secondary {
    background: transparent;
    color: var(--ink);
}

.abd-theme-retro-tech-polaroid .btn-secondary:hover {
    background: var(--accent-pink);
    color: #ffffff;
}

/* Navigation */
.abd-theme-retro-tech-polaroid nav,
.abd-theme-retro-tech-polaroid .nav {
    border-bottom: 2px solid #111;
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-retro-tech-polaroid .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-retro-tech-polaroid .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-retro-tech-polaroid .nav a:hover {
    border-bottom-color: var(--accent-pink);
}

.abd-theme-retro-tech-polaroid .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-retro-tech-polaroid .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-retro-tech-polaroid .breadcrumb a:hover {
    color: var(--accent-pink);
}

/* Badges */
.abd-theme-retro-tech-polaroid .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--accent-pink);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 2px solid #111;
    border-radius: 6px;
    box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.25);
}

.abd-theme-retro-tech-polaroid .badge-sale {
    background: var(--accent-orange);
}

.abd-theme-retro-tech-polaroid .badge-new {
    background: var(--accent-rose);
}

.abd-theme-retro-tech-polaroid .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-retro-tech-polaroid figure {
    margin: 20px 0;
}

.abd-theme-retro-tech-polaroid figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-retro-tech-polaroid .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 2px solid #111;
    border-radius: 6px;
    margin: 16px 0;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.25);
}

.abd-theme-retro-tech-polaroid .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-retro-tech-polaroid .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-retro-tech-polaroid .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-retro-tech-polaroid .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-retro-tech-polaroid .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-retro-tech-polaroid .variant-selector {
    margin: 16px 0;
}

.abd-theme-retro-tech-polaroid .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
}

.abd-theme-retro-tech-polaroid .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-retro-tech-polaroid .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-retro-tech-polaroid .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-retro-tech-polaroid .cart-item {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-retro-tech-polaroid .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 2px solid #111;
    border-radius: 6px;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.25);
}

.abd-theme-retro-tech-polaroid .cart-total {
    border-top: 2px solid #111;
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-retro-tech-polaroid .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-retro-tech-polaroid .modal {
    background: #ffffff;
    border: 2px solid #111;
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.3);
    position: relative;
    border-radius: 6px;
    transform: rotate(0.2deg);
}

.abd-theme-retro-tech-polaroid .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--accent-orange);
    color: #ffffff;
    border: 2px solid #111;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-retro-tech-polaroid .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-retro-tech-polaroid .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-retro-tech-polaroid .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-retro-tech-polaroid .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-retro-tech-polaroid form label,
.abd-theme-retro-tech-polaroid .newsletter-form label,
.abd-theme-retro-tech-polaroid .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-retro-tech-polaroid a:focus-visible,
.abd-theme-retro-tech-polaroid button:focus-visible,
.abd-theme-retro-tech-polaroid input:focus-visible,
.abd-theme-retro-tech-polaroid select:focus-visible,
.abd-theme-retro-tech-polaroid textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-retro-tech-polaroid .announcement-bar,
.abd-theme-retro-tech-polaroid .announcement-bar-section,
.abd-theme-retro-tech-polaroid .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-retro-tech-polaroid .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-retro-tech-polaroid .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-retro-tech-polaroid .newsletter-form,
.abd-theme-retro-tech-polaroid .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-retro-tech-polaroid .newsletter-form .field__input,
.abd-theme-retro-tech-polaroid .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-retro-tech-polaroid .form__message,
.abd-theme-retro-tech-polaroid .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-retro-tech-polaroid .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-retro-tech-polaroid details.accordion,
.abd-theme-retro-tech-polaroid .accordion,
.abd-theme-retro-tech-polaroid .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-retro-tech-polaroid details.accordion summary,
.abd-theme-retro-tech-polaroid .accordion__title,
.abd-theme-retro-tech-polaroid .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-retro-tech-polaroid details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-retro-tech-polaroid details[open] .accordion__content,
.abd-theme-retro-tech-polaroid .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-retro-tech-polaroid .pagination,
.abd-theme-retro-tech-polaroid .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-retro-tech-polaroid .pagination__item {
    margin: 0;
}

.abd-theme-retro-tech-polaroid .pagination__link,
.abd-theme-retro-tech-polaroid .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-tech-polaroid .pagination__link:hover,
.abd-theme-retro-tech-polaroid .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-retro-tech-polaroid .pagination__item--current .pagination__link,
.abd-theme-retro-tech-polaroid .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-retro-tech-polaroid .cart__empty,
.abd-theme-retro-tech-polaroid .collection__empty,
.abd-theme-retro-tech-polaroid .search__no-results,
.abd-theme-retro-tech-polaroid .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-retro-tech-polaroid .cart__empty p,
.abd-theme-retro-tech-polaroid .collection__empty p,
.abd-theme-retro-tech-polaroid .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-retro-tech-polaroid .product-form__input--dropdown,
.abd-theme-retro-tech-polaroid .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-retro-tech-polaroid .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-retro-tech-polaroid .product-form__input label,
.abd-theme-retro-tech-polaroid .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-retro-tech-polaroid .product-form__input input:checked + label,
.abd-theme-retro-tech-polaroid .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-retro-tech-polaroid .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-retro-tech-polaroid .footer__payment,
.abd-theme-retro-tech-polaroid .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-retro-tech-polaroid .footer__payment svg,
.abd-theme-retro-tech-polaroid .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-retro-tech-polaroid .list-social,
.abd-theme-retro-tech-polaroid .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-retro-tech-polaroid .list-social__link,
.abd-theme-retro-tech-polaroid .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-tech-polaroid .list-social__link:hover,
.abd-theme-retro-tech-polaroid .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-retro-tech-polaroid .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-retro-tech-polaroid .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-tech-polaroid .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-retro-tech-polaroid .image-with-text,
.abd-theme-retro-tech-polaroid .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-retro-tech-polaroid .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-retro-tech-polaroid .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-retro-tech-polaroid .product-recommendations,
.abd-theme-retro-tech-polaroid .complementary-products {
    margin-top: 2rem;
}

.abd-theme-retro-tech-polaroid .product-recommendations__heading,
.abd-theme-retro-tech-polaroid .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-retro-tech-polaroid .cart__free-shipping,
.abd-theme-retro-tech-polaroid .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-retro-tech-polaroid .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-retro-tech-polaroid .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-retro-tech-polaroid .predictive-search,
.abd-theme-retro-tech-polaroid .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-retro-tech-polaroid .predictive-search__item,
.abd-theme-retro-tech-polaroid .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-retro-tech-polaroid .predictive-search__item:hover,
.abd-theme-retro-tech-polaroid .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-retro-tech-polaroid .skeleton,
.abd-theme-retro-tech-polaroid .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-retro-tech-polaroid .header-wrapper,
.abd-theme-retro-tech-polaroid header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-retro-tech-polaroid .header__heading,
.abd-theme-retro-tech-polaroid .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-retro-tech-polaroid .header__menu,
.abd-theme-retro-tech-polaroid .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-retro-tech-polaroid .header__menu-item,
.abd-theme-retro-tech-polaroid .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-retro-tech-polaroid .header__menu-item a,
.abd-theme-retro-tech-polaroid .list-menu__item a,
.abd-theme-retro-tech-polaroid .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-retro-tech-polaroid .header__menu-item a:hover,
.abd-theme-retro-tech-polaroid .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-retro-tech-polaroid .header__submenu,
.abd-theme-retro-tech-polaroid .mega-menu__content,
.abd-theme-retro-tech-polaroid .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-retro-tech-polaroid .header__submenu .list-menu__item a,
.abd-theme-retro-tech-polaroid .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-retro-tech-polaroid .menu-drawer,
.abd-theme-retro-tech-polaroid .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-tech-polaroid .menu-drawer__menu-item,
.abd-theme-retro-tech-polaroid .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-retro-tech-polaroid .header__icons,
.abd-theme-retro-tech-polaroid .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-retro-tech-polaroid .cart-count-bubble,
.abd-theme-retro-tech-polaroid .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-retro-tech-polaroid .cart-drawer,
.abd-theme-retro-tech-polaroid .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-tech-polaroid .cart-drawer .cart-item,
.abd-theme-retro-tech-polaroid .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-retro-tech-polaroid .cart-drawer .cart-item__title,
.abd-theme-retro-tech-polaroid .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-tech-polaroid .cart-drawer .cart-item__price,
.abd-theme-retro-tech-polaroid .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-retro-tech-polaroid .cart__footer,
.abd-theme-retro-tech-polaroid .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-retro-tech-polaroid .cart__ctas button,
.abd-theme-retro-tech-polaroid .cart__checkout-button,
.abd-theme-retro-tech-polaroid .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-retro-tech-polaroid .cart__ctas button:hover,
.abd-theme-retro-tech-polaroid .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-retro-tech-polaroid .footer,
.abd-theme-retro-tech-polaroid .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-retro-tech-polaroid .footer__link,
.abd-theme-retro-tech-polaroid .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-retro-tech-polaroid .search-modal,
.abd-theme-retro-tech-polaroid .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-retro-tech-polaroid .search-modal__input,
.abd-theme-retro-tech-polaroid .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-retro-tech-polaroid a {
        transition: none;
    }
    .abd-theme-retro-tech-polaroid .card,
    .abd-theme-retro-tech-polaroid .product-card,
    .abd-theme-retro-tech-polaroid .btn,
    .abd-theme-retro-tech-polaroid button,
    .abd-theme-retro-tech-polaroid .image-wrapper img {
        transition: none;
    }
}


/* --- stars-and-stripes.css --- */
/* Stars & Stripes — American Patriotic Pin-Up Theme */
.abd-theme-stars-and-stripes {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #6B7C8A)));
    --color-foreground: var(--text, var(--ink, var(--color, #1a1a1a)));
    --color-primary: var(--accent, var(--primary, #1a2f5b));
    --color-accent: var(--accent, var(--secondary, #BF0A30));
    --color-border: var(--rule, var(--border, #1a1a1a));

    /* Patriotic pin-up palette */
    --usa-red: #BF0A30;
    --usa-white: #FFFFFF;
    --usa-blue: #002868;
    --sky-blue: #4A90D9;
    --slate-bg: #6B7C8A;
    --slate-dark: #5A6B7A;
    --gold: #FFD700;
    --green: #2D5016;
    --stone: #8B7355;
    --paper: #FFFAF0;
    --ink: #1a1a1a;
    --navy: var(--usa-blue);
    --red: var(--usa-red);
    --stripe: rgba(191, 10, 48, 0.1);
    --rule: rgba(26, 26, 26, 0.25);
    --muted: var(--usa-blue);
    font-family: "Georgia", "Times New Roman", "Times", serif;
    color: var(--ink);
    background:
        radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.15) 0%, transparent 8%),
        radial-gradient(circle at 90% 80%, rgba(0, 40, 104, 0.1) 0%, transparent 8%),
        repeating-linear-gradient(0deg, transparent, transparent 24px, rgba(191, 10, 48, 0.04) 24px, rgba(191, 10, 48, 0.04) 48px),
        repeating-linear-gradient(90deg, transparent, transparent 24px, rgba(0, 40, 104, 0.03) 24px, rgba(0, 40, 104, 0.03) 48px),
        linear-gradient(180deg, var(--slate-bg) 0%, var(--slate-dark) 100%);
}

.abd-theme-stars-and-stripes * {
    box-sizing: border-box;
}

/* Layout — sticker cut-out effect */
.abd-theme-stars-and-stripes .theme-content {
    max-width: 960px;
    margin: 48px auto;
    padding: 32px;
    background: var(--paper);
    border: 6px solid var(--usa-white);
    box-shadow: 0 0 0 3px var(--ink), 8px 8px 0 var(--usa-blue);
}

/* Typography */
.abd-theme-stars-and-stripes h1,
.abd-theme-stars-and-stripes h2,
.abd-theme-stars-and-stripes h3,
.abd-theme-stars-and-stripes h4,
.abd-theme-stars-and-stripes h5,
.abd-theme-stars-and-stripes h6 {
    font-family: "Georgia", "Times New Roman", "Times", serif;
    color: var(--navy);
    line-height: 1.15;
    margin: 24px 0 12px;
}

.abd-theme-stars-and-stripes h1 {
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-bottom: 4px solid transparent;
    padding-bottom: 10px;
    text-shadow: 2px 2px 0 var(--usa-white), 3px 3px 0 var(--ink);
    background-image: repeating-linear-gradient(
        135deg,
        var(--red) 0 6px,
        var(--usa-white) 6px 12px,
        var(--navy) 12px 18px
    );
    background-size: 100% 4px;
    background-repeat: no-repeat;
    background-position: 0 100%;
}

.abd-theme-stars-and-stripes h2 {
    font-size: clamp(1.6rem, 2.6vw, 2.3rem);
    color: var(--red);
    border-bottom: 3px solid transparent;
    display: inline-block;
    padding-bottom: 6px;
    background-image: repeating-linear-gradient(
        135deg,
        var(--red) 0 5px,
        var(--usa-white) 5px 10px,
        var(--navy) 10px 15px
    );
    background-size: 100% 3px;
    background-repeat: no-repeat;
    background-position: 0 100%;
}

.abd-theme-stars-and-stripes h3 {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    color: var(--navy);
}

.abd-theme-stars-and-stripes p {
    margin: 0 0 16px;
    line-height: 1.7;
}

/* Labels */
.abd-theme-stars-and-stripes .masthead,
.abd-theme-stars-and-stripes .kicker,
.abd-theme-stars-and-stripes .section-title {
    font-size: 0.75rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--usa-white);
    background: var(--navy);
    padding: 4px 10px;
    display: inline-block;
    border: 3px solid var(--ink);
    box-shadow: 0 3px 0 var(--ink);
}

.abd-theme-stars-and-stripes .byline,
.abd-theme-stars-and-stripes .dateline {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--navy);
}

/* Links */
.abd-theme-stars-and-stripes a {
    color: var(--navy);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.abd-theme-stars-and-stripes a:hover {
    color: var(--red);
}

/* Blockquotes */
.abd-theme-stars-and-stripes blockquote {
    margin: 20px 0;
    padding: 16px 18px;
    border-left: 4px solid var(--red);
    background: rgba(0, 40, 104, 0.08);
    color: var(--ink);
}

/* Code */
.abd-theme-stars-and-stripes code {
    background: rgba(0, 40, 104, 0.12);
    color: var(--navy);
    padding: 2px 6px;
    border: 1px solid var(--usa-blue);
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-stars-and-stripes pre {
    background: var(--usa-blue);
    color: var(--usa-white);
    padding: 16px;
    border: 3px solid var(--ink);
    margin: 18px 0;
    overflow-x: auto;
}

.abd-theme-stars-and-stripes pre code {
    background: transparent;
    border: none;
    color: inherit;
    padding: 0;
}

/* Tables */
.abd-theme-stars-and-stripes table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    background: var(--usa-white);
    border: 3px solid var(--ink);
}

.abd-theme-stars-and-stripes th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.75rem;
    background: var(--navy);
    color: var(--usa-white);
    padding: 10px;
}

.abd-theme-stars-and-stripes td {
    padding: 10px;
    border-top: 1px solid var(--rule);
}

.abd-theme-stars-and-stripes tr:nth-child(even) td {
    background: rgba(191, 10, 48, 0.08);
}

/* Images */
.abd-theme-stars-and-stripes img {
    max-width: 100%;
    height: auto;
    border: 4px solid var(--usa-white);
    box-shadow: 0 0 0 2px var(--ink), 6px 6px 0 var(--usa-blue);
    margin: 16px 0;
}

/* Rules */
.abd-theme-stars-and-stripes hr {
    border: none;
    border-top: 3px solid var(--navy);
    margin: 24px 0;
    box-shadow: 0 3px 0 var(--red);
}

/* Highlighted section */
.abd-theme-stars-and-stripes .highlighted-section {
    border: 3px solid var(--ink);
    padding: 16px;
    margin: 20px 0;
    background: linear-gradient(90deg, rgba(0, 40, 104, 0.1), var(--paper), rgba(191, 10, 48, 0.1));
    box-shadow: 0 0 0 2px var(--ink), 6px 6px 0 var(--usa-red);
    font-weight: 700;
}

.abd-theme-stars-and-stripes .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-stars-and-stripes .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--navy);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.abd-theme-stars-and-stripes .callout,
.abd-theme-stars-and-stripes .callout-box {
    border: 4px solid var(--usa-white);
    padding: 14px 16px;
    margin: 18px 0;
    background: var(--paper);
    box-shadow: 0 0 0 2px var(--ink), 6px 6px 0 var(--usa-blue);
}

.abd-theme-stars-and-stripes .sidebar {
    padding: 24px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--ink);
    background: var(--paper);
    border: 3px solid var(--ink);
    border-left: 4px solid var(--red);
    border-radius: 0;
    box-shadow: 6px 6px 0 var(--usa-blue);
}

.abd-theme-stars-and-stripes .sidebar h3,
.abd-theme-stars-and-stripes .sidebar h4 {
    color: var(--red);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 0;
    margin-bottom: 12px;
    border-bottom: 2px solid var(--navy);
    padding-bottom: 8px;
}

.abd-theme-stars-and-stripes .sidebar ul {
    list-style: none;
    padding: 0;
}

.abd-theme-stars-and-stripes .sidebar li {
    padding: 8px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.abd-theme-stars-and-stripes .sidebar li:last-child {
    border-bottom: none;
}

/* Cards */
.abd-theme-stars-and-stripes .card,
.abd-theme-stars-and-stripes .product-card {
    background: var(--paper);
    border: 4px solid var(--usa-white);
    border-radius: 0;
    padding: 20px;
    margin: 16px 0;
    box-shadow: 0 0 0 2px var(--ink), 6px 6px 0 var(--usa-blue);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-stars-and-stripes .card:hover,
.abd-theme-stars-and-stripes .product-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: 0 0 0 2px var(--ink), 8px 8px 0 var(--usa-red);
}

/* Grid Layouts */
.abd-theme-stars-and-stripes .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-stars-and-stripes .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-stars-and-stripes .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-stars-and-stripes .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-stars-and-stripes .grid-2,
    .abd-theme-stars-and-stripes .grid-3,
    .abd-theme-stars-and-stripes .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-stars-and-stripes input[type="text"],
.abd-theme-stars-and-stripes input[type="email"],
.abd-theme-stars-and-stripes input[type="number"],
.abd-theme-stars-and-stripes input[type="password"],
.abd-theme-stars-and-stripes textarea,
.abd-theme-stars-and-stripes select {
    width: 100%;
    padding: 12px;
    border: 3px solid var(--ink);
    background: var(--usa-white);
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-stars-and-stripes input:focus,
.abd-theme-stars-and-stripes textarea:focus,
.abd-theme-stars-and-stripes select:focus {
    outline: none;
    border-color: var(--red);
    box-shadow: 0 0 0 3px rgba(191, 10, 48, 0.25);
}

/* Buttons */
.abd-theme-stars-and-stripes .btn,
.abd-theme-stars-and-stripes button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--navy);
    color: var(--usa-white);
    border: 3px solid var(--ink);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.abd-theme-stars-and-stripes .btn:hover,
.abd-theme-stars-and-stripes button:hover {
    background: var(--red);
    border-color: var(--red);
    transform: translateY(-2px);
    box-shadow: 4px 4px 0 var(--navy);
}

.abd-theme-stars-and-stripes .btn-secondary {
    background: transparent;
    color: var(--navy);
}

.abd-theme-stars-and-stripes .btn-secondary:hover {
    background: var(--navy);
    color: var(--usa-white);
}

/* Navigation */
.abd-theme-stars-and-stripes nav,
.abd-theme-stars-and-stripes .nav {
    border-bottom: 3px solid var(--navy);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-stars-and-stripes .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-stars-and-stripes .nav a {
    color: var(--navy);
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-stars-and-stripes .nav a:hover {
    border-bottom-color: var(--red);
}

.abd-theme-stars-and-stripes .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-stars-and-stripes .breadcrumb a {
    color: var(--navy);
    text-decoration: none;
}

.abd-theme-stars-and-stripes .breadcrumb a:hover {
    color: var(--red);
}

/* Badges */
.abd-theme-stars-and-stripes .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--red);
    color: var(--usa-white);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid var(--navy);
}

.abd-theme-stars-and-stripes .badge-sale {
    background: var(--red);
}

.abd-theme-stars-and-stripes .badge-new {
    background: var(--navy);
}

.abd-theme-stars-and-stripes .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-stars-and-stripes figure {
    margin: 20px 0;
}

.abd-theme-stars-and-stripes figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-stars-and-stripes .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--ink);
    margin: 16px 0;
}

.abd-theme-stars-and-stripes .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-stars-and-stripes .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-stars-and-stripes .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--navy);
    margin: 12px 0;
}

.abd-theme-stars-and-stripes .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-stars-and-stripes .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--navy);
    margin: 12px 0;
}

.abd-theme-stars-and-stripes .variant-selector {
    margin: 16px 0;
}

.abd-theme-stars-and-stripes .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--navy);
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
}

.abd-theme-stars-and-stripes .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-stars-and-stripes .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-stars-and-stripes .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-stars-and-stripes .cart-item {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-stars-and-stripes .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 3px solid var(--ink);
}

.abd-theme-stars-and-stripes .cart-total {
    border-top: 3px solid var(--navy);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--navy);
}

/* Modals/Overlays */
.abd-theme-stars-and-stripes .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-stars-and-stripes .modal {
    background: var(--usa-white);
    border: 3px solid var(--ink);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 8px 8px 0 var(--navy);
    position: relative;
}

.abd-theme-stars-and-stripes .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--red);
    color: var(--usa-white);
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-stars-and-stripes .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-stars-and-stripes .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-stars-and-stripes .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-stars-and-stripes .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-stars-and-stripes form label,
.abd-theme-stars-and-stripes .newsletter-form label,
.abd-theme-stars-and-stripes .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-stars-and-stripes a:focus-visible,
.abd-theme-stars-and-stripes button:focus-visible,
.abd-theme-stars-and-stripes input:focus-visible,
.abd-theme-stars-and-stripes select:focus-visible,
.abd-theme-stars-and-stripes textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-stars-and-stripes .announcement-bar,
.abd-theme-stars-and-stripes .announcement-bar-section,
.abd-theme-stars-and-stripes .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-stars-and-stripes .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-stars-and-stripes .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-stars-and-stripes .newsletter-form,
.abd-theme-stars-and-stripes .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-stars-and-stripes .newsletter-form .field__input,
.abd-theme-stars-and-stripes .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-stars-and-stripes .form__message,
.abd-theme-stars-and-stripes .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-stars-and-stripes .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-stars-and-stripes details.accordion,
.abd-theme-stars-and-stripes .accordion,
.abd-theme-stars-and-stripes .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-stars-and-stripes details.accordion summary,
.abd-theme-stars-and-stripes .accordion__title,
.abd-theme-stars-and-stripes .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-stars-and-stripes details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-stars-and-stripes details[open] .accordion__content,
.abd-theme-stars-and-stripes .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-stars-and-stripes .pagination,
.abd-theme-stars-and-stripes .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-stars-and-stripes .pagination__item {
    margin: 0;
}

.abd-theme-stars-and-stripes .pagination__link,
.abd-theme-stars-and-stripes .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stars-and-stripes .pagination__link:hover,
.abd-theme-stars-and-stripes .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-stars-and-stripes .pagination__item--current .pagination__link,
.abd-theme-stars-and-stripes .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-stars-and-stripes .cart__empty,
.abd-theme-stars-and-stripes .collection__empty,
.abd-theme-stars-and-stripes .search__no-results,
.abd-theme-stars-and-stripes .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-stars-and-stripes .cart__empty p,
.abd-theme-stars-and-stripes .collection__empty p,
.abd-theme-stars-and-stripes .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-stars-and-stripes .product-form__input--dropdown,
.abd-theme-stars-and-stripes .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-stars-and-stripes .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-stars-and-stripes .product-form__input label,
.abd-theme-stars-and-stripes .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-stars-and-stripes .product-form__input input:checked + label,
.abd-theme-stars-and-stripes .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-stars-and-stripes .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-stars-and-stripes .footer__payment,
.abd-theme-stars-and-stripes .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-stars-and-stripes .footer__payment svg,
.abd-theme-stars-and-stripes .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-stars-and-stripes .list-social,
.abd-theme-stars-and-stripes .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-stars-and-stripes .list-social__link,
.abd-theme-stars-and-stripes .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stars-and-stripes .list-social__link:hover,
.abd-theme-stars-and-stripes .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-stars-and-stripes .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-stars-and-stripes .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stars-and-stripes .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-stars-and-stripes .image-with-text,
.abd-theme-stars-and-stripes .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-stars-and-stripes .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-stars-and-stripes .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-stars-and-stripes .product-recommendations,
.abd-theme-stars-and-stripes .complementary-products {
    margin-top: 2rem;
}

.abd-theme-stars-and-stripes .product-recommendations__heading,
.abd-theme-stars-and-stripes .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-stars-and-stripes .cart__free-shipping,
.abd-theme-stars-and-stripes .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-stars-and-stripes .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-stars-and-stripes .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-stars-and-stripes .predictive-search,
.abd-theme-stars-and-stripes .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-stars-and-stripes .predictive-search__item,
.abd-theme-stars-and-stripes .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-stars-and-stripes .predictive-search__item:hover,
.abd-theme-stars-and-stripes .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-stars-and-stripes .skeleton,
.abd-theme-stars-and-stripes .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-stars-and-stripes .header-wrapper,
.abd-theme-stars-and-stripes header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-stars-and-stripes .header__heading,
.abd-theme-stars-and-stripes .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-stars-and-stripes .header__menu,
.abd-theme-stars-and-stripes .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-stars-and-stripes .header__menu-item,
.abd-theme-stars-and-stripes .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-stars-and-stripes .header__menu-item a,
.abd-theme-stars-and-stripes .list-menu__item a,
.abd-theme-stars-and-stripes .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-stars-and-stripes .header__menu-item a:hover,
.abd-theme-stars-and-stripes .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-stars-and-stripes .header__submenu,
.abd-theme-stars-and-stripes .mega-menu__content,
.abd-theme-stars-and-stripes .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-stars-and-stripes .header__submenu .list-menu__item a,
.abd-theme-stars-and-stripes .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-stars-and-stripes .menu-drawer,
.abd-theme-stars-and-stripes .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stars-and-stripes .menu-drawer__menu-item,
.abd-theme-stars-and-stripes .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-stars-and-stripes .header__icons,
.abd-theme-stars-and-stripes .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-stars-and-stripes .cart-count-bubble,
.abd-theme-stars-and-stripes .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-stars-and-stripes .cart-drawer,
.abd-theme-stars-and-stripes .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stars-and-stripes .cart-drawer .cart-item,
.abd-theme-stars-and-stripes .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-stars-and-stripes .cart-drawer .cart-item__title,
.abd-theme-stars-and-stripes .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stars-and-stripes .cart-drawer .cart-item__price,
.abd-theme-stars-and-stripes .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-stars-and-stripes .cart__footer,
.abd-theme-stars-and-stripes .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-stars-and-stripes .cart__ctas button,
.abd-theme-stars-and-stripes .cart__checkout-button,
.abd-theme-stars-and-stripes .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-stars-and-stripes .cart__ctas button:hover,
.abd-theme-stars-and-stripes .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-stars-and-stripes .footer,
.abd-theme-stars-and-stripes .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-stars-and-stripes .footer__link,
.abd-theme-stars-and-stripes .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-stars-and-stripes .search-modal,
.abd-theme-stars-and-stripes .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stars-and-stripes .search-modal__input,
.abd-theme-stars-and-stripes .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-stars-and-stripes a {
        transition: none;
    }
    .abd-theme-stars-and-stripes .card,
    .abd-theme-stars-and-stripes .product-card,
    .abd-theme-stars-and-stripes .btn,
    .abd-theme-stars-and-stripes button,
    .abd-theme-stars-and-stripes .image-wrapper img {
        transition: none;
    }
}


/* --- stpatricks.css --- */
/* St. Patrick's Day — Retro Pin-Up Illustration Theme */
.abd-theme-stpatricks {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #8FA88F)));
    --color-foreground: var(--text, var(--ink, var(--color, #1a2e1a)));
    --color-primary: var(--accent, var(--primary, #2D5A27));
    --color-accent: var(--accent, var(--secondary, #E07C3C));
    --color-border: var(--rule, var(--border, #1a2e1a));

    /* Pin-up illustration palette */
    --shamrock: #32CD32;
    --forest: #1B4D1B;
    --sage: #8FA88F;
    --lime: #90EE90;
    --leaf: #228B22;
    --ginger: #E07C3C;
    --lip-red: #C41E3A;
    --peach: #FFE4C4;
    --cutout-white: #FFFFFF;
    --outline-black: #1a2e1a;
    --gold: #D4AF37;
    --bg: var(--sage);
    --paper: var(--peach);
    --ink: var(--outline-black);
    --muted: var(--forest);
    --rule: var(--outline-black);
    --accent-gold: var(--gold);

    font-family: 'Merriweather', serif;
    line-height: 1.7;
    color: var(--ink);
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 40px;
    background:
        radial-gradient(circle at 20% 30%, rgba(144, 238, 144, 0.25) 0%, transparent 8%),
        radial-gradient(circle at 70% 70%, rgba(50, 205, 50, 0.2) 0%, transparent 6%),
        radial-gradient(circle at 50% 50%, rgba(34, 139, 34, 0.15) 0%, transparent 10%),
        linear-gradient(180deg, var(--sage) 0%, #7A9A7A 100%);
    border: 6px solid var(--cutout-white);
    border-radius: 0;
    box-shadow:
        0 0 0 3px var(--outline-black),
        0 8px 24px rgba(27, 77, 27, 0.3);
    position: relative;
    overflow: hidden;
}

.abd-theme-stpatricks .abd-header {
    text-align: center;
    margin-bottom: 40px;
    position: relative;
    z-index: 1;
}

.abd-theme-stpatricks .abd-category {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--cutout-white);
    background: var(--forest);
    padding: 8px 20px;
    border-radius: 0;
    margin-bottom: 20px;
    box-shadow: 0 4px 0 var(--outline-black);
    border: 3px solid var(--outline-black);
}

.abd-theme-stpatricks h1 {
    font-family: 'Uncial Antiqua', cursive;
    font-size: 3.6rem;
    line-height: 1.2;
    margin-bottom: 25px;
    color: var(--forest);
    text-shadow:
        2px 2px 0 var(--cutout-white),
        3px 3px 0 var(--outline-black);
    position: relative;
    z-index: 1;
}

.abd-theme-stpatricks .abd-meta {
    font-size: 0.95rem;
    color: var(--forest);
    display: flex;
    gap: 25px;
    justify-content: center;
    font-weight: 600;
    margin-top: 15px;
}

.abd-theme-stpatricks .abd-summary-box {
    background: var(--lime);
    border-radius: 0;
    padding: 35px;
    margin: 40px 0;
    border: 3px solid var(--outline-black);
    box-shadow: 4px 4px 0 var(--forest);
    position: relative;
    z-index: 1;
}

.abd-theme-stpatricks h2 {
    font-family: 'Uncial Antiqua', cursive;
    font-size: 2.4rem;
    margin-top: 50px;
    color: var(--forest);
    border-bottom: 3px solid var(--shamrock);
    padding-bottom: 10px;
    display: inline-block;
    text-shadow: 1px 1px 0 var(--cutout-white);
}

.abd-theme-stpatricks p {
    margin-bottom: 22px;
    font-size: 1.1rem;
    color: var(--ink);
    line-height: 1.8;
}

.abd-theme-stpatricks .abd-key-points {
    background: var(--forest);
    color: var(--cutout-white);
    padding: 45px;
    border-radius: 0;
    margin: 50px 0;
    box-shadow: 6px 6px 0 var(--outline-black);
    border: 4px solid var(--cutout-white);
    position: relative;
    z-index: 1;
}

.abd-theme-stpatricks .abd-footer {
    border-top: 4px solid var(--shamrock);
    margin-top: 60px;
    padding-top: 30px;
    text-align: center;
    color: var(--forest);
    font-size: 0.9rem;
    font-weight: 600;
    background: var(--lime);
    padding: 25px;
    border-radius: 0;
    border: 3px solid var(--outline-black);
}

.abd-theme-stpatricks a {
    color: var(--leaf);
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.3s ease;
}

.abd-theme-stpatricks a:hover {
    color: var(--ginger);
}

/* Lists */
.abd-theme-stpatricks ul,
.abd-theme-stpatricks ol {
    margin: 22px 0;
    padding-left: 30px;
    color: var(--ink);
}

.abd-theme-stpatricks li {
    margin-bottom: 10px;
    line-height: 1.8;
}

.abd-theme-stpatricks ul li::marker {
    color: var(--shamrock);
    font-weight: 700;
}

/* Blockquotes */
.abd-theme-stpatricks blockquote {
    border-left: 6px solid var(--shamrock);
    padding-left: 20px;
    margin: 28px 0;
    background: var(--peach);
    padding: 22px;
    color: var(--ink);
    box-shadow: 4px 4px 0 var(--forest);
    font-style: italic;
    border: 2px solid var(--outline-black);
}

/* Code blocks */
.abd-theme-stpatricks code {
    background: rgba(255, 228, 196, 0.8);
    color: var(--ink);
    padding: 2px 6px;
    border-radius: 0;
    font-family: 'Courier New', monospace;
    font-weight: 600;
    border: 1px solid var(--gold);
}

.abd-theme-stpatricks pre {
    background: var(--forest);
    color: var(--cutout-white);
    padding: 22px;
    border: 3px solid var(--outline-black);
    box-shadow: 6px 6px 0 var(--ginger);
    margin: 28px 0;
    overflow-x: auto;
    font-family: 'Courier New', monospace;
}

.abd-theme-stpatricks pre code {
    background: transparent;
    padding: 0;
    color: var(--cutout-white);
}

/* Tables */
.abd-theme-stpatricks table {
    width: 100%;
    border-collapse: collapse;
    margin: 28px 0;
    background: var(--peach);
    border: 3px solid var(--outline-black);
    box-shadow: 6px 6px 0 var(--forest);
}

.abd-theme-stpatricks th {
    background: var(--forest);
    color: var(--cutout-white);
    padding: 12px;
    text-align: left;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 2px solid var(--outline-black);
}

.abd-theme-stpatricks td {
    padding: 12px;
    border: 2px solid var(--outline-black);
    color: var(--ink);
}

.abd-theme-stpatricks tr:nth-child(even) {
    background: rgba(144, 238, 144, 0.2);
}

/* Images */
.abd-theme-stpatricks img {
    max-width: 100%;
    height: auto;
    border: 4px solid var(--cutout-white);
    box-shadow: 0 0 0 2px var(--outline-black), 6px 6px 0 var(--forest);
    margin: 22px 0;
    background: var(--peach);
}

/* Horizontal rules */
.abd-theme-stpatricks hr {
    border: none;
    border-top: 3px solid var(--shamrock);
    margin: 36px 0;
}

/* Buttons */
.abd-theme-stpatricks button,
.abd-theme-stpatricks .button {
    background: var(--forest);
    color: var(--cutout-white);
    border: 3px solid var(--outline-black);
    padding: 10px 20px;
    font-family: 'Merriweather', serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    box-shadow: 4px 4px 0 var(--ginger);
    transition: transform 0.2s ease;
}

.abd-theme-stpatricks button:hover,
.abd-theme-stpatricks .button:hover {
    transform: translate(-2px, -2px);
    background: var(--leaf);
}

/* Highlighted sections */
.abd-theme-stpatricks .highlighted-section {
    background: var(--lime);
    border: 3px solid var(--outline-black);
    padding: 22px;
    box-shadow: 6px 6px 0 var(--forest);
    margin: 28px 0;
    color: var(--ink);
}

.abd-theme-stpatricks .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-stpatricks .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--shamrock);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-stpatricks .callout,
.abd-theme-stpatricks .callout-box {
    background: var(--lime);
    border: 3px solid var(--outline-black);
    padding: 14px 16px;
    margin: 18px 0;
    box-shadow: 6px 6px 0 var(--forest);
}

.abd-theme-stpatricks .sidebar {
    border-left: 4px solid var(--shamrock);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Markdown content support — cut-out panel (pin-up figure effect) */
.abd-theme-stpatricks .theme-content {
    padding: 32px 40px;
    background: var(--paper);
    border: 4px solid var(--cutout-white);
    box-shadow: 0 0 0 2px var(--outline-black);
    margin: 20px 0;
}

.abd-theme-stpatricks .theme-content h1,
.abd-theme-stpatricks .theme-content h2,
.abd-theme-stpatricks .theme-content h3,
.abd-theme-stpatricks .theme-content h4,
.abd-theme-stpatricks .theme-content h5,
.abd-theme-stpatricks .theme-content h6 {
    margin-top: 40px;
    margin-bottom: 20px;
}

.abd-theme-stpatricks .theme-content p {
    margin-bottom: 22px;
    font-size: 1.1rem;
    color: var(--ink);
    line-height: 1.8;
}

.abd-theme-stpatricks .theme-content ul,
.abd-theme-stpatricks .theme-content ol {
    margin: 22px 0;
    padding-left: 30px;
    color: var(--ink);
}

.abd-theme-stpatricks .theme-content li {
    margin-bottom: 10px;
    line-height: 1.8;
}

.abd-theme-stpatricks .theme-content blockquote {
    border-left: 6px solid var(--shamrock);
    padding-left: 20px;
    margin: 28px 0;
    background: var(--peach);
    padding: 22px;
    color: var(--ink);
    box-shadow: 4px 4px 0 var(--forest);
    font-style: italic;
}

.abd-theme-stpatricks .theme-content code {
    background: rgba(255, 228, 196, 0.8);
    color: var(--ink);
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
    font-weight: 600;
    border: 1px solid var(--accent-gold);
}

.abd-theme-stpatricks .theme-content pre {
    background: var(--forest);
    color: var(--cutout-white);
    padding: 22px;
    border: 3px solid var(--outline-black);
    box-shadow: 6px 6px 0 var(--ginger);
    margin: 28px 0;
    overflow-x: auto;
    font-family: 'Courier New', monospace;
}

.abd-theme-stpatricks .theme-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 28px 0;
    background: var(--peach);
    border: 3px solid var(--outline-black);
    box-shadow: 6px 6px 0 var(--forest);
}

.abd-theme-stpatricks .theme-content img {
    max-width: 100%;
    height: auto;
    border: 4px solid var(--cutout-white);
    box-shadow: 0 0 0 2px var(--outline-black), 6px 6px 0 var(--forest);
    margin: 22px 0;
    background: var(--peach);
}

.abd-theme-stpatricks .theme-content hr {
    border: none;
    border-top: 3px solid var(--shamrock);
    margin: 36px 0;
}

/* Cards */
.abd-theme-stpatricks .card,
.abd-theme-stpatricks .product-card {
    background: var(--peach);
    border: 4px solid var(--cutout-white);
    border-radius: 0;
    padding: 20px;
    margin: 16px 0;
    box-shadow: 0 0 0 2px var(--outline-black), 6px 6px 0 var(--forest);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-stpatricks .card:hover,
.abd-theme-stpatricks .product-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: 0 0 0 2px var(--outline-black), 8px 8px 0 var(--ginger);
}

/* Grid Layouts */
.abd-theme-stpatricks .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-stpatricks .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-stpatricks .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-stpatricks .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-stpatricks .grid-2,
    .abd-theme-stpatricks .grid-3,
    .abd-theme-stpatricks .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-stpatricks input[type="text"],
.abd-theme-stpatricks input[type="email"],
.abd-theme-stpatricks input[type="number"],
.abd-theme-stpatricks input[type="password"],
.abd-theme-stpatricks textarea,
.abd-theme-stpatricks select {
    width: 100%;
    padding: 12px;
    border: 3px solid var(--shamrock);
    background: var(--cutout-white);
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
    border-radius: 8px;
}

.abd-theme-stpatricks input:focus,
.abd-theme-stpatricks textarea:focus,
.abd-theme-stpatricks select:focus {
    outline: none;
    border-color: var(--leaf);
    box-shadow: 0 0 0 3px rgba(34, 139, 34, 0.2);
}

/* Buttons */
.abd-theme-stpatricks .btn,
.abd-theme-stpatricks button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--shamrock);
    color: var(--cutout-white);
    border: 3px solid var(--shamrock);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    border-radius: 8px;
    box-shadow: 4px 4px 0 rgba(34, 139, 34, 0.3);
}

.abd-theme-stpatricks .btn:hover,
.abd-theme-stpatricks button:hover {
    background: var(--leaf);
    border-color: var(--leaf);
    transform: translateY(-2px);
    box-shadow: 6px 6px 0 rgba(34, 139, 34, 0.4);
}

.abd-theme-stpatricks .btn-secondary {
    background: transparent;
    color: var(--shamrock);
}

.abd-theme-stpatricks .btn-secondary:hover {
    background: var(--shamrock);
    color: var(--cutout-white);
}

/* Navigation */
.abd-theme-stpatricks nav,
.abd-theme-stpatricks .nav {
    border-bottom: 3px solid var(--shamrock);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-stpatricks .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-stpatricks .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-stpatricks .nav a:hover {
    border-bottom-color: var(--leaf);
}

.abd-theme-stpatricks .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-stpatricks .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-stpatricks .breadcrumb a:hover {
    color: var(--leaf);
}

/* Badges */
.abd-theme-stpatricks .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--shamrock);
    color: var(--cutout-white);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 2px solid var(--leaf);
    border-radius: 8px;
    box-shadow: 3px 3px 0 rgba(34, 139, 34, 0.3);
}

.abd-theme-stpatricks .badge-sale {
    background: var(--leaf);
}

.abd-theme-stpatricks .badge-new {
    background: var(--shamrock);
}

.abd-theme-stpatricks .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-stpatricks figure {
    margin: 20px 0;
}

.abd-theme-stpatricks figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-stpatricks .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--shamrock);
    border-radius: 12px;
    margin: 16px 0;
    box-shadow: 6px 6px 0 rgba(34, 139, 34, 0.3);
}

.abd-theme-stpatricks .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-stpatricks .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-stpatricks .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-stpatricks .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-stpatricks .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-stpatricks .variant-selector {
    margin: 16px 0;
}

.abd-theme-stpatricks .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
}

.abd-theme-stpatricks .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-stpatricks .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-stpatricks .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-stpatricks .cart-item {
    border-bottom: 3px solid var(--shamrock);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-stpatricks .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 3px solid var(--shamrock);
    border-radius: 8px;
    box-shadow: 4px 4px 0 rgba(34, 139, 34, 0.3);
}

.abd-theme-stpatricks .cart-total {
    border-top: 3px solid var(--shamrock);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-stpatricks .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(26, 61, 15, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-stpatricks .modal {
    background: var(--lime);
    border: 3px solid var(--shamrock);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 8px 8px 0 rgba(34, 139, 34, 0.3);
    position: relative;
    border-radius: 12px;
}

.abd-theme-stpatricks .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--leaf);
    color: var(--cutout-white);
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-stpatricks .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-stpatricks .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-stpatricks .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-stpatricks .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-stpatricks form label,
.abd-theme-stpatricks .newsletter-form label,
.abd-theme-stpatricks .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-stpatricks a:focus-visible,
.abd-theme-stpatricks button:focus-visible,
.abd-theme-stpatricks input:focus-visible,
.abd-theme-stpatricks select:focus-visible,
.abd-theme-stpatricks textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-stpatricks .announcement-bar,
.abd-theme-stpatricks .announcement-bar-section,
.abd-theme-stpatricks .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-stpatricks .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-stpatricks .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-stpatricks .newsletter-form,
.abd-theme-stpatricks .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-stpatricks .newsletter-form .field__input,
.abd-theme-stpatricks .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-stpatricks .form__message,
.abd-theme-stpatricks .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-stpatricks .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-stpatricks details.accordion,
.abd-theme-stpatricks .accordion,
.abd-theme-stpatricks .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-stpatricks details.accordion summary,
.abd-theme-stpatricks .accordion__title,
.abd-theme-stpatricks .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-stpatricks details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-stpatricks details[open] .accordion__content,
.abd-theme-stpatricks .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-stpatricks .pagination,
.abd-theme-stpatricks .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-stpatricks .pagination__item {
    margin: 0;
}

.abd-theme-stpatricks .pagination__link,
.abd-theme-stpatricks .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stpatricks .pagination__link:hover,
.abd-theme-stpatricks .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-stpatricks .pagination__item--current .pagination__link,
.abd-theme-stpatricks .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-stpatricks .cart__empty,
.abd-theme-stpatricks .collection__empty,
.abd-theme-stpatricks .search__no-results,
.abd-theme-stpatricks .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-stpatricks .cart__empty p,
.abd-theme-stpatricks .collection__empty p,
.abd-theme-stpatricks .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-stpatricks .product-form__input--dropdown,
.abd-theme-stpatricks .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-stpatricks .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-stpatricks .product-form__input label,
.abd-theme-stpatricks .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-stpatricks .product-form__input input:checked + label,
.abd-theme-stpatricks .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-stpatricks .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-stpatricks .footer__payment,
.abd-theme-stpatricks .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-stpatricks .footer__payment svg,
.abd-theme-stpatricks .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-stpatricks .list-social,
.abd-theme-stpatricks .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-stpatricks .list-social__link,
.abd-theme-stpatricks .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stpatricks .list-social__link:hover,
.abd-theme-stpatricks .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-stpatricks .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-stpatricks .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stpatricks .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-stpatricks .image-with-text,
.abd-theme-stpatricks .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-stpatricks .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-stpatricks .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-stpatricks .product-recommendations,
.abd-theme-stpatricks .complementary-products {
    margin-top: 2rem;
}

.abd-theme-stpatricks .product-recommendations__heading,
.abd-theme-stpatricks .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-stpatricks .cart__free-shipping,
.abd-theme-stpatricks .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-stpatricks .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-stpatricks .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-stpatricks .predictive-search,
.abd-theme-stpatricks .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-stpatricks .predictive-search__item,
.abd-theme-stpatricks .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-stpatricks .predictive-search__item:hover,
.abd-theme-stpatricks .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-stpatricks .skeleton,
.abd-theme-stpatricks .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-stpatricks .header-wrapper,
.abd-theme-stpatricks header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, var(--cutout-white))));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-stpatricks .header__heading,
.abd-theme-stpatricks .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-stpatricks .header__menu,
.abd-theme-stpatricks .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-stpatricks .header__menu-item,
.abd-theme-stpatricks .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-stpatricks .header__menu-item a,
.abd-theme-stpatricks .list-menu__item a,
.abd-theme-stpatricks .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-stpatricks .header__menu-item a:hover,
.abd-theme-stpatricks .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-stpatricks .header__submenu,
.abd-theme-stpatricks .mega-menu__content,
.abd-theme-stpatricks .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-stpatricks .header__submenu .list-menu__item a,
.abd-theme-stpatricks .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-stpatricks .menu-drawer,
.abd-theme-stpatricks .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stpatricks .menu-drawer__menu-item,
.abd-theme-stpatricks .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-stpatricks .header__icons,
.abd-theme-stpatricks .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-stpatricks .cart-count-bubble,
.abd-theme-stpatricks .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-stpatricks .cart-drawer,
.abd-theme-stpatricks .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stpatricks .cart-drawer .cart-item,
.abd-theme-stpatricks .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-stpatricks .cart-drawer .cart-item__title,
.abd-theme-stpatricks .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stpatricks .cart-drawer .cart-item__price,
.abd-theme-stpatricks .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-stpatricks .cart__footer,
.abd-theme-stpatricks .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-stpatricks .cart__ctas button,
.abd-theme-stpatricks .cart__checkout-button,
.abd-theme-stpatricks .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-stpatricks .cart__ctas button:hover,
.abd-theme-stpatricks .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-stpatricks .footer,
.abd-theme-stpatricks .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-stpatricks .footer__link,
.abd-theme-stpatricks .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-stpatricks .search-modal,
.abd-theme-stpatricks .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-stpatricks .search-modal__input,
.abd-theme-stpatricks .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-stpatricks a {
        transition: none;
    }
    .abd-theme-stpatricks .card,
    .abd-theme-stpatricks .product-card,
    .abd-theme-stpatricks .btn,
    .abd-theme-stpatricks button,
    .abd-theme-stpatricks .image-wrapper img {
        transition: none;
    }
}



/* --- synthwave.css --- */
/* Las Vegas Theme — "Welcome to Fabulous Las Vegas" sign inspired */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Oswald:wght@500;700&display=swap');

.abd-theme-synthwave {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #93d0e2)));
    --color-foreground: var(--text, var(--ink, var(--color, #2b1d12)));
    --color-primary: var(--accent, var(--primary, #2993ae));
    --color-accent: var(--accent, var(--secondary, #d34e35));
    --color-border: var(--rule, var(--border, #2993ae));
    
    /* Las Vegas palette from poster */
    --vegas-sky: #93d0e2;
    --vegas-teal: #2993ae;
    --vegas-rust: #b85b39;
    --vegas-red: #a04a29;
    --vegas-orange: #d34e35;
    --vegas-peach: #d48a6d;
    --vegas-dark: #2b1d12;

    --bg: var(--vegas-sky);
    --paper: #ffffff;
    --ink: var(--vegas-dark);
    --muted: var(--vegas-rust);
    --pink: var(--vegas-orange);
    --purple: var(--vegas-teal);
    --cyan: var(--vegas-teal);
    --blue: var(--vegas-teal);
    font-family: "Oswald", "Arial Black", "Impact", sans-serif;
    color: var(--vegas-dark);
    background-color: var(--vegas-sky);
    background-image:
        radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.6) 0%, transparent 50%),
        repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0, 0, 0, 0.03) 2px, rgba(0, 0, 0, 0.03) 4px);
}

.abd-theme-synthwave * {
    box-sizing: border-box;
}

/* Layout — white sign body, strong teal outline */
.abd-theme-synthwave .theme-content {
    max-width: 980px;
    margin: 48px auto;
    padding: 48px;
    background: #ffffff;
    border: 4px solid var(--vegas-teal);
    border-radius: 8px;
    box-shadow: 6px 6px 0 var(--vegas-rust), 0 0 0 2px var(--vegas-dark);
    position: relative;
}

.abd-theme-synthwave .grid-horizon {
    position: relative;
    background: linear-gradient(180deg, var(--vegas-sky) 0%, rgba(255, 255, 255, 0.9) 100%);
    padding: 24px;
    border: 2px solid var(--vegas-teal);
    border-radius: 8px;
    box-shadow: 4px 4px 0 var(--vegas-rust);
}

/* Typography — bold blocky Vegas style */
/* WELCOME TO FABULOUS — vibrant orange-red */
.abd-theme-synthwave h1 {
    font-family: "Bebas Neue", "Impact", "Arial Black", sans-serif;
    font-size: clamp(2.8rem, 5vw, 4rem);
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--vegas-orange);
    margin-bottom: 16px;
    text-shadow: 2px 2px 0 var(--vegas-dark);
}

/* LAS VEGAS — bold teal */
.abd-theme-synthwave h2 {
    font-family: "Bebas Neue", "Impact", "Arial Black", sans-serif;
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    color: var(--vegas-teal);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 24px 0 12px;
    text-shadow: 1px 1px 0 var(--vegas-dark);
}

.abd-theme-synthwave h3,
.abd-theme-synthwave h4,
.abd-theme-synthwave h5,
.abd-theme-synthwave h6 {
    font-family: "Oswald", "Arial Black", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--vegas-dark);
    margin: 20px 0 10px;
}

.abd-theme-synthwave h3 {
    font-size: clamp(1.4rem, 2vw, 1.8rem);
    color: var(--vegas-rust);
}

.abd-theme-synthwave p {
    margin: 0 0 16px;
    color: var(--vegas-dark);
    line-height: 1.7;
    font-family: "Georgia", "Times New Roman", serif;
}

/* Labels — ARTS BY DYLAN style (rust/brown) */
.abd-theme-synthwave .kicker,
.abd-theme-synthwave .byline,
.abd-theme-synthwave .dateline,
.abd-theme-synthwave .section-title,
.abd-theme-synthwave .abd-category {
    font-size: 0.85rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--vegas-rust);
}

/* Links */
.abd-theme-synthwave a {
    color: var(--vegas-teal);
    text-decoration: none;
    border-bottom: 2px solid var(--vegas-teal);
    font-weight: 600;
}

.abd-theme-synthwave a:hover {
    color: var(--vegas-orange);
    border-bottom-color: var(--vegas-orange);
}

/* Lists */
.abd-theme-synthwave ul,
.abd-theme-synthwave ol {
    margin: 14px 0 18px;
    padding-left: 22px;
}

.abd-theme-synthwave li {
    margin-bottom: 6px;
}

.abd-theme-synthwave ul li::marker {
    color: var(--vegas-teal);
}

/* Blockquotes */
.abd-theme-synthwave blockquote {
    margin: 20px 0;
    padding: 20px 24px;
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid var(--vegas-teal);
    border-left: 6px solid var(--vegas-orange);
    border-radius: 0 8px 8px 0;
    color: var(--vegas-dark);
    box-shadow: 4px 4px 0 var(--vegas-rust);
}

/* Code */
.abd-theme-synthwave code {
    background: var(--vegas-teal);
    color: #ffffff;
    padding: 2px 6px;
    border: 2px solid var(--vegas-dark);
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

.abd-theme-synthwave pre {
    background: var(--vegas-dark);
    color: #ffffff;
    padding: 16px;
    border: 2px solid var(--vegas-teal);
    margin: 18px 0;
    overflow-x: auto;
    border-radius: 8px;
}

.abd-theme-synthwave pre code {
    background: transparent;
    border: none;
    color: #ffffff;
}

/* Tables */
.abd-theme-synthwave table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    background: #ffffff;
    border: 2px solid var(--vegas-teal);
    box-shadow: 4px 4px 0 var(--vegas-rust);
}

.abd-theme-synthwave th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.8rem;
    background: var(--vegas-teal);
    color: #fff;
    padding: 12px 10px;
}

.abd-theme-synthwave td {
    border-top: 1px solid rgba(41, 147, 174, 0.3);
    padding: 10px 8px;
    color: var(--vegas-dark);
}

/* Images — strong outline style */
.abd-theme-synthwave img {
    max-width: 100%;
    height: auto;
    border: 3px solid var(--vegas-teal);
    box-shadow: 4px 4px 0 var(--vegas-rust);
    margin: 16px 0;
}

/* Rules */
.abd-theme-synthwave hr {
    border: none;
    border-top: 2px solid var(--vegas-teal);
    margin: 24px 0;
}

/* Highlighted section */
.abd-theme-synthwave .highlighted-section {
    border: 2px solid var(--vegas-teal);
    background: rgba(255, 255, 255, 0.9);
    padding: 20px;
    margin: 18px 0;
    box-shadow: 4px 4px 0 var(--vegas-rust);
}

.abd-theme-synthwave .dek {
    font-size: 1.1rem;
    color: var(--vegas-rust);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-synthwave .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--vegas-orange);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--vegas-teal);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.abd-theme-synthwave .callout,
.abd-theme-synthwave .callout-box {
    border: 2px solid var(--vegas-teal);
    padding: 16px 20px;
    margin: 18px 0;
    background: #ffffff;
    box-shadow: 4px 4px 0 var(--vegas-rust);
}

.abd-theme-synthwave .sidebar {
    border-left: 4px solid var(--vegas-orange);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
    box-shadow: 2px 2px 0 var(--vegas-rust);
}

/* Cards */
.abd-theme-synthwave .card,
.abd-theme-synthwave .product-card {
    background: #ffffff;
    border: 3px solid var(--vegas-teal);
    padding: 20px;
    margin: 16px 0;
    box-shadow: 4px 4px 0 var(--vegas-rust);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-synthwave .card:hover,
.abd-theme-synthwave .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 6px 6px 0 var(--vegas-orange);
}

/* Grid Layouts */
.abd-theme-synthwave .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-synthwave .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-synthwave .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-synthwave .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-synthwave .grid-2,
    .abd-theme-synthwave .grid-3,
    .abd-theme-synthwave .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-synthwave input[type="text"],
.abd-theme-synthwave input[type="email"],
.abd-theme-synthwave input[type="number"],
.abd-theme-synthwave input[type="password"],
.abd-theme-synthwave textarea,
.abd-theme-synthwave select {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--vegas-teal);
    background: #ffffff;
    color: var(--vegas-dark);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
    border-radius: 4px;
}

.abd-theme-synthwave input:focus,
.abd-theme-synthwave textarea:focus,
.abd-theme-synthwave select:focus {
    outline: none;
    border-color: var(--vegas-orange);
    box-shadow: 0 0 0 3px rgba(211, 78, 53, 0.2);
}

/* Buttons */
.abd-theme-synthwave .btn,
.abd-theme-synthwave button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--vegas-teal);
    color: #ffffff;
    border: 2px solid var(--vegas-teal);
    font-family: "Oswald", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    box-shadow: 4px 4px 0 var(--vegas-rust);
}

.abd-theme-synthwave .btn:hover,
.abd-theme-synthwave button:hover {
    background: var(--vegas-orange);
    border-color: var(--vegas-orange);
    transform: translateY(-2px);
    box-shadow: 4px 4px 0 var(--vegas-dark);
}

.abd-theme-synthwave .btn-secondary {
    background: transparent;
    color: var(--vegas-teal);
}

.abd-theme-synthwave .btn-secondary:hover {
    background: var(--vegas-teal);
    color: #ffffff;
}

/* Navigation */
.abd-theme-synthwave nav,
.abd-theme-synthwave .nav {
    border-bottom: 2px solid var(--vegas-teal);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-synthwave .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-synthwave .nav a {
    color: var(--vegas-dark);
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-synthwave .nav a:hover {
    border-bottom-color: var(--vegas-orange);
}

.abd-theme-synthwave .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-synthwave .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-synthwave .breadcrumb a:hover {
    color: var(--vegas-teal);
}

/* Badges */
.abd-theme-synthwave .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--vegas-orange);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 2px solid var(--vegas-dark);
    box-shadow: 2px 2px 0 var(--vegas-dark);
}

.abd-theme-synthwave .badge-sale {
    background: var(--vegas-orange);
}

.abd-theme-synthwave .badge-new {
    background: var(--vegas-teal);
}

.abd-theme-synthwave .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-synthwave figure {
    margin: 20px 0;
}

.abd-theme-synthwave figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-synthwave .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--vegas-teal);
    margin: 16px 0;
    box-shadow: 4px 4px 0 var(--vegas-rust);
}

.abd-theme-synthwave .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-synthwave .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-synthwave .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--vegas-teal);
    margin: 12px 0;
}

.abd-theme-synthwave .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-synthwave .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-synthwave .variant-selector {
    margin: 16px 0;
}

.abd-theme-synthwave .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
}

.abd-theme-synthwave .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-synthwave .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-synthwave .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-synthwave .cart-item {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-synthwave .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 3px solid var(--vegas-teal);
    box-shadow: 2px 2px 0 var(--vegas-rust);
}

.abd-theme-synthwave .cart-total {
    border-top: 3px solid var(--vegas-orange);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--vegas-teal);
}

/* Modals/Overlays */
.abd-theme-synthwave .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-synthwave .modal {
    background: #ffffff;
    border: 3px solid var(--vegas-teal);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 6px 6px 0 var(--vegas-rust);
    position: relative;
}

.abd-theme-synthwave .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--vegas-teal);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 2px 2px 0 var(--vegas-dark);
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-synthwave .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-synthwave .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-synthwave .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-synthwave .theme-content {
        padding: 24px;
    }
}

/* Motion */
/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-synthwave form label,
.abd-theme-synthwave .newsletter-form label,
.abd-theme-synthwave .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-synthwave a:focus-visible,
.abd-theme-synthwave button:focus-visible,
.abd-theme-synthwave input:focus-visible,
.abd-theme-synthwave select:focus-visible,
.abd-theme-synthwave textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-synthwave .announcement-bar,
.abd-theme-synthwave .announcement-bar-section,
.abd-theme-synthwave .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-synthwave .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-synthwave .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-synthwave .newsletter-form,
.abd-theme-synthwave .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-synthwave .newsletter-form .field__input,
.abd-theme-synthwave .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-synthwave .form__message,
.abd-theme-synthwave .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-synthwave .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-synthwave details.accordion,
.abd-theme-synthwave .accordion,
.abd-theme-synthwave .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-synthwave details.accordion summary,
.abd-theme-synthwave .accordion__title,
.abd-theme-synthwave .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-synthwave details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-synthwave details[open] .accordion__content,
.abd-theme-synthwave .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-synthwave .pagination,
.abd-theme-synthwave .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-synthwave .pagination__item {
    margin: 0;
}

.abd-theme-synthwave .pagination__link,
.abd-theme-synthwave .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-synthwave .pagination__link:hover,
.abd-theme-synthwave .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-synthwave .pagination__item--current .pagination__link,
.abd-theme-synthwave .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-synthwave .cart__empty,
.abd-theme-synthwave .collection__empty,
.abd-theme-synthwave .search__no-results,
.abd-theme-synthwave .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-synthwave .cart__empty p,
.abd-theme-synthwave .collection__empty p,
.abd-theme-synthwave .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-synthwave .product-form__input--dropdown,
.abd-theme-synthwave .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-synthwave .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-synthwave .product-form__input label,
.abd-theme-synthwave .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-synthwave .product-form__input input:checked + label,
.abd-theme-synthwave .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-synthwave .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-synthwave .footer__payment,
.abd-theme-synthwave .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-synthwave .footer__payment svg,
.abd-theme-synthwave .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-synthwave .list-social,
.abd-theme-synthwave .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-synthwave .list-social__link,
.abd-theme-synthwave .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-synthwave .list-social__link:hover,
.abd-theme-synthwave .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-synthwave .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-synthwave .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-synthwave .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-synthwave .image-with-text,
.abd-theme-synthwave .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-synthwave .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-synthwave .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-synthwave .product-recommendations,
.abd-theme-synthwave .complementary-products {
    margin-top: 2rem;
}

.abd-theme-synthwave .product-recommendations__heading,
.abd-theme-synthwave .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-synthwave .cart__free-shipping,
.abd-theme-synthwave .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-synthwave .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-synthwave .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-synthwave .predictive-search,
.abd-theme-synthwave .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-synthwave .predictive-search__item,
.abd-theme-synthwave .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-synthwave .predictive-search__item:hover,
.abd-theme-synthwave .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-synthwave .skeleton,
.abd-theme-synthwave .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-synthwave .header-wrapper,
.abd-theme-synthwave header.shopify-section-header {
    background: var(--vegas-sky);
    border-bottom: 2px solid var(--vegas-teal);
    padding: 0.5rem 1rem;
}

/* Logo / store name — LAS VEGAS style */
.abd-theme-synthwave .header__heading,
.abd-theme-synthwave .header__heading-link,
.abd-theme-synthwave .header__title a {
    font-family: "Bebas Neue", "Impact", "Arial Black", sans-serif;
    font-weight: 700;
    color: var(--vegas-teal);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Main navigation menu */
.abd-theme-synthwave .header__menu,
.abd-theme-synthwave .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-synthwave .header__menu-item,
.abd-theme-synthwave .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-synthwave .header__menu-item a,
.abd-theme-synthwave .list-menu__item a,
.abd-theme-synthwave .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-synthwave .header__menu-item a:hover,
.abd-theme-synthwave .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-synthwave .header__submenu,
.abd-theme-synthwave .mega-menu__content,
.abd-theme-synthwave .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-synthwave .header__submenu .list-menu__item a,
.abd-theme-synthwave .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-synthwave .menu-drawer,
.abd-theme-synthwave .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-synthwave .menu-drawer__menu-item,
.abd-theme-synthwave .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-synthwave .header__icons,
.abd-theme-synthwave .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-synthwave .cart-count-bubble,
.abd-theme-synthwave .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-synthwave .cart-drawer,
.abd-theme-synthwave .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-synthwave .cart-drawer .cart-item,
.abd-theme-synthwave .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-synthwave .cart-drawer .cart-item__title,
.abd-theme-synthwave .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-synthwave .cart-drawer .cart-item__price,
.abd-theme-synthwave .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-synthwave .cart__footer,
.abd-theme-synthwave .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-synthwave .cart__ctas button,
.abd-theme-synthwave .cart__checkout-button,
.abd-theme-synthwave .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-synthwave .cart__ctas button:hover,
.abd-theme-synthwave .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-synthwave .footer,
.abd-theme-synthwave .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-synthwave .footer__link,
.abd-theme-synthwave .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-synthwave .search-modal,
.abd-theme-synthwave .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-synthwave .search-modal__input,
.abd-theme-synthwave .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-synthwave a {
        transition: none;
    }
    .abd-theme-synthwave .card,
    .abd-theme-synthwave .product-card,
    .abd-theme-synthwave .btn,
    .abd-theme-synthwave button,
    .abd-theme-synthwave .image-wrapper img {
        transition: none;
    }
}


/* --- travel-nyc-liberty.css --- */
/* Travel NYC Liberty / Excelsior — inspired by Statue of Liberty vintage poster aesthetic */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

.abd-theme-travel-nyc-liberty {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #f0f8ff)));
    --color-foreground: var(--text, var(--ink, var(--color, #1a365d)));
    --color-primary: var(--accent, var(--primary, #00247d));
    --color-accent: var(--accent, var(--secondary, #cf142b));
    --color-border: var(--rule, var(--border, #e5e5e5));

    /* Excelsior palette from poster */
    --excelsior-sky: #e8f4fc;
    --excelsior-teal: #4a9b8e;
    --excelsior-gold: #ffd700;
    --excelsior-navy: #1a365d;
    --excelsior-red: #cf142b;
    --excelsior-orange: #b87333;

    font-family: 'Georgia', 'Times New Roman', serif;
    line-height: 1.6;
    color: var(--excelsior-navy);
    max-width: 900px;
    margin: 0 auto;
    padding: 80px 60px;
    background-color: var(--excelsior-sky);
    background-image:
        radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.9) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(74, 155, 142, 0.08) 0%, transparent 50%),
        repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0, 0, 0, 0.02) 2px, rgba(0, 0, 0, 0.02) 4px);
    border-radius: 16px;
    box-shadow: 6px 6px 24px rgba(26, 54, 93, 0.15), 0 0 0 1px rgba(26, 54, 93, 0.06);
    position: relative;
}

.abd-theme-travel-nyc-liberty .abd-header {
    text-align: center;
    margin-bottom: 60px;
    position: relative;
    z-index: 1;
}

/* ARTS BY DYLAN style — medium blue text, red divider above */
.abd-theme-travel-nyc-liberty .abd-category {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 1rem;
    font-weight: 600;
    color: var(--excelsior-navy);
    padding: 12px 0 0;
    margin-bottom: 20px;
    border-top: 3px solid var(--excelsior-red);
    background: none;
    border-radius: 0;
}

/* EXCELSIOR style — bright yellow with navy outline */
.abd-theme-travel-nyc-liberty h1 {
    font-family: 'Bebas Neue', 'Impact', 'Arial Black', sans-serif;
    font-size: 4rem;
    line-height: 0.95;
    margin: 10px 0 24px;
    color: var(--excelsior-gold);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow:
        2px 2px 0 var(--excelsior-navy),
        -1px -1px 0 var(--excelsior-navy),
        1px -1px 0 var(--excelsior-navy),
        -1px 1px 0 var(--excelsior-navy);
}

.abd-theme-travel-nyc-liberty h2 {
    font-family: 'Bebas Neue', 'Impact', 'Arial Black', sans-serif;
    font-size: 2.2rem;
    margin-top: 48px;
    color: var(--excelsior-teal);
    border-bottom: 2px solid var(--excelsior-orange);
    padding-bottom: 8px;
    display: inline-block;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.abd-theme-travel-nyc-liberty p {
    margin-bottom: 24px;
    font-size: 1.1rem;
    color: var(--excelsior-navy);
    line-height: 1.8;
    font-family: 'Georgia', 'Times New Roman', serif;
}

/* Key points — teal patina (Statue of Liberty) */
.abd-theme-travel-nyc-liberty .abd-key-points {
    background: var(--excelsior-teal);
    color: #fff;
    padding: 40px;
    border-radius: 12px;
    margin: 48px 0;
    border: 2px solid var(--excelsior-navy);
    box-shadow: 6px 6px 20px rgba(26, 54, 93, 0.2);
}

.abd-theme-travel-nyc-liberty a {
    color: var(--excelsior-navy);
    text-decoration: none;
    border-bottom: 1px solid var(--excelsior-red);
    font-weight: 600;
}

.abd-theme-travel-nyc-liberty a:hover {
    color: var(--excelsior-teal);
    border-bottom-color: var(--excelsior-teal);
}

/* Lists */
.abd-theme-travel-nyc-liberty ul,
.abd-theme-travel-nyc-liberty ol {
    margin: 24px 0;
    padding-left: 30px;
    color: var(--excelsior-navy);
    font-family: 'Georgia', 'Times New Roman', serif;
}

.abd-theme-travel-nyc-liberty li {
    margin-bottom: 12px;
    line-height: 1.8;
}

.abd-theme-travel-nyc-liberty ul li::marker {
    color: var(--excelsior-teal);
    font-weight: 700;
}

/* Blockquotes */
.abd-theme-travel-nyc-liberty blockquote {
    border-left: 4px solid var(--excelsior-teal);
    padding-left: 20px;
    margin: 30px 0;
    background: rgba(255, 255, 255, 0.8);
    padding: 24px;
    border-radius: 8px;
    color: var(--excelsior-navy);
    box-shadow: 4px 4px 12px rgba(26, 54, 93, 0.1);
    font-style: italic;
}

/* Code blocks */
.abd-theme-travel-nyc-liberty code {
    background: var(--excelsior-navy);
    color: #fff;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
    font-weight: 700;
}

.abd-theme-travel-nyc-liberty pre {
    background: var(--excelsior-navy);
    color: #fff;
    padding: 24px;
    border-radius: 8px;
    border: 2px solid var(--excelsior-teal);
    box-shadow: 6px 6px 16px rgba(26, 54, 93, 0.2);
    margin: 30px 0;
    overflow-x: auto;
    font-family: 'Courier New', monospace;
}

.abd-theme-travel-nyc-liberty pre code {
    background: transparent;
    padding: 0;
    color: #fff;
}

/* Tables */
.abd-theme-travel-nyc-liberty table {
    width: 100%;
    border-collapse: collapse;
    margin: 30px 0;
    background: #fff;
    border: 3px solid var(--excelsior-teal);
    box-shadow: 6px 6px 0 var(--excelsior-orange);
}

.abd-theme-travel-nyc-liberty th {
    background: var(--excelsior-teal);
    color: #fff;
    padding: 14px;
    text-align: left;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 1px solid var(--excelsior-orange);
}

.abd-theme-travel-nyc-liberty td {
    padding: 14px;
    border: 1px solid var(--excelsior-orange);
    color: var(--excelsior-navy);
}

.abd-theme-travel-nyc-liberty tr:nth-child(even) {
    background: rgba(46, 139, 87, 0.08);
}

/* Images */
.abd-theme-travel-nyc-liberty img {
    max-width: 100%;
    height: auto;
    border: 3px solid var(--excelsior-orange);
    box-shadow: 6px 6px 0 rgba(46, 139, 87, 0.4);
    margin: 24px 0;
    background: #fff;
}

/* Horizontal rules */
.abd-theme-travel-nyc-liberty hr {
    border: none;
    border-top: 3px solid var(--excelsior-orange);
    margin: 40px 0;
}

/* Buttons */
.abd-theme-travel-nyc-liberty button,
.abd-theme-travel-nyc-liberty .button {
    background: var(--excelsior-teal);
    color: #fff;
    border: 2px solid var(--excelsior-orange);
    padding: 10px 22px;
    font-family: 'Cinzel', serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    box-shadow: 4px 4px 0 var(--excelsior-orange);
    transition: transform 0.2s ease;
}

.abd-theme-travel-nyc-liberty button:hover,
.abd-theme-travel-nyc-liberty .button:hover {
    transform: translate(-2px, -2px);
}

/* Highlighted sections */
.abd-theme-travel-nyc-liberty .highlighted-section {
    background: #fff;
    border: 3px solid var(--excelsior-teal);
    padding: 24px;
    box-shadow: 6px 6px 0 var(--excelsior-orange);
    margin: 30px 0;
}

.abd-theme-travel-nyc-liberty .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-travel-nyc-liberty .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--excelsior-teal);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-travel-nyc-liberty .callout,
.abd-theme-travel-nyc-liberty .callout-box {
    background: #fff;
    border: 3px solid var(--excelsior-teal);
    padding: 14px 16px;
    margin: 18px 0;
    box-shadow: 6px 6px 0 var(--excelsior-orange);
}

.abd-theme-travel-nyc-liberty .sidebar {
    border-left: 3px solid var(--excelsior-teal);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Footer */
.abd-theme-travel-nyc-liberty .abd-footer {
    margin-top: 60px;
    font-weight: 700;
    text-transform: uppercase;
    border-top: 3px solid var(--excelsior-orange);
    padding-top: 20px;
    text-align: left;
    color: var(--excelsior-teal);
}

/* Markdown content support */
.abd-theme-travel-nyc-liberty .theme-content {
    padding: 20px 0;
}

.abd-theme-travel-nyc-liberty .theme-content h1,
.abd-theme-travel-nyc-liberty .theme-content h2,
.abd-theme-travel-nyc-liberty .theme-content h3,
.abd-theme-travel-nyc-liberty .theme-content h4,
.abd-theme-travel-nyc-liberty .theme-content h5,
.abd-theme-travel-nyc-liberty .theme-content h6 {
    margin-top: 40px;
    margin-bottom: 20px;
}

.abd-theme-travel-nyc-liberty .theme-content p {
    margin-bottom: 24px;
    font-size: 1.2rem;
    color: var(--excelsior-navy);
    line-height: 1.9;
}

.abd-theme-travel-nyc-liberty .theme-content ul,
.abd-theme-travel-nyc-liberty .theme-content ol {
    margin: 24px 0;
    padding-left: 30px;
    color: var(--excelsior-navy);
}

.abd-theme-travel-nyc-liberty .theme-content li {
    margin-bottom: 12px;
    line-height: 1.8;
}

.abd-theme-travel-nyc-liberty .theme-content blockquote {
    border-left: 6px solid var(--excelsior-teal);
    padding-left: 20px;
    margin: 30px 0;
    background: rgba(255, 255, 255, 0.7);
    padding: 24px;
    color: var(--excelsior-navy);
    box-shadow: 4px 4px 0 var(--excelsior-orange);
    font-style: italic;
}

.abd-theme-travel-nyc-liberty .theme-content code {
    background: var(--excelsior-navy);
    color: #fff;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
    font-weight: 700;
}

.abd-theme-travel-nyc-liberty .theme-content pre {
    background: var(--excelsior-navy);
    color: #fff;
    padding: 24px;
    border: 3px solid var(--excelsior-orange);
    box-shadow: 6px 6px 0 rgba(184, 115, 51, 0.6);
    margin: 30px 0;
    overflow-x: auto;
    font-family: 'Courier New', monospace;
}

.abd-theme-travel-nyc-liberty .theme-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 30px 0;
    background: #fff;
    border: 3px solid var(--excelsior-teal);
    box-shadow: 6px 6px 0 var(--excelsior-orange);
}

.abd-theme-travel-nyc-liberty .theme-content img {
    max-width: 100%;
    height: auto;
    border: 3px solid var(--excelsior-orange);
    box-shadow: 6px 6px 0 rgba(46, 139, 87, 0.4);
    margin: 24px 0;
    background: #fff;
}

.abd-theme-travel-nyc-liberty .theme-content hr {
    border: none;
    border-top: 3px solid var(--excelsior-orange);
    margin: 40px 0;
}

/* Cards */
/* Cards — rounded corners, drop shadow (poster card aesthetic) */
.abd-theme-travel-nyc-liberty .card,
.abd-theme-travel-nyc-liberty .product-card {
    background: #fff;
    border: 2px solid var(--excelsior-teal);
    border-radius: 12px;
    padding: 24px;
    margin: 16px 0;
    box-shadow: 6px 6px 20px rgba(26, 54, 93, 0.12);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-travel-nyc-liberty .card:hover,
.abd-theme-travel-nyc-liberty .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 8px 8px 24px rgba(26, 54, 93, 0.18);
}

/* Grid Layouts */
.abd-theme-travel-nyc-liberty .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-travel-nyc-liberty .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-travel-nyc-liberty .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-travel-nyc-liberty .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-travel-nyc-liberty .grid-2,
    .abd-theme-travel-nyc-liberty .grid-3,
    .abd-theme-travel-nyc-liberty .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-travel-nyc-liberty input[type="text"],
.abd-theme-travel-nyc-liberty input[type="email"],
.abd-theme-travel-nyc-liberty input[type="number"],
.abd-theme-travel-nyc-liberty input[type="password"],
.abd-theme-travel-nyc-liberty textarea,
.abd-theme-travel-nyc-liberty select {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--excelsior-teal);
    background: #ffffff;
    color: var(--excelsior-navy);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
    border-radius: 8px;
}

.abd-theme-travel-nyc-liberty input:focus,
.abd-theme-travel-nyc-liberty textarea:focus,
.abd-theme-travel-nyc-liberty select:focus {
    outline: none;
    border-color: var(--excelsior-navy);
    box-shadow: 0 0 0 3px rgba(26, 54, 93, 0.15);
}

/* Buttons */
.abd-theme-travel-nyc-liberty .btn,
.abd-theme-travel-nyc-liberty button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--excelsior-navy);
    color: #ffffff;
    border: 2px solid var(--excelsior-navy);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    border-radius: 8px;
    box-shadow: 4px 4px 12px rgba(26, 54, 93, 0.2);
}

.abd-theme-travel-nyc-liberty .btn:hover,
.abd-theme-travel-nyc-liberty button:hover {
    background: var(--excelsior-teal);
    border-color: var(--excelsior-teal);
    transform: translateY(-2px);
    box-shadow: 6px 6px 16px rgba(74, 155, 142, 0.3);
}

.abd-theme-travel-nyc-liberty .btn-secondary {
    background: transparent;
    color: var(--excelsior-navy);
}

.abd-theme-travel-nyc-liberty .btn-secondary:hover {
    background: var(--excelsior-navy);
    color: #ffffff;
}

/* Navigation */
.abd-theme-travel-nyc-liberty nav,
.abd-theme-travel-nyc-liberty .nav {
    border-bottom: 2px solid var(--excelsior-red);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-travel-nyc-liberty .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-travel-nyc-liberty .nav a {
    color: var(--excelsior-navy);
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-travel-nyc-liberty .nav a:hover {
    border-bottom-color: var(--excelsior-teal);
}

.abd-theme-travel-nyc-liberty .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-travel-nyc-liberty .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-travel-nyc-liberty .breadcrumb a:hover {
    color: var(--excelsior-orange);
}

/* Badges */
.abd-theme-travel-nyc-liberty .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--excelsior-navy);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 2px solid var(--excelsior-teal);
    border-radius: 8px;
    box-shadow: 3px 3px 0 rgba(26, 54, 93, 0.2);
}

.abd-theme-travel-nyc-liberty .badge-sale {
    background: var(--excelsior-red);
}

.abd-theme-travel-nyc-liberty .badge-new {
    background: var(--excelsior-teal);
}

.abd-theme-travel-nyc-liberty .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-travel-nyc-liberty figure {
    margin: 20px 0;
}

.abd-theme-travel-nyc-liberty figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-travel-nyc-liberty .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--excelsior-teal);
    border-radius: 8px;
    margin: 16px 0;
    box-shadow: 6px 6px 0 var(--excelsior-orange);
}

.abd-theme-travel-nyc-liberty .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-travel-nyc-liberty .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-travel-nyc-liberty .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-travel-nyc-liberty .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-travel-nyc-liberty .product-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-travel-nyc-liberty .variant-selector {
    margin: 16px 0;
}

.abd-theme-travel-nyc-liberty .variant-selector label {
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
    color: var(--ink);
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
}

.abd-theme-travel-nyc-liberty .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-travel-nyc-liberty .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-travel-nyc-liberty .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-travel-nyc-liberty .cart-item {
    border-bottom: 3px solid var(--excelsior-teal);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-travel-nyc-liberty .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 3px solid var(--excelsior-teal);
    border-radius: 8px;
    box-shadow: 4px 4px 0 var(--excelsior-orange);
}

.abd-theme-travel-nyc-liberty .cart-total {
    border-top: 3px solid var(--excelsior-teal);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-travel-nyc-liberty .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-travel-nyc-liberty .modal {
    background: #ffffff;
    border: 3px solid var(--excelsior-teal);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 8px 8px 0 var(--excelsior-orange);
    position: relative;
    border-radius: 8px;
}

.abd-theme-travel-nyc-liberty .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--excelsior-orange);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-travel-nyc-liberty .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-travel-nyc-liberty .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-travel-nyc-liberty .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-travel-nyc-liberty .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-travel-nyc-liberty form label,
.abd-theme-travel-nyc-liberty .newsletter-form label,
.abd-theme-travel-nyc-liberty .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-travel-nyc-liberty a:focus-visible,
.abd-theme-travel-nyc-liberty button:focus-visible,
.abd-theme-travel-nyc-liberty input:focus-visible,
.abd-theme-travel-nyc-liberty select:focus-visible,
.abd-theme-travel-nyc-liberty textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-travel-nyc-liberty .announcement-bar,
.abd-theme-travel-nyc-liberty .announcement-bar-section,
.abd-theme-travel-nyc-liberty .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-travel-nyc-liberty .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-travel-nyc-liberty .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-travel-nyc-liberty .newsletter-form,
.abd-theme-travel-nyc-liberty .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-travel-nyc-liberty .newsletter-form .field__input,
.abd-theme-travel-nyc-liberty .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-travel-nyc-liberty .form__message,
.abd-theme-travel-nyc-liberty .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-travel-nyc-liberty .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-travel-nyc-liberty details.accordion,
.abd-theme-travel-nyc-liberty .accordion,
.abd-theme-travel-nyc-liberty .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-travel-nyc-liberty details.accordion summary,
.abd-theme-travel-nyc-liberty .accordion__title,
.abd-theme-travel-nyc-liberty .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-travel-nyc-liberty details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-travel-nyc-liberty details[open] .accordion__content,
.abd-theme-travel-nyc-liberty .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-travel-nyc-liberty .pagination,
.abd-theme-travel-nyc-liberty .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-travel-nyc-liberty .pagination__item {
    margin: 0;
}

.abd-theme-travel-nyc-liberty .pagination__link,
.abd-theme-travel-nyc-liberty .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-travel-nyc-liberty .pagination__link:hover,
.abd-theme-travel-nyc-liberty .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-travel-nyc-liberty .pagination__item--current .pagination__link,
.abd-theme-travel-nyc-liberty .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-travel-nyc-liberty .cart__empty,
.abd-theme-travel-nyc-liberty .collection__empty,
.abd-theme-travel-nyc-liberty .search__no-results,
.abd-theme-travel-nyc-liberty .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-travel-nyc-liberty .cart__empty p,
.abd-theme-travel-nyc-liberty .collection__empty p,
.abd-theme-travel-nyc-liberty .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-travel-nyc-liberty .product-form__input--dropdown,
.abd-theme-travel-nyc-liberty .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-travel-nyc-liberty .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-travel-nyc-liberty .product-form__input label,
.abd-theme-travel-nyc-liberty .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-travel-nyc-liberty .product-form__input input:checked + label,
.abd-theme-travel-nyc-liberty .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-travel-nyc-liberty .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-travel-nyc-liberty .footer__payment,
.abd-theme-travel-nyc-liberty .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-travel-nyc-liberty .footer__payment svg,
.abd-theme-travel-nyc-liberty .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-travel-nyc-liberty .list-social,
.abd-theme-travel-nyc-liberty .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-travel-nyc-liberty .list-social__link,
.abd-theme-travel-nyc-liberty .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-travel-nyc-liberty .list-social__link:hover,
.abd-theme-travel-nyc-liberty .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-travel-nyc-liberty .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-travel-nyc-liberty .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-travel-nyc-liberty .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-travel-nyc-liberty .image-with-text,
.abd-theme-travel-nyc-liberty .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-travel-nyc-liberty .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-travel-nyc-liberty .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-travel-nyc-liberty .product-recommendations,
.abd-theme-travel-nyc-liberty .complementary-products {
    margin-top: 2rem;
}

.abd-theme-travel-nyc-liberty .product-recommendations__heading,
.abd-theme-travel-nyc-liberty .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-travel-nyc-liberty .cart__free-shipping,
.abd-theme-travel-nyc-liberty .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-travel-nyc-liberty .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-travel-nyc-liberty .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-travel-nyc-liberty .predictive-search,
.abd-theme-travel-nyc-liberty .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-travel-nyc-liberty .predictive-search__item,
.abd-theme-travel-nyc-liberty .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-travel-nyc-liberty .predictive-search__item:hover,
.abd-theme-travel-nyc-liberty .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-travel-nyc-liberty .skeleton,
.abd-theme-travel-nyc-liberty .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-travel-nyc-liberty .header-wrapper,
.abd-theme-travel-nyc-liberty header.shopify-section-header {
    background: var(--excelsior-sky);
    border-bottom: 2px solid var(--excelsior-red);
    padding: 0.5rem 1rem;
}

/* Logo / store name — ARTS BY DYLAN style (medium blue) */
.abd-theme-travel-nyc-liberty .header__heading,
.abd-theme-travel-nyc-liberty .header__heading-link,
.abd-theme-travel-nyc-liberty .header__title a {
    font-family: 'Bebas Neue', 'Impact', 'Arial Black', sans-serif;
    font-weight: 600;
    color: var(--excelsior-navy);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Main navigation menu */
.abd-theme-travel-nyc-liberty .header__menu,
.abd-theme-travel-nyc-liberty .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-travel-nyc-liberty .header__menu-item,
.abd-theme-travel-nyc-liberty .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-travel-nyc-liberty .header__menu-item a,
.abd-theme-travel-nyc-liberty .list-menu__item a,
.abd-theme-travel-nyc-liberty .header__menu-item .header__active-menu-item {
    color: var(--excelsior-navy);
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-travel-nyc-liberty .header__menu-item a:hover,
.abd-theme-travel-nyc-liberty .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-travel-nyc-liberty .header__submenu,
.abd-theme-travel-nyc-liberty .mega-menu__content,
.abd-theme-travel-nyc-liberty .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-travel-nyc-liberty .header__submenu .list-menu__item a,
.abd-theme-travel-nyc-liberty .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-travel-nyc-liberty .menu-drawer,
.abd-theme-travel-nyc-liberty .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-travel-nyc-liberty .menu-drawer__menu-item,
.abd-theme-travel-nyc-liberty .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-travel-nyc-liberty .header__icons,
.abd-theme-travel-nyc-liberty .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-travel-nyc-liberty .cart-count-bubble,
.abd-theme-travel-nyc-liberty .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-travel-nyc-liberty .cart-drawer,
.abd-theme-travel-nyc-liberty .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-travel-nyc-liberty .cart-drawer .cart-item,
.abd-theme-travel-nyc-liberty .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-travel-nyc-liberty .cart-drawer .cart-item__title,
.abd-theme-travel-nyc-liberty .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-travel-nyc-liberty .cart-drawer .cart-item__price,
.abd-theme-travel-nyc-liberty .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-travel-nyc-liberty .cart__footer,
.abd-theme-travel-nyc-liberty .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-travel-nyc-liberty .cart__ctas button,
.abd-theme-travel-nyc-liberty .cart__checkout-button,
.abd-theme-travel-nyc-liberty .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-travel-nyc-liberty .cart__ctas button:hover,
.abd-theme-travel-nyc-liberty .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-travel-nyc-liberty .footer,
.abd-theme-travel-nyc-liberty .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-travel-nyc-liberty .footer__link,
.abd-theme-travel-nyc-liberty .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-travel-nyc-liberty .search-modal,
.abd-theme-travel-nyc-liberty .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-travel-nyc-liberty .search-modal__input,
.abd-theme-travel-nyc-liberty .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-travel-nyc-liberty a {
        transition: none;
    }
    .abd-theme-travel-nyc-liberty .card,
    .abd-theme-travel-nyc-liberty .product-card,
    .abd-theme-travel-nyc-liberty .btn,
    .abd-theme-travel-nyc-liberty button,
    .abd-theme-travel-nyc-liberty .image-wrapper img {
        transition: none;
    }
}



/* --- valentines-her.css --- */
/* Valentine's Day — Retro Pin-Up Illustration Theme */
.abd-theme-valentines-her {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #8B9CA8)));
    --color-foreground: var(--text, var(--ink, var(--color, #3d2914)));
    --color-primary: var(--accent, var(--primary, #C41E3A));
    --color-accent: var(--accent, var(--secondary, #FFB6C1));
    --color-border: var(--rule, var(--border, #3d2914));

    /* Pin-up illustration palette */
    --valentine-red: #C41E3A;
    --valentine-red-dark: #8B1538;
    --valentine-pink: #FFB6C1;
    --valentine-pink-bright: #FF69B4;
    --valentine-white: #FFFFFF;
    --valentine-peach: #FFE4C4;
    --valentine-brown: #3d2914;
    --valentine-gold: #DAA520;
    --valentine-slate: #8B9CA8;
    --valentine-slate-dark: #6B7C8A;
    --bg: var(--valentine-slate);
    --paper: var(--valentine-peach);
    --ink: var(--valentine-brown);
    --muted: var(--valentine-red-dark);
    --rule: var(--valentine-brown);
    --accent-ink: var(--valentine-brown);

    font-family: 'Playfair Display', serif;
    line-height: 1.8;
    color: var(--ink);
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 40px;
    background:
        radial-gradient(circle at 15% 25%, rgba(255, 182, 193, 0.3) 0%, transparent 12%),
        radial-gradient(circle at 85% 35%, rgba(196, 30, 58, 0.15) 0%, transparent 10%),
        radial-gradient(circle at 50% 70%, rgba(255, 105, 180, 0.2) 0%, transparent 15%),
        radial-gradient(circle at 70% 15%, rgba(218, 165, 32, 0.1) 0%, transparent 8%),
        linear-gradient(180deg, var(--valentine-slate) 0%, var(--valentine-slate-dark) 100%);
    border: 6px solid var(--valentine-white);
    border-radius: 0;
    box-shadow:
        0 0 0 3px var(--valentine-brown),
        0 8px 24px rgba(61, 41, 20, 0.25);
    position: relative;
    overflow: hidden;
}

.abd-theme-valentines-her h1 {
    font-family: 'Great Vibes', cursive;
    font-size: 4rem;
    line-height: 1.2;
    margin-bottom: 25px;
    color: var(--valentine-red);
    text-shadow:
        2px 2px 0 var(--valentine-white),
        3px 3px 0 var(--valentine-brown);
    position: relative;
    z-index: 1;
}

.abd-theme-valentines-her .abd-category {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--valentine-white);
    background: var(--valentine-red);
    padding: 8px 22px;
    border-radius: 0;
    margin-bottom: 20px;
    box-shadow: 0 4px 0 var(--valentine-brown);
    border: 3px solid var(--valentine-brown);
}

.abd-theme-valentines-her h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2.2rem;
    margin-top: 50px;
    color: var(--valentine-red);
    border-bottom: 3px solid var(--valentine-pink);
    padding-bottom: 10px;
    display: inline-block;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.abd-theme-valentines-her a {
    color: var(--valentine-red);
    text-decoration: underline;
    font-weight: 600;
    text-decoration-color: var(--accent-ink);
    transition: all 0.3s ease;
}

.abd-theme-valentines-her a:hover {
    color: var(--valentine-pink-bright);
}

/* Body text */
.abd-theme-valentines-her p {
    margin-bottom: 22px;
    font-size: 1.1rem;
    color: var(--ink);
    line-height: 1.8;
}

/* Lists */
.abd-theme-valentines-her ul,
.abd-theme-valentines-her ol {
    margin: 22px 0;
    padding-left: 30px;
    color: var(--ink);
}

.abd-theme-valentines-her li {
    margin-bottom: 10px;
    line-height: 1.8;
}

.abd-theme-valentines-her ul li::marker {
    color: var(--valentine-pink-bright);
    font-weight: 700;
}

/* Blockquotes */
.abd-theme-valentines-her blockquote {
    border-left: 6px solid var(--valentine-pink-bright);
    padding-left: 20px;
    margin: 28px 0;
    background: var(--valentine-peach);
    padding: 22px;
    color: var(--ink);
    box-shadow: 4px 4px 0 var(--valentine-red-dark);
    font-style: italic;
}

/* Code blocks */
.abd-theme-valentines-her code {
    background: rgba(255, 182, 193, 0.4);
    color: var(--valentine-red);
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
    font-weight: 600;
}

.abd-theme-valentines-her pre {
    background: var(--valentine-red-dark);
    color: var(--valentine-white);
    padding: 22px;
    border: 3px solid var(--valentine-pink-bright);
    box-shadow: 6px 6px 0 var(--valentine-brown);
    margin: 28px 0;
    overflow-x: auto;
    font-family: 'Courier New', monospace;
}

.abd-theme-valentines-her pre code {
    background: transparent;
    padding: 0;
    color: var(--valentine-white);
}

/* Tables */
.abd-theme-valentines-her table {
    width: 100%;
    border-collapse: collapse;
    margin: 28px 0;
    background: var(--valentine-peach);
    border: 3px solid var(--valentine-brown);
    box-shadow: 6px 6px 0 var(--valentine-red-dark);
}

.abd-theme-valentines-her th {
    background: var(--valentine-red);
    color: var(--valentine-white);
    padding: 12px;
    text-align: left;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 2px solid var(--valentine-brown);
}

.abd-theme-valentines-her td {
    padding: 12px;
    border: 2px solid var(--valentine-brown);
    color: var(--ink);
}

.abd-theme-valentines-her tr:nth-child(even) {
    background: rgba(255, 182, 193, 0.2);
}

/* Images */
.abd-theme-valentines-her img {
    max-width: 100%;
    height: auto;
    border: 4px solid var(--valentine-white);
    box-shadow: 0 0 0 2px var(--valentine-brown), 6px 6px 0 var(--valentine-red-dark);
    margin: 22px 0;
    background: var(--valentine-peach);
}

/* Horizontal rules */
.abd-theme-valentines-her hr {
    border: none;
    border-top: 3px solid var(--valentine-pink-bright);
    margin: 36px 0;
}

/* Buttons */
.abd-theme-valentines-her button,
.abd-theme-valentines-her .button {
    background: var(--valentine-red);
    color: var(--valentine-white);
    border: 3px solid var(--valentine-brown);
    padding: 10px 20px;
    font-family: 'Great Vibes', cursive;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    box-shadow: 4px 4px 0 var(--valentine-brown);
    transition: transform 0.2s ease;
}

.abd-theme-valentines-her button:hover,
.abd-theme-valentines-her .button:hover {
    transform: translate(-2px, -2px);
    background: var(--valentine-red-dark);
}

/* Highlighted sections */
.abd-theme-valentines-her .highlighted-section {
    background: var(--valentine-peach);
    border: 3px solid var(--valentine-pink-bright);
    padding: 22px;
    box-shadow: 6px 6px 0 var(--valentine-red-dark);
    margin: 28px 0;
    color: var(--ink);
}

.abd-theme-valentines-her .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-valentines-her .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--valentine-pink-bright);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-valentines-her .callout,
.abd-theme-valentines-her .callout-box {
    background: var(--valentine-peach);
    border: 3px solid var(--valentine-pink-bright);
    padding: 14px 16px;
    margin: 18px 0;
    box-shadow: 6px 6px 0 var(--valentine-red-dark);
}

.abd-theme-valentines-her .sidebar {
    border-left: 3px solid var(--valentine-pink-bright);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Footer */
.abd-theme-valentines-her .abd-footer {
    border-top: 3px solid var(--valentine-pink-bright);
    margin-top: 50px;
    padding-top: 24px;
    text-align: center;
    color: var(--valentine-red);
    font-size: 0.9rem;
    font-weight: 600;
    background: var(--valentine-pink);
    padding: 20px;
    border-radius: 0;
    border: 3px solid var(--valentine-brown);
}

/* Markdown content support — cut-out panel (pin-up figure effect) */
.abd-theme-valentines-her .theme-content {
    padding: 32px 40px;
    background: var(--paper);
    border: 4px solid var(--valentine-white);
    box-shadow: 0 0 0 2px var(--valentine-brown);
    margin: 20px 0;
}

.abd-theme-valentines-her .theme-content h1,
.abd-theme-valentines-her .theme-content h2,
.abd-theme-valentines-her .theme-content h3,
.abd-theme-valentines-her .theme-content h4,
.abd-theme-valentines-her .theme-content h5,
.abd-theme-valentines-her .theme-content h6 {
    margin-top: 40px;
    margin-bottom: 20px;
}

.abd-theme-valentines-her .theme-content p {
    margin-bottom: 22px;
    font-size: 1.1rem;
    color: var(--ink);
    line-height: 1.8;
}

.abd-theme-valentines-her .theme-content ul,
.abd-theme-valentines-her .theme-content ol {
    margin: 22px 0;
    padding-left: 30px;
    color: var(--ink);
}

.abd-theme-valentines-her .theme-content li {
    margin-bottom: 10px;
    line-height: 1.8;
}

.abd-theme-valentines-her .theme-content blockquote {
    border-left: 6px solid var(--valentine-pink-bright);
    padding-left: 20px;
    margin: 28px 0;
    background: var(--valentine-peach);
    padding: 22px;
    color: var(--ink);
    box-shadow: 4px 4px 0 var(--valentine-red-dark);
    font-style: italic;
}

.abd-theme-valentines-her .theme-content code {
    background: rgba(255, 182, 193, 0.4);
    color: var(--valentine-red);
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Courier New', monospace;
    font-weight: 600;
}

.abd-theme-valentines-her .theme-content pre {
    background: var(--valentine-red-dark);
    color: var(--valentine-white);
    padding: 22px;
    border: 3px solid var(--valentine-pink-bright);
    box-shadow: 6px 6px 0 var(--valentine-brown);
    margin: 28px 0;
    overflow-x: auto;
    font-family: 'Courier New', monospace;
}

.abd-theme-valentines-her .theme-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 28px 0;
    background: var(--valentine-peach);
    border: 3px solid var(--valentine-brown);
    box-shadow: 6px 6px 0 var(--valentine-red-dark);
}

.abd-theme-valentines-her .theme-content img {
    max-width: 100%;
    height: auto;
    border: 4px solid var(--valentine-white);
    box-shadow: 0 0 0 2px var(--valentine-brown), 6px 6px 0 var(--valentine-red-dark);
    margin: 22px 0;
    background: var(--valentine-peach);
}

.abd-theme-valentines-her .theme-content hr {
    border: none;
    border-top: 3px solid var(--valentine-pink-bright);
    margin: 36px 0;
}

/* Cards */
.abd-theme-valentines-her .card,
.abd-theme-valentines-her .product-card {
    background: var(--valentine-peach);
    border: 4px solid var(--valentine-white);
    border-radius: 0;
    padding: 20px;
    margin: 16px 0;
    box-shadow: 6px 6px 0 var(--valentine-red-dark);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-valentines-her .card:hover,
.abd-theme-valentines-her .product-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: 8px 8px 0 var(--valentine-red-dark);
}

/* Grid Layouts */
.abd-theme-valentines-her .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-valentines-her .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-valentines-her .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-valentines-her .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-valentines-her .grid-2,
    .abd-theme-valentines-her .grid-3,
    .abd-theme-valentines-her .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-valentines-her input[type="text"],
.abd-theme-valentines-her input[type="email"],
.abd-theme-valentines-her input[type="number"],
.abd-theme-valentines-her input[type="password"],
.abd-theme-valentines-her textarea,
.abd-theme-valentines-her select {
    width: 100%;
    padding: 12px;
    border: 3px solid var(--valentine-pink-bright);
    background: var(--valentine-white)fff;
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
    border-radius: 8px;
}

.abd-theme-valentines-her input:focus,
.abd-theme-valentines-her textarea:focus,
.abd-theme-valentines-her select:focus {
    outline: none;
    border-color: var(--valentine-red);
    box-shadow: 0 0 0 3px rgba(255, 20, 147, 0.2);
}

/* Buttons */
.abd-theme-valentines-her .btn,
.abd-theme-valentines-her button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--valentine-pink-bright);
    color: var(--valentine-white)fff;
    border: 3px solid var(--valentine-pink-bright);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    border-radius: 8px;
    box-shadow: 4px 4px 0 rgba(255, 105, 180, 0.3);
}

.abd-theme-valentines-her .btn:hover,
.abd-theme-valentines-her button:hover {
    background: var(--valentine-red);
    border-color: var(--valentine-red);
    transform: translateY(-2px);
    box-shadow: 6px 6px 0 var(--valentine-brown);
}

.abd-theme-valentines-her .btn-secondary {
    background: transparent;
    color: var(--valentine-pink-bright);
}

.abd-theme-valentines-her .btn-secondary:hover {
    background: var(--valentine-pink-bright);
    color: var(--valentine-white)fff;
}

/* Navigation */
.abd-theme-valentines-her nav,
.abd-theme-valentines-her .nav {
    border-bottom: 3px solid var(--valentine-pink-bright);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-valentines-her .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-valentines-her .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-valentines-her .nav a:hover {
    border-bottom-color: var(--valentine-red);
}

.abd-theme-valentines-her .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-valentines-her .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-valentines-her .breadcrumb a:hover {
    color: var(--valentine-red);
}

/* Badges */
.abd-theme-valentines-her .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--valentine-pink-bright);
    color: var(--valentine-white)fff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 2px solid var(--valentine-red);
    border-radius: 8px;
    box-shadow: 3px 3px 0 rgba(255, 105, 180, 0.3);
}

.abd-theme-valentines-her .badge-sale {
    background: var(--valentine-red);
}

.abd-theme-valentines-her .badge-new {
    background: var(--valentine-pink-bright);
}

.abd-theme-valentines-her .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-valentines-her figure {
    margin: 20px 0;
}

.abd-theme-valentines-her figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-valentines-her .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--valentine-pink-bright);
    border-radius: 0;
    margin: 16px 0;
    box-shadow: 6px 6px 0 var(--valentine-red-dark);
}

.abd-theme-valentines-her .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-valentines-her .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-valentines-her .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-valentines-her .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-valentines-her .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-valentines-her .variant-selector {
    margin: 16px 0;
}

.abd-theme-valentines-her .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
}

.abd-theme-valentines-her .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-valentines-her .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-valentines-her .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-valentines-her .cart-item {
    border-bottom: 3px solid var(--valentine-pink-bright);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-valentines-her .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 3px solid var(--valentine-pink-bright);
    border-radius: 8px;
    box-shadow: 4px 4px 0 rgba(255, 105, 180, 0.3);
}

.abd-theme-valentines-her .cart-total {
    border-top: 3px solid var(--valentine-pink-bright);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-valentines-her .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 192, 203, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-valentines-her .modal {
    background: var(--valentine-peach);
    border: 3px solid var(--valentine-pink-bright);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 8px 8px 0 rgba(255, 105, 180, 0.3);
    position: relative;
    border-radius: 0;
}

.abd-theme-valentines-her .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--valentine-red);
    color: var(--valentine-white)fff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-valentines-her .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-valentines-her .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-valentines-her .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-valentines-her .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-valentines-her form label,
.abd-theme-valentines-her .newsletter-form label,
.abd-theme-valentines-her .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-valentines-her a:focus-visible,
.abd-theme-valentines-her button:focus-visible,
.abd-theme-valentines-her input:focus-visible,
.abd-theme-valentines-her select:focus-visible,
.abd-theme-valentines-her textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-valentines-her .announcement-bar,
.abd-theme-valentines-her .announcement-bar-section,
.abd-theme-valentines-her .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, var(--valentine-white))));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-valentines-her .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-valentines-her .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-valentines-her .newsletter-form,
.abd-theme-valentines-her .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-valentines-her .newsletter-form .field__input,
.abd-theme-valentines-her .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-valentines-her .form__message,
.abd-theme-valentines-her .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-valentines-her .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-valentines-her details.accordion,
.abd-theme-valentines-her .accordion,
.abd-theme-valentines-her .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-valentines-her details.accordion summary,
.abd-theme-valentines-her .accordion__title,
.abd-theme-valentines-her .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-valentines-her details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-valentines-her details[open] .accordion__content,
.abd-theme-valentines-her .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-valentines-her .pagination,
.abd-theme-valentines-her .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-valentines-her .pagination__item {
    margin: 0;
}

.abd-theme-valentines-her .pagination__link,
.abd-theme-valentines-her .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-valentines-her .pagination__link:hover,
.abd-theme-valentines-her .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-valentines-her .pagination__item--current .pagination__link,
.abd-theme-valentines-her .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, var(--valentine-white))));
}

/* Empty states */
.abd-theme-valentines-her .cart__empty,
.abd-theme-valentines-her .collection__empty,
.abd-theme-valentines-her .search__no-results,
.abd-theme-valentines-her .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-valentines-her .cart__empty p,
.abd-theme-valentines-her .collection__empty p,
.abd-theme-valentines-her .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-valentines-her .product-form__input--dropdown,
.abd-theme-valentines-her .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-valentines-her .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-valentines-her .product-form__input label,
.abd-theme-valentines-her .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-valentines-her .product-form__input input:checked + label,
.abd-theme-valentines-her .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-valentines-her .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-valentines-her .footer__payment,
.abd-theme-valentines-her .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-valentines-her .footer__payment svg,
.abd-theme-valentines-her .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-valentines-her .list-social,
.abd-theme-valentines-her .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-valentines-her .list-social__link,
.abd-theme-valentines-her .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-valentines-her .list-social__link:hover,
.abd-theme-valentines-her .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-valentines-her .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, var(--valentine-white))));
}

.abd-theme-valentines-her .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-valentines-her .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-valentines-her .image-with-text,
.abd-theme-valentines-her .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-valentines-her .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-valentines-her .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-valentines-her .product-recommendations,
.abd-theme-valentines-her .complementary-products {
    margin-top: 2rem;
}

.abd-theme-valentines-her .product-recommendations__heading,
.abd-theme-valentines-her .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-valentines-her .cart__free-shipping,
.abd-theme-valentines-her .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-valentines-her .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-valentines-her .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-valentines-her .predictive-search,
.abd-theme-valentines-her .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-valentines-her .predictive-search__item,
.abd-theme-valentines-her .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-valentines-her .predictive-search__item:hover,
.abd-theme-valentines-her .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-valentines-her .skeleton,
.abd-theme-valentines-her .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-valentines-her .header-wrapper,
.abd-theme-valentines-her header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, var(--valentine-white)fff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-valentines-her .header__heading,
.abd-theme-valentines-her .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-valentines-her .header__menu,
.abd-theme-valentines-her .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-valentines-her .header__menu-item,
.abd-theme-valentines-her .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-valentines-her .header__menu-item a,
.abd-theme-valentines-her .list-menu__item a,
.abd-theme-valentines-her .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-valentines-her .header__menu-item a:hover,
.abd-theme-valentines-her .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-valentines-her .header__submenu,
.abd-theme-valentines-her .mega-menu__content,
.abd-theme-valentines-her .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, var(--valentine-white))));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-valentines-her .header__submenu .list-menu__item a,
.abd-theme-valentines-her .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-valentines-her .menu-drawer,
.abd-theme-valentines-her .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, var(--valentine-white))));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-valentines-her .menu-drawer__menu-item,
.abd-theme-valentines-her .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-valentines-her .header__icons,
.abd-theme-valentines-her .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-valentines-her .cart-count-bubble,
.abd-theme-valentines-her .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, var(--valentine-white))));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-valentines-her .cart-drawer,
.abd-theme-valentines-her .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, var(--valentine-white))));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-valentines-her .cart-drawer .cart-item,
.abd-theme-valentines-her .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-valentines-her .cart-drawer .cart-item__title,
.abd-theme-valentines-her .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-valentines-her .cart-drawer .cart-item__price,
.abd-theme-valentines-her .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-valentines-her .cart__footer,
.abd-theme-valentines-her .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-valentines-her .cart__ctas button,
.abd-theme-valentines-her .cart__checkout-button,
.abd-theme-valentines-her .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, var(--valentine-white))));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-valentines-her .cart__ctas button:hover,
.abd-theme-valentines-her .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-valentines-her .footer,
.abd-theme-valentines-her .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, var(--valentine-white))));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-valentines-her .footer__link,
.abd-theme-valentines-her .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-valentines-her .search-modal,
.abd-theme-valentines-her .modal__content {
    background: var(--paper, var(--bg, var(--color-background, var(--valentine-white))));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-valentines-her .search-modal__input,
.abd-theme-valentines-her .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-valentines-her a {
        transition: none;
    }
    .abd-theme-valentines-her .card,
    .abd-theme-valentines-her .product-card,
    .abd-theme-valentines-her .btn,
    .abd-theme-valentines-her button,
    .abd-theme-valentines-her .image-wrapper img {
        transition: none;
    }
}



/* --- wayfinding-receipt.css --- */
/* Wayfinding + Receipt Theme (Navigation + After-the-ride Reflection) */
.abd-theme-wayfinding-receipt {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    --paper: #f4f2ee;
    --ink: #1d1d1d;
    --muted: #5a5a5a;
    --accent: #2b5da8;
    --rule: #d6d2c8;
    --mono: "Courier New", "Courier", monospace;
    --sans: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-family: var(--sans);
    color: var(--ink);
    background: var(--paper);
}

.abd-theme-wayfinding-receipt * {
    box-sizing: border-box;
}

/* Layout */
.abd-theme-wayfinding-receipt .theme-content {
    max-width: 880px;
    margin: 48px auto;
    padding: 32px;
    background: #ffffff;
    border: 1px solid var(--rule);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

.abd-theme-wayfinding-receipt .grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 28px;
}

@media (max-width: 900px) {
    .abd-theme-wayfinding-receipt .grid {
        grid-template-columns: 1fr;
    }
}

/* Typography */
.abd-theme-wayfinding-receipt h1,
.abd-theme-wayfinding-receipt h2,
.abd-theme-wayfinding-receipt h3,
.abd-theme-wayfinding-receipt h4,
.abd-theme-wayfinding-receipt h5,
.abd-theme-wayfinding-receipt h6 {
    font-family: var(--sans);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ink);
}

.abd-theme-wayfinding-receipt h1 {
    font-size: clamp(2rem, 3.4vw, 3rem);
    border-bottom: 2px solid var(--rule);
    padding-bottom: 8px;
    margin-bottom: 16px;
}

.abd-theme-wayfinding-receipt h2 {
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    color: var(--accent);
    margin: 22px 0 10px;
}

.abd-theme-wayfinding-receipt h3 {
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    margin: 18px 0 8px;
}

.abd-theme-wayfinding-receipt p {
    margin: 0 0 12px;
    color: var(--muted);
    line-height: 1.7;
}

/* Labels / meta */
.abd-theme-wayfinding-receipt .kicker,
.abd-theme-wayfinding-receipt .byline,
.abd-theme-wayfinding-receipt .dateline,
.abd-theme-wayfinding-receipt .section-title {
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--muted);
}

.abd-theme-wayfinding-receipt .receipt {
    font-family: var(--mono);
    font-size: 0.9rem;
    border: 1px dashed var(--rule);
    padding: 12px;
    background: #faf9f6;
}

/* Links */
.abd-theme-wayfinding-receipt a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px solid var(--accent);
}

.abd-theme-wayfinding-receipt a:hover {
    color: #173a6b;
}

/* Lists */
.abd-theme-wayfinding-receipt ul,
.abd-theme-wayfinding-receipt ol {
    margin: 14px 0 18px;
    padding-left: 22px;
}

.abd-theme-wayfinding-receipt li {
    margin-bottom: 6px;
}

/* Blockquotes */
.abd-theme-wayfinding-receipt blockquote {
    margin: 18px 0;
    padding: 14px 16px;
    background: #f1f1f1;
    border-left: 4px solid var(--accent);
    color: var(--muted);
}

/* Code */
.abd-theme-wayfinding-receipt code {
    background: #f1f1f1;
    color: var(--ink);
    padding: 2px 6px;
    border: 1px solid var(--rule);
    font-family: var(--mono);
    font-size: 0.9em;
}

.abd-theme-wayfinding-receipt pre {
    background: #1e1e1e;
    color: #f4f2ee;
    padding: 14px;
    border: 1px solid var(--rule);
    margin: 18px 0;
    overflow-x: auto;
    font-family: var(--mono);
}

.abd-theme-wayfinding-receipt pre code {
    background: transparent;
    border: none;
    color: #f4f2ee;
}

/* Tables */
.abd-theme-wayfinding-receipt table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    background: #fff;
    border: 1px solid var(--rule);
}

.abd-theme-wayfinding-receipt th {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.75rem;
    background: #f1f1f1;
    color: var(--ink);
    padding: 10px 8px;
}

.abd-theme-wayfinding-receipt td {
    border-top: 1px solid var(--rule);
    padding: 10px 8px;
    color: var(--muted);
}

/* Images */
.abd-theme-wayfinding-receipt img {
    max-width: 100%;
    height: auto;
    border: 1px solid var(--rule);
    margin: 16px 0;
}

/* Rules */
.abd-theme-wayfinding-receipt hr {
    border: none;
    border-top: 1px solid var(--rule);
    margin: 20px 0;
}

/* Highlighted section */
.abd-theme-wayfinding-receipt .highlighted-section {
    border: 1px solid var(--rule);
    background: #faf9f6;
    padding: 16px;
    margin: 18px 0;
}

.abd-theme-wayfinding-receipt .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-wayfinding-receipt .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid var(--rule);
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 600;
    font-style: italic;
}

.abd-theme-wayfinding-receipt .callout,
.abd-theme-wayfinding-receipt .callout-box {
    border: 1px solid var(--rule);
    background: #faf9f6;
    padding: 14px 16px;
    margin: 18px 0;
}

.abd-theme-wayfinding-receipt .sidebar {
    border-left: 3px solid var(--rule);
    padding-left: 18px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--muted);
    font-style: italic;
}

/* Cards */
.abd-theme-wayfinding-receipt .card,
.abd-theme-wayfinding-receipt .product-card {
    background: #faf9f6;
    border: 1px solid var(--rule);
    padding: 20px;
    margin: 16px 0;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abd-theme-wayfinding-receipt .card:hover,
.abd-theme-wayfinding-receipt .product-card:hover {
    transform: translateY(-2px);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.15);
}

/* Grid Layouts */
.abd-theme-wayfinding-receipt .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-wayfinding-receipt .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-wayfinding-receipt .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-wayfinding-receipt .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-wayfinding-receipt .grid-2,
    .abd-theme-wayfinding-receipt .grid-3,
    .abd-theme-wayfinding-receipt .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-wayfinding-receipt input[type="text"],
.abd-theme-wayfinding-receipt input[type="email"],
.abd-theme-wayfinding-receipt input[type="number"],
.abd-theme-wayfinding-receipt input[type="password"],
.abd-theme-wayfinding-receipt textarea,
.abd-theme-wayfinding-receipt select {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--rule);
    background: #ffffff;
    color: var(--ink);
    font-family: var(--mono);
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-wayfinding-receipt input:focus,
.abd-theme-wayfinding-receipt textarea:focus,
.abd-theme-wayfinding-receipt select:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(43, 93, 168, 0.1);
}

/* Buttons */
.abd-theme-wayfinding-receipt .btn,
.abd-theme-wayfinding-receipt button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--accent);
    color: #ffffff;
    border: 1px solid var(--accent);
    font-family: var(--sans);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.abd-theme-wayfinding-receipt .btn:hover,
.abd-theme-wayfinding-receipt button:hover {
    background: #1f4a8a;
    border-color: #1f4a8a;
    transform: translateY(-1px);
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
}

.abd-theme-wayfinding-receipt .btn-secondary {
    background: transparent;
    color: var(--accent);
}

.abd-theme-wayfinding-receipt .btn-secondary:hover {
    background: var(--accent);
    color: #ffffff;
}

/* Navigation */
.abd-theme-wayfinding-receipt nav,
.abd-theme-wayfinding-receipt .nav {
    border-bottom: 2px solid var(--rule);
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-wayfinding-receipt .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-wayfinding-receipt .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-wayfinding-receipt .nav a:hover {
    border-bottom-color: var(--accent);
}

.abd-theme-wayfinding-receipt .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
    font-family: var(--mono);
}

.abd-theme-wayfinding-receipt .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-wayfinding-receipt .breadcrumb a:hover {
    color: var(--accent);
}

/* Badges */
.abd-theme-wayfinding-receipt .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--accent);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1px solid var(--rule);
    font-family: var(--mono);
}

.abd-theme-wayfinding-receipt .badge-sale {
    background: #d43a2f;
}

.abd-theme-wayfinding-receipt .badge-new {
    background: var(--accent);
}

.abd-theme-wayfinding-receipt .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-wayfinding-receipt figure {
    margin: 20px 0;
}

.abd-theme-wayfinding-receipt figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
    font-family: var(--mono);
}

.abd-theme-wayfinding-receipt .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--rule);
    margin: 16px 0;
}

.abd-theme-wayfinding-receipt .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-wayfinding-receipt .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-wayfinding-receipt .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
    font-family: var(--mono);
}

.abd-theme-wayfinding-receipt .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-wayfinding-receipt .product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-wayfinding-receipt .variant-selector {
    margin: 16px 0;
}

.abd-theme-wayfinding-receipt .variant-selector label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
    font-family: var(--mono);
}

.abd-theme-wayfinding-receipt .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-wayfinding-receipt .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-wayfinding-receipt .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
    font-family: var(--mono);
}

/* Cart Elements */
.abd-theme-wayfinding-receipt .cart-item {
    border-bottom: 1px solid var(--rule);
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-wayfinding-receipt .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 1px solid var(--rule);
}

.abd-theme-wayfinding-receipt .cart-total {
    border-top: 2px solid var(--accent);
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
    font-family: var(--mono);
}

/* Modals/Overlays */
.abd-theme-wayfinding-receipt .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-wayfinding-receipt .modal {
    background: #faf9f6;
    border: 2px solid var(--accent);
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.2);
    position: relative;
}

.abd-theme-wayfinding-receipt .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--accent);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-wayfinding-receipt .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-wayfinding-receipt .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-wayfinding-receipt .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-wayfinding-receipt .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-wayfinding-receipt form label,
.abd-theme-wayfinding-receipt .newsletter-form label,
.abd-theme-wayfinding-receipt .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-wayfinding-receipt a:focus-visible,
.abd-theme-wayfinding-receipt button:focus-visible,
.abd-theme-wayfinding-receipt input:focus-visible,
.abd-theme-wayfinding-receipt select:focus-visible,
.abd-theme-wayfinding-receipt textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-wayfinding-receipt .announcement-bar,
.abd-theme-wayfinding-receipt .announcement-bar-section,
.abd-theme-wayfinding-receipt .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-wayfinding-receipt .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-wayfinding-receipt .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-wayfinding-receipt .newsletter-form,
.abd-theme-wayfinding-receipt .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-wayfinding-receipt .newsletter-form .field__input,
.abd-theme-wayfinding-receipt .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-wayfinding-receipt .form__message,
.abd-theme-wayfinding-receipt .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-wayfinding-receipt .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-wayfinding-receipt details.accordion,
.abd-theme-wayfinding-receipt .accordion,
.abd-theme-wayfinding-receipt .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-wayfinding-receipt details.accordion summary,
.abd-theme-wayfinding-receipt .accordion__title,
.abd-theme-wayfinding-receipt .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-wayfinding-receipt details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-wayfinding-receipt details[open] .accordion__content,
.abd-theme-wayfinding-receipt .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-wayfinding-receipt .pagination,
.abd-theme-wayfinding-receipt .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-wayfinding-receipt .pagination__item {
    margin: 0;
}

.abd-theme-wayfinding-receipt .pagination__link,
.abd-theme-wayfinding-receipt .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-wayfinding-receipt .pagination__link:hover,
.abd-theme-wayfinding-receipt .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-wayfinding-receipt .pagination__item--current .pagination__link,
.abd-theme-wayfinding-receipt .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-wayfinding-receipt .cart__empty,
.abd-theme-wayfinding-receipt .collection__empty,
.abd-theme-wayfinding-receipt .search__no-results,
.abd-theme-wayfinding-receipt .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-wayfinding-receipt .cart__empty p,
.abd-theme-wayfinding-receipt .collection__empty p,
.abd-theme-wayfinding-receipt .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-wayfinding-receipt .product-form__input--dropdown,
.abd-theme-wayfinding-receipt .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-wayfinding-receipt .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-wayfinding-receipt .product-form__input label,
.abd-theme-wayfinding-receipt .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-wayfinding-receipt .product-form__input input:checked + label,
.abd-theme-wayfinding-receipt .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-wayfinding-receipt .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-wayfinding-receipt .footer__payment,
.abd-theme-wayfinding-receipt .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-wayfinding-receipt .footer__payment svg,
.abd-theme-wayfinding-receipt .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-wayfinding-receipt .list-social,
.abd-theme-wayfinding-receipt .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-wayfinding-receipt .list-social__link,
.abd-theme-wayfinding-receipt .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-wayfinding-receipt .list-social__link:hover,
.abd-theme-wayfinding-receipt .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-wayfinding-receipt .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-wayfinding-receipt .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-wayfinding-receipt .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-wayfinding-receipt .image-with-text,
.abd-theme-wayfinding-receipt .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-wayfinding-receipt .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-wayfinding-receipt .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-wayfinding-receipt .product-recommendations,
.abd-theme-wayfinding-receipt .complementary-products {
    margin-top: 2rem;
}

.abd-theme-wayfinding-receipt .product-recommendations__heading,
.abd-theme-wayfinding-receipt .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-wayfinding-receipt .cart__free-shipping,
.abd-theme-wayfinding-receipt .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-wayfinding-receipt .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-wayfinding-receipt .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-wayfinding-receipt .predictive-search,
.abd-theme-wayfinding-receipt .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-wayfinding-receipt .predictive-search__item,
.abd-theme-wayfinding-receipt .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-wayfinding-receipt .predictive-search__item:hover,
.abd-theme-wayfinding-receipt .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-wayfinding-receipt .skeleton,
.abd-theme-wayfinding-receipt .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper */
.abd-theme-wayfinding-receipt .header-wrapper,
.abd-theme-wayfinding-receipt header.shopify-section-header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
}

/* Logo / store name */
.abd-theme-wayfinding-receipt .header__heading,
.abd-theme-wayfinding-receipt .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-wayfinding-receipt .header__menu,
.abd-theme-wayfinding-receipt .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-wayfinding-receipt .header__menu-item,
.abd-theme-wayfinding-receipt .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-wayfinding-receipt .header__menu-item a,
.abd-theme-wayfinding-receipt .list-menu__item a,
.abd-theme-wayfinding-receipt .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-wayfinding-receipt .header__menu-item a:hover,
.abd-theme-wayfinding-receipt .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-wayfinding-receipt .header__submenu,
.abd-theme-wayfinding-receipt .mega-menu__content,
.abd-theme-wayfinding-receipt .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-wayfinding-receipt .header__submenu .list-menu__item a,
.abd-theme-wayfinding-receipt .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-wayfinding-receipt .menu-drawer,
.abd-theme-wayfinding-receipt .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-wayfinding-receipt .menu-drawer__menu-item,
.abd-theme-wayfinding-receipt .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons */
.abd-theme-wayfinding-receipt .header__icons,
.abd-theme-wayfinding-receipt .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Cart count badge */
.abd-theme-wayfinding-receipt .cart-count-bubble,
.abd-theme-wayfinding-receipt .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
.abd-theme-wayfinding-receipt .cart-drawer,
.abd-theme-wayfinding-receipt .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-wayfinding-receipt .cart-drawer .cart-item,
.abd-theme-wayfinding-receipt .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-wayfinding-receipt .cart-drawer .cart-item__title,
.abd-theme-wayfinding-receipt .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-wayfinding-receipt .cart-drawer .cart-item__price,
.abd-theme-wayfinding-receipt .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-wayfinding-receipt .cart__footer,
.abd-theme-wayfinding-receipt .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-wayfinding-receipt .cart__ctas button,
.abd-theme-wayfinding-receipt .cart__checkout-button,
.abd-theme-wayfinding-receipt .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-wayfinding-receipt .cart__ctas button:hover,
.abd-theme-wayfinding-receipt .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-wayfinding-receipt .footer,
.abd-theme-wayfinding-receipt .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-wayfinding-receipt .footer__link,
.abd-theme-wayfinding-receipt .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-wayfinding-receipt .search-modal,
.abd-theme-wayfinding-receipt .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-wayfinding-receipt .search-modal__input,
.abd-theme-wayfinding-receipt .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-wayfinding-receipt a {
        transition: none;
    }
    .abd-theme-wayfinding-receipt .card,
    .abd-theme-wayfinding-receipt .product-card,
    .abd-theme-wayfinding-receipt .btn,
    .abd-theme-wayfinding-receipt button,
    .abd-theme-wayfinding-receipt .image-wrapper img {
        transition: none;
    }
}


/* --- zine.css --- */
.abd-theme-zine {

    /* Shopify Standard Variables (Injected by standardize_css.py) */
    --color-background: var(--bg, var(--paper, var(--background, #ffffff)));
    --color-foreground: var(--text, var(--ink, var(--color, #000000)));
    --color-primary: var(--accent, var(--primary, #000000));
    --color-accent: var(--accent, var(--secondary, #000000));
    --color-border: var(--rule, var(--border, #e5e5e5));
    
    /* Ensure these are distinct for accessibility if possible, otherwise fallbacks apply */

    --paper: #f5f5f5;
    --ink: #111111;
    --accent-red: #cf142b;
    --accent-blue: #00247d;
    background-color: var(--paper);
    font-family: 'Special Elite', cursive;
    color: var(--ink);
    max-width: 800px;
    margin: 40px auto;
    padding: 60px;
    background-image:
        repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.03) 0px, rgba(0, 0, 0, 0.03) 1px, transparent 1px, transparent 3px),
        repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.02) 0px, rgba(0, 0, 0, 0.02) 1px, transparent 1px, transparent 4px),
        radial-gradient(circle at 20% 30%, rgba(0, 0, 0, 0.04) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(0, 0, 0, 0.03) 0%, transparent 45%),
        linear-gradient(to bottom, #ffffff 0%, var(--paper) 100%);
    border: 1px solid #333;
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.25);
    position: relative;
    transform: rotate(-1deg);
    overflow: visible;
}

.abd-theme-zine .abd-zine-header {
    background: #000;
    color: #ffffff;
    padding: 30px;
    margin: -40px -40px 40px -40px;
    transform: rotate(-1deg);
    border-bottom: 6px solid var(--accent-red);
}

.abd-theme-zine .abd-zine-tag {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1rem;
    border: 2px solid var(--accent-red);
    color: var(--accent-red);
    display: inline-block;
    padding: 2px 10px;
}

.abd-theme-zine h1 {
    font-size: 5rem;
    font-weight: 900;
    line-height: 0.9;
    margin: 20px 0;
    text-transform: uppercase;
    letter-spacing: -4px;
}

.abd-theme-zine h2 {
    background: #000;
    color: #fff;
    display: inline-block;
    padding: 5px 20px;
    transform: rotate(1deg);
    margin-top: 50px;
    font-size: 2rem;
}

.abd-theme-zine p {
    margin-bottom: 2rem;
    border-left: 4px solid #000;
    padding-left: 20px;
}

.abd-theme-zine .abd-summary-box {
    border: 4px solid #000;
    padding: 20px;
    background: #fff;
    box-shadow: 8px 8px 0 #000;
    margin-bottom: 40px;
    font-weight: 700;
}

.abd-theme-zine .abd-key-points {
    background: #000;
    color: #ffffff;
    padding: 30px;
    transform: rotate(-0.5deg);
    border: 4px solid var(--accent-blue);
}

.abd-theme-zine .abd-footer {
    margin-top: 60px;
    font-weight: 900;
    text-transform: uppercase;
    border-top: 4px solid #000;
    padding-top: 20px;
    text-align: left;
}

/* Lists - grunge style */
.abd-theme-zine ul,
.abd-theme-zine ol {
    margin: 2rem 0;
    padding-left: 30px;
    border-left: 3px solid #000;
    padding-left: 30px;
}

.abd-theme-zine li {
    margin-bottom: 1rem;
    line-height: 1.6;
}

.abd-theme-zine ul li::marker {
    color: var(--accent-red);
    font-weight: 900;
}

/* Links - zine style */
.abd-theme-zine a {
    color: #000;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    font-weight: 700;
    background: var(--accent-red);
    color: #ffffff;
    padding: 2px 4px;
}

.abd-theme-zine a:hover {
    background: #000;
    color: #ffffff;
    text-decoration: none;
}

/* Blockquotes - cutout style */
.abd-theme-zine blockquote {
    border: 4px solid #000;
    border-left: 8px solid var(--accent-red);
    padding: 20px;
    margin: 2rem 0;
    background: #fff;
    box-shadow: 6px 6px 0 #000;
    transform: rotate(0.5deg);
    font-style: italic;
    font-weight: 700;
}

/* Code blocks - raw zine style */
.abd-theme-zine code {
    background: #000;
    color: #ffffff;
    padding: 2px 6px;
    font-family: 'Courier New', monospace;
    font-weight: 700;
    border: 2px solid #000;
}

.abd-theme-zine pre {
    background: #000;
    color: #ffffff;
    padding: 20px;
    border: 4px solid #000;
    box-shadow: 8px 8px 0 var(--accent-blue);
    margin: 2rem 0;
    transform: rotate(-0.5deg);
    overflow-x: auto;
    font-family: 'Courier New', monospace;
    font-weight: 700;
}

.abd-theme-zine pre code {
    background: transparent;
    padding: 0;
    border: none;
    color: #ffffff;
}

/* Tables - punk zine grid */
.abd-theme-zine table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 2rem 0;
    border: 4px solid #000;
    box-shadow: 8px 8px 0 #000;
    transform: rotate(0.3deg);
    background: #fff;
}

.abd-theme-zine th {
    background: #000;
    color: #ffffff;
    padding: 15px;
    text-transform: uppercase;
    font-weight: 900;
    border: 2px solid #000;
    letter-spacing: 1px;
}

.abd-theme-zine td {
    padding: 15px;
    border: 2px solid #000;
    background: #fff;
    font-weight: 700;
}

.abd-theme-zine tr:nth-child(even) td {
    background: rgba(0, 36, 125, 0.08);
    color: #000;
}

.abd-theme-zine tr:hover td {
    background: #000;
    color: #ffffff;
}

/* Images - polaroid style */
.abd-theme-zine img {
    max-width: 100%;
    height: auto;
    border: 4px solid #000;
    box-shadow: 8px 8px 0 #000;
    margin: 2rem 0;
    transform: rotate(-1deg);
    background: #fff;
    padding: 4px;
}

/* Horizontal rules - cut line style */
.abd-theme-zine hr {
    border: none;
    border-top: 4px solid #000;
    margin: 3rem 0;
    box-shadow: 0 4px 0 var(--accent-red);
    transform: rotate(-0.5deg);
}

/* Buttons - zine button style */
.abd-theme-zine button,
.abd-theme-zine .button {
    background: #000;
    color: #ffffff;
    border: 4px solid #000;
    padding: 12px 24px;
    font-family: 'Special Elite', cursive;
    font-weight: 900;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 6px 6px 0 var(--accent-red);
    transform: rotate(-0.5deg);
    transition: all 0.2s;
}

.abd-theme-zine button:hover,
.abd-theme-zine .button:hover {
    background: var(--accent-red);
    color: #000;
    box-shadow: 4px 4px 0 #000;
    transform: rotate(0.5deg) translate(-2px, -2px);
}

/* Markdown content support */
.abd-theme-zine .theme-content {
    padding: 20px 0;
}

.abd-theme-zine .theme-content h1,
.abd-theme-zine .theme-content h2,
.abd-theme-zine .theme-content h3,
.abd-theme-zine .theme-content h4,
.abd-theme-zine .theme-content h5,
.abd-theme-zine .theme-content h6 {
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.abd-theme-zine .theme-content p {
    margin-bottom: 2rem;
    border-left: 4px solid #000;
    padding-left: 20px;
}

.abd-theme-zine .theme-content ul,
.abd-theme-zine .theme-content ol {
    margin: 2rem 0;
    padding-left: 30px;
    border-left: 3px solid #000;
}

.abd-theme-zine .theme-content blockquote {
    border: 4px solid #000;
    border-left: 8px solid var(--accent-red);
    padding: 20px;
    margin: 2rem 0;
    background: #fff;
    box-shadow: 6px 6px 0 #000;
    transform: rotate(0.5deg);
}

.abd-theme-zine .theme-content code {
    background: #000;
    color: #ffffff;
    padding: 2px 6px;
    font-family: 'Courier New', monospace;
    font-weight: 700;
}

.abd-theme-zine .theme-content pre {
    background: #000;
    color: #ffffff;
    padding: 20px;
    border: 4px solid #000;
    box-shadow: 8px 8px 0 var(--accent-blue);
    margin: 2rem 0;
    transform: rotate(-0.5deg);
    overflow-x: auto;
}

.abd-theme-zine .theme-content table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 2rem 0;
    border: 4px solid #000;
    box-shadow: 8px 8px 0 #000;
    transform: rotate(0.3deg);
}

.abd-theme-zine .theme-content img {
    max-width: 100%;
    height: auto;
    border: 4px solid #000;
    box-shadow: 8px 8px 0 #000;
    margin: 2rem 0;
    transform: rotate(-1deg);
}

.abd-theme-zine .theme-content hr {
    border: none;
    border-top: 4px solid #000;
    margin: 3rem 0;
    box-shadow: 0 4px 0 var(--accent-red);
    transform: rotate(-0.5deg);
}

/* Highlighted sections */
.abd-theme-zine .highlighted-section {
    border: 4px solid #000;
    padding: 20px;
    background: var(--accent-red);
    color: #ffffff;
    box-shadow: 8px 8px 0 #000;
    margin: 2rem 0;
    transform: rotate(-0.5deg);
    font-weight: 700;
}

.abd-theme-zine .dek {
    font-size: 1.1rem;
    color: var(--muted);
    margin: 8px 0 16px;
    line-height: 1.5;
}

.abd-theme-zine .pull-quote {
    font-size: clamp(1.4rem, 2.8vw, 2rem);
    border-left: 4px solid #000;
    padding-left: 16px;
    margin: 24px 0;
    color: var(--ink);
    font-weight: 700;
    text-transform: uppercase;
    transform: rotate(0.5deg);
}

.abd-theme-zine .callout,
.abd-theme-zine .callout-box {
    border: 4px solid #000;
    padding: 14px 16px;
    margin: 18px 0;
    background: #ffffff;
    box-shadow: 8px 8px 0 #000;
    transform: rotate(-0.3deg);
}

.abd-theme-zine .sidebar {
    border-left: 4px solid #000;
    padding: 24px;
    margin: 20px 0;
    font-size: 0.95rem;
    color: var(--ink);
    background: #ffffcc;
    border: 3px solid #000;
    border-left: 6px solid var(--accent-red);
    border-radius: 0;
    box-shadow: 6px 6px 0 #000;
    transform: rotate(0.2deg);
}

.abd-theme-zine .sidebar h3,
.abd-theme-zine .sidebar h4 {
    color: var(--accent-red);
    font-size: 1rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 0;
    margin-bottom: 12px;
    border-bottom: 2px solid #000;
    padding-bottom: 8px;
}

.abd-theme-zine .sidebar ul {
    list-style: none;
    padding: 0;
}

.abd-theme-zine .sidebar li {
    padding: 8px 0;
    border-bottom: 2px solid #000;
}

.abd-theme-zine .sidebar li:last-child {
    border-bottom: none;
}

/* Cards */
.abd-theme-zine .card,
.abd-theme-zine .product-card {
    background: #ffffff;
    border: 4px solid #000;
    padding: 20px;
    margin: 16px 0;
    box-shadow: 8px 8px 0 #000;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    transform: rotate(-0.3deg);
}

.abd-theme-zine .card:hover,
.abd-theme-zine .product-card:hover {
    transform: translate(-2px, -2px) rotate(-0.3deg);
    box-shadow: 10px 10px 0 #000;
}

/* Grid Layouts */
.abd-theme-zine .grid {
    display: grid;
    gap: 20px;
    margin: 24px 0;
}

.abd-theme-zine .grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.abd-theme-zine .grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.abd-theme-zine .grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .abd-theme-zine .grid-2,
    .abd-theme-zine .grid-3,
    .abd-theme-zine .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Form Elements */
.abd-theme-zine input[type="text"],
.abd-theme-zine input[type="email"],
.abd-theme-zine input[type="number"],
.abd-theme-zine input[type="password"],
.abd-theme-zine textarea,
.abd-theme-zine select {
    width: 100%;
    padding: 12px;
    border: 4px solid #000;
    background: #ffffff;
    color: var(--ink);
    font-family: inherit;
    font-size: 1rem;
    margin: 8px 0;
    box-sizing: border-box;
}

.abd-theme-zine input:focus,
.abd-theme-zine textarea:focus,
.abd-theme-zine select:focus {
    outline: none;
    border-color: var(--accent-red);
    box-shadow: 0 0 0 3px rgba(207, 20, 43, 0.2);
}

/* Buttons */
.abd-theme-zine .btn,
.abd-theme-zine button {
    display: inline-block;
    padding: 12px 24px;
    background: var(--accent-red);
    color: #ffffff;
    border: 4px solid #000;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    box-shadow: 4px 4px 0 #000;
}

.abd-theme-zine .btn:hover,
.abd-theme-zine button:hover {
    background: var(--accent-blue);
    transform: translateY(-2px);
    box-shadow: 6px 6px 0 #000;
}

.abd-theme-zine .btn-secondary {
    background: transparent;
    color: var(--ink);
}

.abd-theme-zine .btn-secondary:hover {
    background: var(--accent-red);
    color: #ffffff;
}

/* Navigation */
.abd-theme-zine nav,
.abd-theme-zine .nav {
    border-bottom: 4px solid #000;
    padding: 16px 0;
    margin-bottom: 24px;
}

.abd-theme-zine .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.abd-theme-zine .nav a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 700;
    padding: 8px 0;
    border-bottom: 3px solid transparent;
    transition: border-color 0.2s ease;
}

.abd-theme-zine .nav a:hover {
    border-bottom-color: var(--accent-red);
}

.abd-theme-zine .breadcrumb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 16px;
}

.abd-theme-zine .breadcrumb a {
    color: var(--ink);
    text-decoration: none;
}

.abd-theme-zine .breadcrumb a:hover {
    color: var(--accent-red);
}

/* Badges */
.abd-theme-zine .badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--accent-red);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 2px solid #000;
    box-shadow: 3px 3px 0 #000;
}

.abd-theme-zine .badge-sale {
    background: var(--accent-red);
}

.abd-theme-zine .badge-new {
    background: var(--accent-blue);
}

.abd-theme-zine .badge-out-of-stock {
    background: var(--muted);
    opacity: 0.6;
}

/* Enhanced Images */
.abd-theme-zine figure {
    margin: 20px 0;
}

.abd-theme-zine figcaption {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

.abd-theme-zine .image-wrapper {
    position: relative;
    overflow: hidden;
    border: 4px solid #000;
    margin: 16px 0;
    box-shadow: 6px 6px 0 #000;
}

.abd-theme-zine .image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.abd-theme-zine .image-wrapper:hover img {
    transform: scale(1.05);
}

/* Product Elements */
.abd-theme-zine .product-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-zine .product-price-compare {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
    margin-left: 8px;
}

.abd-theme-zine .product-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
    margin: 12px 0;
}

.abd-theme-zine .variant-selector {
    margin: 16px 0;
}

.abd-theme-zine .variant-selector label {
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
    color: var(--ink);
    font-size: 0.875rem;
}

.abd-theme-zine .quantity-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.abd-theme-zine .quantity-input button {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.abd-theme-zine .quantity-input input {
    width: 60px;
    text-align: center;
    margin: 0;
}

/* Cart Elements */
.abd-theme-zine .cart-item {
    border-bottom: 3px solid #000;
    padding: 16px 0;
    display: flex;
    gap: 16px;
}

.abd-theme-zine .cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 4px solid #000;
    box-shadow: 4px 4px 0 #000;
}

.abd-theme-zine .cart-total {
    border-top: 4px solid #000;
    padding-top: 16px;
    margin-top: 24px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
}

/* Modals/Overlays */
.abd-theme-zine .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.abd-theme-zine .modal {
    background: #ffffff;
    border: 4px solid #000;
    padding: 32px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 12px 12px 0 #000;
    position: relative;
    transform: rotate(-0.5deg);
}

.abd-theme-zine .modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--accent-red);
    color: #ffffff;
    border: 3px solid #000;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 3px 3px 0 #000;
}

/* Responsive Sidebar Layout */
@media (min-width: 768px) {
    .abd-theme-zine .theme-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        max-width: 1200px;
    }
    
    .abd-theme-zine .theme-content > * {
        grid-column: 1;
    }
    
    .abd-theme-zine .theme-content > .sidebar {
        grid-column: 2;
        grid-row: 1 / -1;
    }
}

@media (max-width: 767px) {
    .abd-theme-zine .theme-content {
        padding: 24px;
    }
}

/* ========================================
   ADDITIONAL SHOPIFY BLOCKS
   Announcement bar, Newsletter, Accordion, Pagination,
   Form validation, Empty states, Swatches, Footer extras
   ======================================== */

/* Form labels - consistent styling */
.abd-theme-zine form label,
.abd-theme-zine .newsletter-form label,
.abd-theme-zine .field__label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Focus-visible for accessibility */
.abd-theme-zine a:focus-visible,
.abd-theme-zine button:focus-visible,
.abd-theme-zine input:focus-visible,
.abd-theme-zine select:focus-visible,
.abd-theme-zine textarea:focus-visible {
    outline: 2px solid var(--accent, var(--color-primary, #0066cc));
    outline-offset: 2px;
}

/* Announcement bar */
.abd-theme-zine .announcement-bar,
.abd-theme-zine .announcement-bar-section,
.abd-theme-zine .shopify-section-announcement-bar {
    background: var(--ink, var(--text, var(--color-foreground, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
}

.abd-theme-zine .announcement-bar a {
    color: inherit;
    text-decoration: underline;
}

.abd-theme-zine .announcement-bar-slider .slider__slide {
    padding: 0 1rem;
}

/* Newsletter section */
.abd-theme-zine .newsletter-form,
.abd-theme-zine .newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 400px;
}

.abd-theme-zine .newsletter-form .field__input,
.abd-theme-zine .newsletter__form input[type="email"] {
    flex: 1;
    min-width: 200px;
}

.abd-theme-zine .form__message,
.abd-theme-zine .form__message--error {
    color: #b22222;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.abd-theme-zine .form__message--success {
    color: #228b22;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Accordion / collapsible content */
.abd-theme-zine details.accordion,
.abd-theme-zine .accordion,
.abd-theme-zine .collapsible-content__details {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    margin-bottom: 0.5rem;
}

.abd-theme-zine details.accordion summary,
.abd-theme-zine .accordion__title,
.abd-theme-zine .collapsible-content__summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

.abd-theme-zine details.accordion summary::-webkit-details-marker {
    display: none;
}

.abd-theme-zine details[open] .accordion__content,
.abd-theme-zine .collapsible-content__content {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Pagination */
.abd-theme-zine .pagination,
.abd-theme-zine .pagination__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0;
    justify-content: center;
}

.abd-theme-zine .pagination__item {
    margin: 0;
}

.abd-theme-zine .pagination__link,
.abd-theme-zine .pagination__item a {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    min-width: 2.5rem;
    text-align: center;
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    text-decoration: none;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-zine .pagination__link:hover,
.abd-theme-zine .pagination__item a:hover {
    background: var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-zine .pagination__item--current .pagination__link,
.abd-theme-zine .pagination__item.is-active a {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

/* Empty states */
.abd-theme-zine .cart__empty,
.abd-theme-zine .collection__empty,
.abd-theme-zine .search__no-results,
.abd-theme-zine .empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--muted, var(--color-foreground));
    opacity: 0.8;
}

.abd-theme-zine .cart__empty p,
.abd-theme-zine .collection__empty p,
.abd-theme-zine .empty-state p {
    margin-bottom: 1rem;
}

/* Variant swatches (color/size pills) */
.abd-theme-zine .product-form__input--dropdown,
.abd-theme-zine .variant-input-wrap {
    margin-bottom: 0.75rem;
}

.abd-theme-zine .product-form__input input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.abd-theme-zine .product-form__input label,
.abd-theme-zine .variant__label {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    margin: 0 0.25rem 0.25rem 0;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
    cursor: pointer;
    font-size: 0.875rem;
}

.abd-theme-zine .product-form__input input:checked + label,
.abd-theme-zine .variant__label--active {
    border-color: var(--ink, var(--accent, var(--color-primary, #000)));
    font-weight: 600;
}

.abd-theme-zine .color-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--rule, var(--color-border, #e5e5e5));
}

/* Footer payment & social */
.abd-theme-zine .footer__payment,
.abd-theme-zine .list-payment {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.abd-theme-zine .footer__payment svg,
.abd-theme-zine .list-payment__item svg {
    height: 24px;
    width: auto;
}

.abd-theme-zine .list-social,
.abd-theme-zine .footer__social {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.abd-theme-zine .list-social__link,
.abd-theme-zine .footer__social a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-zine .list-social__link:hover,
.abd-theme-zine .footer__social a:hover {
    opacity: 0.7;
}

/* Button variants */
.abd-theme-zine .btn-primary {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
}

.abd-theme-zine .btn-outline {
    background: transparent;
    border: 2px solid var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-zine .btn-ghost {
    background: transparent;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

/* Image with text / hero layout */
.abd-theme-zine .image-with-text,
.abd-theme-zine .hero {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .abd-theme-zine .image-with-text--reverse {
        direction: rtl;
    }
    .abd-theme-zine .image-with-text--reverse > * {
        direction: ltr;
    }
}

/* Product recommendations section */
.abd-theme-zine .product-recommendations,
.abd-theme-zine .complementary-products {
    margin-top: 2rem;
}

.abd-theme-zine .product-recommendations__heading,
.abd-theme-zine .complementary-products__heading {
    margin-bottom: 1rem;
}

/* Free shipping progress bar */
.abd-theme-zine .cart__free-shipping,
.abd-theme-zine .progress-bar-wrapper {
    margin: 1rem 0;
}

.abd-theme-zine .progress-bar {
    height: 6px;
    background: var(--rule, var(--color-border, #e5e5e5));
    border-radius: 3px;
    overflow: hidden;
}

.abd-theme-zine .progress-bar__fill {
    height: 100%;
    background: var(--accent, var(--color-primary, #0066cc));
    transition: width 0.3s ease;
}

/* Predictive search */
.abd-theme-zine .predictive-search,
.abd-theme-zine .search-modal__results {
    max-height: 60vh;
    overflow-y: auto;
}

.abd-theme-zine .predictive-search__item,
.abd-theme-zine .search-modal__result-item {
    padding: 0.75rem;
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
}

.abd-theme-zine .predictive-search__item:hover,
.abd-theme-zine .search-modal__result-item:hover {
    background: var(--paper, var(--bg, var(--color-background, #f8f8f8)));
}

/* Skeleton / loading state */
.abd-theme-zine .skeleton,
.abd-theme-zine .loading-skeleton {
    background: linear-gradient(90deg, var(--rule, #e5e5e5) 25%, #f0f0f0 50%, var(--rule, #e5e5e5) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}



/* ========================================
   SHOPIFY-SPECIFIC: Header, Menu, Cart, Checkout
   Targets common Dawn/OS 2.0 theme classes
   ======================================== */

/* Header wrapper — ensure header stays on top of main content (zine layout can cause overlap) */
.abd-theme-zine .header-wrapper,
.abd-theme-zine header.shopify-section-header,
.abd-theme-zine header {
    background: var(--paper, var(--bg, var(--color-background, #ffffff)));
    border-bottom: 2px solid var(--ink, var(--text, var(--color-foreground, #000000)));
    padding: 0.5rem 1rem;
    position: relative;
    z-index: 500;
}

/* Logo / store name */
.abd-theme-zine .header__heading,
.abd-theme-zine .header__heading-link {
    font-family: var(--font-headline, var(--font-heading, var(--font-body, var(--font-family, inherit))));
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Main navigation menu */
.abd-theme-zine .header__menu,
.abd-theme-zine .list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.abd-theme-zine .header__menu-item,
.abd-theme-zine .list-menu__item {
    margin: 0;
    padding: 0;
}

.abd-theme-zine .header__menu-item a,
.abd-theme-zine .list-menu__item a,
.abd-theme-zine .header__menu-item .header__active-menu-item {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
    font-weight: 600;
}

.abd-theme-zine .header__menu-item a:hover,
.abd-theme-zine .list-menu__item a:hover {
    text-decoration: underline;
}

/* Dropdown / megamenu */
.abd-theme-zine .header__submenu,
.abd-theme-zine .mega-menu__content,
.abd-theme-zine .list-menu--dropdown {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.abd-theme-zine .header__submenu .list-menu__item a,
.abd-theme-zine .mega-menu__content a {
    padding: 0.35rem 0.75rem;
    display: block;
}

/* Menu drawer (mobile) */
.abd-theme-zine .menu-drawer,
.abd-theme-zine .menu-drawer__navigation {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-right: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-zine .menu-drawer__menu-item,
.abd-theme-zine .menu-drawer__menu-item .link {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Header icons — keep account/cart visible above zine layout overlaps */
.abd-theme-zine .header__icons,
.abd-theme-zine .header__icon {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    position: relative;
    z-index: 501;
}

/* Cart count badge */
.abd-theme-zine .cart-count-bubble,
.abd-theme-zine .cart-icon-bubble {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-size: 0.7rem;
    font-weight: 700;
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Cart drawer */
/* Cart drawer & overlay — ensure they appear above zine layout (body transform affects fixed positioning) */
.abd-theme-zine .cart-drawer-overlay,
.abd-theme-zine .cart-drawer-overlay.is-visible {
    z-index: 10000;
}
.abd-theme-zine .cart-drawer,
.abd-theme-zine #cart-drawer,
.abd-theme-zine .drawer__inner {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-left: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    z-index: 10001;
}

.abd-theme-zine .cart-drawer .cart-item,
.abd-theme-zine .cart__item {
    border-bottom: 1px solid var(--rule, var(--color-border, #e5e5e5));
    padding: 0.5rem 0;
}

.abd-theme-zine .cart-drawer .cart-item__title,
.abd-theme-zine .cart-item__title {
    font-weight: 700;
    color: var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-zine .cart-drawer .cart-item__price,
.abd-theme-zine .cart-item__price {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-size: 0.9rem;
}

/* Cart page */
.abd-theme-zine .cart__footer,
.abd-theme-zine .cart__blocks {
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding-top: 0.75rem;
}

.abd-theme-zine .cart__ctas button,
.abd-theme-zine .cart__checkout-button,
.abd-theme-zine .shopify-payment-button__button {
    background: var(--ink, var(--accent, var(--color-primary, #000)));
    color: var(--paper, var(--bg, var(--color-background, #fff)));
    font-weight: 700;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
}

.abd-theme-zine .cart__ctas button:hover,
.abd-theme-zine .cart__checkout-button:hover {
    opacity: 0.9;
}

/* Footer */
.abd-theme-zine .footer,
.abd-theme-zine .footer__content-top {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border-top: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
    padding: 1rem 0;
}

.abd-theme-zine .footer__link,
.abd-theme-zine .footer a {
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    text-decoration: none;
}

/* Search modal */
.abd-theme-zine .search-modal,
.abd-theme-zine .modal__content {
    background: var(--paper, var(--bg, var(--color-background, #fff)));
    border: 2px solid var(--ink, var(--text, var(--color-foreground, #000)));
}

.abd-theme-zine .search-modal__input,
.abd-theme-zine .search__input {
    border: 1px solid var(--rule, var(--color-border, #e5e5e5));
    color: var(--ink, var(--text, var(--color-foreground, #000)));
    font-family: var(--font-body, var(--font-family, inherit));
}

@media (prefers-reduced-motion: reduce) {
    .abd-theme-zine a {
        transition: none;
    }
    .abd-theme-zine .card,
    .abd-theme-zine .product-card,
    .abd-theme-zine .btn,
    .abd-theme-zine button,
    .abd-theme-zine .image-wrapper img {
        transition: none;
    }
}



